/* =====================================================================
   OPERAÇÃO DESMONTAGEM · LIQUID GLASS CRIAATVA (padrão dos portais: creme + coral, Anton + Inter)
   Mobile-first: coluna única de até 560px; desktop só centraliza.
   NUNCA animar transform/filter em ancestral de position:fixed (tabbar/FAB/sheet).
   ===================================================================== */
:root{
  --creme:#F4EFE6; --creme2:#EDE4D3; --tinta:#201A14; --tinta2:#6E6459;
  --coral:#E2463F; --coral2:#C93832; --coral-soft:rgba(226,70,63,.10); --coral-txt:#B8312B;
  --ok:#2F7D4F; --ok-soft:rgba(47,125,79,.12);
  --warn:#A8730A; --warn-soft:rgba(168,115,10,.14);
  --info:#3A6EA5; --info-soft:rgba(58,110,165,.12); --cinza:#8A8177;
  --glass:linear-gradient(160deg,rgba(255,255,255,.68),rgba(255,255,255,.38));
  --glass-strong:linear-gradient(160deg,rgba(255,255,255,.88),rgba(255,255,255,.6));
  --brd:rgba(255,255,255,.72); --line:rgba(32,26,20,.10); --line2:rgba(32,26,20,.18);
  --sombra:0 10px 34px rgba(32,26,20,.12), inset 0 1px 0 rgba(255,255,255,.85);
  --r:22px;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px);
  --anton:'Anton',Impact,'Arial Black',sans-serif; --inter:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{
  min-height:100dvh;font-family:var(--inter);font-size:15px;line-height:1.45;color:var(--tinta);background:var(--creme);overflow-x:clip;
  background-image:
    radial-gradient(900px 500px at 85% -5%, rgba(226,70,63,.14), transparent 60%),
    radial-gradient(700px 450px at -10% 30%, rgba(226,70,63,.07), transparent 55%),
    radial-gradient(800px 600px at 50% 110%, rgba(168,115,10,.08), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  background-attachment:fixed;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;
}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}
input,select,textarea{font-family:inherit;font-size:16px;color:var(--tinta)}
a{color:inherit;text-decoration:none}
::selection{background:var(--coral);color:#fff}
:focus{outline:none} :focus-visible{outline:2.5px solid var(--coral);outline-offset:2px}
.skip-link{position:absolute;left:-999px;top:0;z-index:10000;background:var(--tinta);color:var(--creme);padding:.5rem 1rem;border-radius:10px}
.skip-link:focus{left:.5rem;top:.5rem}
svg.i{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.muted{color:var(--tinta2)} .small{font-size:12.5px} .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.row{display:flex;align-items:center;gap:10px} .grow{flex:1;min-width:0} .wrap{overflow-wrap:anywhere}
.linkish{all:unset;cursor:pointer;display:block;min-width:0;flex:1}
.linkish:focus-visible{outline:2.5px solid var(--coral);outline-offset:2px;border-radius:8px}
.hint{font-size:13px;color:var(--tinta2);line-height:1.45}
.none{font-style:italic;color:var(--tinta2);font-size:13px}
.table-wide{display:none!important}

/* ---------- logo CRIAATVA ---------- */
.logo{font-family:var(--anton);line-height:.86;letter-spacing:.04em;color:var(--tinta);user-select:none}
.logo span{display:block}
.logo .l2 .flip{display:inline-block;transform:scaleY(-1) translateY(-2%);color:var(--coral)}
.logo.sm{font-size:15px} .logo.lg{font-size:52px}

/* ---------- vidro ---------- */
.glass,.card,.stat,.kvt,.oe,.grpbox,.lote,.tbl,.boxes,.compose,.empty,.alert,.note,.pushcard,.scrollx,.next{
  background:var(--glass);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid var(--brd);border-radius:var(--r);box-shadow:var(--sombra)}
.card{padding:14px 16px;display:grid;gap:6px;text-align:left;width:100%}
.card.done{opacity:.6} .card.warnb{box-shadow:var(--sombra), inset 4px 0 0 var(--warn)}
.card .t{font-weight:700;line-height:1.3} .card .m{font-size:12.5px;color:var(--tinta2);display:flex;flex-wrap:wrap;gap:3px 9px;align-items:center}

/* ---------- gate ---------- */
.gate{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:calc(24px + var(--sat)) 16px calc(24px + var(--sab));max-width:460px;margin:0 auto}
.gate-hero{text-align:center;display:grid;justify-items:center;gap:8px}
.gate-card{padding:20px 18px;display:grid;gap:4px}
.doc-title{font-family:var(--anton);font-weight:400;font-size:28px;line-height:1.02;letter-spacing:.015em;text-transform:uppercase;color:var(--tinta)}
.doc-meta{font-size:13.5px;color:var(--tinta2)} .doc-meta b{color:var(--tinta)}
.eyebrow{font-size:11px;font-weight:800;font-style:italic;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.field{display:grid;gap:6px;margin-top:10px}
.lab{display:block;font-size:11px;font-weight:800;font-style:italic;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta2)}
.inp,textarea.inp,select.inp{width:100%;min-height:50px;padding:13px 14px;border-radius:14px;border:1.5px solid rgba(32,26,20,.14);background:rgba(255,255,255,.82);outline:none;transition:border .15s;appearance:none;font-size:16px}
select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E6459' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
textarea.inp{min-height:92px;resize:vertical;line-height:1.4}
.inp:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}
.inp:disabled{opacity:.7}
.err{color:var(--coral-txt);font-size:13.5px;font-weight:600;min-height:1.3em;margin-top:6px}

/* ---------- botões ---------- */
.cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:18px;font-weight:800;font-style:italic;letter-spacing:.05em;text-transform:uppercase;transition:transform .15s,box-shadow .15s,background .15s;user-select:none;white-space:nowrap}
.cta{width:100%;min-height:54px;padding:15px 18px;font-size:15px;background:var(--coral);color:#FFF7EF;box-shadow:0 10px 24px rgba(226,70,63,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.cta:active{transform:scale(.97);background:var(--coral2)} .cta:disabled{opacity:.5}
.btn{min-height:46px;padding:11px 16px;font-size:12.5px;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 4px 16px rgba(32,26,20,.08);color:var(--tinta)}
.btn:active{transform:scale(.97)}
.btn.full{width:100%} .btn.sm{min-height:40px;padding:8px 13px;font-size:11.5px;border-radius:14px}
.btn.danger{color:var(--coral-txt);border-color:rgba(226,70,63,.35);background:var(--coral-soft)}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--tinta2)}
.btn.dash{background:rgba(255,255,255,.35);border:1.5px dashed var(--line2);box-shadow:none;color:var(--tinta2)}
.btn.dark{background:var(--tinta);color:var(--creme);border-color:var(--tinta)}
.editbtn{width:40px;height:40px;flex:none;border-radius:14px;display:grid;place-items:center;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 4px 14px rgba(32,26,20,.08);color:var(--tinta)}
.editbtn svg{width:18px;height:18px}
.editbtn:active{transform:scale(.92)}

