:root{--bg:#f4f6f9;--panel:#fff;--text:#23242b;--muted:#727681;--line:#e4e7ec;--brand:#991b1b;--brand2:#c72c2c;--soft:#fff0f0;--shadow:0 12px 35px rgba(25,30,45,.07);--sidebar:#17181e;--input:#fff;--success:#17733b;--warning:#9a5c00;--danger:#9c1c1c;--info:#16538e}
:root[data-theme=dark]{--bg:#101116;--panel:#191a21;--text:#f1f2f5;--muted:#a4a7b2;--line:#30323b;--soft:#321a1d;--shadow:0 12px 35px #0006;--sidebar:#08090d;--input:#20222a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:286px;background:var(--sidebar);color:#fff;padding:20px 14px;display:flex;flex-direction:column;z-index:30;transition:.24s;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 10px 17px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:linear-gradient(145deg,#dc3737,#821212);font-size:24px}.brand strong{font-size:20px}.brand small,.sidebar-foot small,.sidebar-foot span{display:block;color:#a9aab2;font-size:11px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-group{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#747680;padding:15px 14px 6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 13px;color:#c5c7d0;text-decoration:none;border-radius:11px;font-size:13px}.sidebar nav a span{width:22px;text-align:center;font-size:17px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff12}.sidebar nav a.active{box-shadow:inset 3px 0 var(--brand2)}.sidebar-foot{margin-top:18px;padding:14px;border:1px solid #ffffff14;border-radius:14px}.sidebar-foot strong{display:block;color:#ffb6b6;margin:4px 0;font-size:12px}.main{margin-left:286px;width:calc(100% - 286px);min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:82px;padding:13px 25px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.page-heading{min-width:0}.topbar h1{font-size:19px;margin:0}.topbar p{font-size:10px;color:var(--muted);margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:740px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);width:39px;height:39px;border-radius:11px;display:grid;place-items:center;text-decoration:none;cursor:pointer;font-size:17px}.icon-btn.ready{outline:2px solid #66b780}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;max-width:220px}.user-chip>span{min-width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-weight:800}.user-chip b,.user-chip small{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip small{color:var(--muted);font-size:9px}.content{padding:24px;flex:1}.footer{padding:15px 24px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);min-width:0}.stat-card>span{min-width:43px;height:43px;border-radius:13px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:20px;font-weight:800}.stat-card small,.stat-card strong{display:block}.stat-card small{color:var(--muted);font-size:10px}.stat-card strong{font-size:26px;margin-top:3px}.stat-card.warning>span{background:#fff4d8;color:#9a5c00}.stat-card.danger>span{background:#ffe6e6;color:#a11616}.grid{display:grid;gap:17px;margin-bottom:18px}.grid.two{grid-template-columns:1.25fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.form-layout{grid-template-columns:minmax(330px,.75fr) minmax(500px,1.25fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:19px;min-width:0;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel h2{font-size:15px;margin:0}.panel h3{font-size:13px;margin:0}.panel p{font-size:10px;color:var(--muted);margin:4px 0 0}.blood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.blood-card{border:1px solid var(--line);border-radius:13px;padding:11px;text-align:center;background:linear-gradient(145deg,var(--panel),var(--soft))}.blood-card b{color:var(--brand);font-size:16px}.blood-card strong,.blood-card small{display:block}.blood-card strong{font-size:22px;margin:4px}.blood-card small{color:var(--muted);font-size:9px}.check-list>div{display:grid;grid-template-columns:29px 1fr auto;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);gap:8px}.check-list>div:last-child{border:0}.check-list span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center}.ok{background:#e6f7eb;color:#137333}.warn{background:#fff3d5;color:#965800}.check-list b{font-size:11px}.check-list small{font-size:9px;color:var(--muted)}.btn{border:0;border-radius:10px;padding:10px 13px;font-weight:700;font-size:11px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;gap:6px}.btn.primary{background:linear-gradient(145deg,var(--brand2),var(--brand));color:#fff}.btn.soft{background:var(--soft);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))}.btn.success{background:#e8f7ed;color:#126c35}.btn.danger{background:#ffe8e8;color:#8e1919}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;font-size:11px}th{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:color-mix(in srgb,var(--bg) 60%,var(--panel));text-align:left}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}tr:last-child td{border:0}td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.tag{display:inline-flex;border-radius:99px;padding:4px 8px;background:var(--bg);font-size:9px;text-transform:capitalize}.tag.red{background:var(--soft);color:var(--brand)}.tag.green{background:#e8f8ed;color:#137333}.tag.amber{background:#fff4d9;color:#975a00}.tag.blue{background:#e8f2ff;color:#17528e}.tag.dark{background:#e8e9ed;color:#34363d}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.form-grid label{font-size:10px;font-weight:700;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea,.search input,.report-toolbar input,.report-toolbar select{width:100%;margin-top:6px;padding:10px 11px;border-radius:9px;border:1px solid var(--line);background:var(--input);color:var(--text);outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand)}.span-2{grid-column:span 2}.consent{display:flex;gap:8px;align-items:flex-start;background:var(--bg);padding:10px;border-radius:9px}.consent input{width:auto;margin-top:2px}.consent label{margin:0;font-weight:500;line-height:1.4}.search{display:flex;gap:7px}.search input{margin:0;min-width:180px}.alert,.notice{border-radius:12px;padding:11px 13px;margin-bottom:16px;font-size:11px;line-height:1.45}.alert.success{background:#e8f8ed;color:#176c34}.alert.error{background:#ffe8e8;color:#8e1919}.alert.info{background:#e9f2ff;color:#174d88}.alert.warning{background:#fff4d9;color:#8a5300}.notice{background:var(--bg);border:1px dashed var(--line);color:var(--muted);margin:14px 0 0}.row-alert{background:#fff8e5}.row-danger{background:#ffeded}.report-toolbar{display:flex;align-items:center;gap:15px}.report-toolbar form{display:flex;gap:7px;margin-left:auto}.report-toolbar form select{width:72px}.report-toolbar form input{width:85px}.report-actions{display:flex;gap:6px}.report-stats{grid-template-columns:repeat(5,1fr)}.report-stats .stat-card{padding:13px}.report-stats .stat-card strong{font-size:21px}.book-list{display:flex;flex-direction:column;gap:8px}.book-list a{padding:12px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text);display:flex;flex-direction:column}.book-list a:hover{background:var(--bg)}.book-list b{font-size:11px}.book-list span{font-size:9px;color:var(--muted);margin-top:3px}.reg-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.reg-card>div{padding:11px;background:var(--bg);border-radius:10px}.reg-card small,.reg-card b{display:block}.reg-card small{font-size:9px;color:var(--muted)}.reg-card b{font-size:11px;margin-top:4px}.kpi-list{display:grid;gap:9px}.kpi-item{padding:12px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.kpi-item b{font-size:11px}.kpi-item small{font-size:9px;color:var(--muted);display:block}.kpi-item strong{font-size:18px}.forecast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.forecast-card{border:1px solid var(--line);border-radius:13px;padding:12px}.forecast-card.critico{border-color:#efb4b4;background:#fff1f1}.forecast-card.atencao{border-color:#eed7a8;background:#fff9eb}.forecast-card.normal{border-color:#bde0c7;background:#f1fbf4}.forecast-card header{display:flex;justify-content:space-between;align-items:center}.forecast-card strong{font-size:19px}.forecast-card small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.org-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.org-card{border:1px solid var(--line);border-radius:14px;padding:14px}.org-card header{display:flex;justify-content:space-between;gap:8px}.org-card h3{font-size:12px}.org-card p{font-size:9px;line-height:1.5}.org-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--line)}.timeline-item{position:relative;padding:0 0 16px}.timeline-item:before{content:"";position:absolute;left:-20px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--soft)}.timeline-item b{font-size:11px}.timeline-item p{font-size:9px;line-height:1.5}.api-box{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#11131a;color:#e9ecf4;border-radius:12px;padding:14px;overflow:auto;font-size:10px;line-height:1.6}.empty{color:var(--muted);font-size:11px;padding:20px;text-align:center}.offline-banner{position:fixed;left:50%;bottom:18px;transform:translate(-50%,130%);background:#24262f;color:#fff;border-radius:12px;padding:10px 15px;font-size:10px;z-index:99;transition:.25s;box-shadow:var(--shadow)}.offline-banner.show{transform:translate(-50%,0)}.login-body{min-height:100vh;background:radial-gradient(circle at 10% 10%,#4b1018,#15161c 45%,#0c0d11);display:grid;place-items:center;padding:24px}.login-wrap{width:min(960px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#ffffff08;border:1px solid #ffffff12;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px #0007}.login-hero{padding:58px;color:#fff;display:flex;flex-direction:column;justify-content:center}.hero-logo{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#df3b3b,#8d1212);font-size:34px}.login-hero h1{font-size:42px;margin:18px 0 6px}.login-hero p{color:#c5c6cc;line-height:1.6;font-size:14px}.hero-pills{display:flex;gap:7px;flex-wrap:wrap}.hero-pills span{border:1px solid #ffffff22;border-radius:99px;padding:6px 10px;font-size:10px}.login-card{background:var(--panel);padding:48px}.login-card>small{color:var(--brand);font-weight:800;letter-spacing:.14em}.login-card h2{font-size:25px;margin:10px 0 4px}.login-card>p{color:var(--muted);font-size:11px}.login-card form{display:grid;gap:13px;margin-top:22px}.login-card label{font-size:10px;color:var(--muted);font-weight:700}.login-card input{width:100%;margin-top:6px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--input);color:var(--text)}.login-card .btn{padding:13px}.login-note{margin-top:15px;background:var(--bg);border-radius:10px;padding:10px;font-size:10px;color:var(--muted)}.donor-body{min-height:100vh;background:linear-gradient(160deg,#fff3f3,#f6f7fb);color:#25262c}.donor-shell{max-width:720px;margin:auto;padding:18px}.donor-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.donor-brand{display:flex;align-items:center;gap:10px}.donor-brand span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--brand);color:#fff;font-size:22px}.donor-card{background:#fff;border:1px solid #eee;border-radius:18px;padding:18px;box-shadow:0 12px 30px #4c1b1b10;margin-bottom:14px}.donor-card h2{font-size:17px;margin:0 0 4px}.donor-card p{font-size:11px;color:#73757d}.donor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.donor-action{border:1px solid #eee;border-radius:13px;padding:14px;text-decoration:none;color:#25262c}.donor-action b{font-size:12px}.donor-action small{font-size:9px;color:#73757d;display:block;margin-top:3px}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}.report-stats{grid-template-columns:repeat(3,1fr)}.grid.form-layout{grid-template-columns:1fr}.org-cards{grid-template-columns:repeat(2,1fr)}.forecast-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1060px){.sidebar{transform:translateX(-103%)}.sidebar.open{transform:translateX(0);box-shadow:15px 0 40px #0005}.main{margin-left:0;width:100%}.topbar p{max-width:430px}.grid.two,.grid.three{grid-template-columns:1fr}}
@media(max-width:720px){.content{padding:14px}.topbar{padding:10px 13px;min-height:68px}.topbar h1{font-size:16px}.topbar p,.user-chip,.hide-mobile{display:none}.stat-grid,.report-stats{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:13px}.stat-card strong{font-size:21px}.panel{padding:14px;border-radius:14px}.panel-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.blood-grid,.forecast-grid{grid-template-columns:repeat(2,1fr)}.org-cards{grid-template-columns:1fr}.reg-card{grid-template-columns:1fr 1fr}.report-toolbar{align-items:flex-start;flex-direction:column}.report-toolbar form{margin-left:0}.footer{flex-direction:column}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}.login-card{padding:30px 22px}.donor-grid{grid-template-columns:1fr}}
@media(max-width:420px){.stat-grid,.report-stats{grid-template-columns:1fr}.blood-grid{grid-template-columns:repeat(2,1fr)}.top-actions{gap:4px}.icon-btn{width:36px;height:36px}.content{padding:10px}.sidebar{width:88vw}}

.inline-form{display:flex;gap:6px;align-items:center}.inline-form select{max-width:145px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text)}.link-card{text-decoration:none;color:var(--text);transition:.2s}.link-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.network-stats{margin-top:-4px}.case-list{display:grid;gap:10px}.case-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--panel)}.case-card summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}.case-card summary::-webkit-details-marker{display:none}.case-card summary b,.case-card summary small{display:block}.case-card summary b{font-size:11px}.case-card summary small{font-size:9px;color:var(--muted);margin-top:3px}.case-card>p{font-size:10px;line-height:1.5;background:var(--bg);padding:10px;border-radius:9px}.unit-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.unit-card{border:1px solid var(--line);border-radius:13px;padding:12px}.unit-card header{display:flex;justify-content:space-between;gap:10px}.unit-card b,.unit-card small{display:block}.unit-card b{font-size:11px}.unit-card small{font-size:9px;color:var(--muted)}.unit-card>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:10px;padding-top:9px;font-size:10px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-grid label{padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--text);font-weight:500}.check-grid input{width:auto;margin:0 7px 0 0}.label-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.blood-label{background:#fff;color:#111;border:1px solid #222;border-radius:6px;padding:10px;break-inside:avoid}.blood-label header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #222;padding-bottom:6px;font-size:10px}.label-brand{font-weight:900;color:#991b1b}.label-main{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;padding:8px 0}.label-main>strong{font-size:30px;border:2px solid #111;border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.label-main b,.label-main small{display:block}.label-main b{font-size:12px}.label-main small{font-size:8px;line-height:1.45}.barcode{text-align:center}.barcode svg{width:100%;height:52px}.barcode code{display:block;font-size:9px;letter-spacing:.12em}.no-print{display:block}
@media(max-width:720px){.inline-form{flex-direction:column;align-items:stretch}.inline-form select{max-width:none}.unit-cards,.label-sheet,.check-grid{grid-template-columns:1fr}.network-stats{margin-top:0}}
@media print{body{background:#fff}.sidebar,.topbar,.footer,.no-print,.offline-banner{display:none!important}.main{margin:0;width:100%}.content{padding:0}.label-sheet{grid-template-columns:repeat(2,1fr);gap:4mm}.blood-label{page-break-inside:avoid}.panel{box-shadow:none;border:0}.label-sheet+.footer{display:none}}


/* v1.3.0 — interface moderna, responsiva e laboratório */
:root{--bg:#f4f7fb;--panel:#fff;--text:#13213a;--muted:#66758d;--line:#dfe5ee;--brand:#0867dc;--brand2:#0758bd;--soft:#edf5ff;--shadow:0 8px 28px rgba(22,45,80,.07);--sidebar:#062c57;--input:#fff;--success:#079447;--warning:#e58a00;--danger:#e83745;--info:#0867dc}
:root[data-theme=dark]{--bg:#0c1421;--panel:#111e30;--text:#eef5ff;--muted:#9cb0c9;--line:#263850;--soft:#132d4c;--shadow:0 12px 35px rgba(0,0,0,.28);--sidebar:#041b35;--input:#15243a}
body{font-size:14px}.sidebar{width:246px;background:linear-gradient(180deg,#062f5f 0%,#041f40 100%);padding:0 8px 18px}.brand{height:94px;padding:14px 12px;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:#062c57;z-index:2}.brand-drop{position:relative;width:47px;height:58px;background:linear-gradient(155deg,#ff4451,#d51f32);border-radius:50% 50% 54% 54%/58% 58% 42% 42%;transform:rotate(45deg);display:grid;place-items:center;box-shadow:0 8px 18px rgba(232,55,69,.25)}.brand-drop i{transform:rotate(-45deg);font-style:normal;font-size:23px}.brand strong{font-size:21px;line-height:1.12}.brand small{color:#bdd1ea;margin-top:5px}.sidebar nav{padding-top:6px}.nav-group{font-size:10px;color:#a8c0dc;padding:14px 10px 6px}.sidebar nav a{padding:9px 10px;border-radius:5px;color:#edf5ff;font-size:13px;gap:10px}.sidebar nav a span{font-size:16px;width:21px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,rgba(38,116,208,.65),rgba(32,105,190,.45));color:#fff}.sidebar nav a.active{box-shadow:none}.sidebar-foot{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.main{margin-left:246px;width:calc(100% - 246px)}.topbar{height:64px;min-height:64px;padding:0 22px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(20,44,78,.04)}.topbar-menu{border:0;background:transparent;color:var(--text);font-size:21px;cursor:pointer}.topbar-title{font-size:15px;font-weight:600}.top-actions{gap:12px}.notification-btn{width:38px;height:38px;display:grid;place-items:center;position:relative;text-decoration:none;color:var(--text);font-size:19px}.notification-btn em{position:absolute;right:0;top:0;background:#ef3340;color:#fff;border-radius:20px;min-width:17px;height:17px;padding:0 4px;font-size:9px;display:grid;place-items:center;font-style:normal;border:2px solid var(--panel)}.organization-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:12px}.organization-chip b{font-size:11px}.icon-btn{border:0;background:transparent;width:34px;height:34px}.user-chip{border:0;padding:0;max-width:190px}.user-chip>span{border-radius:50%;background:#0867dc;color:#fff}.content{padding:22px 20px 30px}.footer{background:var(--panel);padding:18px 20px}.page-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 22px}.page-hero-title{display:flex;align-items:center;gap:14px}.hero-icon{font-size:29px;color:#0867dc}.page-hero h1{font-size:22px;margin:0;color:var(--text)}.page-hero p{margin:4px 0 0;color:var(--muted);font-size:12px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.breadcrumbs a{color:#0867dc;text-decoration:underline}.breadcrumbs i{font-style:normal;color:#aab3c2}.filter-card,.data-card{background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);margin-bottom:18px}.card-toolbar{padding:15px 17px;border-bottom:1px solid var(--line);display:flex}.card-toolbar.end{justify-content:flex-end}.filters-grid{display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(3,minmax(150px,1fr)) auto;gap:18px;padding:18px;align-items:end}.filters-grid.compact{grid-template-columns:minmax(320px,2fr) minmax(180px,.7fr) auto}.filters-grid label>span{display:block;font-size:11px;font-weight:700;color:var(--text);margin-bottom:7px}.filters-grid input,.filters-grid select,.modern-form input,.modern-form select,.modern-form textarea,.per-page select{width:100%;border:1px solid #cfd8e5;background:var(--input);color:var(--text);border-radius:4px;padding:10px 11px;min-height:40px;outline:none}.filters-grid input:focus,.filters-grid select:focus,.modern-form input:focus,.modern-form select:focus,.modern-form textarea:focus{border-color:#0867dc;box-shadow:0 0 0 3px rgba(8,103,220,.1)}.filter-search>div{display:flex;border:1px solid #cfd8e5;border-radius:4px;overflow:hidden}.filter-search>div i{width:38px;display:grid;place-items:center;font-style:normal;color:#4c6381;border-right:1px solid #cfd8e5}.filter-search>div input{border:0;border-radius:0}.filter-actions{display:flex;gap:10px}.btn{border-radius:4px;padding:10px 14px;font-size:12px;min-height:39px}.btn.primary{background:#0867dc}.btn.success{background:#0aa44f;color:#fff}.btn.outline{background:var(--panel);color:#29405f;border:1px solid #cfd8e5}.btn.large{padding:10px 16px}.btn.small{padding:7px 10px;min-height:32px}.data-card-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.data-card-head h2{margin:0;font-size:15px}.data-card-head p{margin:3px 0 0;font-size:10px;color:var(--muted)}.table-tools{display:flex;gap:10px}.table-responsive{overflow:auto}.modern-table{min-width:900px}.modern-table th{background:color-mix(in srgb,var(--bg) 62%,var(--panel));font-size:10px;text-transform:none;letter-spacing:0;color:#263c5a;font-weight:700;padding:13px 15px}.modern-table td{padding:12px 15px;vertical-align:middle;font-size:11px}.modern-table td strong,.modern-table td b{font-size:11px}.modern-table td small{margin-top:4px;color:var(--muted)}.modern-table tbody tr:hover{background:color-mix(in srgb,var(--soft) 55%,transparent)}.actions-col{width:135px}.blood-pill{display:inline-flex;align-items:center;justify-content:center;min-width:37px;padding:5px 8px;border-radius:5px;background:linear-gradient(180deg,#f7525e,#dc2d3e);color:#fff;font-weight:800;font-size:11px;box-shadow:inset 0 1px #ffffff55}.status-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:4px;font-size:10px;border:1px solid #cbd5e1;background:#f3f6fa;color:#53647a}.status-pill.success{background:#effcf3;border-color:#70d396;color:#08793b}.status-pill.warning{background:#fff7e8;border-color:#efb34d;color:#b36a00}.status-pill.danger{background:#fff0f1;border-color:#f0929a;color:#c42836}.status-pill.pending{background:#f2f5f8;border-color:#cbd5df;color:#546276}.status-pill.inactive{background:#eff1f4;border-color:#c5cbd4;color:#667085}.relative-success{color:#0a9a49!important}.row-actions{display:flex;gap:9px;align-items:center}.row-actions form{margin:0}.action-btn{width:34px;height:30px;border-radius:4px;border:1px solid #d0d9e5;background:#fff;display:grid;place-items:center;cursor:pointer;font-size:13px}.action-btn.view{color:#173c69}.action-btn.edit{background:#0873df;color:#fff;border-color:#0873df}.action-btn.delete{background:#ef3949;color:#fff;border-color:#ef3949}.pagination-bar{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.pagination{display:flex}.pagination a{padding:9px 12px;border:1px solid var(--line);color:var(--muted);text-decoration:none;margin-left:-1px;background:var(--panel)}.pagination a.active{background:#0867dc;color:#fff;border-color:#0867dc}.pagination a.disabled{pointer-events:none;opacity:.45}.per-page select{min-height:34px;padding:7px}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 5px);min-width:180px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:9px;z-index:50;display:none}.dropdown-menu.open{display:grid;gap:8px}.dropdown-menu label{font-size:11px;display:flex;gap:8px}.hidden-col{display:none!important}.modal{position:fixed;inset:0;background:rgba(5,17,35,.58);z-index:100;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.modal.open{display:flex}.modal-dialog{background:var(--panel);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.28);width:min(620px,100%);max-height:92vh;overflow:auto}.modal-dialog.large{width:min(820px,100%)}.modal-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:17px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-head>button{border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.modal-body{padding:20px}.modern-form label{font-size:11px;font-weight:700;color:#31445f}.modern-form label input,.modern-form label select,.modern-form label textarea{margin-top:6px}.modal-actions{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.modal-body .modal-actions{margin:5px -20px -20px;padding:14px 20px}.check-field{display:flex!important;align-items:center;gap:9px;padding-top:22px}.check-field input{width:auto!important;min-height:auto!important;margin:0!important}.check-field.privacy{padding:12px;background:var(--bg);border-radius:5px}.profile-summary{display:flex;align-items:center;gap:14px;margin-bottom:20px}.profile-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e8f3ff;color:#0867dc;font-weight:800;font-size:18px}.profile-summary>div{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid>div{padding:12px;background:var(--bg);border-radius:6px}.detail-grid small,.detail-grid b{display:block}.detail-grid small{font-size:9px;color:var(--muted);margin-bottom:4px}.detail-grid b{font-size:11px;line-height:1.45}.empty-state{text-align:center;padding:35px;color:var(--muted)}.empty-state b,.empty-state span{display:block}.empty-state b{color:var(--text);margin-bottom:5px}.stat-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.muted{color:var(--muted)}
@media(max-width:1260px){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:span 2}.stat-grid.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1060px){.sidebar{transform:translateX(-100%);box-shadow:18px 0 50px #0005}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.organization-chip{display:none}.content{padding:18px 14px}.page-hero{align-items:flex-start}.breadcrumbs{display:none}.stat-grid.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{padding:0 10px}.topbar-title{font-size:13px}.user-chip>div,.hide-mobile{display:none}.page-hero-title{align-items:flex-start}.page-hero h1{font-size:19px}.filters-grid,.filters-grid.compact{grid-template-columns:1fr;gap:12px}.filter-actions{grid-column:auto}.card-toolbar.end{justify-content:stretch}.card-toolbar .btn{width:100%}.pagination-bar{align-items:flex-start;flex-direction:column}.pagination{max-width:100%;overflow:auto}.per-page{width:100%}.detail-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1!important}.check-field{padding-top:4px}.stat-grid,.stat-grid.five{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.modal{padding:0}.modal-dialog,.modal-dialog.large{width:100%;height:100%;max-height:100%;border-radius:0}.footer{flex-direction:column}.page-hero{margin-bottom:16px}}
@media(max-width:440px){.stat-grid,.stat-grid.five{grid-template-columns:1fr}.top-actions{gap:2px}.notification-btn,.icon-btn{width:31px}.content{padding:14px 9px}.page-hero-title{gap:9px}.hero-icon{font-size:23px}}
/* v1.4.0 — dashboard operacional, IoT, integrações e leitura */
.ops-meta{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin:-12px 0 12px;color:var(--muted);font-size:10px}.ops-meta small{display:block}.ops-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.ops-kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:var(--text);box-shadow:0 4px 18px rgba(20,44,78,.045);min-height:128px}.ops-kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.ops-kpi small,.ops-kpi strong,.ops-kpi span{display:block}.ops-kpi small{text-transform:uppercase;font-size:10px;letter-spacing:.03em;color:#36465f}.ops-kpi strong{font-size:31px;margin:8px 0 10px;color:#13243e}.trend{font-size:9px;color:var(--muted)}.trend.good{color:#0b9b58}.trend.danger{color:#e1293b}.kpi-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;font-style:normal;font-size:23px;align-self:center}.kpi-icon.red{background:#ffe8eb;color:#ec3045}.kpi-icon.purple{background:#f1e8ff;color:#7924bd}.kpi-icon.orange{background:#fff0df;color:#e66f00}.kpi-icon.blue{background:#e8f2ff;color:#0867dc}.ops-main-grid{display:grid;grid-template-columns:1.1fr 1.18fr 1.02fr;gap:14px;margin-bottom:16px}.ops-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 4px 18px rgba(20,44,78,.045)}.ops-panel>header{display:flex;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line)}.ops-panel h2{font-size:13px;margin:0}.ops-panel header p{margin:3px 0 0;color:var(--muted);font-size:9px}.ops-panel header a{font-size:9px;color:#0867dc;text-decoration:none;white-space:nowrap}.stock-body{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:14px;padding:19px}.donut{width:155px;height:155px;border-radius:50%;display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;inset:31px;background:var(--panel);border-radius:50%}.donut>div{position:relative;text-align:center}.donut strong,.donut small{display:block}.donut strong{font-size:21px}.donut small{font-size:9px;color:var(--muted)}.blood-legend{display:grid;gap:9px}.blood-legend>div{display:grid;grid-template-columns:58px 1fr 42px;align-items:center;font-size:9px;gap:7px}.blood-legend b{display:flex;align-items:center;gap:7px}.blood-legend b i{width:8px;height:8px;border-radius:2px;background:hsl(var(--h) 78% 53%)}.blood-legend span{color:var(--muted)}.blood-legend em{text-align:right;font-style:normal;color:var(--muted)}.sensor-list>a{display:grid;grid-template-columns:34px minmax(120px,1fr) 115px 56px;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.sensor-list>a:last-child{border:0}.sensor-device{width:29px;height:36px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;font-style:normal;color:#1b3556}.sensor-name b,.sensor-name strong{display:block}.sensor-name b{font-size:10px}.sensor-name strong{font-size:11px;color:#099554;margin-top:5px}.temperature-alert{color:#f07800!important}.sparkline{width:100%;height:30px}.sparkline polyline{stroke:#18ad68;stroke-width:1.6}.sensor-state{font-size:8px;border-radius:5px;padding:5px 7px;text-align:center}.sensor-state.normal{background:#e8faef;color:#168145}.sensor-state.alert{background:#fff1df;color:#d06800}.critical-list>a{display:grid;grid-template-columns:32px 1fr auto;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.critical-list>a:last-child{border:0}.alert-symbol{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-weight:900}.alert-symbol.critica,.alert-symbol.alta{background:#ffe9eb;color:#ec3045}.alert-symbol.media{background:#fff4de;color:#e08a00}.alert-symbol.baixa,.alert-symbol.informativa{background:#eaf3ff;color:#0867dc}.critical-list b{display:block;color:#ed3247;font-size:10px}.critical-list p{font-size:9px;color:var(--muted);margin:4px 0}.critical-list small{font-size:8px}.critical-list time{font-size:8px;color:var(--muted);white-space:nowrap}.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;text-align:center;text-decoration:none;color:var(--text);min-height:164px;display:flex;flex-direction:column;align-items:center}.module-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.module-card i{font-style:normal;font-size:31px;color:#0873df;height:42px}.module-card b{font-size:11px;margin:7px 0}.module-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:0;min-height:39px}.module-card span{display:block;margin-top:auto;width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;color:#0867dc;font-size:9px}.ops-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px}.module-grid.secondary{margin:0}.quick-links{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.quick-links h2{font-size:12px;margin:0 0 12px}.quick-links a{display:block;text-decoration:none;color:#0867dc;font-size:9px;padding:9px;border-bottom:1px solid var(--line)}.quick-links a:last-child{border:0}.link-card{text-decoration:none;color:var(--text)}
.sensor-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.sensor-monitor-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.sensor-monitor-card.danger{border-color:#f2a8ae;background:color-mix(in srgb,var(--panel) 93%,#ffe9eb)}.sensor-monitor-card header{display:flex;justify-content:space-between;gap:8px}.sensor-monitor-card header b,.sensor-monitor-card header small{display:block}.sensor-monitor-card header b{font-size:11px}.sensor-monitor-card header small{font-size:8px;color:var(--muted);margin-top:4px}.sensor-monitor-value{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:4px;margin:22px 0}.sensor-monitor-value strong{font-size:30px}.sensor-monitor-value em{font-size:12px;font-style:normal;color:var(--muted);padding-bottom:5px}.sensor-monitor-value .sparkline{height:55px;margin-left:10px}.sensor-monitor-card footer{display:grid;gap:5px;font-size:8px;color:var(--muted)}
.case-list{display:grid;gap:9px}.case-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0}.case-card summary{list-style:none;display:flex;align-items:center;gap:10px;padding:13px;cursor:pointer}.case-card summary::-webkit-details-marker{display:none}.case-card summary>span:first-of-type{flex:1}.case-card summary b,.case-card summary small{display:block}.case-card summary b{font-size:10px}.case-card summary small{font-size:8px;color:var(--muted);margin-top:3px}.case-detail{border-top:1px solid var(--line);padding:14px}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.inline-actions form{margin:0}.resolve-form{display:flex;gap:7px;flex:1}.resolve-form input,.inventory-scan-form input,.scanner-form input{border:1px solid var(--line);background:var(--input);color:var(--text);padding:10px;border-radius:7px;min-width:200px}.alert-cases .case-card summary{display:grid;grid-template-columns:32px 1fr auto auto}.inventory-session-link{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;text-decoration:none;color:var(--text)}.inventory-scan-form{display:flex;gap:8px;margin-bottom:16px}.inventory-scan-form input{flex:1}.inventory-finish{display:flex;justify-content:flex-end;margin-top:14px}.scanner-layout{grid-template-columns:1fr 1fr}.scanner-form label{font-size:10px;font-weight:700;color:var(--muted)}.scanner-form input{width:100%;display:block;margin-top:7px;font-size:18px}.scanner-actions{display:flex;gap:8px;margin-top:12px}.camera-box{position:relative;background:#07121f;border-radius:12px;overflow:hidden;margin-top:14px;min-height:270px}.camera-box video{width:100%;height:300px;object-fit:cover}.camera-target{position:absolute;left:12%;right:12%;top:36%;height:28%;border:2px solid #34d399;border-radius:8px;box-shadow:0 0 0 999px rgba(0,0,0,.25)}.camera-box small{position:absolute;bottom:8px;left:8px;right:8px;background:#0009;color:#fff;padding:8px;border-radius:6px;text-align:center}.scan-result{display:flex;gap:15px;padding:18px;border-radius:12px;border:1px solid var(--line)}.scan-result>i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:23px}.scan-result.success>i{background:#e5f8ec;color:#0a8b48}.scan-result.danger>i{background:#ffe9eb;color:#df2f42}.scan-result span{font-size:9px;text-transform:uppercase;color:var(--muted)}.scan-result h3{font-size:18px;margin:5px 0}.scan-result b{font-size:11px}.scan-result p{font-size:10px!important}.api-box{font-size:10px;line-height:1.5;background:#0b1730;color:#d8e6ff;border-radius:10px;padding:14px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}.btn.small{padding:6px 9px;min-height:28px}.empty-state{padding:28px;text-align:center;color:var(--muted)}.empty-state b,.empty-state span{display:block}.empty-state b{color:var(--text);margin-bottom:4px}
@media(max-width:1350px){.ops-kpis{grid-template-columns:repeat(3,1fr)}.ops-main-grid{grid-template-columns:1fr 1fr}.alert-panel{grid-column:span 2}.module-grid{grid-template-columns:repeat(3,1fr)}.sensor-monitor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1060px){.ops-main-grid{grid-template-columns:1fr}.alert-panel{grid-column:auto}.ops-bottom-grid{grid-template-columns:1fr}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.quick-links h2{grid-column:span 2}.sensor-monitor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ops-kpis{grid-template-columns:1fr 1fr}.ops-kpi{min-height:110px;padding:14px}.ops-main-grid{grid-template-columns:1fr}.stock-body{grid-template-columns:1fr}.donut{margin:auto}.module-grid,.module-grid.secondary{grid-template-columns:1fr 1fr}.sensor-list>a{grid-template-columns:30px 1fr auto}.sensor-list .sparkline{display:none}.ops-bottom-grid{display:block}.quick-links{margin-top:14px}.sensor-monitor-grid{grid-template-columns:1fr}.resolve-form,.inventory-scan-form{flex-direction:column}.resolve-form input,.inventory-scan-form input{width:100%}.alert-cases .case-card summary{grid-template-columns:30px 1fr}.alert-cases .case-card summary .tag{display:none}.scanner-layout{grid-template-columns:1fr}.sensor-monitor-value{grid-template-columns:auto auto}.sensor-monitor-value .sparkline{grid-column:span 2;margin:0}.ops-meta{display:none}}
@media(max-width:440px){.ops-kpis,.module-grid,.module-grid.secondary{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.quick-links h2{grid-column:auto}.stock-body{padding:13px}.blood-legend>div{grid-template-columns:52px 1fr 38px}.scanner-actions{flex-direction:column}}
.storage-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.storage-node{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--panel)}.storage-node.inactive{opacity:.55}.storage-node header,.storage-node footer{display:flex;justify-content:space-between;gap:8px}.storage-node header span{font-size:9px;color:#0867dc;font-weight:800}.storage-node header b{font-size:8px;color:var(--muted)}.storage-node h3{font-size:12px;margin:9px 0 4px}.storage-node p{font-size:8px!important;min-height:22px}.capacity-bar{height:7px;background:var(--bg);border-radius:8px;overflow:hidden;margin:10px 0}.capacity-bar i{display:block;height:100%;background:#0867dc}.storage-node footer{font-size:8px;color:var(--muted);margin-bottom:10px}
@media(max-width:720px){.storage-map{grid-template-columns:1fr}}
/* v1.5.0 — unidade móvel, CRM, campanhas inteligentes e portal corporativo */
.crm-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);align-items:start}.crm-directory{position:sticky;top:82px}.filter-bar{display:flex;gap:9px;align-items:end;margin-bottom:14px}.filter-bar.compact input{flex:1}.filter-bar input,.filter-bar select{border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:5px;padding:10px;min-height:39px}.crm-donor-list{display:grid;gap:7px;max-height:730px;overflow:auto}.crm-donor{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none}.crm-donor:hover,.crm-donor.active{border-color:#6eaaf0;background:var(--soft)}.crm-donor b,.crm-donor small{display:block}.crm-donor b{font-size:11px}.crm-donor small{font-size:8px;color:var(--muted);margin-top:4px}.crm-donor em{font-style:normal;font-size:8px;text-transform:uppercase;color:#0867dc}.crm-detail{display:grid;gap:14px}.donor-profile-card .panel-head{align-items:center}.profile-score{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.profile-score>div{padding:13px;background:var(--bg);border-radius:8px;text-align:center}.profile-score strong,.profile-score small{display:block}.profile-score strong{font-size:17px}.profile-score small{font-size:8px;color:var(--muted);margin-top:4px}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-matrix{display:grid;gap:7px;margin-top:14px}.consent-matrix>div{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;background:var(--bg);border-radius:6px;font-size:9px}.timeline{display:grid;gap:0}.timeline article{display:grid;grid-template-columns:20px 1fr;gap:10px;position:relative}.timeline article:before{content:"";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:var(--line)}.timeline article:last-child:before{display:none}.timeline article>i{width:15px;height:15px;border-radius:50%;background:#0867dc;margin-top:15px;z-index:1;border:3px solid var(--panel)}.timeline article>div{padding:12px 0;border-bottom:1px solid var(--line)}.timeline header{display:flex;justify-content:space-between;gap:10px}.timeline b{font-size:10px}.timeline time,.timeline small{font-size:8px;color:var(--muted)}.timeline p{font-size:9px!important;margin:5px 0}.empty-state.large{min-height:260px;display:grid;place-items:center;align-content:center}.workflow-steps{display:grid;gap:10px}.workflow-steps>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px}.workflow-steps>div>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#0867dc}.workflow-steps strong,.workflow-steps small{display:block}.workflow-steps strong{font-size:10px}.workflow-steps small{font-size:8px;color:var(--muted);margin-top:3px}.workflow-steps.compact>div{padding:9px}.table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.table-actions form{margin:0}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-card{border:1px solid var(--line);border-radius:9px;background:var(--panel)}.vehicle-card.inactive{opacity:.62}.vehicle-card summary{display:flex;justify-content:space-between;gap:8px;padding:14px;cursor:pointer;list-style:none}.vehicle-card summary::-webkit-details-marker{display:none}.vehicle-card summary b,.vehicle-card summary small{display:block}.vehicle-card summary b{font-size:11px}.vehicle-card summary small{font-size:8px;color:var(--muted);margin-top:4px}.material-form{margin-bottom:18px}.mobile-field-head{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:12px 15px;margin-bottom:14px}.mobile-field-head>div{display:flex;align-items:center;gap:9px}.mobile-field-head small{color:var(--muted);font-size:8px}.online-dot{width:10px;height:10px;border-radius:50%;background:#0aa44f;box-shadow:0 0 0 4px rgba(10,164,79,.12)}.online-dot.offline{background:#ef3949;box-shadow:0 0 0 4px rgba(239,57,73,.12)}.scanner-field-box{position:relative;background:#07121f;border-radius:10px;overflow:hidden;margin:13px 0}.scanner-field-box video{width:100%;max-height:340px;object-fit:cover}.scanner-field-box .btn{position:absolute;right:10px;bottom:10px}.mobile-operation-summary h3{font-size:18px;margin:13px 0 4px}.mobile-operation-summary p{font-size:10px!important;color:var(--muted)}.mobile-operation-summary>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.mobile-operation-summary>div span{background:var(--bg);padding:11px;border-radius:7px;text-align:center}.mobile-operation-summary b,.mobile-operation-summary small{display:block}.mobile-operation-summary b{font-size:16px}.mobile-operation-summary small{font-size:8px;color:var(--muted)}.partner-login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#042347,#0c5cac);padding:20px}.partner-login-card{width:min(470px,100%);background:var(--panel);border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.partner-brand{color:var(--text);height:auto;background:transparent!important;border:0!important;position:static!important;padding:0!important}.partner-brand strong{font-size:18px}.partner-brand small{display:block;color:var(--muted)}.partner-login-card h1{font-size:25px;margin:25px 0 8px}.partner-login-card>p{color:var(--muted);line-height:1.55}.privacy-note{display:block;color:var(--muted);line-height:1.5;margin-top:17px}.partner-portal-body{background:var(--bg);color:var(--text)}.partner-topbar{height:76px;padding:0 5vw;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.partner-topbar>div:last-child{display:flex;align-items:center;gap:12px;font-size:10px}.partner-content{width:min(1260px,92vw);margin:0 auto;padding:25px 0 45px}.partner-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(135deg,#062f5f,#0867dc);color:#fff;border-radius:15px;padding:32px;margin-bottom:18px}.partner-hero span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#cde3ff}.partner-hero h1{font-size:28px;margin:8px 0}.partner-hero p{max-width:650px;color:#dcecff}.privacy-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.privacy-list>div{display:flex;align-items:center;gap:9px;padding:11px;border-radius:7px;background:var(--bg)}.privacy-list span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#0a9149}.privacy-list>div:nth-child(-n+4) span{background:#ffecef;color:#d92f40}.privacy-list b{font-size:9px}.partner-campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.partner-campaign-grid article{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--panel)}.partner-campaign-grid header{display:flex;justify-content:space-between}.partner-campaign-grid time{font-size:8px;color:var(--muted)}.partner-campaign-grid h3{font-size:14px;margin:14px 0 5px}.partner-campaign-grid p{font-size:9px;color:var(--muted)}.partner-campaign-grid article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.partner-campaign-grid article>div span{text-align:center;background:var(--bg);padding:9px 5px;border-radius:6px}.partner-campaign-grid b,.partner-campaign-grid small{display:block}.partner-campaign-grid b{font-size:14px}.partner-campaign-grid small{font-size:7px;color:var(--muted)}.partner-footer{text-align:center;padding:20px;color:var(--muted);font-size:9px}.certificate-body{background:#edf2f7;padding:30px}.certificate-sheet{width:min(1040px,100%);min-height:720px;margin:auto;background:#fff;color:#16243a;border:12px solid #082d5c;outline:3px solid #e1b44b;outline-offset:-20px;padding:55px 65px;box-shadow:0 25px 70px #0002;position:relative}.certificate-sheet header{display:flex;justify-content:space-between;align-items:center}.certificate-valid{padding:8px 12px;border-radius:20px;font-size:10px;font-weight:800}.certificate-valid.ok{background:#e8faef;color:#147a40}.certificate-valid.no{background:#ffecef;color:#c52c3c}.certificate-sheet section{text-align:center;padding:70px 20px 50px}.certificate-sheet section>small{text-transform:uppercase;letter-spacing:.15em;color:#6a7890}.certificate-sheet h1{font-family:Georgia,serif;font-size:38px;margin:16px 0 35px}.certificate-sheet h2{font-family:Georgia,serif;font-size:32px;color:#0867dc;margin:10px 0}.certificate-sheet section p{font-size:15px;line-height:1.7}.certificate-sheet footer{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;align-items:end;border-top:1px solid #dce3ec;padding-top:25px}.certificate-barcode svg{width:240px;height:56px}.certificate-barcode b{display:block;font-size:10px}.certificate-sheet code{font-size:8px;word-break:break-all}.revoked-box{padding:14px;background:#ffecef;color:#9f2230;border-radius:8px;margin-top:20px}.certificate-sheet>.btn{position:absolute;right:30px;bottom:28px}.certificate-sheet.revoked:after{content:"REVOGADO";position:absolute;inset:45% auto auto 50%;transform:translate(-50%,-50%) rotate(-20deg);font-size:88px;color:rgba(215,40,55,.14);font-weight:900}.muted{color:var(--muted);font-size:9px}.convert-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:1100px){.crm-layout{grid-template-columns:1fr}.crm-directory{position:static}.vehicle-grid,.partner-campaign-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.two-cols,.profile-score{grid-template-columns:1fr 1fr}.vehicle-grid,.partner-campaign-grid{grid-template-columns:1fr}.mobile-field-head,.partner-hero{align-items:flex-start;flex-direction:column}.mobile-field-head>div{flex-wrap:wrap}.partner-topbar{padding:0 15px}.partner-content{width:94vw}.privacy-list{grid-template-columns:1fr}.certificate-body{padding:0}.certificate-sheet{border-width:6px;outline-offset:-12px;padding:35px 24px;min-height:100vh}.certificate-sheet h1{font-size:28px}.certificate-sheet h2{font-size:24px}.certificate-sheet footer{grid-template-columns:1fr}.certificate-sheet>.btn{position:static;margin-top:20px}}
@media print{.no-print{display:none!important}.certificate-body{padding:0;background:#fff}.certificate-sheet{box-shadow:none;width:100%;min-height:100vh}}

/* v2.0.0 — rede estadual, central reguladora e multi-hemocentros */
.network-hero,.government-banner{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px;border-radius:18px;margin-bottom:18px;background:linear-gradient(135deg,#062d59,#0a69c8);color:#fff;box-shadow:0 18px 45px rgba(6,45,89,.22)}
.network-hero h2,.government-banner h2{margin:4px 0 8px;font-size:25px}.network-hero p,.government-banner p{margin:0;color:#d8ecff;max-width:760px}.network-hero small,.government-banner small{text-transform:uppercase;letter-spacing:.1em;color:#a9d4ff}.network-live{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#ffffff18;border:1px solid #ffffff28;white-space:nowrap;font-size:10px}.network-live:before{content:"";width:8px;height:8px;border-radius:50%;background:#42e087;box-shadow:0 0 0 5px #42e08722}
.network-kpis,.government-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.network-dashboard-grid{grid-template-columns:1.35fr 1fr}.network-modules{grid-template-columns:repeat(4,minmax(0,1fr))}.network-modules .module-card{min-height:125px}.network-region-list,.regulation-mini-list,.forecast-compact{display:grid;gap:8px}.network-region-list article,.regulation-mini-list article,.forecast-compact article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.network-region-list b,.network-region-list small,.regulation-mini-list b,.regulation-mini-list small,.forecast-compact b,.forecast-compact small{display:block}.network-region-list small,.regulation-mini-list small,.forecast-compact small{font-size:8px;color:var(--muted);margin-top:3px}
.network-blood-grid{grid-template-columns:repeat(8,minmax(72px,1fr))}.critical-stock{border-color:#e75555!important;background:linear-gradient(180deg,var(--panel),#fff2f2)!important}.row-danger{background:#fff0f0}.row-alert{background:#fff8e7}.blood-badge{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#fff0f0;color:#b4232d;font-weight:900}
.regulation-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.18fr);gap:18px;align-items:start}.regulation-queue{position:sticky;top:102px}.regulation-directory{display:grid;gap:8px;max-height:650px;overflow:auto;padding-right:4px}.regulation-case{display:block;padding:13px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text);background:var(--panel)}.regulation-case:hover,.regulation-case.active{border-color:#3f91df;background:color-mix(in srgb,#eaf4ff 70%,var(--panel))}.regulation-case.late{box-shadow:inset 4px 0 #c52c3c}.regulation-case header,.regulation-case footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.regulation-case h3{font-size:12px;margin:9px 0 5px}.regulation-case p{font-size:9px!important;color:var(--muted)}.regulation-actions{display:flex;gap:8px;flex-wrap:wrap}.case-detail{margin-bottom:16px}.event-form{border-top:1px solid var(--line);padding-top:16px}.timeline article>i{font-style:normal}
.suggestion-grid,.contract-grid,.peer-grid,.network-region-cards,.network-unit-grid,.contingency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.suggestion-grid article,.contract-grid article,.peer-grid article,.network-region-cards article,.network-unit-grid article,.contingency-grid article{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--panel)}.route-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:13px 0}.route-line>span{text-align:center;color:#0867dc;font-size:20px}.route-line b,.route-line small{display:block}.route-line small{font-size:8px;color:var(--muted)}
.network-map-layout{display:grid;grid-template-columns:minmax(560px,1.5fr) minmax(280px,.5fr);gap:18px}.network-map-panel{overflow:hidden}.network-map-svg{position:relative;min-height:520px;border-radius:14px;background:radial-gradient(circle at 20% 20%,#eaf5ff,#dceaf7 55%,#c9dfef);border:1px solid #b9d2e8;overflow:hidden}.network-map-svg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#fff5 1px,transparent 1px),linear-gradient(90deg,#fff5 1px,transparent 1px);background-size:34px 34px}.map-node{position:absolute;transform:translate(-50%,-50%);z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0a6bc4;color:#fff;border:4px solid #fff;box-shadow:0 7px 18px #16365d45;font-size:16px}.map-node.alert{background:#cf2d3d;animation:pulseNode 1.8s infinite}.map-node.warning{background:#d58a0c}.map-label{position:absolute;z-index:3;transform:translate(-50%,24px);font-size:8px;font-weight:800;white-space:nowrap;background:#fff;padding:4px 7px;border-radius:6px;box-shadow:0 4px 12px #16365d22}.map-unit-list{display:grid;gap:8px}.map-link{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--text);text-decoration:none}.map-link:before{content:"";width:9px;height:9px;border-radius:50%;background:#0a6bc4}.map-link.alert:before{background:#cf2d3d}.map-link b,.map-link small{display:block}.map-link small{font-size:8px;color:var(--muted);margin-top:3px}@keyframes pulseNode{50%{box-shadow:0 0 0 12px #cf2d3d22,0 7px 18px #16365d45}}
.network-forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--panel)}.forecast-card.alto,.forecast-card.critico{border-color:#e5a0a7}.forecast-card.critico{background:#fff2f3}.forecast-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.forecast-values span{padding:9px 5px;border-radius:7px;background:var(--bg);text-align:center}.forecast-values b,.forecast-values small{display:block}.forecast-values small{font-size:7px;color:var(--muted)}
.simple-bar-chart{display:grid;gap:9px}.simple-bar-chart article{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr auto;align-items:center;gap:10px}.simple-bar-chart article>span{height:12px;border-radius:999px;background:#e8eef5;overflow:hidden}.simple-bar-chart article>span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0867dc,#63aef3)}.simple-bar-chart b{font-size:9px}.simple-bar-chart small{font-size:8px;color:var(--muted)}
.mfa-setup{padding:16px;border:1px dashed #67a5df;border-radius:11px;background:#eff7ff}.mfa-setup code{display:block;word-break:break-all;font-size:8px;margin:8px 0}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:10px 0}.recovery-codes code{padding:7px;border-radius:6px;background:#101820;color:#fff;text-align:center}.security-policy-form{align-items:end}.peer-grid article header,.contract-grid article header,.contingency-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.peer-grid h3,.contract-grid h3,.contingency-card h3{font-size:13px;margin:0 0 5px}.peer-grid p,.contract-grid p,.contingency-card p{font-size:9px!important;color:var(--muted)}
@media(max-width:1250px){.network-kpis,.government-kpis{grid-template-columns:repeat(3,1fr)}.network-blood-grid{grid-template-columns:repeat(4,1fr)}.network-modules,.network-forecast-grid{grid-template-columns:repeat(2,1fr)}.suggestion-grid,.contract-grid,.peer-grid,.network-region-cards,.network-unit-grid,.contingency-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.regulation-layout,.network-map-layout,.network-dashboard-grid{grid-template-columns:1fr}.regulation-queue{position:static}.network-map-svg{min-height:430px}}
@media(max-width:720px){.network-hero,.government-banner{align-items:flex-start;flex-direction:column}.network-kpis,.government-kpis{grid-template-columns:1fr 1fr}.network-blood-grid{grid-template-columns:repeat(2,1fr)}.network-modules,.network-forecast-grid,.suggestion-grid,.contract-grid,.peer-grid,.network-region-cards,.network-unit-grid,.contingency-grid{grid-template-columns:1fr}.network-map-svg{min-height:390px}.simple-bar-chart article{grid-template-columns:90px 1fr}.simple-bar-chart article>small{grid-column:2}.recovery-codes{grid-template-columns:1fr}}

/* v2.0.1 — usuários e permissões por módulo */
.permission-matrix-wrap{overflow:auto;max-height:72vh;border:1px solid var(--line);border-radius:13px}.permission-matrix{min-width:1050px}.permission-matrix thead th{position:sticky;top:0;z-index:4;background:var(--panel);text-align:center}.permission-matrix thead th:first-child{text-align:left;left:0;z-index:6}.permission-matrix td:first-child{position:sticky;left:0;z-index:2;background:var(--panel);min-width:260px}.permission-matrix td:not(:first-child){text-align:center;vertical-align:middle}.permission-group td{position:sticky!important;left:0!important;background:color-mix(in srgb,var(--brand) 8%,var(--panel))!important;color:var(--brand);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:9px;z-index:3!important}.matrix-check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.matrix-check input{position:absolute;opacity:0;pointer-events:none}.matrix-check span{width:24px;height:24px;border:1px solid var(--line);border-radius:7px;background:var(--input);display:grid;place-items:center}.matrix-check input:checked+span{background:#187444;border-color:#187444}.matrix-check input:checked+span:after{content:'✓';color:#fff;font-weight:900}.matrix-check input:disabled+span{opacity:.55;cursor:not-allowed}.override-matrix select{min-width:112px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);font-size:9px}.panel-actions{display:flex;justify-content:flex-end;padding-top:15px}.table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.table-actions form{margin:0}.btn.small{padding:7px 9px;font-size:9px}.modal-card{max-height:90vh;overflow:auto}
@media(max-width:720px){.permission-matrix-wrap{max-height:68vh}.permission-matrix td:first-child{min-width:190px}.page-heading{align-items:flex-start;flex-direction:column}.table-actions{min-width:180px}}

/* Central de notificações v2.0.1.1 */
.notification-center{position:relative;display:flex;align-items:center}.notification-btn{border-radius:50%;transition:background .18s ease,transform .18s ease}.notification-btn:hover,.notification-btn[aria-expanded="true"]{background:color-mix(in srgb,var(--soft) 72%,transparent);transform:translateY(-1px)}.notification-bell-icon{font-size:18px;line-height:1;filter:grayscale(1);transition:filter .18s ease}.notification-btn.has-notifications .notification-bell-icon{filter:none}.notification-panel{position:absolute;right:-8px;top:calc(100% + 12px);width:min(410px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 86px));background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px rgba(8,31,63,.24);z-index:120;overflow:hidden;opacity:0;transform:translateY(-8px) scale(.985);transform-origin:top right;transition:opacity .13s ease,transform .13s ease}.notification-panel.open{opacity:1;transform:translateY(0) scale(1)}.notification-panel:before{content:"";position:absolute;right:20px;top:-7px;width:13px;height:13px;background:var(--panel);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.notification-panel-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,var(--soft));z-index:1}.notification-panel-head>div{display:grid;gap:2px}.notification-panel-head strong{font-size:14px}.notification-panel-head small{font-size:10px;color:var(--muted)}.notification-mark-all{border:0;background:transparent;color:#0867dc;font-size:10px;font-weight:700;cursor:pointer;padding:7px 4px}.notification-mark-all:disabled{opacity:.45;cursor:not-allowed}.notification-list{max-height:470px;overflow:auto;overscroll-behavior:contain}.notification-loading,.notification-empty{padding:34px 20px;text-align:center;color:var(--muted);font-size:11px}.notification-empty{display:grid;justify-items:center;gap:5px}.notification-empty strong{font-size:13px;color:var(--text)}.notification-empty-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf8ef;color:#0a8a47;font-size:19px;margin-bottom:3px}.notification-empty.error .notification-empty-icon{background:#fff0f1;color:#c42836}.notification-item{display:grid;grid-template-columns:38px minmax(0,1fr) 12px;gap:11px;align-items:start;padding:13px 15px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);background:var(--panel);transition:background .15s ease}.notification-item:hover{background:color-mix(in srgb,var(--soft) 58%,var(--panel))}.notification-item.unread{background:color-mix(in srgb,#eaf4ff 55%,var(--panel))}.notification-item-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#edf2f8;color:#405670;font-weight:800}.notification-item.severity-critica .notification-item-icon,.notification-item.severity-alta .notification-item-icon{background:#fff0f1;color:#c42836}.notification-item.severity-media .notification-item-icon{background:#fff7e8;color:#b36a00}.notification-item.severity-baixa .notification-item-icon{background:#edf7ff;color:#0867dc}.notification-item-body{display:grid;gap:4px;min-width:0}.notification-item-title{display:flex;align-items:center;gap:7px}.notification-item-title strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-unread-dot{width:7px;height:7px;min-width:7px;border-radius:50%;background:#0867dc}.notification-item-description{font-size:10px;color:var(--muted);line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7a899d;font-size:9px}.notification-item-arrow{color:#9aa7b6;font-size:18px;padding-top:7px}.notification-panel-foot{display:flex;justify-content:center;gap:18px;padding:11px 14px;background:color-mix(in srgb,var(--bg) 68%,var(--panel));border-top:1px solid var(--line)}.notification-panel-foot a{font-size:10px;color:#0867dc;text-decoration:none;font-weight:700}.notification-panel-foot a:hover{text-decoration:underline}
@media(max-width:700px){.notification-center{position:static}.notification-panel{position:fixed;left:10px;right:10px;top:68px;width:auto;max-height:calc(100vh - 82px);transform-origin:top center}.notification-panel:before{right:122px}.notification-list{max-height:calc(100vh - 190px)}.notification-panel-head{padding:14px}.notification-panel-foot{flex-wrap:wrap}}

/* v2.0.2 — licenciamento e suporte temporário auditado */
.support-session-banner,.support-client-banner,.license-warning-banner{margin:0;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid transparent;font-size:11px;position:relative;z-index:18}.support-session-banner{background:#2c1747;color:#fff;border-color:#6f4a98}.support-client-banner{background:#e9f4ff;color:#15456f;border-color:#bddbf5}.license-warning-banner{background:#fff4d9;color:#784900;border-color:#efd49b}.support-session-banner div,.support-client-banner div{display:grid;gap:2px}.support-session-banner span,.support-client-banner span{opacity:.9}.support-session-banner a,.support-client-banner a,.license-warning-banner a{color:inherit;font-weight:800;text-decoration:underline;white-space:nowrap}.scope-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sensitive-result{border:2px solid #d4b04d;background:color-mix(in srgb,#fff7dc 55%,var(--panel))}.sensitive-result input,.sensitive-result textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text);margin:6px 0 12px}.recovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.recovery-grid code,.temporary-code{background:#111827;color:#fff;border-radius:9px;padding:10px;text-align:center;font-weight:800;letter-spacing:.08em}.temporary-code{font-size:25px;margin:14px 0;word-break:break-all}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-grid fieldset{border:1px solid var(--line);border-radius:11px;padding:11px}.form-grid legend{font-size:10px;font-weight:800;color:var(--muted);padding:0 6px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.diagnostic-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:10px}.diagnostic-grid b.ok{color:#16723a;background:transparent}.diagnostic-grid b.bad{color:#a01f1f;background:transparent}.blocked-license-card{width:min(620px,calc(100% - 28px));margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow);text-align:center}.blocked-license-card h1{margin:15px 0 8px}.blocked-license-card p{color:var(--muted);line-height:1.6}.blocked-license-card .btn{margin:6px}.license-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;margin:18px 0;background:var(--bg);padding:14px;border-radius:12px}.license-summary span{color:var(--muted);font-size:10px}.license-summary b{font-size:11px}.tag.orange{background:#fff4d9;color:#975a00}.muted{color:var(--muted);font-size:10px}
@media(max-width:720px){.support-session-banner,.support-client-banner,.license-warning-banner{align-items:flex-start;flex-direction:column;padding:10px 14px}.recovery-grid{grid-template-columns:repeat(2,1fr)}.check-grid,.diagnostic-grid{grid-template-columns:1fr}.temporary-code{font-size:18px}.blocked-license-card{padding:22px}.license-summary{grid-template-columns:1fr}}

/* v2.1.0 — implantação, ambientes, backup e atualização segura */
.environment-mode-banner{margin:0;padding:9px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff6dc;color:#785100;border-bottom:1px solid #ecd498;font-size:11px;position:relative;z-index:18}.environment-mode-banner>div{display:grid;gap:2px}.environment-mode-banner span{opacity:.88}.environment-mode-banner a{color:inherit;font-weight:800;text-decoration:underline;white-space:nowrap}.environment-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:10px;font-weight:900;background:#fff4d9;color:#855000;border:1px solid #efd59c}.environment-badge.mode-production{background:#e8f8ed;color:#126c35;border-color:#b9e1c6}.environment-badge.mode-training,.environment-badge.mode-demo{background:#eaf2ff;color:#17528e;border-color:#c7daf5}.implementation-steps{display:grid;gap:9px}.implementation-steps a{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;background:var(--panel)}.implementation-steps a:hover{background:var(--bg);border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}.implementation-steps b{font-size:11px}.implementation-steps span{font-size:9px;color:var(--muted)}.section-divider{font-size:10px;font-weight:900;color:var(--brand);padding:9px 0 2px;border-bottom:1px solid var(--line)}.inline-item-form{display:grid;grid-template-columns:110px minmax(150px,1fr) auto;gap:6px;align-items:center;min-width:390px}.inline-item-form select,.inline-item-form input{margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);font-size:9px}.approval-panel{display:grid;grid-template-columns:1fr minmax(380px,.8fr);gap:22px;align-items:center}.approval-panel h2{margin:0 0 5px}.update-rule{display:flex;align-items:center;gap:13px;margin:0}.update-rule>span{width:42px;height:42px;border-radius:14px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:19px;font-weight:900;flex:0 0 auto}.manifest-example{margin:0;background:#111827;color:#e5edf7;padding:16px;border-radius:13px;overflow:auto;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.panel code{font-size:10px}.empty{text-align:center;color:var(--muted);padding:26px!important}.tag.orange{background:#fff4d9;color:#975a00}
@media(max-width:900px){.approval-panel{grid-template-columns:1fr}.inline-item-form{min-width:320px;grid-template-columns:1fr}.environment-mode-banner{padding:9px 14px}}@media(max-width:650px){.environment-mode-banner{align-items:flex-start;flex-direction:column}.implementation-steps{grid-template-columns:1fr}.inline-item-form{min-width:260px}.approval-panel form{min-width:0}}

/* v2.2.0 — gestão documental, treinamentos, competências e assinaturas */
.modal-card{position:relative;width:min(650px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:22px;max-height:92vh;overflow:auto}.modal-card.wide{width:min(900px,100%)}.modal-card>h2{font-size:18px;margin:0 36px 18px 0}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--muted);font-size:26px;cursor:pointer}.form-grid small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.quality-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.quality-kpi-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);text-decoration:none;color:var(--text)}.quality-kpi-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf2ff;color:#17528e;font-weight:900}.quality-kpi-card small,.quality-kpi-card strong{display:block}.quality-kpi-card small{color:var(--muted);font-size:9px}.quality-kpi-card strong{font-size:25px;margin-top:3px}.quality-kpi-card.has-pending{border-color:#e7c36a;background:color-mix(in srgb,#fff8e5 52%,var(--panel))}.quality-kpi-card.has-pending>span{background:#fff0d0;color:#9a5c00}.signature-flow-list{display:grid;gap:8px;margin-top:16px}.signature-flow-list>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:2px 10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.signature-flow-list>div>span{grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#17528e;font-weight:900}.signature-flow-list b{font-size:10px}.signature-flow-list small{font-size:8px;color:var(--muted)}.signature-ledger{display:grid;gap:9px;max-height:650px;overflow:auto}.signature-ledger article{border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--panel)}.signature-ledger article.revoked{background:#fff1f1;border-color:#efb5b5}.signature-ledger header{display:flex;justify-content:space-between;gap:10px;align-items:center}.signature-ledger p{font-size:10px!important;margin:7px 0}.signature-ledger small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.signature-ledger code{display:block;margin:8px 0;padding:7px;background:var(--bg);border-radius:7px;font-size:8px;word-break:break-all}.panel code{word-break:break-all}.table-wrap td code{font-size:8px}.tag.purple{background:#f1eaff;color:#6941c6}
@media(max-width:1050px){.quality-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.quality-kpi-grid{grid-template-columns:1fr}.modal-card,.modal-card.wide{width:100%;max-height:100vh;border-radius:0}.check-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}

/* v2.3.0 — portal de auditoria, fiscalização e evidências digitais */
.audit-welcome{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,.45fr) auto;align-items:center;gap:18px;margin-bottom:18px}.audit-welcome>div{display:flex;align-items:center;gap:12px}.audit-welcome h1{margin:0;font-size:21px}.audit-welcome p{margin:4px 0 0;color:var(--muted);font-size:10px}.audit-welcome form label{display:grid;gap:5px;font-size:9px;color:var(--muted)}.audit-welcome select{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--text)}.audit-shield{width:45px;height:45px;display:grid;place-items:center;border:2px solid #1b9c5a;color:#1b9c5a;border-radius:14px;font-size:22px;font-weight:900}.audit-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.audit-metric-grid .metric-card{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;align-items:center;text-decoration:none;color:var(--text);padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.audit-metric-grid small,.audit-metric-grid strong,.audit-metric-grid em{grid-column:2}.audit-metric-grid small{color:var(--muted);font-size:9px}.audit-metric-grid strong{font-size:25px}.audit-metric-grid em{font-style:normal;color:var(--brand);font-size:9px}.audit-metric-icon{grid-row:1/4;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:19px;font-weight:900}.audit-metric-icon.burgundy{background:#fde8ee;color:#a6103f}.audit-metric-icon.blue{background:#e6f0ff;color:#1263ba}.audit-metric-icon.yellow{background:#fff3d3;color:#b37300}.audit-metric-icon.green{background:#e5f7ec;color:#168047}.audit-metric-icon.purple{background:#f0e9ff;color:#7146b3}.audit-dashboard-grid{display:grid;grid-template-columns:1.05fr 1.15fr .8fr;gap:14px;margin-bottom:16px}.audit-donut-wrap{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:18px}.audit-donut{width:170px;height:170px;border-radius:50%;background:conic-gradient(#1d9b57 0 var(--c1),#f4bd14 var(--c1) var(--c2),#e53935 var(--c2) var(--c3),#c7ccd4 var(--c3) 100%);display:grid;place-items:center;position:relative}.audit-donut:before{content:"";position:absolute;inset:33px;background:var(--panel);border-radius:50%}.audit-donut b,.audit-donut small{position:relative;z-index:1}.audit-donut b{font-size:29px}.audit-donut small{position:absolute;top:101px;color:var(--muted);font-size:9px}.audit-legend{display:grid;gap:10px}.audit-legend span{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:9px}.audit-legend i{width:9px;height:9px;border-radius:3px}.audit-legend i.green{background:#1d9b57}.audit-legend i.yellow{background:#f4bd14}.audit-legend i.red{background:#e53935}.audit-legend i.gray{background:#c7ccd4}.audit-bars{height:185px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;border-bottom:1px solid var(--line);padding:10px 12px}.audit-bars>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;flex:1}.audit-bars span{height:115px;display:flex;align-items:flex-end}.audit-bars i{display:block;width:54px;border-radius:6px 6px 0 0}.audit-bars i.red{background:#e53935}.audit-bars i.orange{background:#ff7d1a}.audit-bars i.yellow{background:#f4bd14}.audit-bars i.gray{background:#98a2b3}.audit-bars small{font-size:9px;text-align:center}.audit-quick{display:grid}.audit-quick a{padding:10px 2px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:10px}.audit-quick a:hover{color:var(--brand)}.audit-lower-grid{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-bottom:16px}.audit-alert-list{display:grid}.audit-alert-list a{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.audit-alert-list a>span{width:32px;height:32px;border-radius:10px;background:#fff1d8;color:#aa6600;display:grid;place-items:center;font-weight:900}.audit-alert-list b,.audit-alert-list small{display:block}.audit-alert-list small{color:var(--muted);font-size:8px;margin-top:3px}.audit-timeline{display:flex;gap:12px;overflow:auto;padding:8px 0}.audit-timeline>div{min-width:150px;display:grid;justify-items:center;text-align:center;position:relative}.audit-timeline>div:after{content:"";height:2px;background:var(--line);position:absolute;left:50%;right:-18px;top:15px}.audit-timeline>div:last-child:after{display:none}.audit-timeline span{width:31px;height:31px;border-radius:50%;background:var(--brand);color:white;display:grid;place-items:center;z-index:1}.audit-timeline b{font-size:9px;margin-top:7px}.audit-timeline small{color:var(--muted);font-size:8px}.audit-timeline p{font-size:8px!important;color:var(--muted)}.compact-form{display:grid;gap:5px;min-width:220px}.compact-form input,.compact-form select,.compact-form textarea{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--input);color:var(--text);font-size:9px}.viz-callout{padding:16px;border:1px solid #e9c16a;border-radius:13px;background:#fff8e5;margin-bottom:16px}.temporary-code{font-size:22px;font-weight:900;letter-spacing:.12em;background:#111827;color:#fff;padding:11px;border-radius:9px;text-align:center;margin:10px 0}.table-wrap td small{display:block;color:var(--muted);font-size:8px;margin-top:3px}
@media(max-width:1180px){.audit-metric-grid{grid-template-columns:repeat(3,1fr)}.audit-dashboard-grid{grid-template-columns:1fr 1fr}.audit-dashboard-grid aside{grid-column:1/-1}.audit-lower-grid{grid-template-columns:1fr}}
@media(max-width:780px){.audit-welcome{grid-template-columns:1fr}.audit-metric-grid{grid-template-columns:repeat(2,1fr)}.audit-dashboard-grid{grid-template-columns:1fr}.audit-donut-wrap{grid-template-columns:1fr;justify-items:center}.audit-lower-grid{grid-template-columns:1fr}}
@media(max-width:480px){.audit-metric-grid{grid-template-columns:1fr}.audit-welcome>div{align-items:flex-start}.audit-donut{width:150px;height:150px}.audit-donut:before{inset:30px}.audit-donut small{top:88px}}

/* v2.4.0 — BI avançado, indicadores preditivos e IA assistiva */
.bi-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.bi-filter-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.bi-filter-form label{display:grid;gap:5px;color:var(--muted);font-size:9px}.bi-filter-form input,.bi-filter-form select{min-width:150px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text)}.bi-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.bi-metric-card{display:grid;grid-template-columns:40px 1fr;gap:2px 10px;align-items:center;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.bi-metric-card>span{grid-row:1/4;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eaf2ff;color:#17528e;font-size:19px;font-weight:900}.bi-metric-card small,.bi-metric-card strong,.bi-metric-card em{grid-column:2}.bi-metric-card small{color:var(--muted);font-size:9px}.bi-metric-card strong{font-size:24px}.bi-metric-card em{font-style:normal;color:#1b7a45;font-size:8px}.bi-metric-card.danger>span{background:#ffe9e9;color:#a31f1f}.bi-metric-card.warning>span{background:#fff1df;color:#ad5a00}.bi-grid-main{display:grid;grid-template-columns:1.2fr 1fr .95fr;gap:14px}.bi-grid-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.bi-grid-bottom{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:14px}.bi-stock-chart{height:205px;display:flex;align-items:flex-end;justify-content:space-around;gap:8px;border-bottom:1px solid var(--line);padding:8px 4px}.bi-stock-column{display:grid;justify-items:center;gap:5px;flex:1}.bi-stack{height:160px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bi-stack i{display:block;width:11px;border-radius:4px 4px 0 0;min-height:2px}.redcells{background:#c92d3b}.platelets{background:#f49a9e}.plasma{background:#f4c0bd}.cryo{background:#9986b5}.bi-stock-column b{font-size:10px}.bi-stock-column small{font-size:8px;color:var(--muted)}.bi-legend{display:flex;gap:14px;flex-wrap:wrap;padding-top:10px}.bi-legend span{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.bi-legend i{width:9px;height:9px;border-radius:3px}.bi-forecast-list,.bi-expiry-list{display:grid;gap:6px}.bi-forecast-list a{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none}.bi-forecast-list b{font-size:9px}.bi-forecast-list small{grid-column:1/-1;color:var(--muted);font-size:8px}.bi-risk-summary{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.bi-risk-summary span{padding:5px 8px;border-radius:99px;font-size:8px}.bi-risk-summary .green{background:#e9f8ee;color:#16713d}.bi-risk-summary .amber{background:#fff3d9;color:#925600}.bi-risk-summary .red{background:#ffe8e8;color:#971b1b}.bi-expiry-list a{display:grid;grid-template-columns:1fr auto 35px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.bi-expiry-list b,.bi-expiry-list small{display:block}.bi-expiry-list b{font-size:9px}.bi-expiry-list small{color:var(--muted);font-size:8px}.bi-expiry-list strong{text-align:right;font-size:9px}.bi-expiry-list em{font-style:normal;width:31px;height:31px;border-radius:10px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-weight:800}.bi-ring{--value:0;width:135px;height:135px;border-radius:50%;margin:4px auto 14px;background:conic-gradient(#1e9d59 calc(var(--value)*1%),#e7eaf0 0);display:grid;place-items:center;position:relative}.bi-ring:before{content:"";position:absolute;inset:24px;background:var(--panel);border-radius:50%}.bi-ring strong,.bi-ring small{z-index:1}.bi-ring strong{font-size:24px}.bi-ring small{position:absolute;top:78px;color:var(--muted);font-size:8px}.bi-ring.blue{background:conic-gradient(#2b75b9 calc(var(--value)*1%),#e7eaf0 0)}.bi-ring.nc{background:conic-gradient(#d63a35 calc(var(--value)*1%),#f2b51b 0 72%,#e7eaf0 0)}.bi-inline-stats{display:flex;justify-content:space-around;gap:6px}.bi-inline-stats span{font-size:8px;color:var(--muted);text-align:center}.bi-inline-stats b{display:block;color:var(--text);font-size:12px}.bi-mini-list{display:grid;gap:7px}.bi-mini-list span{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:8px}.bi-mini-list em{font-style:normal;font-weight:800}.bi-horizontal-bars{display:grid;gap:9px}.bi-horizontal-bars>div{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 28px;gap:7px;align-items:center}.bi-horizontal-bars span,.bi-horizontal-bars em{font-size:8px}.bi-horizontal-bars em{font-style:normal;text-align:right}.bi-horizontal-bars i{height:10px;background:var(--bg);border-radius:99px;overflow:hidden}.bi-horizontal-bars b{display:block;height:100%;background:#4f93c9;border-radius:99px}.bi-trend-table{display:grid;gap:3px;overflow:auto}.bi-trend-table>div{display:grid;grid-template-columns:70px repeat(5,1fr);gap:7px;padding:7px;border-bottom:1px solid var(--line);font-size:8px;min-width:540px}.bi-trend-table>div:first-child{color:var(--muted);text-transform:uppercase}.bi-recommendations{display:grid;gap:7px}.bi-recommendations a{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text)}.bi-recommendations span{width:28px;height:28px;border-radius:9px;background:#efe9ff;color:#7047b4;display:grid;place-items:center}.bi-recommendations p{margin:0!important;font-size:9px!important;color:var(--text)!important}.bi-recommendations em{font-style:normal;font-size:8px;color:var(--muted)}.bi-recommendations a.critica{border-color:#efb3b3;background:#fff1f1}.bi-recommendations a.alta{border-color:#ecd39f;background:#fff9eb}.bi-recommendations.large a{padding:13px}.bi-question-chips{display:flex;gap:7px;flex-wrap:wrap}.bi-question-chips a{padding:7px 9px;border-radius:9px;background:#eaf2ff;color:#17528e;text-decoration:none;font-size:8px}.case-list{display:grid;gap:8px}.case-card{border:1px solid var(--line);border-radius:11px;background:var(--panel)}.case-card summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px}.case-card summary span:first-child{min-width:0}.case-card b,.case-card small{display:block}.case-card b{font-size:9px}.case-card small{font-size:8px;color:var(--muted)}.case-detail{padding:0 11px 11px}.case-detail p{font-size:9px!important}.inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.page-heading h1{margin:0;font-size:20px}.page-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}
@media(max-width:1300px){.bi-metric-grid{grid-template-columns:repeat(3,1fr)}.bi-grid-main{grid-template-columns:1fr 1fr}.bi-grid-main>section:last-child{grid-column:1/-1}.bi-grid-secondary{grid-template-columns:repeat(2,1fr)}.bi-grid-bottom{grid-template-columns:1fr 1fr}.bi-grid-bottom>section:last-child{grid-column:1/-1}}
@media(max-width:800px){.bi-toolbar{align-items:stretch;flex-direction:column}.bi-filter-form{display:grid;grid-template-columns:1fr 1fr}.bi-grid-main,.bi-grid-secondary,.bi-grid-bottom{grid-template-columns:1fr}.bi-grid-main>section:last-child,.bi-grid-bottom>section:last-child{grid-column:auto}.bi-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.bi-metric-grid{grid-template-columns:1fr}.bi-filter-form{grid-template-columns:1fr}.bi-filter-form input,.bi-filter-form select{min-width:0}.bi-stock-chart{height:175px}.bi-stack{height:130px}}

/* v2.5.0 — Financeiro, custos, compras, contratos e prestação de contas */
.finance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.finance-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.finance-metric{display:grid;grid-template-columns:42px 1fr;gap:2px 11px;align-items:center;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.finance-metric>span{grid-row:1/4;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px;font-weight:900;background:var(--soft);color:var(--brand)}.finance-metric small,.finance-metric strong,.finance-metric em{grid-column:2}.finance-metric small{font-size:9px;color:var(--muted)}.finance-metric strong{font-size:20px;line-height:1.15}.finance-metric em{font-size:8px;font-style:normal;color:var(--muted)}.finance-metric.green>span{background:#e7f7ed;color:#16713d}.finance-metric.blue>span{background:#e8f2ff;color:#1c62a9}.finance-metric.red>span{background:#ffe9e9;color:#a82929}.finance-metric.purple>span{background:#f0eaff;color:#7046b0}.finance-metric.teal>span{background:#e5f7f5;color:#157a70}.finance-metric.orange>span{background:#fff0df;color:#ad5b0c}.finance-grid-main{display:grid;grid-template-columns:1.25fr 1fr 1fr .72fr;gap:14px;margin-bottom:14px}.finance-grid-bottom{display:grid;grid-template-columns:1fr .32fr;gap:14px}.finance-cash-chart{height:190px;display:flex;align-items:flex-end;gap:5px;overflow:auto;border-bottom:1px solid var(--line);padding:6px 2px}.finance-day{min-width:25px;display:grid;justify-items:center;gap:5px}.finance-bars{height:154px;display:flex;align-items:flex-end;gap:2px}.finance-bars i{display:block;width:8px;min-height:2px;border-radius:4px 4px 0 0}.finance-bars .income,.finance-legend .income{background:#239b59}.finance-bars .expense,.finance-legend .expense{background:#da3e43}.finance-day small{font-size:7px;color:var(--muted)}.finance-legend{display:flex;gap:13px;margin-top:10px}.finance-legend span{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.finance-legend i{width:9px;height:9px;border-radius:3px}.finance-total-line{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:9px}.finance-total-line b{color:#19834a}.finance-category-list,.finance-aging,.finance-alerts,.finance-forecast{display:grid;gap:9px}.finance-category-list>div{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 38px;gap:8px;align-items:center}.finance-category-list span,.finance-category-list small{display:block}.finance-category-list span{font-size:8px}.finance-category-list small{color:var(--muted);margin-top:2px}.finance-category-list i,.finance-aging i{height:10px;border-radius:99px;background:var(--bg);overflow:hidden}.finance-category-list i b{display:block;height:100%;background:#2e74c5;border-radius:99px}.finance-category-list em{font-style:normal;text-align:right;font-size:8px}.finance-aging>div{display:grid;grid-template-columns:minmax(92px,1fr) .9fr 75px;gap:8px;align-items:center}.finance-aging span,.finance-aging small{display:block}.finance-aging span{font-size:8px}.finance-aging small{color:var(--muted);font-size:7px;margin-top:2px}.finance-aging i b{display:block;height:100%;border-radius:99px;background:#efad1c}.finance-aging>div:first-child i b{background:#d7333b}.finance-aging strong{text-align:right;font-size:8px}.finance-alerts a{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none}.finance-alerts a>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:900;background:var(--soft);color:var(--brand)}.finance-alerts p{margin:0!important}.finance-alerts b,.finance-alerts small{display:block}.finance-alerts b{font-size:8px}.finance-alerts small{font-size:7px;color:var(--muted);margin-top:2px}.finance-alerts em{font-style:normal}.finance-alerts .red>span{background:#ffe9e9;color:#a82929}.finance-alerts .amber>span{background:#fff1dc;color:#9a5a00}.finance-alerts .blue>span{background:#e8f2ff;color:#1c62a9}.finance-alerts .green>span{background:#e7f7ed;color:#16713d}.finance-forecast>div{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.finance-forecast span{font-size:8px}.finance-forecast strong{font-size:10px}.finance-forecast .green{background:#effaf3;color:#16713d}.finance-forecast .red{background:#fff1f1;color:#a82929}.finance-forecast .blue{background:#eef5ff;color:#1c62a9}.dre-list{display:grid;gap:8px}.dre-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid var(--line)}.dre-list span{font-size:9px}.dre-list strong{font-size:10px}.dre-result{padding:14px;border-radius:12px;background:var(--soft);display:flex;justify-content:space-between;gap:10px}.dre-result.positive{background:#eaf8ef;color:#16713d}.dre-result.negative{background:#fff0f0;color:#a82929}.audit-json{max-width:420px;max-height:150px;overflow:auto;white-space:pre-wrap;font-size:8px;background:var(--bg);padding:8px;border-radius:8px}
@media(max-width:1380px){.finance-metrics{grid-template-columns:repeat(3,1fr)}.finance-grid-main{grid-template-columns:1fr 1fr}.finance-grid-main aside{grid-column:1/-1}.finance-grid-bottom{grid-template-columns:1fr .45fr}}
@media(max-width:850px){.finance-toolbar{align-items:stretch;flex-direction:column}.finance-grid-main,.finance-grid-bottom{grid-template-columns:1fr}.finance-grid-main aside{grid-column:auto}.finance-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.finance-metrics{grid-template-columns:1fr}.finance-category-list>div{grid-template-columns:1fr}.finance-category-list em{text-align:left}.finance-aging>div{grid-template-columns:1fr 1fr}.finance-aging strong{grid-column:2;text-align:right}}


/* v2.6.0 — NFS-e, XML de compras e documentos do doador */
.app-dialog{width:min(720px,calc(100% - 28px));max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:20px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.app-dialog::backdrop{background:rgba(4,17,34,.62);backdrop-filter:blur(3px)}
.app-dialog h3{margin:0 0 8px}.app-dialog .form-grid{margin:0}
.xml-item-card{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;background:var(--panel)}
.xml-item-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.xml-item-head small{display:block;color:var(--muted);margin-top:3px}
.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.form-grid.compact{grid-template-columns:1fr}.app-dialog{padding:14px}}

/* v2.7.0 — Recursos Humanos, escalas, ponto e saúde ocupacional */
.hr-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}.hr-toolbar h1{margin:0}.hr-toolbar p{margin:5px 0 0;color:var(--muted);font-size:10px}.hr-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.hr-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.hr-metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.hr-metric span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.hr-metric strong{font-size:25px;color:var(--text)}.hr-metric small{font-size:8px;color:var(--muted)}.hr-metric.red{border-color:#f1b6ba;background:color-mix(in srgb,var(--panel) 94%,#ffe8ea)}.hr-metric.amber{border-color:#efd5a5;background:color-mix(in srgb,var(--panel) 94%,#fff1d9)}.hr-metric.green{border-color:#b9dfc8;background:color-mix(in srgb,var(--panel) 94%,#e9f8ef)}.hr-metric.blue{border-color:#b6d3ef;background:color-mix(in srgb,var(--panel) 94%,#eaf3ff)}.hr-metric.purple{border-color:#d5c3ea;background:color-mix(in srgb,var(--panel) 94%,#f3ebff)}.hr-metric.teal{border-color:#addbd6;background:color-mix(in srgb,var(--panel) 94%,#e7f8f5)}
.hr-grid-main{display:grid;grid-template-columns:1.35fr .9fr;gap:14px;margin-bottom:14px}.hr-grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.hr-alert-list{display:grid;gap:9px}.hr-alert-list a,.hr-alert-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text)}.hr-alert-list i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;background:var(--soft);color:var(--brand)}.hr-alert-list b,.hr-alert-list small{display:block}.hr-alert-list b{font-size:10px}.hr-alert-list small{font-size:8px;color:var(--muted);margin-top:3px}.hr-status-bars{display:grid;gap:11px}.hr-status-bars>div{display:grid;grid-template-columns:minmax(100px,1fr) 1.7fr 40px;gap:8px;align-items:center}.hr-status-bars span{font-size:9px}.hr-status-bars i{height:10px;background:var(--bg);border-radius:99px;overflow:hidden}.hr-status-bars i b{display:block;height:100%;border-radius:99px;background:var(--brand)}.hr-status-bars em{font-size:8px;font-style:normal;text-align:right;color:var(--muted)}
.hr-shift-list{display:grid;gap:10px}.hr-shift-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px}.hr-shift-list b,.hr-shift-list small{display:block}.hr-shift-list b{font-size:10px}.hr-shift-list small{font-size:8px;color:var(--muted);margin-top:3px}
.hr-schedule-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px}.hr-schedule-nav{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:7px;align-content:start}.hr-schedule-nav>a{display:block;padding:10px;border:1px solid transparent;border-radius:9px;color:var(--text);text-decoration:none;font-size:9px}.hr-schedule-nav>a:hover,.hr-schedule-nav>a.active{background:var(--soft);border-color:var(--line);color:var(--brand)}.hr-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.hr-day,.hr-day-empty{min-height:145px;border:1px solid var(--line);border-radius:11px;padding:9px;background:var(--panel)}.hr-day-empty{opacity:.42;background:var(--bg)}.hr-day>header{display:flex;justify-content:space-between;gap:6px;margin-bottom:7px}.hr-day>header b{font-size:10px}.hr-day>header small{font-size:8px;color:var(--muted)}.hr-day .tag{margin:2px 2px 2px 0}.hr-day p{font-size:8px;margin:5px 0;color:var(--muted)}
.hr-clock-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);margin-bottom:14px}.hr-clock-hero time{font-size:36px;font-weight:700;letter-spacing:.02em}.hr-clock-hero p{margin:5px 0 0;color:var(--muted)}.hr-clock-hero>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.hr-timeline{display:grid;gap:0}.hr-timeline>div{position:relative;padding:0 0 16px 23px;border-left:2px solid var(--line);margin-left:7px}.hr-timeline>div:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;left:-6px;top:2px;background:var(--brand);border:2px solid var(--panel)}.hr-timeline>div:last-child{border-left-color:transparent}.hr-timeline b,.hr-timeline small{display:block}.hr-timeline b{font-size:10px}.hr-timeline small{font-size:8px;color:var(--muted);margin-top:3px}.hr-timeline.compact>div{padding-bottom:10px}.hr-summary-list{display:grid;gap:8px}.hr-summary-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--line)}.hr-summary-list span{font-size:9px}.hr-summary-list strong{font-size:10px}
.hr-operation-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.hr-coverage-list{display:grid;gap:9px}.hr-coverage-list>div{display:grid;grid-template-columns:minmax(140px,1fr) 1.4fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}.hr-coverage-list b,.hr-coverage-list small{display:block}.hr-coverage-list b{font-size:10px}.hr-coverage-list small{font-size:8px;color:var(--muted);margin-top:3px}.hr-coverage-list i{height:10px;background:var(--bg);border-radius:99px;overflow:hidden}.hr-coverage-list i span{display:block;height:100%;border-radius:99px;background:var(--brand)}
.hr-payroll-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.hr-payroll-metrics>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.hr-payroll-metrics span,.hr-payroll-metrics strong{display:block}.hr-payroll-metrics span{font-size:8px;color:var(--muted)}.hr-payroll-metrics strong{font-size:18px;margin-top:6px}
.employee-hero{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);margin-bottom:14px}.employee-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-size:20px;font-weight:700}.employee-hero h2{margin:0}.employee-hero p{margin:4px 0;color:var(--muted);font-size:9px}.employee-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.employee-quick-grid a{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:13px;text-decoration:none;color:var(--text)}.employee-quick-grid b,.employee-quick-grid small{display:block}.employee-quick-grid b{font-size:10px}.employee-quick-grid small{font-size:8px;color:var(--muted);margin-top:4px}.employee-clock{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.employee-clock time{font-size:23px;font-weight:700}.employee-schedule-list,.employee-list{display:grid;gap:8px}.employee-schedule-list>div,.employee-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.employee-schedule-list b,.employee-schedule-list small,.employee-list b,.employee-list small{display:block}.employee-schedule-list b,.employee-list b{font-size:9px}.employee-schedule-list small,.employee-list small{font-size:8px;color:var(--muted);margin-top:3px}.employee-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:1350px){.hr-metrics{grid-template-columns:repeat(3,1fr)}.hr-calendar-grid{grid-template-columns:repeat(4,1fr)}.hr-day-empty{display:none}}
@media(max-width:980px){.hr-grid-main,.hr-grid-bottom,.employee-portal-grid{grid-template-columns:1fr}.hr-schedule-layout{grid-template-columns:1fr}.hr-schedule-nav{display:flex;overflow:auto}.hr-schedule-nav>a{white-space:nowrap}.hr-payroll-metrics{grid-template-columns:repeat(3,1fr)}.employee-quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.hr-toolbar,.hr-operation-head{align-items:stretch;flex-direction:column}.hr-metrics,.hr-payroll-metrics{grid-template-columns:repeat(2,1fr)}.hr-calendar-grid{grid-template-columns:1fr}.hr-day{min-height:auto}.hr-clock-hero,.employee-hero{grid-template-columns:1fr}.hr-clock-hero time{font-size:29px}.employee-hero>div:last-child{justify-self:start}.hr-status-bars>div,.hr-coverage-list>div{grid-template-columns:1fr}.employee-quick-grid{grid-template-columns:1fr}}
@media(max-width:430px){.hr-metrics,.hr-payroll-metrics{grid-template-columns:1fr}}

/* v2.8.0 — Gestão de Hemocentros, Hemonúcleos e Rede Regional */
.hc-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:22px;border-radius:17px;background:linear-gradient(135deg,#5e111b,#9d2537);color:#fff;margin-bottom:15px}.hc-hero h1{margin:4px 0 7px}.hc-hero p{margin:0;color:#f5dfe3}.hc-hero span{font-size:8px;letter-spacing:.1em;text-transform:uppercase}.hc-hero form,.hc-toolbar form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.hc-hero label{color:#fff}.hc-hero select{min-width:220px;background:#fff;color:#1f2937}
.hc-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:15px}.hc-toolbar h1{margin:0}.hc-toolbar p{margin:5px 0 0;color:var(--muted);font-size:10px}
.hc-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:15px}.hc-kpis.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.hc-kpi{display:block;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;color:var(--text)}.hc-kpi small,.hc-kpi span,.hc-kpi strong{display:block}.hc-kpi small{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:8px}.hc-kpi strong{font-size:24px;margin:8px 0}.hc-kpi span{font-size:8px;color:var(--muted)}.hc-kpi.blue{border-color:#b8d5ef}.hc-kpi.green{border-color:#b7ddc5}.hc-kpi.purple{border-color:#d6c1e8}.hc-kpi.amber{border-color:#edd3a2}.hc-kpi.red{border-color:#efb7bd}
.hc-production-grid,.hc-target-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hc-production-grid>div,.hc-target-summary>div{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.hc-production-grid small,.hc-target-summary small,.hc-production-grid strong,.hc-target-summary strong{display:block}.hc-production-grid strong,.hc-target-summary strong{font-size:22px;margin-top:7px}.hc-production-grid small,.hc-target-summary small{font-size:8px;color:var(--muted)}
.hc-alerts,.hc-profile-grid,.hc-cap-list,.hc-supervision-list,.hc-allocation-list{display:grid;gap:9px}.hc-alerts article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px}.hc-alerts article>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);font-weight:900}.hc-alerts article b,.hc-alerts article small{display:block}.hc-alerts article small{font-size:8px;color:var(--muted);margin-top:3px}.hc-alerts .danger{border-color:#efb7bd}.hc-alerts .warn{border-color:#efd3a1}.hc-alerts .ok{border-color:#b7ddc5}
.hc-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
.hc-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hc-profile-grid article{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.hc-profile-grid article.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.hc-profile-grid h3{margin:8px 0 4px;font-size:12px}.hc-profile-grid p,.hc-profile-grid small{font-size:8px;color:var(--muted)}.hc-profile-grid article>div:last-child{text-align:right}.hc-profile-grid article>div:last-child strong,.hc-profile-grid article>div:last-child small,.hc-profile-grid article>div:last-child a{display:block}.hc-profile-grid article>div:last-child strong{font-size:23px}.hc-profile-grid article>div:last-child a{margin-top:10px;font-size:9px}
.hc-checks{display:flex;flex-wrap:wrap;gap:7px}.hc-checks .consent{min-width:145px}
.hc-cap-list a,.hc-allocation-list a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text)}.hc-allocation-list a{grid-template-columns:minmax(0,1fr) auto}.hc-cap-list a:hover,.hc-cap-list a.selected,.hc-allocation-list a:hover,.hc-allocation-list a.selected{border-color:var(--brand);background:var(--soft)}.hc-cap-list b,.hc-cap-list small,.hc-allocation-list b,.hc-allocation-list small,.hc-allocation-list p{display:block}.hc-cap-list small,.hc-allocation-list small,.hc-allocation-list p{font-size:8px;color:var(--muted);margin:3px 0 0}.hc-cap-list strong{text-align:right}.hc-cap-list strong small{font-weight:400}
.hc-target-summary{grid-template-columns:repeat(3,1fr)}.hc-progress{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:center}.hc-progress i{height:10px;border-radius:99px;background:var(--bg);overflow:hidden}.hc-progress i b{display:block;height:100%;background:var(--brand);border-radius:99px}.hc-progress span{font-size:8px;text-align:right}
.hc-supervision-list article{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px}.hc-supervision-list b,.hc-supervision-list small{display:block}.hc-supervision-list p{font-size:9px;margin:7px 0 0;color:var(--text)}.hc-supervision-list small{font-size:8px;color:var(--muted);margin-top:3px}.hc-supervision-list article>div:last-child{text-align:right}
.hc-stage-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
@media(max-width:1250px){.hc-kpis{grid-template-columns:repeat(3,1fr)}.hc-profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.hc-hero,.hc-toolbar{align-items:stretch;flex-direction:column}.hc-kpis,.hc-kpis.compact{grid-template-columns:repeat(2,1fr)}.hc-modules,.hc-profile-grid{grid-template-columns:1fr}.hc-production-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hc-kpis,.hc-kpis.compact,.hc-production-grid,.hc-target-summary{grid-template-columns:1fr}.hc-cap-list a{grid-template-columns:1fr}.hc-cap-list strong{text-align:left}}
/* v2.9.0.3 - white-label funcional */
:root{--brand-primary:#9f1239;--brand-secondary:#0f172a}
.brand-drop,.btn.primary{background:var(--brand-primary)!important}.sidebar{background:var(--brand-secondary)!important}.topbar-title{color:var(--brand-secondary)}
.brand-logo-image{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}.wl-preview{display:grid;grid-template-columns:1.2fr .8fr;min-height:260px;border-radius:18px;overflow:hidden;border:1px solid #dce2ea}.wl-preview-side{background:linear-gradient(135deg,var(--wl-secondary),var(--wl-primary));color:#fff;padding:38px;display:flex;flex-direction:column;gap:14px;justify-content:center}.wl-preview-side img{max-width:150px;max-height:70px;object-fit:contain;align-self:flex-start;background:#fff;border-radius:10px;padding:6px}.wl-preview-side>b{font-size:46px}.wl-preview-side strong{font-size:26px}.wl-preview-side small{max-width:520px}.wl-preview-card{padding:38px;display:flex;flex-direction:column;justify-content:center;gap:12px}.wl-preview-card span{font-size:11px;font-weight:800;color:var(--wl-primary)}.wl-preview-card button{border:0;border-radius:10px;padding:12px;background:var(--wl-primary);color:#fff;font-weight:800}.span-2{grid-column:1/-1}@media(max-width:800px){.wl-preview{grid-template-columns:1fr}.wl-preview-side,.wl-preview-card{padding:24px}}
.login-brand-image{max-width:180px;max-height:90px;object-fit:contain;background:#fff;border-radius:14px;padding:8px;margin-bottom:12px}

/* v2.9.0.4 - seletor funcional de unidade */
.unit-switcher{position:relative}.unit-switcher-button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);display:flex;align-items:center;gap:9px;border-radius:12px;padding:6px 10px;min-width:185px;text-align:left}.unit-switcher-button>span{display:block;min-width:0;flex:1}.unit-switcher-button small,.unit-switcher-button strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-switcher-button small{font-size:8px;color:var(--muted);font-weight:600}.unit-switcher-button strong{font-size:10px;margin-top:2px}.unit-switcher-button>b{color:var(--muted)}.unit-switcher-menu{position:absolute;right:0;top:calc(100% + 8px);width:310px;max-height:420px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 48px #0003;padding:8px;z-index:120}.unit-switcher-head{padding:9px 10px 11px;border-bottom:1px solid var(--line);margin-bottom:5px}.unit-switcher-head b,.unit-switcher-head small{display:block}.unit-switcher-head b{font-size:11px}.unit-switcher-head small{font-size:8px;color:var(--muted);margin-top:3px}.unit-switcher-menu form{margin:0}.unit-option{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border-radius:10px;cursor:pointer}.unit-option:hover,.unit-option.active{background:var(--soft)}.unit-option.active{box-shadow:inset 3px 0 var(--brand)}.unit-option>span{width:28px;height:28px;border-radius:9px;background:var(--bg);display:grid;place-items:center;color:var(--brand)}.unit-option div{min-width:0}.unit-option b,.unit-option small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-option b{font-size:10px}.unit-option small{font-size:8px;color:var(--muted);margin-top:2px}.unit-switcher-empty{padding:13px 10px;color:var(--muted);font-size:9px}.unit-context-banner{display:flex;align-items:center;gap:8px;padding:7px 25px;background:color-mix(in srgb,var(--brand) 7%,var(--panel));border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}@media(max-width:900px){.unit-switcher-button{min-width:0;width:42px;height:39px;padding:0;display:grid;place-items:center}.unit-switcher-button>span{display:none}.unit-switcher-menu{position:fixed;left:12px;right:12px;top:72px;width:auto;max-height:65vh}}
.network-leaflet-map{height:560px;min-height:420px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e8f0f7;z-index:1}.network-map-fallback{min-height:420px;border:1px dashed var(--line);border-radius:14px;display:grid;place-content:center;text-align:center;gap:8px;color:var(--muted);background:var(--surface-soft)}.network-map-fallback b{color:var(--text);font-size:18px}.network-map-popup{display:grid;gap:4px;min-width:220px}.network-map-popup b{font-size:14px}.network-map-popup small,.network-map-popup span{display:block;color:#58677a}.map-unit-list article[data-map-unit]{cursor:pointer}.map-unit-list article[data-map-unit]:hover{border-color:var(--primary);transform:translateY(-1px)}@media(max-width:720px){.network-leaflet-map{height:430px;min-height:360px}}

/* v2.9.0.7 - menu lateral compacto em acordeão */
.accordion-nav{gap:5px!important}.nav-accordion-group{border-radius:7px;overflow:hidden}.nav-group-toggle{width:100%;border:0;background:transparent;color:#dbe8f7;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 10px;cursor:pointer;text-align:left;border-radius:6px;font:inherit}.nav-group-toggle:hover,.nav-accordion-group.open>.nav-group-toggle{background:rgba(255,255,255,.08);color:#fff}.nav-group-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group-count{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:9px;color:#bcd0e8}.nav-group-chevron{font-size:15px;transition:transform .18s ease}.nav-accordion-group.open .nav-group-chevron{transform:rotate(180deg)}.nav-group-items{display:grid;gap:2px;padding:3px 0 6px}.nav-group-items[hidden]{display:none!important}.nav-group-items a{margin-left:7px;border-left:2px solid rgba(255,255,255,.08);padding-left:12px!important}.nav-group-items a.active{border-left-color:#49a3ff}.nav-accordion-group.active-group>.nav-group-toggle{box-shadow:inset 3px 0 #49a3ff}.sidebar.compact-groups .sidebar-foot{margin-top:10px}@media(max-width:1059px){.nav-group-toggle{padding:11px 10px}.nav-group-title{font-size:13px}}


/* v2.9.0.8 - mapa da rede em largura total */
.network-map-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px;width:100%;min-width:0}.network-map-panel{width:100%;min-width:0;overflow:visible}.network-map-panel .panel-head{flex-wrap:wrap}.network-leaflet-map{width:100%!important;height:clamp(560px,calc(100vh - 235px),820px)!important;min-height:560px!important;display:block;position:relative}.network-map-sidebar{width:100%;min-width:0}.network-map-sidebar .map-unit-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.leaflet-container{width:100%!important;height:100%!important}.main,.content,.page-content{min-width:0}@media(max-width:900px){.network-leaflet-map{height:calc(100vh - 210px)!important;min-height:480px!important}.network-map-sidebar .map-unit-list{grid-template-columns:1fr}}@media(max-width:560px){.network-leaflet-map{height:65vh!important;min-height:390px!important}}
