/* Base da página */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout: barra lateral em Oat com textura de areia e o bloco de identidade no topo + área de trabalho em Milk; no celular vira barra superior com abas roláveis.
   Paleta oficial Solare: Milk, Oat, Taupe, Mocha; Charcoal só em texto. Cores de status são derivadas e discretas. */
:root{
  --bg:#FBF7F4; --surface:#FFFFFF; --raised:#F3EEE7; --ink:#232323; --muted:#75706B; --line:#E5DED2;
  --side:#E5DED2; --side-ink:#232323; --side-muted:#685D54; --side-hover:#D8CFC1;
  --ocean:#685D54; --sea:#A39382; --sun:#A39382; --shell:#B58C7A; --gold:#685D54; --sage:#8C9478;
  --on-accent:#FBF7F4;
  --ok:#5F7350; --warn:#9C6E2C; --crit:#A24A3E;
  --ok-bg:#E9ECE1; --warn-bg:#F3E8D6; --crit-bg:#F4E1DC; --sea-bg:#EEE8E1; --sun-bg:#EEE8E1; --shell-bg:#F3E6E0; --ocean-bg:#E9E3DC;
  --f-display:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --f-body:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --sand:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .41 0 0 0 0 .36 0 0 0 0 .33 0 0 0 .9 -.32'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#1C1916; --surface:#24201C; --raised:#2C2722; --ink:#FBF7F4; --muted:#B3A99D; --line:#3A332D;
  --side:#2A2420; --side-ink:#FBF7F4; --side-muted:#B8A995; --side-hover:#3A322B;
  --ocean:#E5DED2; --sea:#A39382; --sun:#C2B3A1; --shell:#C9A08E; --gold:#E5DED2; --sage:#A9B193;
  --on-accent:#232323;
  --ok:#A7B98F; --warn:#D8AE6C; --crit:#DC8B7E;
  --ok-bg:#2B2F25; --warn-bg:#352B1E; --crit-bg:#3A2420; --sea-bg:#332C26; --sun-bg:#332C26; --shell-bg:#382A24; --ocean-bg:#332C26;
  color-scheme:dark; } }
:root[data-theme="dark"]{
  --bg:#1C1916; --surface:#24201C; --raised:#2C2722; --ink:#FBF7F4; --muted:#B3A99D; --line:#3A332D;
  --side:#2A2420; --side-ink:#FBF7F4; --side-muted:#B8A995; --side-hover:#3A322B;
  --ocean:#E5DED2; --sea:#A39382; --sun:#C2B3A1; --shell:#C9A08E; --gold:#E5DED2; --sage:#A9B193;
  --on-accent:#232323;
  --ok:#A7B98F; --warn:#D8AE6C; --crit:#DC8B7E;
  --ok-bg:#2B2F25; --warn-bg:#352B1E; --crit-bg:#3A2420; --sea-bg:#332C26; --sun-bg:#332C26; --shell-bg:#382A24; --ocean-bg:#332C26;
  color-scheme:dark; }
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14px;-webkit-font-smoothing:antialiased}
.display{font-family:var(--f-display);font-weight:500;letter-spacing:-.025em;text-wrap:balance;line-height:1.08}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 14px;font-weight:600;font-size:13px;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.btn-primary{background:var(--ocean);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--raised)}
.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}
.input{width:100%;background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:8px 11px;color:var(--ink);font:inherit}
.input:focus{outline:2px solid var(--sea);outline-offset:0;border-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sea);outline-offset:2px}
.navbtn{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border-radius:10px;color:var(--side-muted);font-weight:600;font-size:13.5px;text-align:left;transition:background .15s,color .15s}
.navbtn:hover{background:var(--side-hover);color:var(--side-ink)}
.navbtn[aria-current="page"]{background:var(--side-hover);color:var(--side-ink)}
.navbtn[aria-current="page"] .dot{background:var(--sun)}
.dot{width:6px;height:6px;border-radius:99px;background:transparent;margin-left:auto}
.rowhover:hover{background:var(--raised)}
.scroll-x{overflow-x:auto}
.check{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--muted);display:grid;place-items:center;flex:none;cursor:pointer}
.check[aria-checked="true"]{background:var(--sea);border-color:var(--sea);color:var(--surface)}
.fade{animation:fade .25s ease}
@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.fade{animation:none}*{transition:none!important}}
.waves{background-image:var(--sand);background-size:180px 180px}
.wordmark{font-family:var(--f-body);font-weight:600;letter-spacing:.32em;color:#000000}
.plaque{background:#FBF7F4;border-radius:10px;padding:8px 14px;display:inline-block}
.calcell{min-height:92px}
@media (max-width:640px){.calcell{min-height:58px}}
.gutter{padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
