@font-face{font-family:"Open Sauce One";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/opensauce-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sauce One";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/opensauce-500-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sauce One";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/opensauce-600-normal.woff2) format("woff2")}

:root{
  --bg:#F7F5F0; --surface:#FFFFFF; --surface-2:#EFEAE2; --line:#E3DBCF;
  --ink:#1B1310; --ink-2:#5A4A42; --ink-3:#8B7C72; --head:#3C151C;
  --wine:#3C151C; --brown:#4A2E1C; --gold:#FFCE85; --forest:#1C281F; --sage:#6A7657;
  --accent:#3C151C; --on-accent:#F7F5F0; --accent-soft:#F1E4E0;
  --bar-bg:#3C151C; --bar-ink:#F7F5F0; --bar-ink-2:#D9C3B6;
  --late:#97341F; --late-bg:#F5E1DA; --ok:#4D5A3C; --ok-bg:#E5E9DC; --warn:#7A5212; --warn-bg:#FCEDD2; --muted:#6E625B; --muted-bg:#ECE6DE;
  --shadow:0 1px 2px rgba(60,21,28,.06),0 6px 24px rgba(60,21,28,.06);
  --f-display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --f-body:"Open Sauce One","Segoe UI",system-ui,-apple-system,sans-serif;
  --r:14px; --tabbar:64px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#130E0C; --surface:#1D1613; --surface-2:#271E1A; --line:#382C27;
  --ink:#F3EDE6; --ink-2:#C9BCB2; --ink-3:#9C8E85; --head:#F2D7B2;
  --accent:#FFCE85; --on-accent:#2B1210; --accent-soft:#33241B;
  --bar-bg:#1B0B0E; --bar-ink:#F7F5F0; --bar-ink-2:#C9B1A4;
  --late:#F2A28E; --late-bg:#3B1D17; --ok:#BCC9A3; --ok-bg:#232A1E; --warn:#FFCE85; --warn-bg:#352815; --muted:#B7AAA0; --muted-bg:#2A221E;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 28px rgba(0,0,0,.25);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#130E0C; --surface:#1D1613; --surface-2:#271E1A; --line:#382C27;
  --ink:#F3EDE6; --ink-2:#C9BCB2; --ink-3:#9C8E85; --head:#F2D7B2;
  --accent:#FFCE85; --on-accent:#2B1210; --accent-soft:#33241B;
  --bar-bg:#1B0B0E; --bar-ink:#F7F5F0; --bar-ink-2:#C9B1A4;
  --late:#F2A28E; --late-bg:#3B1D17; --ok:#BCC9A3; --ok-bg:#232A1E; --warn:#FFCE85; --warn-bg:#352815; --muted:#B7AAA0; --muted-bg:#2A221E;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 28px rgba(0,0,0,.25);
  color-scheme:dark}

/* Consultoria Direção Estratégica: mesma estrutura, estética verde */
:root[data-marca="consultoria"]{
  --bg:#F4F5F0; --surface-2:#E8ECE3; --line:#D9DFD2; --ink-2:#4A544A; --ink-3:#7A8577;
  --head:#1C281F; --wine:#1C281F; --accent:#1C281F; --on-accent:#F4F5F0; --accent-soft:#E1E8DA;
  --bar-bg:#1C281F; --bar-ink:#F4F5F0; --bar-ink-2:#C5D0BC;
  --shadow:0 1px 2px rgba(28,40,31,.06),0 6px 24px rgba(28,40,31,.06)}