/* ---------- topo ---------- */
.top{position:sticky;top:calc(8px + var(--sat));z-index:40;display:flex;align-items:center;gap:10px;margin:calc(8px + var(--sat)) auto 0;padding:9px 12px;width:min(560px,calc(100% - 24px));
  background:var(--glass-strong);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--brd);border-radius:20px;box-shadow:var(--sombra)}
.top .brandtxt{line-height:1.15;min-width:0}
.top .brandtxt .eyebrow{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .sub{font-size:11.5px;color:var(--tinta2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none;box-shadow:0 0 0 3px var(--ok-soft)}
.dot.pend{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)} .dot.off{background:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}
.avatar,.adminbtn{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 4px 14px rgba(32,26,20,.08);font:800 13px var(--inter);color:var(--tinta)}
.adminbtn{color:var(--coral);background:var(--coral-soft);border-color:rgba(226,70,63,.3)} .adminbtn svg{width:20px;height:20px}
.banner{position:sticky;top:calc(74px + var(--sat));z-index:39;display:flex;align-items:center;gap:10px;margin:8px auto 0;padding:10px 12px;width:min(560px,calc(100% - 24px));border-radius:18px;font-size:13.5px;line-height:1.3;
  background:linear-gradient(160deg,rgba(255,243,205,.95),rgba(255,236,190,.85));border:1px solid rgba(168,115,10,.28);box-shadow:0 8px 24px rgba(168,115,10,.18)}
.banner.late{background:linear-gradient(160deg,rgba(252,226,223,.96),rgba(250,210,205,.88));border-color:rgba(226,70,63,.3);box-shadow:0 8px 24px rgba(226,70,63,.2)}
.banner .btn{min-height:38px;padding:7px 12px;font-size:11px}

/* ---------- layout ---------- */
.app{max-width:560px;margin:0 auto;padding:14px 12px calc(120px + var(--sab))}
.view{display:grid;gap:18px}
.sec{display:grid;gap:10px}
.sec-title{display:flex;align-items:center;gap:10px;margin-top:4px}
.sec-title h2{font-family:var(--anton);font-weight:400;font-size:21px;line-height:1.05;letter-spacing:.025em;text-transform:uppercase;flex:1;color:var(--tinta)}
.sec-title .cnt{font-size:11px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);white-space:nowrap}
.subt{font-family:var(--anton);font-weight:400;font-size:17px;letter-spacing:.02em;text-transform:uppercase}
.subt .muted{font-family:var(--inter);font-size:12.5px;text-transform:none;letter-spacing:0}
.back{display:inline-flex;align-items:center;gap:4px;min-height:40px;justify-self:start;font-size:11px;font-weight:800;font-style:italic;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.note{padding:13px 15px;font-size:13.5px;line-height:1.5;display:flex;gap:10px;background:linear-gradient(160deg,rgba(255,248,225,.85),rgba(255,240,205,.6));border-color:rgba(168,115,10,.22)}
.note b{font-weight:800}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bigstat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{padding:12px 13px;display:grid;gap:2px;text-align:left;min-height:86px;align-content:start}
.stat .l{font-size:10px;font-weight:800;font-style:italic;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta2);line-height:1.2}
.stat .n{font-family:var(--anton);font-weight:400;font-size:30px;line-height:1.05;color:var(--tinta);font-variant-numeric:tabular-nums}
.stat .n small{font-family:var(--inter);font-size:12px;font-weight:700;color:var(--tinta2)}
.stat .s{font-size:11.5px;color:var(--tinta2);line-height:1.3}
.stat.hero{background:linear-gradient(160deg,rgba(226,70,63,.95),rgba(201,56,50,.9));border-color:rgba(255,255,255,.35);box-shadow:0 14px 30px rgba(226,70,63,.32),inset 0 1px 0 rgba(255,255,255,.35)}
.stat.hero .l,.stat.hero .s,.stat.hero .n small{color:rgba(255,247,239,.82)} .stat.hero .n{color:#FFF7EF}
.bigstat .stat{min-height:72px}

/* ---------- chips ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;line-height:1.3}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.c-ok{color:var(--ok);background:var(--ok-soft);border-color:rgba(47,125,79,.28)}
.c-warn{color:var(--warn);background:var(--warn-soft);border-color:rgba(168,115,10,.3)}
.c-late{color:var(--coral-txt);background:var(--coral-soft);border-color:rgba(226,70,63,.3)}
.c-muted{color:var(--cinza);background:rgba(138,129,119,.12);border-color:rgba(138,129,119,.25)}
.c-info{color:var(--info);background:var(--info-soft);border-color:rgba(58,110,165,.28)}
.c-navy{color:#FFF7EF;background:var(--tinta);border-color:var(--tinta)} .c-navy::before{display:none}
.chiprow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:0 -2px;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.fchip{flex:none;min-height:38px;padding:7px 14px;border-radius:999px;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 3px 10px rgba(32,26,20,.06);font-size:11.5px;font-weight:800;font-style:italic;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta2)}
.fchip[aria-pressed="true"]{background:var(--tinta);color:var(--creme);border-color:var(--tinta)}
.fchip .k{margin-left:5px;opacity:.7;font-family:var(--mono);font-style:normal}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--tinta2);font-weight:600}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend .it{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none}

/* ---------- progresso / dias ---------- */
.prog{height:8px;border-radius:99px;background:rgba(32,26,20,.09);overflow:hidden}
.prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--coral),#F07A5A);transition:width .5s ease}
.prog.ok i{background:linear-gradient(90deg,#2F7D4F,#55A874)} .prog.warn i{background:linear-gradient(90deg,#A8730A,#D19A2E)}
.tbl{overflow:hidden;padding:0}
.dayrow{display:grid;grid-template-columns:62px 1fr 56px;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.dayrow:first-child{border-top:0}
.dayrow .d{font-family:var(--anton);font-size:17px;line-height:1} .dayrow .d small{display:block;font-family:var(--inter);font-size:10.5px;font-weight:700;color:var(--tinta2);margin-top:3px}
.dayrow .p{display:grid;gap:4px} .dayrow .p span{font-size:11.5px;color:var(--tinta2)}
.dayrow .h{font:700 12px var(--mono);text-align:right;color:var(--tinta2)}
.load{display:grid;grid-template-columns:70px 1fr 54px;gap:8px;align-items:center;font-size:12.5px}
.load .bar{height:10px;border-radius:99px;background:rgba(32,26,20,.09);overflow:hidden}
.load .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--info),#6C98C6)} .load .bar i.over{background:linear-gradient(90deg,var(--warn),#D19A2E)}
.daystrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;-webkit-overflow-scrolling:touch}
.daystrip::-webkit-scrollbar{display:none}
.dayc{flex:none;min-width:66px;min-height:66px;display:grid;justify-items:center;align-content:center;gap:1px;border-radius:18px;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 4px 14px rgba(32,26,20,.07);position:relative;padding:6px 8px}
.dayc .w{font-size:10px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta2)}
.dayc .n{font-family:var(--anton);font-size:19px;line-height:1.05}
.dayc .k{font:700 10px var(--mono);color:var(--tinta2)}
.dayc[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);box-shadow:0 10px 22px rgba(226,70,63,.35)} .dayc[aria-pressed="true"] *{color:#FFF7EF!important}
.dayc.hoje::after{content:"";position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px #fff}

/* ---------- alertas ---------- */
.list{display:grid;gap:9px;list-style:none}
.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;font-size:13.5px;line-height:1.4;box-shadow:var(--sombra), inset 4px 0 0 var(--warn)}
.alert.late{background:linear-gradient(160deg,rgba(252,228,225,.9),rgba(250,214,210,.62));box-shadow:var(--sombra), inset 4px 0 0 var(--coral)}
.alert .ic{font:900 13px var(--inter);color:var(--warn);width:16px;flex:none}
.alert.late .ic{color:var(--coral)}

/* ---------- tempos ---------- */
.tbl .th{display:grid;gap:8px;align-items:center;padding:11px 12px;background:rgba(32,26,20,.88);color:var(--creme);font-size:10px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase}
.tbl .tr{display:grid;gap:8px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);font-size:13.5px}
.tbl .tr.done{opacity:.55} .tbl .tr.done .tt{text-decoration:line-through}
.tbl .tr.late{background:rgba(226,70,63,.08);box-shadow:inset 4px 0 0 var(--coral)}
.tbl .tr.doing{background:rgba(168,115,10,.06);box-shadow:inset 4px 0 0 var(--warn)}
.tbl .foot{padding:10px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--tinta2)}
.g-tm{grid-template-columns:22px minmax(0,1fr) 46px 66px 42px}
.g-tm.g-dia{grid-template-columns:42px minmax(0,1fr) 44px 62px 42px}
.tt{font-weight:700;line-height:1.3}
.tfr{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.05em;text-transform:uppercase;color:var(--coral)}
.chk{width:40px;height:40px;border-radius:14px;border:2px solid var(--line2);background:rgba(255,255,255,.7);display:grid;place-items:center;justify-self:end;transition:background .15s,border-color .15s}
.chk svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chk[data-s="afazer"] svg{display:none}
.chk[data-s="fazendo"]{border-color:var(--warn);background:var(--warn-soft)} .chk[data-s="fazendo"] svg{display:none}
.chk[data-s="fazendo"]::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--warn)}
.chk[data-s="feito"]{background:var(--ok);border-color:var(--ok);box-shadow:0 6px 14px rgba(47,125,79,.3)}
.chk[data-s="travado"]{background:var(--coral);border-color:var(--coral)} .chk[data-s="travado"] svg{display:none}
.chk[data-s="travado"]::after{content:"!";color:#fff;font:900 17px var(--inter)}
.chk:active{transform:scale(.92)}

/* ---------- cartões com cabeçalho ---------- */
.kvt,.oe,.grpbox,.lote{overflow:hidden;padding:0}
.kvt .hd,.oe .hd,.grpbox .gh,.lote .lh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 14px;background:linear-gradient(160deg,rgba(32,26,20,.9),rgba(32,26,20,.8));color:var(--creme)}
.kvt .hd h3,.oe .hd h3,.lote .lh h3,.grpbox .gh .grow{font-family:var(--anton);font-weight:400;font-size:18px;letter-spacing:.03em;text-transform:uppercase;line-height:1.05;flex:1;color:var(--creme);min-width:0}
.oe .hd a{font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase;color:#F7B3AE}
.grpbox .gh .cnt,.oe .hd .mono{font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,239,230,.75);font-family:var(--inter)}
.kvt .hd .editbtn,.grpbox .gh .editbtn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:var(--creme);box-shadow:none;width:38px;height:38px}
.kvt .kr{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line);font-size:13.5px}
.kvt .kr .k{font-size:10px;font-weight:800;font-style:italic;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta2);padding-top:2px}
.grpbox .gsub{padding:10px 14px;font-size:12.5px;color:var(--tinta2);background:rgba(255,255,255,.35);border-bottom:1px solid var(--line);line-height:1.45}
.grpbox .gsub b{color:var(--tinta)}
.only-narrow{display:block}

