
/* Layout: barra de nicho no topo, abas como balcão de atendimento, conteúdo em uma coluna larga */
:root{
  --bg:#f3f6f7; --surface:#ffffff; --line:#d9e2e6; --fg:#16252d; --muted:#5b6f79;
  --accent:#1d5f86; --accent-soft:#e2eef5;
  --ok:#1f7a4d; --ok-soft:#e1f2e8; --warn:#9a6400; --warn-soft:#fbf0d9; --bad:#b3362c; --bad-soft:#f9e3e0;
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0f181d; --surface:#16232a; --line:#2a3a43; --fg:#e4edf1; --muted:#93a8b2;
  --accent:#6fb3dc; --accent-soft:#1b3443;
  --ok:#5fc48f; --ok-soft:#173a29; --warn:#e2ac4a; --warn-soft:#3a2d12; --bad:#ef7b70; --bad-soft:#41201d; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f181d; --surface:#16232a; --line:#2a3a43; --fg:#e4edf1; --muted:#93a8b2;
  --accent:#6fb3dc; --accent-soft:#1b3443;
  --ok:#5fc48f; --ok-soft:#173a29; --warn:#e2ac4a; --warn-soft:#3a2d12; --bad:#ef7b70; --bad-soft:#41201d; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--body);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:20px 48px}
.wrap{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}
h1{font:700 1.9rem/1.1 var(--display);margin:0;letter-spacing:-.01em;text-wrap:balance}
.sub{color:var(--muted);font-size:.9rem;margin:2px 0 0}
.niche{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px;flex-wrap:wrap}
.niche button,.tabs button{font:inherit;border:0;background:none;color:var(--muted);padding:7px 12px;border-radius:7px;cursor:pointer}
.niche button[aria-pressed="true"]{background:var(--accent);color:var(--surface);font-weight:600}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{border-radius:0;padding:10px 14px;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.note{font-size:.82rem;color:var(--muted);background:var(--accent-soft);padding:8px 12px;border-radius:8px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.kpi b{display:block;font:600 1.4rem/1.2 var(--display);font-variant-numeric:tabular-nums}
.kpi span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
h2{font:600 1.15rem/1.2 var(--display);margin:6px 0 0}
.list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 14px;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row .main{flex:1 1 220px;min-width:0}
.row .main strong{display:block;font-weight:600}
.row .main small{color:var(--muted)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.88rem}
.pill{font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}
.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-neu{background:var(--accent-soft);color:var(--accent)}
.btn{font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--fg);padding:6px 11px;border-radius:7px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.btn.wa{color:var(--ok);border-color:var(--ok)}
form.add{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:12px}
form.add label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--muted)}
input,select{font:inherit;font-size:.92rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;width:100%}
form.add .act{display:flex;align-items:end}
.empty{padding:18px 14px;color:var(--muted);font-size:.9rem}
.day{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 14px 0}
pre.rel{font-family:var(--mono);font-size:.82rem;white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;margin:0;overflow-x:auto}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px;font-size:.88rem}
@media (prefers-reduced-motion:no-preference){.row{transition:background .15s}.row:hover{background:var(--accent-soft)}}

.auth{max-width:380px;margin:8vh auto 0;display:flex;flex-direction:column;gap:14px}
.auth form{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.auth label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}
.auth .links{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.linkbtn{font:inherit;font-size:.85rem;background:none;border:0;color:var(--accent);cursor:pointer;padding:0}
.err{color:var(--bad);font-size:.85rem;margin:0}
.topbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{font-size:.8rem;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:4px 10px}
.btn.del{color:var(--bad)}

/* v2: campos de data e hora no iPhone não passam da borda; edição na própria linha */
form.add label,.row.edit label{min-width:0}
input,select{min-width:0;max-width:100%}
input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-height:38px;text-align:left}
input::-webkit-date-and-time-value{text-align:left}
.acts{display:flex;flex-wrap:wrap;gap:8px}
.row.edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;align-items:end;background:var(--accent-soft)}
.row.edit label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--muted)}
.row.edit .acts{grid-column:1/-1}
@media (max-width:480px){.tabs{gap:0}.tabs button{flex:1 1 auto;padding:10px 4px;font-size:.86rem}}

.marca{display:flex;align-items:center;gap:14px}.marca img{border-radius:14px;flex:none}

/* assinatura */
.aviso{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:10px;border:1px solid var(--line)}
.aviso p{margin:0}.aviso small{color:var(--muted)}
.av-warn{background:var(--warn-soft);border-color:var(--warn)}.av-warn strong{color:var(--warn)}
.av-bad{background:var(--bad-soft);border-color:var(--bad)}.av-bad strong{color:var(--bad)}
.chip-bad{color:var(--bad);border-color:var(--bad)}
.ro .add,.ro [data-editar],.ro [data-pagar],.ro [data-despagar],.ro [data-cancelar]{display:none!important}
