/* ===== daylab — identidade visual ===== */
:root{--bg:#f1f2f4;--sur:#ffffff;--sur2:#f5f6f8;--bd:#e9ebee;--tx:#202326;--mut:#7a8087;--lime:#cefa45;--lime2:#b9e62c;--limebg:#eefbc4;--ink:#202326;
  --ok:#1f7a4d;--okbg:#e4f7ea;--warn:#8a5a0b;--warnbg:#fbefcf;--bad:#b8321f;--badbg:#fbe4e1;--info:#1d4ed8;--infobg:#dbe9fd;--pur:#5b3fb5;--purbg:#e9e3fb;
  --sh:0 1px 2px rgba(32,35,38,.05),0 8px 24px -12px rgba(32,35,38,.12);--r:16px;color-scheme:light}
html[data-tema="escuro"]{--bg:#141618;--sur:#1c1f22;--sur2:#24282c;--bd:#2f3438;--tx:#eceef0;--mut:#9aa1a8;--ink:#eceef0;--limebg:#2c3a10;
  --ok:#5fd39a;--okbg:#153426;--warn:#e9b45b;--warnbg:#3a2c12;--bad:#f08b7e;--badbg:#3d1c19;--info:#9cbdf5;--infobg:#1b2a4a;--pur:#b9a3f5;--purbg:#2a2148;--sh:none;color-scheme:dark}
html{background:var(--bg)}
body{background:var(--bg)!important;color:var(--tx)!important;font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;transition:background .3s,color .3s}
[hidden]{display:none!important}
h1,h2,h3{letter-spacing:-.02em}
/* mapeamento das utilities Tailwind usadas nos templates → tokens (permite tema escuro) */
.bg-white{background:var(--sur)!important}.bg-slate-50,.bg-slate-100{background:var(--sur2)!important}
.text-slate-800,.text-slate-700,.text-slate-600{color:var(--tx)!important}.text-slate-500,.text-slate-400{color:var(--mut)!important}.text-slate-300{color:var(--bd)!important}
.border-slate-200,.border,.border-b,.border-t,.border-l,.divide-y>*{border-color:var(--bd)!important}
.text-brand-600,.text-brand-700{color:var(--tx)!important;text-decoration-color:var(--lime2)}
.bg-emerald-50{background:var(--okbg)!important}.text-emerald-700,.text-emerald-800,.text-emerald-600{color:var(--ok)!important}.border-emerald-200{border-color:var(--ok)!important}
.bg-amber-50{background:var(--warnbg)!important}.text-amber-800,.text-amber-600,.text-amber-700{color:var(--warn)!important}.border-amber-200{border-color:var(--warn)!important}
.bg-red-50{background:var(--badbg)!important}.text-red-700,.text-red-800,.text-red-600,.text-red-500{color:var(--bad)!important}.border-red-200{border-color:var(--bad)!important}
.bg-sky-50{background:var(--infobg)!important}.text-sky-700{color:var(--info)!important}.border-sky-200{border-color:var(--info)!important}
.bg-brand-100{background:var(--lime)!important}.text-brand-700{color:#202326!important}
/* componentes */
.card{background:var(--sur);border:1px solid var(--bd);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh);transition:background .3s,border-color .3s,box-shadow .25s}
.card:hover{box-shadow:0 14px 34px -16px rgba(32,35,38,.22)}
.card h2,.card h3{font-weight:800}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:12px;font-size:13.5px;font-weight:700;background:var(--lime);color:#202326;cursor:pointer;border:0;white-space:nowrap;transition:filter .15s,box-shadow .15s,transform .1s;text-decoration:none}
.btn:hover{filter:brightness(.96);box-shadow:0 6px 16px -8px rgba(32,35,38,.4)}.btn:active{transform:scale(.97)}
.btn-sec{background:var(--sur);color:var(--tx);border:1px solid var(--bd)}.btn-sec:hover{background:var(--sur2)}
.btn-ok{background:#202326;color:var(--lime)}html[data-tema="escuro"] .btn-ok{background:var(--lime);color:#202326}
.btn-danger{background:var(--bad);color:#fff}
.btn-sm{padding:5px 10px;font-size:12px;border-radius:9px}
.btn:focus-visible,.inp:focus-visible{outline:2px solid var(--lime2);outline-offset:1px}
.inp,select.inp,textarea.inp{width:100%;border:1px solid var(--bd);border-radius:11px;padding:9px 12px;font-size:13.5px;background:var(--sur);color:var(--tx);transition:border-color .15s,box-shadow .15s}
.inp:focus{outline:none;border-color:#202326;box-shadow:0 0 0 3px var(--limebg)}html[data-tema="escuro"] .inp:focus{border-color:var(--lime)}
.lbl{display:block;font-size:11.5px;font-weight:700;color:var(--mut);margin-bottom:.2rem;letter-spacing:.02em}
.tbl{width:100%;font-size:13.5px;border-collapse:collapse}
.tbl th{text-align:left;font-weight:600;color:var(--tx);font-size:13px;padding:10px 12px;background:var(--sur2);border-bottom:0;white-space:nowrap}
.tbl th:first-child{border-radius:10px 0 0 10px}.tbl th:last-child{border-radius:0 10px 10px 0}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--bd);vertical-align:top;font-variant-numeric:tabular-nums}
.tbl tr:hover td{background:var(--sur2)}
.tbl td .btn,.tbl td select.inp{width:auto;display:inline-flex}
.tag{display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;background:var(--sur2);color:var(--mut);line-height:1.5}
.tag-gray{background:var(--sur2);color:var(--mut)}.tag-blue{background:var(--infobg);color:var(--info)}.tag-green{background:var(--okbg);color:var(--ok)}
.tag-yellow{background:var(--warnbg);color:var(--warn)}.tag-red{background:var(--badbg);color:var(--bad)}.tag-purple{background:var(--purbg);color:var(--pur)}
.kpi{background:var(--sur);border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--sh)}
.kpi:hover{transform:translateY(-3px);box-shadow:0 12px 28px -12px rgba(32,35,38,.25);border-color:var(--lime2)}
.kpi .ic{color:var(--tx);margin-bottom:10px;display:block}.kpi .v{font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px}.kpi .l{font-size:12.5px;color:var(--mut);font-weight:500}
.kpi.warn .ic{color:var(--warn)}.kpi.bad .ic{color:var(--bad)}
.tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--bd);margin-bottom:1rem}
.tabs a{padding:.5rem .8rem;font-size:.85rem;border-bottom:2px solid transparent;color:var(--mut);text-decoration:none;transition:color .15s}
.tabs a.on{border-color:#202326;color:var(--tx);font-weight:700}html[data-tema="escuro"] .tabs a.on{border-color:var(--lime)}
.grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}
details.acc summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1.5px solid var(--bd);background:var(--sur);font-weight:700;font-size:13px;color:var(--tx);transition:border-color .15s,background .15s;user-select:none}details.acc summary::-webkit-details-marker{display:none}details.acc summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg) translateY(-2px);transition:transform .2s}details.acc[open] summary::after{transform:rotate(-135deg) translateY(-1px)}details.acc summary:hover{border-color:var(--lime2);background:var(--limebg)}details.acc[open] summary{margin-bottom:10px}
.pub{max-width:640px;margin:0 auto;padding:1rem}.pub .card{padding:1.25rem}
.step{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:.6rem;border:1px solid var(--bd);background:var(--sur)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.ico-c{width:40px;height:40px;border-radius:50%;background:var(--sur2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.linkbox{background:var(--sur2);border:1px dashed var(--bd);border-radius:12px;padding:12px 14px;font-size:12.5px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.linkbox>b{flex:1 1 100%}.linkbox code{font-size:11.5px;word-break:break-all;flex:1 1 220px;background:var(--sur);border:1px solid var(--bd);border-radius:8px;padding:6px 8px}
/* layout */
.side{background:var(--sur);border:1px solid var(--bd);border-radius:20px;box-shadow:var(--sh);margin:12px 0 12px 12px;height:calc(100vh - 24px);position:sticky;top:12px;display:flex;flex-direction:column;width:248px;flex-shrink:0}
.side .logoimg{height:34px;width:auto;display:block}.so-escuro{display:none!important}html[data-tema="escuro"] .so-claro{display:none!important}html[data-tema="escuro"] .so-escuro{display:block!important}
.side nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-weight:600;color:var(--tx);text-decoration:none;font-size:13.5px;transition:background .18s,transform .18s}
.side nav a:hover{background:var(--sur2);transform:translateX(2px)}.side nav a.on{background:var(--lime);color:#202326;animation:pill .35s cubic-bezier(.2,.8,.2,1)}
.side nav a svg{flex-shrink:0}.side nav .grp{color:var(--mut);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:14px 12px 4px;font-weight:700}
.seg{display:flex;background:var(--sur2);border:1px solid var(--bd);border-radius:10px;padding:3px;gap:3px}.seg button{flex:1;border:0;background:none;border-radius:8px;padding:6px;font-weight:700;cursor:pointer;color:var(--mut);transition:background .2s,color .2s;font-size:12px}.seg button.on{background:var(--lime);color:#202326}
.topbar h1{font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1.05;position:relative;display:inline-block;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.topbar h1::after{content:'';position:absolute;left:0;bottom:-4px;height:5px;width:0;background:var(--lime);border-radius:3px;animation:sub .8s .3s cubic-bezier(.2,.8,.2,1) forwards}
.subt{color:var(--mut);font-size:14px;margin-top:4px;font-weight:500;animation:rise .5s .1s cubic-bezier(.2,.8,.2,1) both}
.iconbtn{position:relative;background:var(--sur);border:1px solid var(--bd);border-radius:12px;padding:9px 11px;cursor:pointer;box-shadow:var(--sh);display:inline-flex;color:var(--tx)}
.iconbtn i{position:absolute;top:-6px;right:-6px;background:var(--bad);color:#fff;font-style:normal;font-size:10px;border-radius:99px;padding:1px 5px;font-weight:700;animation:pulse 2s infinite}
.flash{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#202326;color:#fff;border-radius:14px;padding:12px 18px;font-weight:600;z-index:50;box-shadow:0 14px 40px -10px rgba(0,0,0,.5);display:flex;gap:10px;align-items:center;animation:toast .35s cubic-bezier(.2,.8,.2,1)}
.flash::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--lime)}.flash.erro::before{background:var(--bad)}
/* animações */
@keyframes rise{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sub{to{width:42px}}@keyframes pill{from{transform:scale(.94);opacity:.6}}@keyframes toast{from{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(194,59,43,.5)}50%{box-shadow:0 0 0 6px rgba(194,59,43,0)}}
@keyframes grow{from{transform:scaleY(0)}}
main>*{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}main>*:nth-child(2){animation-delay:.1s}main>*:nth-child(3){animation-delay:.2s}main>*:nth-child(4){animation-delay:.3s}
.kpi{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}.kpi:nth-child(2){animation-delay:70ms}.kpi:nth-child(3){animation-delay:140ms}.kpi:nth-child(4){animation-delay:210ms}.kpi:nth-child(5){animation-delay:280ms}.kpi:nth-child(6){animation-delay:350ms}.kpi:nth-child(7){animation-delay:420ms}.kpi:nth-child(8){animation-delay:490ms}.kpi:nth-child(9){animation-delay:560ms}.kpi:nth-child(10){animation-delay:630ms}.kpi:nth-child(11){animation-delay:700ms}.kpi:nth-child(12){animation-delay:770ms}.kpi:nth-child(13){animation-delay:840ms}.kpi:nth-child(14){animation-delay:910ms}
.tbl tbody tr{animation:rise .45s cubic-bezier(.2,.8,.2,1) both}.tbl tbody tr:nth-child(2){animation-delay:45ms}.tbl tbody tr:nth-child(3){animation-delay:90ms}.tbl tbody tr:nth-child(4){animation-delay:135ms}.tbl tbody tr:nth-child(5){animation-delay:180ms}.tbl tbody tr:nth-child(6){animation-delay:225ms}.tbl tbody tr:nth-child(7){animation-delay:270ms}.tbl tbody tr:nth-child(8){animation-delay:315ms}.tbl tbody tr:nth-child(n+9){animation-delay:360ms}
.grid>.card{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}.grid>.card:nth-child(2){animation-delay:.12s}.grid>.card:nth-child(3){animation-delay:.24s}
/* Day (assistente) */
.day-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:#202326;border:0;cursor:pointer;box-shadow:0 12px 30px -8px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.day-fab:hover{transform:scale(1.06)}.day-fab img{width:32px}html[data-tema="escuro"] .day-fab{background:var(--lime)}
.day-panel{position:fixed;right:22px;bottom:90px;width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);background:var(--sur);border:1px solid var(--bd);border-radius:20px;box-shadow:0 24px 60px -20px rgba(0,0,0,.45);z-index:60;display:flex;flex-direction:column;overflow:hidden;animation:rise .35s cubic-bezier(.2,.8,.2,1)}
.day-head{padding:14px 16px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:10px}.day-head b{font-size:16px;font-weight:800}
.day-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13.5px}
.day-m{max-width:88%;padding:10px 12px;border-radius:14px;line-height:1.45;white-space:pre-wrap;animation:rise .3s both}
.day-m.u{align-self:flex-end;background:var(--lime);color:#202326;border-bottom-right-radius:4px}.day-m.a{align-self:flex-start;background:var(--sur2);border-bottom-left-radius:4px}
.day-m a{color:inherit;font-weight:700}
.day-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--bd)}.day-in input{flex:1}
.day-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}.day-sug button{font-size:11.5px;border:1px solid var(--bd);background:var(--sur);border-radius:99px;padding:4px 10px;cursor:pointer;color:var(--tx)}
.day-sug button:hover{background:var(--limebg)}
.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mut);margin-right:3px;animation:blink 1s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,100%{opacity:.2}40%{opacity:1}}
@media (min-width:768px){.burger{display:none!important}}
@media (max-width:767px){.side{position:fixed;left:0;top:0;bottom:0;margin:0;border-radius:0;height:100vh;z-index:40;transform:translateX(-100%);transition:transform .2s}.side.open{transform:none}.topbar h1{font-size:24px}
  .topbar{flex-wrap:wrap;padding:16px 16px 4px!important;gap:8px!important}.topbar>.flex-1{flex:1 1 100%;order:10;min-width:0}.topbar .subt{font-size:12.5px;line-height:1.35}
  .topbar>.btn,.topbar>form,.topbar>a.btn,.topbar>button:not(.iconbtn){order:11;flex:0 1 auto}.topbar>button.iconbtn:not(.burger){margin-left:auto}
  main{padding:10px 16px 90px!important}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* PWA / iPhone em modo app */
@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top,0px)}.side{padding-top:env(safe-area-inset-top,0px)}.topbar{padding-top:calc(26px + env(safe-area-inset-top,0px))!important}.pubbar{padding-top:calc(14px + env(safe-area-inset-top,0px))}}