/* equipe / credenciamento */
.crrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}
.grpbox .gsub + .crrow{border-top:0}
.crrow .av{width:40px;height:40px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid var(--brd);display:grid;place-items:center;font:800 12px var(--inter);color:var(--tinta);box-shadow:0 3px 8px rgba(32,26,20,.06)}
.crrow .av.grp{background:var(--info-soft);color:var(--info);font-family:var(--anton);font-size:17px;font-weight:400}
.crrow .nm{font-weight:800;line-height:1.2}
.crrow .mt{font-size:11.5px;color:var(--tinta2);display:flex;flex-wrap:wrap;gap:3px 7px;align-items:center;margin-top:3px}
.credbtn{min-width:110px;min-height:42px;padding:6px 12px;border-radius:14px;font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.75);border:1.5px solid var(--line2);color:var(--tinta2)}
.credbtn[data-c="ok"]{background:var(--ok);border-color:var(--ok);color:#fff;box-shadow:0 6px 16px rgba(47,125,79,.3)}
.credbtn[data-c="pendente"]{background:var(--coral);border-color:var(--coral);color:#FFF7EF;box-shadow:0 6px 16px rgba(226,70,63,.3)}
.credbtn:active{transform:scale(.95)}
.stepper{display:flex;align-items:center;gap:6px}
.stepper button{width:40px;height:40px;border-radius:14px;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 3px 10px rgba(32,26,20,.08);font:800 18px var(--inter)}
.stepper button:disabled{opacity:.3}
.stepper .v{min-width:48px;text-align:center;font-family:var(--anton);font-size:17px;line-height:1}
.stepper .v small{display:block;font:800 8.5px var(--inter);font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta2);margin-top:2px}
.stepper.full .v{color:var(--ok)}

/* materiais */
.oe .cols{display:grid}
.oe .col{padding:12px 14px;border-top:1px solid var(--line);display:grid;gap:8px;align-content:start}
.oe .ch{display:flex;align-items:center;gap:6px;font-family:var(--anton);font-size:15px;letter-spacing:.03em;text-transform:uppercase}
.oe .ch .n{margin-left:auto;font:800 11px var(--inter);font-style:italic;color:var(--tinta2)}
.items{display:flex;flex-wrap:wrap;gap:6px}
.it{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px 6px 8px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid var(--brd);box-shadow:0 3px 10px rgba(32,26,20,.06);font-size:13px;font-weight:600;text-align:left;line-height:1.2}
.it .st{width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);flex:none;display:grid;place-items:center;font:900 10px var(--inter);color:#fff}
.it[data-s="separado"]{background:var(--warn-soft);border-color:rgba(168,115,10,.35)} .it[data-s="separado"] .st{border-color:var(--warn);background:linear-gradient(90deg,var(--warn) 50%,transparent 50%)}
.it[data-s="base"]{background:var(--info-soft);border-color:rgba(58,110,165,.35)} .it[data-s="base"] .st{border-color:var(--info);background:var(--info)}
.it[data-s="saiu"]{background:var(--ok-soft);border-color:rgba(47,125,79,.35);color:var(--ok)} .it[data-s="saiu"] .st{border-color:var(--ok);background:var(--ok)} .it[data-s="saiu"] .st::after{content:"✓"}
.it .ob{color:var(--tinta2);font-size:11px;font-weight:500}
.fita{display:inline-block;font-size:9.5px;font-weight:900;font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:#5E3E00;background:repeating-linear-gradient(-45deg,#FFE58A 0 6px,#FFD64D 6px 12px);border-radius:5px;padding:2px 6px;white-space:nowrap}

/* fotos */
.fotostrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.3);-webkit-overflow-scrolling:touch}
.fotostrip::-webkit-scrollbar{display:none}
.fthumb{flex:none;width:92px;height:92px;border-radius:16px;overflow:hidden;position:relative;background:rgba(32,26,20,.08);border:1px solid var(--brd);box-shadow:0 4px 12px rgba(32,26,20,.12);padding:0}
.fthumb img{width:100%;height:100%;object-fit:cover;display:block}
.fthumb .tag{position:absolute;left:5px;bottom:5px;right:5px;font-size:8.5px;font-weight:900;font-style:italic;letter-spacing:.04em;text-transform:uppercase;color:#5E3E00;background:repeating-linear-gradient(-45deg,#FFE58A 0 6px,#FFD64D 6px 12px);border-radius:5px;padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fthumb .tag.proj{color:var(--creme);background:rgba(32,26,20,.82)}
.fthumb.add{display:grid;place-items:center;align-content:center;gap:4px;background:rgba(255,255,255,.6);border:1.5px dashed var(--line2);box-shadow:none;color:var(--coral);font-size:10px;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.05em}
.fthumb.add svg{width:26px;height:26px}
.fotogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fotogrid .fthumb{width:auto;height:auto;aspect-ratio:1}
.viewer img{width:100%;max-height:60dvh;object-fit:contain;border-radius:16px;background:rgba(32,26,20,.9);display:block}

/* malão */
.eqrow{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 12px;border-top:1px solid var(--line);min-height:56px}
.grpbox .gh + .eqrow{border-top:0}
.eqrow .q{font-family:var(--anton);font-size:15px;line-height:1.05}
.eqrow .n{font-weight:600;line-height:1.3} .eqrow .n small{display:block;color:var(--tinta2);font-size:11.5px;font-weight:500}
.eqst{min-width:96px;min-height:40px;padding:5px 10px;border-radius:14px;font-size:10px;font-weight:800;font-style:italic;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.75);border:1.5px solid var(--line2);color:var(--tinta2)}
.eqst[data-s="malao"]{background:var(--info-soft);border-color:var(--info);color:var(--info)}
.eqst[data-s="campo"]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
.eqst[data-s="voltou"]{background:var(--ok);border-color:var(--ok);color:#fff}
.boxes{display:grid;padding:0;overflow:hidden}
.box{padding:13px 14px;display:grid;gap:2px;align-content:start}
.box+.box{border-top:1px solid var(--line)}
.box h3{font-family:var(--anton);font-weight:400;font-size:16px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}
.rec{display:flex;align-items:center;gap:8px;min-height:50px;padding:6px 0;border-bottom:1px dashed var(--line)}
.rec:last-of-type{border-bottom:0}
.rec .nm{font-size:13.5px;line-height:1.3} .rec .nm b{font-weight:800}
.rec .cat{display:block;font-size:10px;font-weight:800;font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta2)}
.rules{padding-left:20px;display:grid;gap:7px;font-size:13.5px;line-height:1.45}