@media (prefers-color-scheme: dark){:root[data-marca="consultoria"]:not([data-theme="light"]){
  --bg:#0D120E; --surface:#151C17; --surface-2:#1D261F; --line:#2C382E; --ink-2:#BCC8B8; --ink-3:#8E9A8B;
  --head:#E3D9B8; --accent:#FFCE85; --on-accent:#14200F; --accent-soft:#223024;
  --bar-bg:#0A100B; --bar-ink-2:#B2C0AE}}
:root[data-marca="consultoria"][data-theme="dark"]{
  --bg:#0D120E; --surface:#151C17; --surface-2:#1D261F; --line:#2C382E; --ink-2:#BCC8B8; --ink-3:#8E9A8B;
  --head:#E3D9B8; --accent:#FFCE85; --on-accent:#14200F; --accent-soft:#223024;
  --bar-bg:#0A100B; --bar-ink-2:#B2C0AE}
:root[data-marca="consultoria"] .login-art{background:#0b120c url(img/monstera.jpg) center 35%/cover no-repeat}
:root[data-marca="consultoria"] .login-art::after{background:linear-gradient(180deg,rgba(8,14,9,.1),rgba(8,14,9,.78))}
:root[data-marca="consultoria"] .hero{background:#0b120c}
:root[data-marca="consultoria"] .hero::before{background:linear-gradient(90deg,rgba(8,14,9,.92) 0%,rgba(8,14,9,.62) 50%,rgba(8,14,9,.08) 100%)}
:root[data-marca="consultoria"] .hero p,:root[data-marca="consultoria"] .hero .date{color:#D6DECF}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
img{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--f-display);font-weight:400;color:var(--head);margin:0;text-wrap:balance;line-height:1.1}
h1{font-size:clamp(2rem,6vw,2.8rem)}
h2{font-size:1.7rem}
h3{font-size:1.3rem}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}

/* abertura */
.splash{min-height:100vh;display:grid;place-items:center;background:var(--wine)}
.splash .name{font-family:var(--f-display);font-size:2.4rem;color:var(--gold)}
.splash em,.brand em{font-style:italic}

/* entrada (login) */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}
.login-art{position:relative;background:#140c0b url(img/flores.jpg) center 40%/cover no-repeat}
.login-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,9,.1),rgba(20,10,9,.75))}
.login-art .sig{position:absolute;left:32px;bottom:32px;z-index:1;color:#F7F5F0}
.login-art .sig .name{font-family:var(--f-display);font-size:2.6rem;line-height:1;color:var(--gold)}
.login-art .sig small{display:block;margin-top:8px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#E6D8CC}
.login-box{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:40px max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px));max-width:460px;width:100%;margin:0 auto}
.login-box p{margin:0;color:var(--ink-2)}
.login-box form{display:flex;flex-direction:column;gap:14px}
@media (max-width:760px){
  .login{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .login-art{min-height:38vh;padding-top:env(safe-area-inset-top,0px)}
  .login-art .sig{left:20px;bottom:20px}
  .login-art .sig .name{font-size:2.1rem}
  .login-box{justify-content:flex-start;padding-top:28px}
}

/* estrutura do app */
.top{position:sticky;top:0;z-index:20;background:var(--bar-bg);color:var(--bar-ink);padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.top-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-right:auto;min-width:0}
.brand .name{font-family:var(--f-display);font-size:1.6rem;line-height:1;color:var(--gold)}
.brand small{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bar-ink-2)}
.top select{background:rgba(255,255,255,.08);color:var(--bar-ink);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 10px;font-size:.86rem;max-width:200px}
.top select option{color:#1B1310}
.top .out{background:none;border:0;color:var(--bar-ink-2);font-size:.86rem;cursor:pointer;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}
.tabs-top{display:flex;gap:4px}
.tabs-top a{color:var(--bar-ink-2);text-decoration:none;padding:7px 14px;border-radius:999px;font-size:.92rem}
.tabs-top a[aria-current="page"]{background:rgba(255,206,133,.16);color:var(--bar-ink)}
.tabbar{display:none}
.main{padding:22px max(16px,env(safe-area-inset-right,0px)) 64px max(16px,env(safe-area-inset-left,0px))}
.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
@media (max-width:760px){
  .tabs-top{display:none}
  .brand .name{font-size:1.35rem}
  .main{padding-bottom:calc(var(--tabbar) + 28px + env(safe-area-inset-bottom,0px))}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar);text-decoration:none;color:var(--ink-3);font-size:.74rem}
  .tabbar a svg{width:22px;height:22px}
  .tabbar a[aria-current="page"]{color:var(--head);font-weight:600}
}