.demo-bar{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);background:#202326;color:#cefa45;font-size:12px;font-weight:700;padding:6px 14px;border-radius:99px;z-index:45;box-shadow:0 8px 24px rgba(0,0,0,.3);pointer-events:none;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}

/* balões do menu */
.side nav a .bdg{font-size:10.5px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;background:var(--sur2);color:var(--tx);border:1px solid var(--bd);font-variant-numeric:tabular-nums;transition:transform .2s}
.side nav a .bdg.warn{background:var(--lime);color:#202326;border-color:transparent}.side nav a .bdg.bad{background:var(--bad);color:#fff;border-color:transparent;animation:bdgpulse 2.4s ease-in-out infinite}
.side nav a.on .bdg{background:#202326;color:var(--lime);border-color:transparent}.side nav a.on .bdg.bad{background:var(--bad);color:#fff}
@keyframes bdgpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 5px rgba(220,38,38,0)}}

/* loading global */
#dl-bar{position:fixed;left:0;top:0;height:3px;width:0;background:var(--lime);z-index:200;box-shadow:0 0 10px var(--lime);opacity:0;transition:width .3s ease,opacity .3s}
#dl-bar.on{opacity:1;width:80%;transition:width 6s cubic-bezier(.1,.6,.3,1),opacity .2s}#dl-bar.fim{width:100%;transition:width .25s ease,opacity .3s .2s;opacity:0}
#dl-ov{position:fixed;inset:0;background:rgba(32,35,38,.35);backdrop-filter:blur(2px);z-index:190;display:flex;align-items:center;justify-content:center;padding:20px}
.dl-box{background:var(--sur);color:var(--tx);border-radius:18px;padding:18px 22px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;min-width:280px;max-width:420px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);animation:rise .3s cubic-bezier(.2,.8,.2,1) both}
.dl-box b{font-size:14.5px}.dl-sub{font-size:12px;color:var(--mut)}.dl-track{grid-column:1/-1;height:5px;border-radius:99px;background:var(--sur2);overflow:hidden}.dl-track i{display:block;height:100%;width:40%;border-radius:99px;background:var(--lime);animation:dlslide 1.1s ease-in-out infinite}
@keyframes dlslide{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.dl-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--sur2);border-top-color:#202326;animation:dlspin .8s linear infinite}.dl-spin.dl-mini{width:14px;height:14px;border-width:2px;border-color:rgba(0,0,0,.18);border-top-color:currentColor;display:inline-block;vertical-align:-2px;margin-right:6px}
@keyframes dlspin{to{transform:rotate(360deg)}}
button.dl-busy{opacity:.75;cursor:progress;pointer-events:none}

