﻿:root{--t:#0a7c6e;--tl:#0fa08e;--tp:#e6f5f3;--tm:#c2e8e3;--go:#c89a3c;--gp:#fdf6e7;--dk:#1a2e2c;--md:#3d5754;--sf:#6b8c88;--bg:#f4f8f7;--wh:#fff;--bd:#d4e8e5;--re:#c0392b;--rp:#fdecea;--bl:#1d6fa4;--bp:#e8f4fb}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;min-height:100vh;min-height:100dvh}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--dk);font-size:16px;-webkit-font-smoothing:antialiased}
/* SPLASH */
#splash{min-height:100vh;min-height:100dvh;background:linear-gradient(145deg,#1a2e2c 0%,#0d3a35 55%,#0a7c6e 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center}
.lm{width:72px;height:72px;background:var(--tl);border-radius:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 32px rgba(10,124,110,.45)}
.lm svg{width:40px;height:40px}
#splash h1{font-family:'DM Serif Display',serif;font-size:2.4rem;color:#fff;margin-bottom:4px}
#splash .tag{color:rgba(255,255,255,.45);font-size:.9rem;margin-bottom:36px}
.lbox{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px 22px;width:100%;max-width:380px;backdrop-filter:blur(14px)}
.lbox h2{color:rgba(255,255,255,.85);font-size:1rem;font-weight:600;margin-bottom:18px;text-align:left}
.lerr{background:rgba(192,57,43,.25);border:1px solid rgba(192,57,43,.4);color:#ffb3ad;border-radius:10px;padding:10px 14px;font-size:.85rem;margin-bottom:12px;display:none}
/* FIELDS */
.f{margin-bottom:16px}
.f label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--sf);margin-bottom:6px}
.f.dk label{color:rgba(255,255,255,.45)}
.f input:not([type=checkbox]),.f select,.f textarea{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid var(--bd);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--dk);outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--t);box-shadow:0 0 0 3px rgba(10,124,110,.1)}
.f.dk input,.f.dk select{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:#fff}
.f.dk input::placeholder{color:rgba(255,255,255,.35)}
.f textarea{resize:vertical;min-height:82px;line-height:1.5}
.f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b8c88' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.field-hint{margin-top:6px;font-size:.72rem;line-height:1.4;color:var(--sf)}
.field-hint.warn{color:var(--re);font-weight:700}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:14px 18px;border-radius:13px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;transition:all .18s;touch-action:manipulation;min-height:48px}
.bp{background:var(--tl);color:#fff;width:100%;box-shadow:0 4px 14px rgba(15,160,142,.3)}.bp:active{background:var(--t);transform:scale(.98)}
.bs{background:var(--tp);color:var(--t)}.bs:active{background:var(--tm)}
.bw{width:100%}
.bg{background:transparent;color:var(--sf);padding:10px 12px;font-size:.85rem;min-height:44px}.bg:active{color:var(--dk);background:var(--bd)}
.br{background:var(--rp);color:var(--re)}.br:active{background:#f5c6c2}
.bgold{background:var(--go);color:#fff}.bgold:active{background:#b5872d}
.bsm{padding:8px 14px;font-size:.82rem;border-radius:9px;min-height:36px}
/* TOPBAR */
#topbar{background:var(--wh);border-bottom:1px solid var(--bd);padding:0 14px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top)}
.brand{font-family:'DM Serif Display',serif;font-size:1.2rem;color:var(--t);display:flex;align-items:center;gap:7px}
.bdot{width:7px;height:7px;background:var(--tl);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.tr{display:flex;align-items:center;gap:6px}
.tc{font-size:.72rem;color:var(--sf);font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}
@media(min-width:480px){.tc{display:block}}
.tb{display:flex;align-items:center;gap:5px;background:var(--tp);border-radius:20px;padding:5px 11px 5px 5px}
.tb .av{width:24px;height:24px;border-radius:50%;background:var(--tl);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.tb span{font-size:.75rem;font-weight:600;color:var(--t);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* NAV */
#bnav{position:fixed;bottom:0;left:0;right:0;background:var(--wh);border-top:1px solid var(--bd);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px rgba(10,124,110,.06);overflow-x:auto}
.ni{flex:1;min-width:54px;display:flex;flex-direction:column;align-items:center;padding:10px 2px 8px;cursor:pointer;border:none;background:none;color:var(--sf);font-family:'DM Sans',sans-serif;transition:color .15s;touch-action:manipulation;min-height:56px;position:relative}
.ni svg{width:22px;height:22px;margin-bottom:3px}
.ni span{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.ni.on{color:var(--t)}.ni.on svg{filter:drop-shadow(0 2px 4px rgba(10,124,110,.3))}
/* MAIN */
#main{padding:14px;padding-bottom:86px;max-width:720px;margin:0 auto}
.sc{display:none}.sc.on{display:block}
@keyframes fu{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fu{animation:fu .22s ease forwards}
/* CARDS */
.card{background:var(--wh);border-radius:16px;border:1px solid var(--bd);padding:16px;margin-bottom:12px}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.ct{font-family:'DM Serif Display',serif;font-size:1rem}
.stt{font-family:'DM Serif Display',serif;font-size:1.4rem;margin-bottom:3px}
.sts{font-size:.82rem;color:var(--sf);margin-bottom:16px}
/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.bmaster{background:#1a1a2e;color:#a78bfa}.badmin{background:var(--gp);color:var(--go)}.bfisio{background:var(--tp);color:var(--t)}.bterapeuta{background:#ede9fe;color:#6d28d9}.brecep{background:var(--bp);color:var(--bl)}.bmassagista{background:#fce7f3;color:#be185d}.bpilates{background:#d1fae5;color:#065f46}.bview{background:#f0f4f4;color:var(--sf)}
/* LIST */
.li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--bd)}.li:last-child{border-bottom:none}
.av{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:1.15rem;flex-shrink:0}
.at{background:var(--tp);color:var(--t)}.ag2{background:var(--gp);color:var(--go)}.am{background:#1a1a2e;color:#a78bfa}.aa{background:var(--gp);color:var(--go)}.af{background:var(--tp);color:var(--t)}.aterapeuta{background:#ede9fe;color:#6d28d9}.ar{background:var(--bp);color:var(--bl)}.av2{background:#f0f4f4;color:var(--sf)}
.checkline{display:flex;align-items:center;gap:8px;margin:-2px 0 16px;font-size:.86rem;font-weight:700;color:var(--dk)}
.checkline input{width:18px;height:18px;accent-color:var(--t)}
.lin{flex:1;min-width:0}.lname{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ldet{font-size:.78rem;color:var(--sf);margin-top:2px}
/* FSEC */
.fsec{background:var(--tp);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.fst{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--t);margin-bottom:12px}
/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{padding:8px 14px;border-radius:20px;border:1.5px solid var(--bd);background:var(--wh);font-size:.82rem;font-weight:500;color:var(--md);cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;-webkit-user-select:none;user-select:none;touch-action:manipulation;min-height:44px;-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-align:center}.chip.on{background:var(--t);border-color:var(--t);color:#fff}
/* SCALE */
.scale{display:flex;gap:6px;flex-wrap:wrap}
.sb{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--bd);background:var(--wh);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--sf);transition:all .15s;font-family:'DM Sans',sans-serif;touch-action:manipulation}.sb.on{background:var(--t);border-color:var(--t);color:#fff}
/* RADIO/CHECK */
.rg,.cg{display:flex;flex-direction:column;gap:8px}
.rl,.cl{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--bd);cursor:pointer;font-size:.9rem;transition:all .15s;text-transform:none;font-weight:400;touch-action:manipulation;min-height:48px}
.rl input,.cl input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.radio-dot,.check-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--bd);background:var(--wh);flex-shrink:0;transition:all .15s;display:flex;align-items:center;justify-content:center}.check-dot{border-radius:6px}
.radio-dot::after{content:'';display:block;width:9px;height:9px;border-radius:50%;background:var(--wh);opacity:0;transition:all .15s}
.check-dot::after{content:'checkmark';font-size:12px;color:var(--wh);opacity:0;line-height:1;font-weight:700}
.rl.on,.cl.on{border-color:var(--t);background:var(--tp)}.rl.on .radio-dot,.cl.on .check-dot{border-color:var(--t);background:var(--t)}.rl.on .radio-dot::after{opacity:1}.cl.on .check-dot::after{opacity:1}
/* EVOL */
.ei{border-left:3px solid var(--tm);padding-left:13px;margin-bottom:14px}
.ed{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t);margin-bottom:3px}
.et{font-size:.88rem;line-height:1.55}.ep{font-size:.75rem;color:var(--sf);margin-top:3px}
/* STATS */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.stat{background:var(--wh);border:1px solid var(--bd);border-radius:14px;padding:15px 14px}
.sn{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--t);line-height:1;margin-bottom:3px}.sl{font-size:.75rem;color:var(--sf);font-weight:500}
/* HL */
.hl{background:linear-gradient(135deg,var(--t) 0%,var(--tl) 100%);border-radius:16px;padding:18px;color:#fff;margin-bottom:14px;cursor:pointer;touch-action:manipulation}
.hl h3{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:3px}.hl p{font-size:.82rem;opacity:.75}
/* SEARCH */
.srch{position:relative;margin-bottom:14px;width:100%;max-width:100%}
.srch svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--sf);width:18px;height:18px;pointer-events:none;z-index:1}
.srch input{width:100%;min-height:48px;padding:13px 14px 13px 42px!important;border-radius:12px;border:1.5px solid var(--bd);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--dk);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.srch input:focus{border-color:var(--t);box-shadow:0 0 0 3px rgba(10,124,110,.1)}
.grid2{display:grid;grid-template-columns:1fr;gap:12px}
/* MODAL */
.mo{position:fixed;inset:0;background:rgba(10,30,28,.6);z-index:200;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(4px)}.mo.on{display:flex}
.mb{background:var(--wh);border-radius:24px 24px 0 0;width:100%;max-width:100%;max-height:88vh;overflow-y:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;box-sizing:border-box}
.mh{width:40px;height:4px;background:var(--bd);border-radius:2px;margin:0 auto 18px}
.mt{font-family:'DM Serif Display',serif;font-size:1.3rem;margin-bottom:4px}.ms{font-size:.82rem;color:var(--sf);margin-bottom:18px}
.rec-del-modal{border-radius:28px;padding:0;max-width:610px;width:min(90vw,610px);max-height:none;overflow:hidden}
#mRecDelete{align-items:center;justify-content:center}
#mRecDelete .mt{font-family:'DM Sans',sans-serif;font-size:1.15rem;font-weight:500;margin:0;padding:22px 24px 18px;border-bottom:1px solid #ded9e6}
.rec-del-list{display:flex;flex-direction:column;margin:0}
.rec-del-opt{display:flex;align-items:flex-start;gap:14px;padding:16px 24px;border-bottom:1px solid #ded9e6;background:var(--wh);cursor:pointer;transition:background .15s}
.rec-del-opt:last-child{border-bottom:none}
.rec-del-opt input{width:19px;height:19px;margin-top:3px;accent-color:#6b73d6;flex-shrink:0}
.rec-del-opt span{display:block}
.rec-del-opt strong{display:block;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;color:#2a2730;line-height:1.25}
.rec-del-opt small{display:none}
.rec-del-opt.on{background:#f5f3fa}
.rec-del-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 18px 20px;border-top:1px solid #ded9e6}
.rec-del-cancel,.rec-del-confirm{background:transparent;color:#5468c8;padding:10px 14px;min-height:auto;width:auto;font-size:.98rem;font-weight:500;box-shadow:none}
.rec-del-cancel:active,.rec-del-confirm:active{background:#eef1fb;transform:none}
/* EMPTY */
.empty{text-align:center;padding:40px 16px;color:var(--sf)}.empty svg{width:46px;height:46px;margin-bottom:10px;opacity:.3}.empty p{font-size:.88rem}
/* TOAST */
#toast{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(16px);background:var(--dk);color:#fff;padding:10px 20px;border-radius:28px;font-size:.85rem;font-weight:500;z-index:400;opacity:0;transition:all .28s;white-space:nowrap;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
/* BACK */
.back{display:flex;align-items:center;gap:6px;color:var(--t);font-size:.9rem;font-weight:500;background:none;border:none;cursor:pointer;padding:0;margin-bottom:16px;font-family:'DM Sans',sans-serif;min-height:44px;touch-action:manipulation}.back svg{width:18px;height:18px}
/* LOADING */
#ov{position:fixed;inset:0;background:rgba(10,30,28,.85);z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.sp{width:46px;height:46px;border:3px solid rgba(255,255,255,.2);border-top-color:#0fa08e;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px}
@keyframes spin{to{transform:rotate(360deg)}}
#ov p{color:rgba(255,255,255,.7);font-size:.88rem}
/* EXPORT BTN */
.expbtn{display:flex;align-items:center;gap:13px;background:var(--gp);border:1px solid #e8d5a0;border-radius:14px;padding:15px;cursor:pointer;margin-bottom:12px;width:100%;text-align:left;font-family:'DM Sans',sans-serif;touch-action:manipulation;min-height:64px}
.expbtn svg{width:28px;height:28px;color:var(--go);flex-shrink:0}.expbtn h4{font-size:.92rem;font-weight:600;color:var(--dk)}.expbtn p{font-size:.78rem;color:var(--sf);margin-top:2px}
/* CONTROLE DE ATENDIMENTO - BAIXA EM LOTE */
.bulk-atend-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--tp);border:1px solid var(--bd);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.bulk-atend-info{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--sf);flex:1 1 100%}
.bulk-atend-info strong{color:var(--t);font-size:.86rem}
.bulk-atend-toolbar .btn{white-space:nowrap;flex-shrink:0}
.atend-select-cell{width:38px;text-align:center}
.atend-check{width:20px;height:20px;accent-color:var(--t);cursor:pointer}
.bulk-check-line{display:flex;align-items:flex-start;gap:9px;margin:4px 0 14px;font-size:.86rem;color:var(--dk);line-height:1.35}
.bulk-check-line input{width:18px;height:18px;accent-color:var(--t);flex-shrink:0;margin-top:1px}
.bulk-baixa-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;margin:0 0 14px;padding-right:2px}
.bulk-baixa-item{border:1px solid var(--bd);border-radius:10px;padding:9px 10px;background:var(--wh)}
.bulk-baixa-item.paid{background:#f8fbfa}
.bulk-baixa-item strong{display:block;font-size:.84rem;color:var(--dk);line-height:1.25}
.bulk-baixa-item span{display:block;font-size:.76rem;color:var(--sf);margin-top:2px;line-height:1.3}
.payment-scope-box{display:none;background:var(--tp);border:1px solid var(--bd);border-radius:12px;padding:10px 12px;margin:4px 0 12px}
.payment-scope-title{font-size:.76rem;font-weight:800;color:var(--t);text-transform:uppercase;letter-spacing:.45px;margin-bottom:6px}
.payment-scope-box label{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--dk);line-height:1.3;margin:7px 0;cursor:pointer}
.payment-scope-box input{width:17px;height:17px;accent-color:var(--t);flex-shrink:0}
.payment-scope-box small{display:block;color:var(--sf);font-size:.72rem;line-height:1.35;margin-top:6px}
/* TABS */
.tabs{display:flex;gap:0;background:var(--bg);border-radius:14px;padding:4px;margin-bottom:16px;border:1px solid var(--bd)}
.tab{flex:1;padding:9px 4px;border-radius:11px;border:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:600;color:var(--sf);cursor:pointer;transition:all .18s;touch-action:manipulation;text-align:center;white-space:nowrap}
.tab.on{background:var(--wh);color:var(--t);box-shadow:0 1px 6px rgba(10,124,110,.12)}
/* NOTIF BADGE */
.notif-badge{position:absolute;top:5px;right:4px;background:var(--re);color:#fff;border-radius:10px;font-size:.54rem;font-weight:800;padding:1px 5px;min-width:16px;text-align:center;line-height:1.5;display:none}
/* NOTIF BAR */
.notif-bar{background:#fff3cd;border:1px solid #ffc107;border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:.85rem;display:flex;align-items:center;gap:10px}
.notif-bar svg{flex-shrink:0;color:#856404;width:20px;height:20px}
/* AGENDA */
.ag-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;gap:6px}
.ag-nav button{background:var(--tp);border:none;border-radius:10px;padding:9px 14px;font-family:'DM Sans',sans-serif;font-weight:600;color:var(--t);cursor:pointer;touch-action:manipulation;font-size:.85rem;min-height:42px}
.cal-dia{padding:7px 2px;border-radius:8px;cursor:pointer;font-size:.8rem;font-family:'DM Sans',sans-serif;border:none;background:transparent;width:100%;transition:all .15s;touch-action:manipulation}
.cal-dia:hover{background:var(--tp);color:var(--t)}
.cal-dia.hoje{background:var(--tm);color:var(--t);font-weight:700}
.cal-dia.selecionado{background:var(--t);color:#fff;font-weight:700}
.cal-dia.outro-mes{color:var(--bd)}
.cal-dia.tem-evento{position:relative}.cal-dia.tem-evento::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--go)}
.cal-head{font-size:.7rem;font-weight:700;color:var(--sf);text-align:center;padding:4px 0;text-transform:uppercase}
/* Grade externa */
.agext-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--bd);border-radius:14px;background:var(--wh)}
.agext-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}
.agext-th-hora{width:56px;padding:10px 6px;text-align:center;font-size:.65rem;font-weight:700;color:var(--sf);background:var(--bg);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);position:sticky;left:0;top:0;z-index:4}
.agext-th-fisio{padding:10px 8px;text-align:center;font-weight:700;font-size:.78rem;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);min-width:128px;position:sticky;top:0;z-index:3}
.agext-fisio-nome{font-size:.82rem;font-weight:700;color:#fff}
.agext-fisio-crefito{font-size:.62rem;color:rgba(255,255,255,.7);margin-top:1px}
.agext-td-hora{padding:6px 4px;text-align:center;font-size:.7rem;font-weight:600;color:var(--sf);background:linear-gradient(180deg,var(--wh),#f6fbfa);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);position:sticky;left:0;z-index:2;white-space:nowrap}
.agext-td-slot{padding:3px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);vertical-align:top;min-height:72px;cursor:pointer;transition:background .12s;position:relative;background:var(--wh)}
.agext-td-slot:hover{background:var(--tp)}
.agext-card{border-radius:8px;padding:6px 8px;margin:1px 0;line-height:1.35;box-shadow:0 1px 0 rgba(26,46,44,.06)}
.agext-card-nome{font-size:.75rem;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agext-card-pac{font-size:.68rem;opacity:.8;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agext-card-tipo{font-size:.6rem;opacity:.6;display:block}
.agext-add{display:flex;align-items:center;justify-content:center;height:100%;min-height:48px;color:var(--bd);font-size:1.3rem;font-weight:300}
.ag-date-lbl{font-family:'DM Serif Display',serif;font-size:.95rem;color:var(--dk);text-align:center}
.ag-wrap{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin:0;padding-bottom:6px;border:1px solid var(--bd);border-radius:14px;background:var(--wh)}
.ag-grid{display:grid;width:max-content;min-width:100%;background:var(--wh)}
.ag-head-cell{padding:10px 4px;text-align:center;font-weight:700;font-size:.65rem;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);background:var(--wh);position:sticky;top:0;z-index:5;min-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-head-cell:first-child{min-width:48px;max-width:48px}
.ag-time-cell{padding:6px 4px;text-align:center;font-size:.7rem;color:var(--sf);font-weight:600;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);background:linear-gradient(180deg,var(--wh),#f6fbfa);position:sticky;left:0;z-index:4;min-width:56px}
.ag-slot-cell{min-height:72px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:3px;cursor:pointer;transition:background .12s;position:relative;background:var(--wh)}
.ag-slot-cell:hover{background:var(--tp)}
.ag-slot-card{border-radius:8px;padding:5px 7px;font-size:.7rem;line-height:1.35;margin:1px 0;box-shadow:0 1px 0 rgba(26,46,44,.06);position:relative}
.ag-slot-card strong{display:block;font-weight:700}
.ag-slot-card span{opacity:.75;font-size:.65rem}
.ag-slot-cont{opacity:.82;border-style:dashed!important}
.ag-add-icon{display:flex;align-items:center;justify-content:center;height:100%;min-height:60px;color:var(--bd);font-size:1.4rem;font-weight:300}
.ag-card-btns{display:none}
@media(hover:hover) and (pointer:fine){
  .ag-card-btns{display:flex;flex-wrap:wrap;gap:3px;position:absolute;bottom:4px;left:4px;right:4px;z-index:6;visibility:hidden;pointer-events:none;background:rgba(255,255,255,.95);border-radius:6px;padding:4px 5px;backdrop-filter:blur(2px);box-shadow:0 2px 8px rgba(0,0,0,.10)}
  .ag-slot-card:hover .ag-card-btns{visibility:visible;pointer-events:auto}
}
.ag-cbtn{font-size:.6rem;font-weight:600;border:1px solid rgba(0,0,0,.08);border-radius:5px;padding:3px 7px;cursor:pointer;line-height:1.2;white-space:nowrap;background:#f8f8f8;color:#333}
.ag-cbtn-edit{background:#e8f4f8;color:#1565c0;border-color:#c5dff0}
.ag-cbtn-ok{background:#d1fae5;color:#065f46;border-color:#a7f3d0}
.ag-cbtn-des{background:#fef3c7;color:#92400e;border-color:#fde68a}
.ag-cbtn-can{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.ag-cbtn-del{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}
.ag-cbtn-undo{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}
/* FINANCIAL TABLE */
.fin-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fin-tbl{width:100%;border-collapse:collapse;font-size:.76rem;min-width:920px}
.fin-tbl th{background:var(--dk);color:#fff;padding:8px 5px;text-align:center;font-weight:600;font-size:.68rem;white-space:nowrap}
.fin-tbl th:first-child{text-align:left;position:sticky;left:0;z-index:2}
.fin-tbl td{padding:7px 4px;border:1px solid var(--bd);text-align:center;vertical-align:middle;white-space:nowrap;cursor:default}
.fin-tbl td:first-child{text-align:left;position:sticky;left:0;background:var(--wh);z-index:1;font-weight:600;padding:7px 8px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.fin-tbl tr:hover td{background:#f0faf9!important}
.fin-tbl tr:hover td:first-child{background:#e8f5f3!important}
.fc-pago{background:#d4edda!important;cursor:pointer}.fc-atrasado{background:#f8d7da!important;cursor:pointer}.fc-vencendo{background:#fff3cd!important;cursor:pointer}.fc-pendente{background:var(--wh)!important;cursor:pointer}.fc-na{background:#f3f4f6!important;color:#6b7280;cursor:pointer;transition:box-shadow .15s,filter .15s}.fc-na:hover{filter:brightness(.97);box-shadow:inset 0 0 0 2px var(--t)}
/* ATEND TABLE */
.atend-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.atend-tbl{width:100%;border-collapse:collapse;font-size:.76rem;min-width:980px}
.atend-tbl th{background:var(--dk);color:#fff;padding:7px 5px;text-align:center;font-weight:600;font-size:.65rem;white-space:nowrap}
.atend-tbl td{padding:5px 4px;border:1px solid var(--bd);text-align:center;font-size:.72rem;vertical-align:middle}
.atend-tbl td:first-child{font-weight:700;background:var(--tp);color:var(--t);width:32px}
.atend-tbl tr.empty td{color:#c5d3d1}
/* DASHBOARD */
.dash-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.dash-card{border-radius:16px;padding:16px 14px;border:1px solid rgba(0,0,0,.06)}
.dash-card.green{background:linear-gradient(135deg,#d4edda,#b8dfc6)}.dash-card.red{background:linear-gradient(135deg,#f8d7da,#f1b8bc)}.dash-card.blue{background:linear-gradient(135deg,var(--bp),#c3e4f6)}.dash-card.gold{background:linear-gradient(135deg,var(--gp),#f8e0a0)}
.dc-val{font-family:'DM Serif Display',serif;font-size:1.4rem;font-weight:400;margin-bottom:2px;line-height:1.2}
.dc-lbl{font-size:.68rem;font-weight:700;opacity:.65;text-transform:uppercase;letter-spacing:.5px}
.chart-wrap{background:var(--wh);border-radius:16px;border:1px solid var(--bd);padding:16px;margin-bottom:12px}
.chart-title{font-family:'DM Serif Display',serif;font-size:.95rem;margin-bottom:12px}
.dash-chart-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
.chart-compact{padding:12px 14px;border-radius:14px}
.chart-compact .chart-title{font-size:.88rem;margin-bottom:8px}
.chart-canvas{width:100%!important;height:170px!important;max-height:170px}
.chart-donut-card .chart-canvas{height:150px!important;max-height:150px}
.inad-person-title{display:flex;align-items:center;gap:7px;min-width:0}
.inad-person-toggle{width:26px;height:26px;border:1px solid var(--bd);border-radius:8px;background:var(--tp);color:var(--t);font-size:.7rem;font-weight:800;cursor:pointer;flex:0 0 auto}
.inad-person-debts{margin-top:7px;padding-top:7px;border-top:1px dashed var(--bd)}
.inad-source{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin-top:4px;font-size:.7rem;color:var(--sf)}
.inad-source span{background:var(--rp);color:var(--re);border-radius:999px;padding:2px 7px;font-weight:800;font-size:.64rem;white-space:nowrap}
.inad-source strong{color:var(--dk);font-size:.7rem;white-space:nowrap}
.inad-source em{font-style:normal;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* COMMISSION TABLE */
.com-tbl{width:100%;border-collapse:collapse;font-size:.78rem}
.com-tbl th{background:var(--dk);color:#fff;padding:8px 7px;text-align:left;font-weight:600;font-size:.7rem}
.com-tbl td{padding:9px 7px;border-bottom:1px solid var(--bd)}.com-tbl tr:last-child td{border-bottom:none}
.com-break-row td{background:#fbfefd;padding:0 7px 10px}
.com-breakdown{border:1px solid var(--bd);border-radius:10px;background:var(--wh);padding:10px;max-height:360px;overflow:auto}
.com-break-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--bd);font-size:.78rem}
.com-break-head span{color:var(--sf);font-size:.72rem;text-align:right}
.com-break-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;flex-wrap:wrap}
.com-break-search{flex:1;min-width:220px}
.com-break-search input{min-height:38px;font-size:.82rem}
.com-break-count{font-size:.72rem;color:var(--sf);font-weight:700;text-align:right}
.com-break-empty-filter{padding:12px 4px;color:var(--sf);font-size:.78rem;text-align:center}
.com-break-item{padding:8px 0;border-bottom:1px solid var(--bd)}
.com-break-item:last-child{border-bottom:none}
.com-break-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.com-break-main strong{display:block;color:var(--dk);font-size:.82rem}
.com-break-main span,.com-break-meta{font-size:.7rem;color:var(--sf)}
.com-break-values{text-align:right;white-space:nowrap}.com-break-values b{display:block;color:var(--t);font-size:.82rem}.com-break-values small{display:block;color:var(--sf);font-size:.68rem}
.com-break-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.com-pending-card{border-color:#f4d38b;background:#fffdf7;margin-bottom:14px}
.com-pending-list{display:grid;gap:8px}
.com-pending-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid #f1dfb5;border-radius:10px;background:#fff;padding:10px 11px}
.com-pending-item strong{display:block;color:var(--dk);font-size:.86rem}.com-pending-item span,.com-pending-item small{display:block;color:var(--sf);font-size:.72rem;line-height:1.35;margin-top:2px}
.com-pending-values{text-align:right;white-space:nowrap}.com-pending-values b{display:block;color:var(--t);font-size:.86rem}.com-pending-values small{display:block;color:var(--sf);font-size:.68rem}
.cbpago{background:#d4edda;color:#155724;padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:700}
.cbpend{background:var(--gp);color:#856404;padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:700}
/* ── RESPONSIVIDADE GLOBAL ── */
html,body{overflow-x:hidden;width:100%}
#app{overflow-x:hidden;width:100%}

/* MODAL — garante que nunca estoure na horizontal */
.mb{width:100%;max-width:100vw;box-sizing:border-box}
.mb .f input,.mb .f select,.mb .f textarea{max-width:100%;box-sizing:border-box}

/* TABELA ATENDIMENTO — scroll horizontal isolado */
.atend-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}
.atend-tbl{min-width:680px}

/* TABELA FINANCEIRO — scroll horizontal isolado */
.fin-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}

/* TABELA COMISSÕES — scroll horizontal */
.com-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}
.com-tbl{min-width:560px}

/* AGENDA — scroll horizontal controlado */
.ag-grid{min-width:100%}

/* CARDS FINANCEIROS — força wrap dos itens de vencimento */
.venc-list{display:flex;flex-wrap:wrap;gap:7px;width:100%}

/* GRIDS inline com gap não estouram */
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}

/* TOPBAR — evita overflow em telas pequenas */
#topbar{padding:0 10px;min-width:0;overflow:hidden}
.brand{font-size:1.1rem;white-space:nowrap}
.tr{flex-shrink:0;gap:4px}
.tb span{max-width:60px}
.tc{max-width:90px}
#btnRefreshData{padding:8px 10px}
@media(max-width:420px){#btnRefreshData{font-size:.72rem;padding:8px 9px}.tb span{display:none}}

/* NAV — texto menor em telas muito pequenas */
@media(max-width:360px){
  .ni span{font-size:.52rem;letter-spacing:0}
  .ni{min-width:46px}
  #main{padding:10px;padding-bottom:86px}
  #btnAgDataLabel{order:3;width:100%}
}

/* MODAL — centralizado em desktop, bottom-sheet em mobile */
@media(min-width:680px){
  #main{padding:20px 24px;padding-bottom:86px;max-width:1180px}
  .stats,.dash-cards{grid-template-columns:repeat(4,1fr)}
  .dash-chart-grid{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}
  .chart-canvas{height:180px!important;max-height:180px}
  .chart-donut-card .chart-canvas{height:180px!important;max-height:180px}
  .mo{align-items:center;justify-content:center}
  .mb{border-radius:20px;max-width:760px;width:min(96vw,760px);max-height:85vh;padding:24px;margin:0}
  #mAtend .mb{width:min(96vw,820px);max-width:820px}
  .grid2{grid-template-columns:1fr 1fr}
  .atend-tbl{min-width:980px}
  .ag-grid{min-width:100%}
}
@media(min-width:1100px){
  #main{max-width:1380px}
  .agext-wrap{overflow-x:hidden}
  .agext-table{width:100%;min-width:100%;table-layout:fixed}
  .agext-th-fisio{min-width:0;font-size:.74rem;padding:10px 6px}
  .agext-th-hora,.agext-td-hora{width:64px}
  .agext-td-slot{min-height:88px}
  .agext-card{padding:8px 8px}
  .agext-card-pac,.agext-card-tipo{white-space:normal;overflow:visible;text-overflow:clip}
  .ag-wrap{overflow-x:hidden}
  .ag-grid{width:100%!important;min-width:100%!important}
  .ag-head-cell{min-width:0;font-size:.66rem;white-space:normal;overflow:visible;text-overflow:clip}
  .ag-slot-cell{min-height:82px}
  .ag-slot-card{font-size:.74rem}
  .ag-slot-card span{font-size:.67rem}
  .fin-wrap,.atend-wrap{overflow-x:auto}
  .fin-tbl{min-width:100%}
  .atend-tbl{min-width:100%}
  .inad-source{grid-template-columns:1fr auto}
  .inad-source em{grid-column:1/-1;white-space:normal;overflow:visible}
}

/* MODAL mobile — altura máxima com scroll */
@media(max-width:679px){
  .mb{max-height:88vh;border-radius:20px 20px 0 0}
  /* grids de 2 colunas viram 1 coluna em telas muito pequenas */
}
@media(max-width:420px){
  .grid-2col{grid-template-columns:1fr}
}

/* TABS financeiro — scroll horizontal se não couber */
.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px}
.tab{min-width:fit-content;white-space:nowrap;flex-shrink:0}

/* CARDS de vencimento fisio — wrap correto */
.card .venc-cards{display:flex;flex-wrap:wrap;gap:7px;width:100%}
.venc-card{min-width:80px;flex:0 0 auto}

/* Previne qualquer elemento filho estourer o pai */
.card,.fsec{overflow:hidden;word-break:break-word}
.lname,.ldet{word-break:break-word}

/* DETAIL MODALS */
.detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.detail-kpi{background:var(--tp);border:1px solid var(--tm);border-radius:12px;padding:9px 10px;min-height:84px}
.detail-kpi strong{display:block;font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--t);line-height:1.05}
.detail-kpi span{display:block;font-size:.66rem;color:var(--sf);font-weight:700;text-transform:uppercase;letter-spacing:.35px;margin-top:4px}
.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 10px;flex-wrap:wrap}
.detail-search{flex:1;min-width:210px}
.detail-count{font-size:.74rem;color:var(--sf);font-weight:700}
.detail-list{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow:auto;-webkit-overflow-scrolling:touch}
.detail-row{border:1px solid var(--bd);border-radius:12px;padding:10px 11px;background:var(--wh);cursor:pointer}
.detail-row-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.detail-row-title{font-weight:700;font-size:.88rem;color:var(--dk);line-height:1.25}
.detail-row-value{font-weight:800;color:var(--t);white-space:nowrap;font-size:.95rem}
.detail-row-meta{font-size:.73rem;color:var(--sf);line-height:1.45;margin-top:4px}
.detail-origin{display:inline-flex;border-radius:999px;padding:2px 8px;background:var(--tp);color:var(--t);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-right:4px}
.data-health-card{border-color:#d7e7e4}
.health-group{border-top:1px solid var(--bd);padding:10px 0}
.health-group:first-child{border-top:none;padding-top:0}
.health-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:10px;padding:8px 10px;margin-bottom:8px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.health-title.warn{background:#fff7ed;color:#92400e}
.health-title.danger{background:#fee2e2;color:#991b1b}
.health-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 4px;border-bottom:1px solid rgba(207,231,228,.65)}
.health-item:last-child{border-bottom:none}
.health-label{font-weight:800;font-size:.86rem;color:var(--dk);line-height:1.25}
.health-meta{font-size:.72rem;color:var(--sf);line-height:1.4;margin-top:2px}
.health-more{font-size:.72rem;color:var(--sf);padding:8px 4px}
@media(max-width:520px){.health-item{grid-template-columns:1fr}.health-item .btn{justify-self:flex-start}.data-health-card .ch{align-items:flex-start;gap:8px}}
@media(max-width:520px){.detail-summary{grid-template-columns:1fr;gap:7px}.detail-kpi{min-height:72px;padding:8px 10px}.detail-kpi strong{font-size:.95rem}.detail-toolbar{gap:8px;margin-bottom:8px}.detail-search{min-width:100%}.detail-count{font-size:.72rem}.detail-list{max-height:50vh}.detail-row-head{flex-direction:column;gap:6px}.detail-row-value{white-space:normal;font-size:.92rem}.com-break-tools{align-items:stretch}.com-break-search{min-width:100%}.com-break-count{text-align:left}}


/* ── ESTOQUE ── */
.est-head{display:none}
.est-row{display:grid;grid-template-columns:1fr;gap:6px;padding:12px 14px;border-bottom:1px solid var(--bd)}
.est-row:last-child{border-bottom:none}
.est-c{display:flex;align-items:center;gap:6px;font-size:.82rem;min-width:0}
.est-c::before{content:attr(data-lbl) ": ";color:var(--sf);font-size:.7rem;font-weight:600;flex-shrink:0}
.est-nome{flex-direction:column;align-items:flex-start;gap:1px}
.est-nome::before{display:none}
.est-nome strong{font-size:.92rem;line-height:1.25}
.est-nome span{font-size:.72rem;color:var(--sf)}
.est-acoes{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.est-acoes::before{display:none}
.est-acoes .btn{flex:1;min-width:76px;font-size:.74rem;padding:7px 8px;min-height:34px}
.est-repor{display:flex;flex-direction:column;gap:8px}
.est-repor-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:var(--wh);border:1px solid var(--bd);border-radius:10px}
.est-repor-item strong{display:block;font-size:.86rem}
.est-repor-item span{font-size:.72rem;color:var(--sf)}
.est-repor-num{text-align:right;white-space:nowrap}
.est-repor-num b{font-size:1.15rem}
.est-repor-num small{display:block;font-size:.68rem;color:var(--sf)}
.est-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bg);border-radius:10px;padding:9px 12px;margin:-4px 0 13px;font-size:.82rem}
.est-preview.erro{background:#fee2e2;color:#991b1b;font-weight:600}
.est-hist-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd)}
.est-hist-item:last-child{border-bottom:none}
.est-hist-item strong{display:block;font-size:.86rem}
.est-hist-item span{display:block;font-size:.72rem;color:var(--sf)}
.est-hist-item small{display:block;font-size:.7rem;color:var(--sf);margin-top:1px}
.est-hist-num{white-space:nowrap;font-size:.8rem;color:var(--sf)}
.est-cat-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--bd)}
.est-cat-item:last-child{border-bottom:none}
.est-cat-item strong{display:block;font-size:.88rem}
.est-cat-item span{font-size:.72rem;color:var(--sf)}
@media(min-width:860px){
  .est-head,.est-row{display:grid;grid-template-columns:2fr 1fr .8fr 1.2fr 1fr 1.9fr;gap:10px;align-items:center}
  .est-head{padding:10px 14px;background:var(--dk);color:#fff;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
  .est-c::before{display:none}
  .est-acoes{margin-top:0;flex-wrap:nowrap}
  .est-acoes .btn{flex:0 0 auto;min-width:0}
}

/* ── ESTOQUE: atalho de entrada/saída ── */
.est-rapido{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.est-acao-rapida{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:14px;border:2px solid;background:var(--wh);cursor:pointer;font-family:'DM Sans',sans-serif;text-align:left;transition:transform .12s}
.est-acao-rapida:active{transform:scale(.985)}
.est-acao-rapida b{display:block;font-size:1.02rem;line-height:1.2}
.est-acao-rapida small{display:block;font-size:.76rem;opacity:.75;margin-top:2px}
.est-acao-icone{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;font-size:1.7rem;font-weight:700;line-height:1}
.est-acao-rapida.entrada{border-color:#b7dfc2;color:#155724}
.est-acao-rapida.entrada .est-acao-icone{background:#d4edda;color:#155724}
.est-acao-rapida.saida{border-color:#ffe08a;color:#8a6100}
.est-acao-rapida.saida .est-acao-icone{background:#fff3cd;color:#8a6100}
@media(min-width:700px){.est-rapido{grid-template-columns:1fr 1fr}}

/* ── ESTOQUE: ação principal da linha ── */
/* A recepção dá saída todo dia e entrada uma vez por mês. Os quatro botões
   com o mesmo peso faziam ela procurar; agora o do dia a dia salta aos olhos. */
.est-principal{flex:1 1 100%;min-height:46px;padding:11px 14px;border-radius:11px;border:2px solid;
  font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;letter-spacing:.2px}
.est-principal.saida{background:#fff3cd;border-color:#e8c65a;color:#7a5500}
.est-principal.saida:active{background:#ffe9a8}
.est-principal.contar{background:#e6f5f3;border-color:#7ec8bc;color:#0a6d61}
.est-principal.contar:active{background:#cfeae5}
.est-sec{flex:1 1 auto;min-height:38px;padding:8px 12px;border-radius:9px;border:1.5px solid var(--bd);
  background:var(--wh);color:var(--md);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer}
.est-sec:active{background:var(--tp);color:var(--t)}
.est-ico{flex:0 0 auto;width:38px;min-height:38px;border-radius:9px;border:1.5px solid var(--bd);
  background:var(--wh);font-size:.95rem;cursor:pointer;line-height:1}
.est-ico:active{background:var(--bd)}
@media(min-width:860px){
  .est-principal{flex:1 1 auto;min-width:150px;font-size:.84rem;min-height:40px;padding:8px 12px}
  .est-sec{flex:0 0 auto;min-width:96px}
}

/* ── ESTOQUE: largura da coluna de ações ── */
/* 1.9fr não encolhe abaixo do conteúdo: os botões estouravam a grade e o
   overflow:hidden do card cortava o último. As colunas de texto passam a poder
   encolher (minmax(0,...)) e as ações ganham o espaço que realmente precisam. */
@media(min-width:860px){
  .est-head,.est-row{
    grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr) minmax(330px,auto);
  }
  .est-nome strong,.est-nome span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .est-principal{min-width:128px}
  .est-sec{min-width:88px}
}
@media(min-width:1200px){
  .est-head,.est-row{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr) minmax(360px,auto)}
}