/* pedidos */
.next{padding:16px;display:grid;gap:4px;background:linear-gradient(160deg,rgba(32,26,20,.92),rgba(32,26,20,.84));border-color:rgba(255,255,255,.18);color:var(--creme)}
.next .l{font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.12em;text-transform:uppercase;color:#F7B3AE}
.next .h{font-family:var(--anton);font-weight:400;font-size:46px;line-height:1;letter-spacing:.01em}
.next .h small{font-family:var(--inter)}
.next .s{font-size:13.5px;color:rgba(244,239,230,.85)}
.next .cta{margin-top:8px}
.janelas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.janela{padding:10px 6px;border-radius:18px;background:var(--glass-strong);border:1px solid var(--brd);box-shadow:0 4px 14px rgba(32,26,20,.07);display:grid;gap:2px;text-align:center}
.janela b{font-family:var(--anton);font-weight:400;font-size:21px;line-height:1}
.janela span{font-size:10.5px;color:var(--tinta2);line-height:1.25;font-weight:600}
.janela.passou{opacity:.45}
.janela.agora{border-color:var(--coral);box-shadow:0 8px 20px rgba(226,70,63,.25),inset 0 0 0 1.5px var(--coral)}
.lote .lh .sub{width:100%;font-size:12px;color:rgba(244,239,230,.8)}
.lote.fechado .lh{background:linear-gradient(160deg,rgba(201,56,50,.95),rgba(170,45,40,.9))}
.lote.enviado .lh{background:linear-gradient(160deg,rgba(58,110,165,.95),rgba(45,90,140,.9))}
.lote.chegou .lh{background:linear-gradient(160deg,rgba(47,125,79,.95),rgba(38,104,65,.9))}
.lote .la{display:flex;gap:7px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid var(--line);background:rgba(255,255,255,.3)}
.ped{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.lote .lh + .ped{border-top:0}
.ped .pi{font-weight:800;line-height:1.3} .ped .pi .q{font-family:var(--anton);font-weight:400;color:var(--coral);margin-right:5px}
.ped .pm{font-size:11.5px;color:var(--tinta2);display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:3px}
.ped.cancelado .pi{text-decoration:line-through;color:var(--tinta2)}
.pushcard{padding:14px 16px;display:grid;gap:8px}
.pushcard .t{font-weight:800}

/* controle master */
.aud{padding:11px 2px;border-top:1px solid var(--line);display:grid;gap:4px}
.aud:first-child{border-top:0}
.aud .ah{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:12.5px}
.aud .ah .when{font:700 11.5px var(--mono);color:var(--tinta2)}
.aud .ah .who{font-weight:800}
.aud .al{font-weight:600;line-height:1.3;font-size:13.5px}
.aud .dl{font-size:12.5px;line-height:1.4;display:grid;gap:2px;padding-left:10px;border-left:3px solid rgba(226,70,63,.35)}
.aud .dl .k{font-weight:800}
.aud .dl del{color:var(--coral-txt);text-decoration:line-through;overflow-wrap:anywhere}
.aud .dl ins{color:var(--ok);text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.scrollx{overflow-x:auto;padding:0}
.utbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:620px}
.utbl th{text-align:left;padding:10px;background:rgba(32,26,20,.88);color:var(--creme);font-size:10px;font-weight:800;font-style:italic;letter-spacing:.07em;text-transform:uppercase}
.utbl td{padding:10px;border-top:1px solid var(--line);vertical-align:top}

/* ---------- pendências, feed, forms ---------- */
.pend{display:flex;align-items:flex-start;gap:10px}
.pend .chk{width:38px;height:38px;justify-self:start;flex:none}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:18px;background:rgba(32,26,20,.07)}
.seg button{min-height:44px;border-radius:14px;font-size:10.5px;font-weight:800;font-style:italic;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta2);padding:4px 3px}
.seg button[aria-pressed="true"]{background:#fff;color:var(--tinta);box-shadow:0 4px 12px rgba(32,26,20,.1)}
.seg button[aria-pressed="true"].s-ok{background:var(--ok);color:#fff} .seg button[aria-pressed="true"].s-warn{background:var(--warn);color:#fff}
.seg button[aria-pressed="true"].s-late{background:var(--coral);color:#fff} .seg button[aria-pressed="true"].s-info{background:var(--info);color:#fff}
.tg{min-height:40px;padding:7px 13px;border-radius:999px;background:var(--glass-strong);border:1px solid var(--brd);font-size:11.5px;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta2)}
.tg[aria-pressed="true"]{background:var(--ok);border-color:var(--ok);color:#fff}
.feed{list-style:none;display:grid}
.feed li{display:grid;grid-template-columns:48px 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.feed .when{font:700 11px/1.5 var(--mono);color:var(--tinta2)}
.feed .who{font-weight:800;font-size:12.5px} .feed .tx{font-size:13.5px;line-height:1.4}
.feed .tx .chip{margin-left:4px}
.compose{padding:13px 14px;display:grid;gap:6px}
.compose .send{width:50px;height:50px;flex:none;border-radius:16px;background:var(--coral);color:#FFF7EF;display:grid;place-items:center;box-shadow:0 8px 18px rgba(226,70,63,.35)}
.empty{padding:26px 18px;text-align:center;display:grid;gap:5px}
.empty h3{font-family:var(--anton);font-weight:400;font-size:19px;text-transform:uppercase;letter-spacing:.02em}
.empty p{color:var(--tinta2);font-size:13.5px}

/* ---------- tabbar flutuante + FAB ---------- */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + var(--sab));width:min(536px,calc(100% - 20px));z-index:50;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:7px;
  background:var(--glass-strong);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--brd);border-radius:24px;box-shadow:0 14px 40px rgba(32,26,20,.18),inset 0 1px 0 rgba(255,255,255,.9)}
.tab{display:grid;justify-items:center;gap:2px;min-height:54px;padding:6px 2px;border-radius:17px;color:var(--tinta2);font-size:9.5px;font-weight:800;font-style:italic;letter-spacing:.03em;text-transform:uppercase;position:relative;transition:background .15s,color .15s}
.tab svg.i{width:21px;height:21px}
.tab[aria-current="page"]{background:var(--coral);color:#FFF7EF;box-shadow:0 8px 18px rgba(226,70,63,.35)}
.tab .b{position:absolute;top:2px;right:calc(50% - 25px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--tinta);color:var(--creme);font:800 9.5px/17px var(--inter);font-style:normal;text-align:center;box-shadow:0 0 0 2px #fff}
.tab[aria-current="page"] .b{background:#fff;color:var(--coral)}
.fab{position:fixed;right:max(16px,calc(50% - 262px));bottom:calc(90px + var(--sab));z-index:49;width:62px;height:62px;border-radius:22px;background:var(--coral);color:#FFF7EF;display:grid;place-items:center;box-shadow:0 14px 34px rgba(226,70,63,.45),inset 0 1px 0 rgba(255,255,255,.4)}
.fab svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round}
.fab:active{transform:scale(.93)}

/* ---------- bottom sheet ---------- */
dialog{border:0;padding:0;background:transparent;max-width:none;width:100%;max-height:100dvh;margin:auto 0 0;color:inherit}
dialog::backdrop{background:rgba(32,26,20,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sheet{width:min(560px,100%);margin:0 auto;max-height:92dvh;overflow:auto;display:grid;gap:12px;padding:12px 16px calc(22px + var(--sab));border-radius:28px 28px 0 0;
  background:linear-gradient(160deg,rgba(250,246,238,.98),rgba(244,239,230,.96));border:1px solid var(--brd);box-shadow:0 -18px 50px rgba(32,26,20,.25)}
.sheet .grab{width:44px;height:5px;border-radius:3px;background:rgba(32,26,20,.2);margin:0 auto 2px}
.sheet h2{font-family:var(--anton);font-weight:400;font-size:23px;line-height:1.05;letter-spacing:.02em;text-transform:uppercase}
.sheet #df-body{display:grid;gap:10px}
.sheet .field{margin-top:0}
.sheet .actions{display:grid;gap:8px;margin-top:4px}
.checks{display:grid;gap:6px;max-height:42dvh;overflow:auto}
.checks.inline{display:flex;flex-wrap:wrap;max-height:none}
.checks label{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid var(--brd);font-size:14px;font-weight:600}
.checks.inline label{min-height:40px;font-size:12.5px}
.checks input{width:22px;height:22px;accent-color:var(--coral);flex:none}
.swrow{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid var(--brd);font-weight:600}
.swrow input{width:24px;height:24px;accent-color:var(--coral)}
#toast{position:fixed;left:50%;transform:translateX(-50%);top:calc(84px + var(--sat));z-index:120;max-width:min(92%,420px);padding:12px 16px;border-radius:16px;background:linear-gradient(160deg,rgba(32,26,20,.94),rgba(32,26,20,.86));color:var(--creme);font-size:13.5px;font-weight:600;text-align:center;box-shadow:0 10px 30px rgba(32,26,20,.3);opacity:0;pointer-events:none;transition:opacity .25s}
#toast.on{opacity:1}
@media (hover:hover){.btn:hover,.fchip:hover,.dayc:hover{box-shadow:0 8px 20px rgba(32,26,20,.12)} .cta:hover{background:var(--coral2)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- logomarca CUBO 2023 (arquivo oficial) ---------- */
.logo-cubo{display:block;height:auto;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 8px 16px rgba(152,42,36,.18))}
.logo-cubo.lg{width:156px}
.logo-cubo.md{width:64px;flex:none}
.logo-cubo.sm{width:44px;filter:drop-shadow(0 4px 8px rgba(152,42,36,.18))}
.top a:has(.logo-cubo){display:block;flex:none}

#df-top{display:grid;gap:10px}
#df-top:empty{display:none}
