:root{--bg:#080d0b;--bg2:#0c1410;--bg3:#101a15;--surf:#141f1a;--surf2:#1a2920;--surf3:#1e3028;--bord:rgba(0,230,118,.07);--bord2:rgba(0,230,118,.14);--bord3:rgba(0,230,118,.28);--green:#00E676;--green2:#1D9E75;--green3:#0F6E56;--ga:rgba(0,230,118,.09);--coral:#FF6B47;--ca:rgba(255,107,71,.12);--amber:#FFA726;--aa:rgba(255,167,38,.12);--blue:#42A5F5;--ba:rgba(66,165,245,.12);--purple:#A78BFA;--pa:rgba(167,139,250,.12);--text:#C8DDD5;--muted:#7A9E8C;--hint:#3D5E4E;--font:'Barlow',sans-serif;--mono:'JetBrains Mono',monospace;--cond:'Barlow Condensed',sans-serif;--r:8px;--r2:12px;--r3:20px;}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}
#sc-login{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:999}
.lw{width:360px}
.lb{text-align:center;margin-bottom:2rem}
.lb-name{font-family:var(--cond);font-size:52px;font-weight:700;color:var(--green);letter-spacing:.14em;line-height:1;text-shadow:0 0 50px rgba(0,230,118,.25)}
.lb-sub{font-size:11px;color:var(--hint);text-transform:uppercase;letter-spacing:.2em;margin-top:7px}
.lring{width:72px;height:72px;margin:0 auto 16px;display:block}
.lcard{background:var(--surf);border:0.5px solid var(--bord2);border-radius:var(--r3);padding:2rem}
.lcard label{display:block;font-family:var(--cond);font-size:10px;font-weight:600;color:var(--hint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.lcard input{width:100%;padding:10px 13px;background:var(--bg2);border:0.5px solid var(--bord);border-radius:var(--r);color:var(--text);font-family:var(--font);font-size:14px;margin-bottom:14px;transition:border-color .2s}
.lcard input:focus{outline:none;border-color:var(--bord3)}
.lcard input::placeholder{color:var(--hint)}
.btn-login{width:100%;padding:12px;background:var(--green2);border:none;border-radius:var(--r);color:#fff;font-family:var(--cond);font-size:15px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .2s}
.btn-login:hover{background:var(--green);color:#000}
.lerr{font-size:12px;color:var(--coral);text-align:center;margin-top:10px;min-height:16px}
.lreset{text-align:center;margin-top:10px;font-size:11px;color:var(--hint);cursor:pointer;text-decoration:underline}
.lreset:hover{color:var(--muted)}
#sc-app{display:none;height:100vh;flex-direction:column}
#sc-app.on{display:flex}
.topbar{height:46px;background:var(--bg2);border-bottom:0.5px solid var(--bord);display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0;z-index:50}
.tb-logo{font-family:var(--cond);font-size:20px;font-weight:700;color:var(--green);letter-spacing:.14em;display:flex;align-items:center;gap:10px}
.tb-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.tb-r{display:flex;align-items:center;gap:12px}
.tb-role{font-size:10px;font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:20px}
.tb-role.adm{background:var(--aa);color:var(--amber)}
.tb-role.usr{background:var(--ga);color:var(--green2)}
.tb-user{font-size:12px;color:var(--muted)}
.tb-user b{color:var(--text);font-weight:500}
.tb-sync{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--hint)}
.sdot{width:5px;height:5px;border-radius:50%;background:var(--green)}
.sdot.off{background:var(--coral)}
.tb-btn{background:transparent;border:0.5px solid var(--bord2);border-radius:var(--r);color:var(--hint);font-size:12px;padding:5px 12px;cursor:pointer;font-family:var(--font);transition:all .15s}
.tb-btn:hover{border-color:var(--bord3);color:var(--text)}
.body{flex:1;display:flex;overflow:hidden}
.sb{width:220px;background:var(--bg2);border-right:0.5px solid var(--bord);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}
.sb-sec{padding:12px 12px 5px;font-family:var(--cond);font-size:10px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.1em}
.sb-srch{padding:0 8px 7px}
.sb-srch input{width:100%;padding:6px 9px;background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r);color:var(--text);font-size:12px;font-family:var(--font)}
.sb-srch input::placeholder{color:var(--hint)}
.sb-srch input:focus{outline:none;border-color:var(--bord3)}
.sb-filter{padding:0 8px 8px;display:flex;flex-wrap:wrap;gap:4px}
.filt{padding:3px 8px;border-radius:20px;font-family:var(--cond);font-size:10px;font-weight:600;letter-spacing:.05em;cursor:pointer;border:0.5px solid var(--bord);background:transparent;color:var(--hint);transition:all .15s;text-transform:uppercase}
.filt:hover{border-color:var(--bord2);color:var(--muted)}
.filt.on{background:var(--ga);border-color:var(--bord3);color:var(--green)}
.filt[data-acid="HNO₃"].on{background:var(--ba);border-color:rgba(66,165,245,.3);color:var(--blue)}
.filt[data-acid="H₂SO₄"].on{background:var(--aa);border-color:rgba(255,167,38,.3);color:var(--amber)}
.filt[data-acid="HCl"].on{background:var(--ca);border-color:rgba(255,107,71,.3);color:var(--coral)}
.filt[data-acid="Misto"].on{background:var(--pa);border-color:rgba(167,139,250,.3);color:var(--purple)}
.sb-cnt{padding:3px 12px 6px;font-size:10px;color:var(--hint);font-family:var(--mono)}
.sb-list{flex:1;overflow-y:auto;padding:0 7px}
.sb-list::-webkit-scrollbar{width:2px}
.sb-list::-webkit-scrollbar-thumb{background:var(--surf3);border-radius:2px}
.ti{padding:8px 9px;border-radius:var(--r);cursor:pointer;margin-bottom:2px;border:0.5px solid transparent;transition:all .15s}
.ti:hover{background:var(--surf)}
.ti.on{background:var(--surf);border-color:var(--bord3)}
.ti-top{display:flex;align-items:center;gap:5px;margin-bottom:2px}
.ti-id{font-family:var(--mono);font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}
.ti-id.dat{background:var(--ba);color:var(--blue)}
.ti-id.sst{background:var(--pa);color:var(--purple)}
.ti-acid{font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;font-family:var(--cond)}
.ti-acid.hno3{background:var(--ba);color:var(--blue)}
.ti-acid.h2so4{background:var(--aa);color:var(--amber)}
.ti-acid.hcl{background:var(--ca);color:var(--coral)}
.ti-acid.misto{background:var(--pa);color:var(--purple)}
.ti-meta{font-family:var(--mono);font-size:10px;color:var(--hint);margin-top:1px}
.ti-ree{font-family:var(--mono);font-size:11px;color:var(--green2);margin-top:2px;font-weight:500}
.ti.on .ti-id{opacity:1}
.sb-bot{padding:8px;border-top:0.5px solid var(--bord);display:flex;flex-direction:column;gap:5px}
.btn-new{width:100%;padding:9px;background:var(--green2);border:none;border-radius:var(--r);color:#fff;font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .2s}
.btn-new:hover{background:var(--green);color:#000}
.btn-link{width:100%;padding:6px;background:transparent;border:0.5px solid var(--bord2);border-radius:var(--r);color:var(--hint);font-size:12px;cursor:pointer;font-family:var(--font);transition:all .15s;text-align:center}
.btn-link:hover{color:var(--muted);border-color:var(--bord3)}
.main{flex:1;overflow-y:auto;background:var(--bg3)}
.main::-webkit-scrollbar{width:3px}
.main::-webkit-scrollbar-thumb{background:var(--surf3);border-radius:3px}
.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--hint)}
.empty h2{font-size:16px;font-weight:400;color:var(--muted)}
.empty p{font-size:12px;text-align:center;max-width:280px;line-height:1.6}
.detail{padding:18px;animation:fu .25s ease}
.dh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;gap:10px}
.dh-left{display:flex;align-items:flex-start;gap:12px}
.did{font-family:var(--mono);font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--r);margin-top:3px;flex-shrink:0}
.did.dat{background:var(--ba);color:var(--blue);border:0.5px solid rgba(66,165,245,.25)}
.did.sst{background:var(--pa);color:var(--purple);border:0.5px solid rgba(167,139,250,.25)}
.dt{font-family:var(--cond);font-size:26px;font-weight:700;color:var(--text);letter-spacing:.02em;line-height:1}
.dm{font-family:var(--mono);font-size:10px;color:var(--hint);margin-top:5px;display:flex;gap:10px;flex-wrap:wrap}
.dact{display:flex;gap:7px;flex-shrink:0;flex-wrap:wrap;align-items:center}
.btn-a{padding:6px 13px;border-radius:var(--r);font-size:12px;cursor:pointer;font-family:var(--font);transition:all .15s;border:0.5px solid var(--bord2);background:transparent;color:var(--muted)}
.btn-a:hover{border-color:var(--bord3);color:var(--text)}
.btn-a-del:hover{background:var(--ca);border-color:var(--coral);color:var(--coral)}
.gauge-row{display:grid;grid-template-columns:190px 1fr;gap:12px;margin-bottom:12px}
.gmain{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.1rem;display:flex;flex-direction:column;align-items:center}
.gmain-t{font-family:var(--cond);font-size:9px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.g-center{position:relative;display:inline-block}
.g-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.g-val{font-family:var(--mono);font-size:30px;font-weight:600;color:var(--green);line-height:1}
.g-pct{font-family:var(--cond);font-size:11px;color:var(--hint);letter-spacing:.06em}
.gmini-wrap{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.1rem}
.gmini-t{font-family:var(--cond);font-size:9px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.gmini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px}
.gitem{display:flex;flex-direction:column;align-items:center;gap:4px}
.gitem-svg{position:relative;display:inline-block}
.gitem-lbl{font-size:10px;color:var(--muted);text-align:center}
.mstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;width:100%}
.mc{background:var(--bg2);border-radius:var(--r);padding:9px 10px;text-align:center;border:0.5px solid var(--bord)}
.mc-l{font-family:var(--cond);font-size:9px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.mc-v{font-family:var(--mono);font-size:16px;font-weight:500}
.dg{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:start}
.card{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.1rem}
.ct{font-family:var(--cond);font-size:9px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;padding-bottom:7px;border-bottom:0.5px solid var(--bord);display:flex;align-items:center;gap:5px}
.ct::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--green);display:inline-block}
.cr{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:0.5px solid var(--bord)}
.cr:last-child{border-bottom:none}
.cl{font-size:12px;color:var(--muted)}
.cv{font-family:var(--mono);font-size:12px;color:var(--text);font-weight:500}
.cv-hi{color:var(--green)}
.cobs{font-size:11px;color:var(--hint);font-style:italic;padding:7px 0;line-height:1.5}
.el-s-t{font-family:var(--cond);font-size:9px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.1em;margin:10px 0 7px;padding-bottom:3px;border-bottom:0.5px solid var(--bord)}
.er{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.esym{font-family:var(--mono);font-size:12px;font-weight:600;width:26px}
.ename{font-size:11px;color:var(--hint);width:64px}
.ebg{flex:1;background:var(--bg2);border-radius:3px;height:8px;overflow:hidden}
.efill{height:8px;border-radius:3px;transition:width .7s cubic-bezier(.4,0,.2,1)}
.epct{font-family:var(--mono);font-size:11px;font-weight:500;min-width:38px;text-align:right}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:8px}
.media-item{position:relative;border-radius:var(--r);overflow:hidden;border:0.5px solid var(--bord);background:var(--bg2);aspect-ratio:16/10}
.media-item img,.media-item video{width:100%;height:100%;object-fit:cover}
.media-item-lbl{position:absolute;bottom:0;left:0;right:0;padding:3px 7px;background:rgba(0,0,0,.6);font-size:10px;color:var(--text);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-toggle{background:transparent;border:0.5px solid var(--bord);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s;font-size:7px;color:var(--hint);padding:0;margin-left:auto}
.op-toggle:hover{border-color:var(--coral);color:var(--coral)}
.op-toggle.live{border-color:var(--coral);background:rgba(255,107,71,.15);color:var(--coral);animation:livepulse 1.5s ease-in-out infinite}
@keyframes livepulse{0%,100%{box-shadow:0 0 0 0 rgba(255,107,71,.4)}50%{box-shadow:0 0 0 4px rgba(255,107,71,0)}}
.live-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--cond);font-size:10px;font-weight:700;color:var(--coral);text-transform:uppercase;letter-spacing:.08em;background:rgba(255,107,71,.1);border:0.5px solid rgba(255,107,71,.3);border-radius:20px;padding:2px 9px}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--coral);animation:livepulse 1.5s ease-in-out infinite}
.op-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--hint);padding:3rem;text-align:center}
.op-empty-icon{font-size:40px;opacity:.3}
.op-empty h2{font-size:16px;font-weight:400;color:var(--muted)}
.op-card{background:var(--surf);border:0.5px solid rgba(255,107,71,.25);border-radius:var(--r2);padding:1rem 1.25rem;cursor:pointer;transition:all .15s}
.op-card:hover{border-color:rgba(255,107,71,.5);transform:translateY(-1px)}
.op-card-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.op-card-id{font-family:var(--mono);font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px}
.op-card-name{font-family:var(--cond);font-size:15px;font-weight:700;margin-bottom:2px}
.op-card-meta{font-family:var(--mono);font-size:10px;color:var(--hint);margin-bottom:10px}
.op-card-row{display:flex;align-items:center;gap:10px}
.op-card-stats{flex:1}
.op-card-stat{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px}
.ov{padding:18px;animation:fu .25s ease}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:12px}
.oc{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1rem;cursor:pointer;transition:all .15s}
.oc:hover{border-color:var(--bord3);transform:translateY(-1px)}
.oc-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.oc-id{font-family:var(--mono);font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px}
.oc-meta{font-family:var(--mono);font-size:10px;color:var(--hint);margin-bottom:10px}
.oc-row{display:flex;align-items:center;gap:10px}
.oc-stats{flex:1}
.oc-stat{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px}
.oc-sl{color:var(--hint)}
.oc-sv{font-family:var(--mono);font-weight:500}
.data-wrap{padding:20px;animation:fu .25s ease}
.data-slot{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.5rem;margin-bottom:14px}
.data-slot-hd{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.data-slot-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--cond);font-size:13px;font-weight:700;flex-shrink:0}
.data-slot-num.in{background:var(--ba);color:var(--blue)}
.data-slot-num.out{background:var(--ga);color:var(--green2)}
.data-slot-title{font-family:var(--cond);font-size:15px;font-weight:700;letter-spacing:.03em}
.data-slot-sub{font-size:12px;color:var(--muted);margin-bottom:16px;line-height:1.5}
.data-drop{border:1.5px dashed var(--bord2);border-radius:var(--r2);padding:2rem;text-align:center;cursor:pointer;transition:all .2s}
.data-drop:hover,.data-drop.drag{border-color:var(--bord3);background:var(--ga)}
.data-drop-icon{font-size:32px;margin-bottom:8px}
.data-drop-t{font-size:13px;color:var(--text);margin-bottom:4px;font-weight:500}
.data-drop-s{font-size:12px;color:var(--hint)}
.data-status{font-size:12px;color:var(--green2);font-family:var(--mono);margin-top:10px;min-height:20px}
.data-coming{background:var(--aa);border:0.5px solid rgba(255,167,38,.3);border-radius:var(--r);padding:12px 14px;font-size:12px;color:#c28a30;line-height:1.6;margin-top:14px}
.btn-data-dl{padding:9px 20px;background:var(--green3);border:none;border-radius:var(--r);color:#fff;font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .2s}
.btn-data-dl:hover{background:var(--green2)}
.btn-data-dl:disabled{opacity:.4;cursor:not-allowed}

.mbg{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:500;display:none;align-items:flex-start;justify-content:center;padding:28px 14px 50px;overflow-y:auto}
.mbg.on{display:flex}
.modal{background:var(--surf);border:0.5px solid var(--bord2);border-radius:var(--r3);width:100%;max-width:680px;animation:fu .25s ease}
.modal-sm{max-width:440px}
.mh{padding:18px 22px 0;display:flex;justify-content:space-between;align-items:center}
.mh h2{font-family:var(--cond);font-size:18px;font-weight:700;letter-spacing:.03em}
.btn-x{background:transparent;border:none;font-size:22px;color:var(--hint);cursor:pointer;line-height:1}
.btn-x:hover{color:var(--text)}
.mb{padding:18px 22px}
.fs{font-family:var(--cond);font-size:10px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.1em;margin:15px 0 9px;padding-bottom:4px;border-bottom:0.5px solid var(--bord)}
.fs:first-child{margin-top:0}
.fg{display:grid;gap:0 13px}
.fg2{grid-template-columns:1fr 1fr}
.fg3{grid-template-columns:1fr 1fr 1fr}
.fg4{grid-template-columns:1fr 1fr 1fr 1fr}
.fld{margin-bottom:11px}
.fld label{display:block;font-family:var(--cond);font-size:10px;font-weight:600;color:var(--hint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;padding:7px 10px;background:var(--bg2);border:0.5px solid var(--bord);border-radius:var(--r);color:var(--text);font-family:var(--font);font-size:13px;transition:border-color .15s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--bord3)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--hint)}
.fld select option{background:var(--surf2)}
.fld textarea{resize:vertical;min-height:52px;line-height:1.5}
.eigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:7px}
.eiitem{background:var(--bg2);border:0.5px solid var(--bord);border-radius:var(--r);padding:6px 9px;display:flex;align-items:center;gap:5px}
.eisym{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--green2);width:22px}
.einame{font-size:10px;color:var(--hint);flex:1}
.eival{width:48px;padding:3px 5px;background:var(--surf);border:0.5px solid var(--bord);border-radius:5px;font-family:var(--mono);font-size:12px;text-align:right;color:var(--text)}
.eival:focus{outline:none;border-color:var(--bord3)}
.pct{font-size:10px;color:var(--hint)}
.mf{padding:0 22px 18px;display:flex;gap:9px;justify-content:flex-end}
.btn-cancel{padding:8px 18px;background:transparent;border:0.5px solid var(--bord2);border-radius:var(--r);color:var(--muted);font-size:13px;cursor:pointer;font-family:var(--font)}
.btn-cancel:hover{border-color:var(--bord3);color:var(--text)}
.btn-save{padding:9px 22px;background:var(--green2);border:none;border-radius:var(--r);color:#fff;font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .2s}
.btn-save:hover{background:var(--green);color:#000}
.file-upload-area{border:1px dashed var(--bord2);border-radius:var(--r);padding:14px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg2)}
.file-upload-area:hover{border-color:var(--bord3);background:var(--ga)}
.media-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumb{position:relative;width:80px;height:55px;border-radius:var(--r);overflow:hidden;border:0.5px solid var(--bord);background:var(--bg2)}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}
.thumb-rm{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:rgba(0,0,0,.7);border:none;color:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.thumb-type{position:absolute;bottom:2px;left:3px;font-size:9px;color:rgba(255,255,255,.8);font-family:var(--mono)}
.invite-box{background:var(--bg2);border:0.5px solid var(--bord3);border-radius:var(--r2);padding:1.25rem;margin-bottom:12px}
.invite-title{font-family:var(--cond);font-size:13px;font-weight:700;color:var(--green);margin-bottom:6px}
.invite-desc{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.5}
.invite-link-wrap{display:flex;gap:8px;align-items:stretch}
.invite-link{flex:1;padding:9px 11px;background:var(--bg);border:0.5px solid var(--bord2);border-radius:var(--r);font-family:var(--mono);font-size:11px;color:var(--text);word-break:break-all;line-height:1.5;overflow:auto;max-height:55px}
.btn-copy{padding:9px 14px;background:var(--green3);border:none;border-radius:var(--r);color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--cond);white-space:nowrap;letter-spacing:.04em;transition:all .2s;flex-shrink:0}
.btn-copy:hover{background:var(--green2)}
.btn-copy.ok{background:#0F6E56}
.invite-note{font-size:11px;color:var(--hint);margin-top:8px;line-height:1.5}
.role-info{background:var(--ga);border:0.5px solid var(--bord3);border-radius:var(--r);padding:10px 13px;margin-bottom:12px}
.role-info-t{font-family:var(--cond);font-size:11px;font-weight:700;color:var(--green2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.role-info ul{font-size:12px;color:var(--muted);padding-left:14px;line-height:1.8}
.role-info.viewer{background:var(--aa);border-color:rgba(255,167,38,.28)}
.role-info.viewer .role-info-t{color:var(--amber)}
.apg{padding:20px;max-width:640px;animation:fu .25s ease}
.pg-t{font-family:var(--cond);font-size:22px;font-weight:700;letter-spacing:.03em;margin-bottom:3px}
.pg-s{font-size:13px;color:var(--muted);margin-bottom:18px}
.ulist{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.urow{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:11px 13px;display:flex;align-items:center;gap:10px}
.uav{width:34px;height:34px;border-radius:50%;background:var(--ga);border:0.5px solid var(--bord3);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--green2);flex-shrink:0}
.uinfo{flex:1;min-width:0}
.un{font-size:13px;font-weight:500;color:var(--text)}
.ul2{font-family:var(--mono);font-size:11px;color:var(--hint)}
.ubg{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600;font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase}
.ubg-a{background:var(--aa);color:var(--amber)}
.ubg-u{background:var(--ga);color:var(--green2)}
.urow-acts{display:flex;gap:6px}
.btn-rm,.btn-inv{background:transparent;border:0.5px solid var(--bord2);border-radius:var(--r);padding:4px 10px;font-size:11px;color:var(--hint);cursor:pointer;font-family:var(--cond);font-weight:600;letter-spacing:.04em;transition:all .15s}
.btn-rm:hover{background:var(--ca);color:var(--coral);border-color:var(--coral)}
.btn-inv{color:var(--green2)}
.btn-inv:hover{background:var(--ga);border-color:var(--bord3)}
.aform{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.1rem}
.aform-t{font-family:var(--cond);font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text)}
.ferr{font-size:12px;color:var(--coral);min-height:16px;margin-bottom:7px}
.sc{background:var(--surf);border:0.5px solid var(--bord);border-radius:var(--r2);padding:1.1rem;margin-bottom:12px}
.sc-t{font-family:var(--cond);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding-bottom:7px;border-bottom:0.5px solid var(--bord)}
.pr-row{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pr-lbl{font-size:13px;color:var(--text);flex:1}
.pr-u{font-size:10px;color:var(--hint);min-width:52px}
.pr-sel{background:var(--bg2);border:0.5px solid var(--bord);border-radius:var(--r);color:var(--text);padding:5px 7px;font-size:12px}
.pr-inp{width:82px;padding:6px 7px;background:var(--bg2);border:0.5px solid var(--bord);border-radius:var(--r);font-family:var(--mono);font-size:12px;color:var(--text);text-align:right}
.pr-inp:focus,.pr-sel:focus{outline:none;border-color:var(--bord3)}
.sbcode{background:var(--bg);border:0.5px solid var(--bord);border-radius:var(--r);padding:10px 12px;font-family:var(--mono);font-size:10px;color:var(--muted);white-space:pre;overflow-x:auto;margin-bottom:10px;line-height:1.7}
.note{font-size:12px;background:var(--aa);border-left:2px solid var(--amber);color:#c28a30;padding:9px 12px;border-radius:var(--r);margin-bottom:12px;line-height:1.5}
@keyframes fu{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}


@page { margin: 1.5cm; }

@media (max-width:1024px){
  .sb{overflow:hidden}
  .sb-list{flex:1;min-height:0;overflow-y:auto}
  .sb-bot{overflow-y:auto;max-height:50vh;flex-shrink:0}
}

@media print {
  /* Quando ficha overlay está aberta: imprime só a ficha */
  #ficha-overlay[style*="block"] ~ * { display: none !important; }
  body > *:not(#ficha-overlay) { visibility: hidden; }
  #ficha-overlay { visibility: visible !important; position: static !important; padding: 0 !important; background: #fff !important; }
  #ficha-overlay-btns { display: none !important; }
  #ficha-overlay * { visibility: visible !important; }
  /* Layout de fichas */
  .ficha-page { page-break-after: always; break-after: page; }
  .ficha-page:last-child { page-break-after: avoid; }
  .dois-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .dois-wrap .ficha-page { page-break-after: avoid; }
  /* Mapa de consumo: esconde controles, mostra documento */
  .topbar, aside, .sb-btns, .btn-link, .btn-print-mapa-controls { display: none !important; }
}
.btn-print-ficha { padding:6px 12px; border-radius:var(--r); border:0.5px solid var(--bord2); background:transparent; color:var(--muted); font-size:11px; cursor:pointer; font-family:var(--cond); font-weight:600; letter-spacing:.04em; transition:all .15s; }
.btn-print-ficha:hover { border-color:var(--bord3); color:var(--text); background:var(--ga); }
.gauge-row{display:none!important}
.det-grid{display:flex;flex-direction:column;gap:10px;padding-bottom:20px}
.dact{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;align-items:center;margin-top:6px}
.dh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;gap:10px;flex-wrap:wrap}

/* NOTIFICAÇÕES */
.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--coral);color:#fff;font-size:9px;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);line-height:1}
.notif-btn-wrap{position:relative;display:inline-block}
.notif-banner{background:rgba(255,107,71,.12);border:0.5px solid rgba(255,107,71,.4);border-radius:var(--r2);padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.notif-banner-icon{font-size:20px;flex-shrink:0}
.notif-banner-text{font-size:12px;color:var(--coral);line-height:1.5}
.notif-banner-title{font-family:var(--cond);font-size:13px;font-weight:700;color:var(--coral);margin-bottom:3px}
/* GARRAFA */
.bottle-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.bottle-label{font-size:9px;font-family:var(--mono);color:var(--hint);text-align:center}
.rg-card-row{display:flex;gap:12px;align-items:flex-start}
.rg-card-info{flex:1;min-width:0}

@media print {
  #mapa-print { border: none !important; }
}