/* espaço do cliente (identidade secundária, abaixo da marca daylab) */
.espaco{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;border-radius:10px;background:var(--sur2);font-size:12px;font-weight:700;color:var(--tx);max-width:100%}.espaco img{height:20px;max-width:64px;object-fit:contain;border-radius:4px}

.exp{display:inline-flex;gap:6px}.exp .btn{padding:8px 12px}

/* suporte rápido (topo) e modal de chamado */
.sup-pop{width:290px;padding:6px;display:flex;flex-direction:column;gap:2px}.sup-pop button,.sup-pop a{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;background:none;border:0;cursor:pointer;color:inherit;text-decoration:none;font:inherit}
.sup-pop button:hover,.sup-pop a:hover{background:var(--sur2)}.sup-pop b{display:flex;align-items:center;gap:8px;font-size:13.5px}.sup-pop span{font-size:12px;color:var(--mut);padding-left:26px}
.sup-menu summary::-webkit-details-marker{display:none}@media (max-width:700px){.so-largo{display:none}}
.modal{position:fixed;inset:0;background:rgba(32,35,38,.45);backdrop-filter:blur(3px);z-index:70;display:flex;align-items:center;justify-content:center;padding:16px}.modal .card{animation:rise .3s both}
.day-m.digitando::after{content:'';display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:-2px;animation:blink 1s infinite}
.ajuda{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.ajuda button,.ajuda a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--bd);border-radius:14px;background:var(--sur);cursor:pointer;text-align:left;color:inherit;text-decoration:none;font:inherit;transition:transform .2s,border-color .2s}
.ajuda button:hover,.ajuda a:hover{transform:translateY(-2px);border-color:var(--lime2)}.ajuda .ico{width:40px;height:40px;border-radius:12px;background:var(--lime);color:#202326;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ajuda b{display:block;font-size:14px}.ajuda small{color:var(--mut);font-size:12px}