/* componentes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--accent);color:var(--on-accent);padding:10px 18px;border-radius:999px;cursor:pointer;font-weight:500;font-size:.94rem;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(1.12)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:var(--surface-2);filter:none}
.btn.small{padding:6px 13px;font-size:.84rem}
.btn.danger{background:transparent;color:var(--late);border-color:var(--late-bg)}
.btn.wide{width:100%}
.btn:disabled{opacity:.55;cursor:default}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;font-size:.88rem}
.pagehead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.pagehead p{margin:6px 0 0;color:var(--ink-2);max-width:60ch}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.hero{position:relative;border-radius:22px;overflow:hidden;background:#140c0b;color:#F7F5F0;min-height:190px;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;max-width:none}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,9,.92) 0%,rgba(20,10,9,.65) 50%,rgba(20,10,9,.1) 100%);z-index:1}
.hero .in{position:relative;z-index:2;padding:26px 26px;display:flex;flex-direction:column;gap:6px;max-width:620px}
.hero h1{color:#F7F5F0}
.hero h1 em{color:var(--gold)}
.hero p{margin:0;color:#E6D8CC}
.hero .date{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#D9C3B6}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.grid2{grid-template-columns:1fr}}
.col{display:flex;flex-direction:column;gap:18px;min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.panel-h .sub{color:var(--ink-3);font-size:.84rem}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:500;padding:3px 10px;border-radius:999px;background:var(--muted-bg);color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.late{background:var(--late-bg);color:var(--late)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.wine{background:var(--accent-soft);color:var(--head)}
.bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--sage);border-radius:999px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.note{color:var(--ink-3);font-size:.86rem;margin:0}
.dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0}
.dl dt{color:var(--ink-3);font-size:.84rem}
.dl dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.rows{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);min-width:0}
.row:first-child{border-top:0}
.row .main-t{flex:1;min-width:0}
.row .t{font-weight:500;overflow-wrap:anywhere}
.row .m{font-size:.84rem;color:var(--ink-3)}
.row.click{cursor:pointer;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;width:100%;font:inherit;color:inherit}

.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.steps li{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:10px}
.steps .dot{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:.78rem;border:1px solid var(--line);color:var(--ink-3)}
.steps .done .dot{background:var(--sage);border-color:var(--sage);color:#fff}
.steps .cur{background:var(--accent-soft)}
.steps .cur .dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.steps .cur .snm{font-family:var(--f-display);font-style:italic;font-size:1.2rem}

.meet{border-top:1px solid var(--line);padding:12px 0}
.meet:first-child{border-top:0}
.meet summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none}
.meet summary::-webkit-details-marker{display:none}
.meet .when{font-family:var(--f-display);font-size:1.25rem;color:var(--head);min-width:84px}
.meet .what{flex:1;min-width:0;color:var(--ink-2);font-size:.9rem;overflow-wrap:anywhere}
.meet-b{margin-top:10px;background:var(--surface-2);border-radius:10px;padding:14px 16px;font-size:.92rem;display:flex;flex-direction:column;gap:8px}
.meet-b h4{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.meet-b p{margin:0;white-space:pre-line}

.mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px}
.mat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.mat-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mat-nm{font-size:1.4rem;line-height:1.15;overflow-wrap:anywhere}
.mat-notas{margin:0;white-space:pre-line;color:var(--ink-2);font-size:.9rem}
.mat-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}

.empty{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:18px}
.empty img{width:140px;height:170px;object-fit:cover;border-radius:10px}
.empty p{margin:6px 0 12px;color:var(--ink-2);max-width:52ch}
@media (max-width:560px){.empty{grid-template-columns:1fr}.empty img{width:100%;height:130px}}

/* conteúdo */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface)}
.seg button{border:0;background:none;font:inherit;font-size:.9rem;padding:6px 16px;border-radius:999px;cursor:pointer;color:var(--ink-2)}
.seg button.on{background:var(--accent);color:var(--on-accent)}
.et-ideia{--et:#FFCE85;--et-ink:#3C151C}.et-escrita{--et:#6A7657;--et-ink:#FFFFFF}.et-gravacao{--et:#9C5B24;--et-ink:#FFFFFF}.et-finalizado{--et:#7A3B45;--et-ink:#FFFFFF}.et-publicado{--et:#1C281F;--et-ink:#FFCE85}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .et-publicado{--et:#3F5A45;--et-ink:#FFE7C2}}
:root[data-theme="dark"] .et-publicado{--et:#3F5A45;--et-ink:#FFE7C2}
.kb{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px;align-items:start;scroll-snap-type:x mandatory}
.kb-col{background:var(--surface-2);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px;min-height:140px;border-top:3px solid var(--et);scroll-snap-align:start}
@media (max-width:760px){.kb{grid-template-columns:repeat(5,82vw);margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}}
.kb-h{display:flex;justify-content:space-between;align-items:center}
.kb-h .sub{color:var(--ink-3);font-size:.84rem}
.kb-list{display:flex;flex-direction:column;gap:8px}
.kb-add{background:none;border:1px dashed var(--line);border-radius:10px;padding:9px;font:inherit;font-size:.88rem;color:var(--ink-3);cursor:pointer}
.drop-on{box-shadow:inset 0 0 0 2px var(--accent)}
.ct-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;cursor:grab}
.ct-card.dragging,.ct-mini.dragging{opacity:.45}
.ct-open{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.ct-t{font-weight:500;line-height:1.3;overflow-wrap:anywhere}
.ct-m{font-size:.8rem;color:var(--ink-3)}
.ct-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ct-tags .pill{font-size:.72rem;padding:2px 8px}
.ct-ref{font-size:.78rem;color:var(--ink-2)}
.ct-sel{font:inherit;font-size:.8rem;border:1px solid var(--line);border-radius:8px;padding:4px 6px;background:var(--surface);color:var(--ink-2);align-self:flex-start}
.cal-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal-h h2{font-size:1.8rem;min-width:190px;text-align:center;text-transform:capitalize}
.cal{overflow-x:auto}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:640px}
.cal-wd{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}
.cal-d{min-height:100px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-d.out{background:transparent;opacity:.55}
.cal-d.today .cal-n .num{background:var(--accent);color:var(--on-accent);border-radius:999px;padding:0 7px}
.cal-n{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--ink-2)}
.cal-add{background:none;border:0;cursor:pointer;color:var(--ink-3);font-size:1rem;line-height:1;padding:2px 6px;border-radius:6px}
.ct-mini{display:block;width:100%;text-align:left;font:inherit;font-size:.8rem;font-weight:500;line-height:1.25;padding:5px 8px;border-radius:7px;border:0;background:var(--et);color:var(--et-ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-mini:hover{filter:brightness(1.08)}
.chips .ct-mini{width:auto;max-width:260px}
.cal-leg{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:var(--ink-2)}
.cal-leg .lg{display:inline-flex;align-items:center;gap:6px}.cal-leg i{width:12px;height:12px;border-radius:4px;background:var(--et)}
.kb-col .ct-card{border-left:4px solid var(--et)}
/* agenda (lista por dia) para o celular */
.agenda{display:flex;flex-direction:column;gap:10px}
.ag-day{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start}
.ag-d{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 0}
.ag-d b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1;color:var(--head)}
.ag-d span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}
.ag-day.today .ag-d{background:var(--accent);border-color:var(--accent)}
.ag-day.today .ag-d b,.ag-day.today .ag-d span{color:var(--on-accent)}
.ag-list{display:flex;flex-direction:column;gap:6px;padding-top:2px}
.ag-list .ct-mini{font-size:.9rem;padding:8px 10px;white-space:normal}

/* formulários */
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:.84rem;color:var(--ink-2);font-weight:500}
.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;width:100%;min-width:0;font-size:16px}
.field textarea{min-height:90px;resize:vertical}
.field textarea.ta-big{min-height:300px;line-height:1.55}
.field textarea.ta-mid{min-height:160px;line-height:1.55}
.field .help{font-size:.78rem;color:var(--ink-3)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.form .full{grid-column:1/-1}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.overlay{position:fixed;inset:0;background:rgba(18,9,8,.55);display:flex;align-items:flex-start;justify-content:center;z-index:50;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.modal{background:var(--surface);color:var(--ink);border-radius:18px;width:100%;max-width:560px;padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow);margin-block:auto}
.modal.wide{max-width:760px}
.modal h2{font-size:1.8rem}
.modal-f{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.modal-f .r{display:flex;gap:8px;margin-left:auto}
.err{color:var(--late);font-size:.88rem;margin:0}
.okmsg{color:var(--ok);font-size:.88rem;margin:0}
.banner{border-radius:12px;padding:12px 16px;background:var(--warn-bg);color:var(--warn);font-size:.9rem;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + 18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--forest);color:#F7F5F0;padding:10px 18px;border-radius:999px;font-size:.9rem;z-index:60;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}
@media (min-width:761px){.toast{bottom:24px}}
.loading{color:var(--ink-3);font-size:.9rem}
