:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#e6f0f3;background:#08131d;font-size:16px}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #55dcb8;outline-offset:2px}
.app{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:#0b1a26;border-right:1px solid #1e3949;display:flex;flex-direction:column;padding:27px 15px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;margin-bottom:46px}.brand-mark{width:43px;height:43px;border:2px solid #38cfae;color:#3dd5b4;border-radius:12px;display:grid;place-items:center;font-size:23px;font-weight:900}.brand strong{font-size:18px;white-space:nowrap}.brand strong span{color:#39d6b5}.brand small{display:block;color:#7593a4;font-size:10px;letter-spacing:2px;margin-top:4px}.side-label{font-size:11px;letter-spacing:2px;color:#718fa0;font-weight:800;padding:0 14px;margin-bottom:12px}.sidebar nav{display:grid;gap:5px;overflow:auto}.nav-main,.nav-child{border:0;color:#9fb9c7;background:transparent;text-align:left}.nav-main{width:100%;display:flex;align-items:center;gap:12px;border-radius:7px;padding:13px 12px;font-size:14px;font-weight:600}.nav-main:hover,.nav-main.active{background:#163548;color:#e5fff7}.nav-main.active{box-shadow:inset 3px 0 #3cd4ad}.nav-symbol{font-size:20px;width:23px;text-align:center;color:#69b7bc}.chevron{margin-left:auto;font-size:18px}.nav-children{display:grid;gap:2px;padding:5px 0 8px 40px}.nav-children.collapsed{display:none}.nav-child{border-left:1px solid #305062;padding:8px 9px 8px 14px;font-size:13px}.nav-child:hover,.nav-child.selected{color:#5ce1bd;border-color:#5ce1bd;background:#102e3b}.sidebar-foot{margin-top:auto;border-top:1px solid #29404d;padding:19px 12px 0;color:#c0d1d3;font-size:13px;line-height:1.6}.sidebar-foot small{color:#819eac}.status-dot{width:7px;height:7px;background:#e8b767;border-radius:50%;display:inline-block;margin-right:6px}.shell{min-width:0}.topbar{height:86px;border-bottom:1px solid #1e3846;background:#0b1a26;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7693a3;font-weight:800}.top-title{font-size:21px;font-weight:750;margin-top:7px}.top-right{display:flex;align-items:center;gap:20px}.pill{font-size:11px;font-weight:800;letter-spacing:1px;color:#78d7c7;border:1px solid #356373;padding:7px 10px;border-radius:4px}.clock{color:#8ca9b7;font-size:12px}.menu-btn{display:none;background:none;color:#e6f0f3;border:0;font-size:22px}main{max-width:1600px;margin:auto;padding:31px 34px 55px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{margin:8px 0 7px;font-size:30px;letter-spacing:-.6px}.page-head p{color:#91adbb;margin:0;max-width:780px;line-height:1.5;font-size:14px}.eyebrow-green,.overline{font-size:11px;letter-spacing:1.8px;color:#47d4b1;font-weight:800}.badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px;background:#4b371e;color:#f0ca85;border:1px solid #71542b;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.4px}.badge i{width:6px;height:6px;background:currentColor;border-radius:50%}.badge.teal{background:#15493f;color:#8ee7d2;border-color:#287563}.badge.slate{background:#213b4a;color:#a2c0cd;border-color:#315669}.hero-strip{border:1px solid #255d65;background:linear-gradient(105deg,#17403e,#102b3a 69%,#102432);border-radius:9px;padding:23px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;overflow:hidden}.hero-strip strong{display:block;font-size:20px;letter-spacing:-.3px;margin:7px 0}.hero-strip p{font-size:13px;color:#b4d3d2;line-height:1.5;max-width:710px;margin:0}.strip-label{color:#60e6c0;font-weight:800;font-size:11px;letter-spacing:1.9px}.strip-mark{font-weight:900;font-size:35px;color:#ffffff14;white-space:nowrap;letter-spacing:2px}.strip-mark span{color:#55dcb633}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric-card,.surface,.section-banner,.module-tile,.detail-banner{background:#102432;border:1px solid #244354;border-radius:9px}.metric-card{padding:19px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#91afbd;font-size:12px;font-weight:700}.metric-top b{font-size:22px;color:#52d3b6;font-weight:400}.metric-card strong{display:block;font-size:28px;margin:13px 0 4px}.metric-card small{display:block;color:#84a1b0;font-size:12px}.content-grid,.detail-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px}.surface{padding:21px;min-width:0}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.surface h2{font-size:17px;margin:6px 0 0}.tiny-count{font-size:12px;color:#8caab9}.flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.flow-step{padding:13px 14px;border:1px solid #2a4a58;background:#0c1d2a;border-radius:6px;min-height:112px}.flow-step span{display:block;color:#4dd7b4;font-size:12px;font-weight:800;margin-bottom:8px}.flow-step strong{font-size:14px}.flow-step p{font-size:12px;color:#88a7b5;line-height:1.4;margin:7px 0 0}.empty{text-align:center;color:#7796a6;padding:36px 14px}.empty span{display:block;font-size:32px;color:#366578;margin-bottom:11px}.empty strong{display:block;color:#bfd7db;font-size:14px}.empty p{font-size:12px;line-height:1.5}.activity{display:grid}.activity-row{display:flex;gap:12px;padding:0 0 18px;border-left:1px solid #365568;margin-left:5px;position:relative}.activity-row:last-child{border-color:transparent}.activity-dot{position:relative;left:-5px;top:3px;width:9px;height:9px;flex:0 0 9px;background:#48d6b2;border-radius:50%}.activity-row strong{display:block;font-size:12px}.activity-row small{display:block;margin-top:5px;color:#8dabba;font-size:11px;line-height:1.4}.text-action,.back-link{border:0;background:transparent;color:#65dfc0;font-size:13px;font-weight:700}.text-action:hover,.back-link:hover{text-decoration:underline}.mode-list{display:grid;gap:7px}.mode-row{width:100%;background:#0d1f2d;color:#e2eff1;border:1px solid #2a4958;border-radius:6px;display:flex;text-align:left;align-items:center;gap:12px;padding:11px}.mode-row:hover,.module-tile:hover{border-color:#52c8ae;background:#143345}.mode-icon,.tile-icon{background:#183e49;border:1px solid #2c6670;color:#7ce4cc;border-radius:7px;width:36px;height:36px;display:grid;place-items:center;font-size:19px;flex:0 0 36px}.mode-copy{flex:1;min-width:0}.mode-copy strong,.mode-copy small{display:block}.mode-copy strong{font-size:13px}.mode-copy small{font-size:11px;color:#84a6b3;margin-top:3px}.mode-row .badge{font-size:10px;padding:5px 6px}.needs{margin-top:0}.needs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.needs-grid>div{border-left:2px solid #3b8e8e;padding-left:12px}.needs-grid strong{font-size:13px}.needs-grid p{font-size:12px;color:#8facb8;line-height:1.45;margin:7px 0 0}.section-banner{padding:21px 24px;margin-bottom:18px;background:linear-gradient(105deg,#153d41,#102432)}.section-banner strong{display:block;font-size:18px;margin:9px 0}.section-banner p{color:#a5c4c9;font-size:13px;margin:0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.module-tile{position:relative;min-height:217px;text-align:left;color:#e6f0f3;padding:20px;transition:background .15s,border-color .15s}.tile-icon{width:42px;height:42px;font-size:22px}.tile-tag{position:absolute;right:18px;top:23px;color:#8cb4bf;font-size:11px;font-weight:800;letter-spacing:.5px}.module-tile strong{display:block;font-size:17px;margin-top:20px}.module-tile p{font-size:12px;color:#8facb8;line-height:1.45;margin:8px 0 18px}.tile-link{position:absolute;bottom:18px;color:#5ddbb9;font-size:12px;font-weight:800}.back-link{margin:0 0 17px;padding:0}.detail-banner{display:flex;gap:18px;padding:25px;margin-bottom:17px;background:linear-gradient(105deg,#153c40,#102432)}.detail-icon{width:68px;height:68px;flex:0 0 68px;border-radius:11px;background:#1b5655;color:#7ee9c9;display:grid;place-items:center;font-size:35px}.detail-banner h2{margin:6px 0;font-size:22px}.detail-banner p{margin:0;color:#a1bdc6;font-size:13px;line-height:1.5}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}.field-list li{border:1px solid #2b4857;background:#0d1f2c;border-radius:5px;padding:12px 14px;color:#d4e4e7;font-size:13px}.field-list span{color:#59d7b9;margin-right:10px}.dependency{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dependency p{color:#90aebb;font-size:13px;line-height:1.5;margin:8px 0 0;max-width:790px}.dependency h2{margin-top:7px}#toast{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.app{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:20px 8px}.brand{margin:0 auto 38px;padding:0}.brand>div:last-child,.side-label,.nav-main>span:not(.nav-symbol),.nav-children,.sidebar-foot{display:none}.nav-main{justify-content:center}.nav-symbol{font-size:22px}.topbar{padding:0 20px}main{padding:22px}.content-grid{grid-template-columns:1fr}}
@media(max-width:620px){.app{display:block}.sidebar{display:none;position:fixed;z-index:20;left:0;top:0;width:255px;box-shadow:20px 0 45px #0009}.sidebar.open{display:flex}.sidebar.open .brand>div:last-child,.sidebar.open .side-label,.sidebar.open .nav-main>span:not(.nav-symbol),.sidebar.open .sidebar-foot{display:block}.sidebar.open .nav-children:not(.collapsed){display:grid}.sidebar.open .nav-main{justify-content:flex-start}.menu-btn{display:block}.topbar{height:73px;gap:9px}.top-title{font-size:17px}.eyebrow{font-size:9px}.clock{display:none}.pill{font-size:9px;padding:5px}.page-head{display:block}.page-head .badge{margin-top:15px}.page-head h1{font-size:25px}.metric-grid,.flow-grid,.needs-grid,.module-grid,.detail-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.hero-strip{padding:20px}.strip-mark{display:none}.mode-row .badge{display:none}.detail-banner{display:block}.detail-icon{margin-bottom:15px}.dependency{display:block}.dependency .badge{margin-top:16px}main{padding:20px 14px}.surface{padding:17px}}

/* GuardIAn ABIS application surfaces */
.sidebar{width:255px}.sidebar nav{gap:2px}.nav-item{border:0;background:transparent;color:#9fb9c7;text-align:left;display:flex;align-items:center;gap:12px;width:100%;min-height:39px;padding:8px 12px;border-radius:6px;font-size:13px}.nav-item:hover,.nav-item.active{background:#17394a;color:#ecfff8}.nav-item.active{box-shadow:inset 3px 0 #41d8b5}.nav-icon{width:22px;font-size:18px;color:#76c2c3;text-align:center}.head-user{display:grid;gap:2px;border-left:1px solid #315060;padding-left:17px}.head-user strong{font-size:12px}.head-user small{font-size:10px;color:#8daeb9}.head-bell{font-size:23px;color:#8caab9}.kicker{font-size:11px;color:#50dbb7;letter-spacing:2px;font-weight:800}.page-head{margin-bottom:22px}.page-head h1{font-size:29px}.page-head p{max-width:800px}.tag{display:inline-block;border:1px solid #36576a;background:#1c3b4a;color:#acd0d9;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.6px;white-space:nowrap}.tag.mock{background:#4b381e;border-color:#806037;color:#f3cd89}.tag.good{background:#164d43;border-color:#2b806b;color:#a3f4d8}.tag.warn{background:#4d3c1f;border-color:#866a32;color:#f0d28e}.tag.danger{background:#4b2729;border-color:#824449;color:#f0a5a5}.tag.muted{background:#1b3543}.action{border:1px solid #3cba9a;background:#25c7a5;color:#07261e;border-radius:5px;padding:10px 14px;font-size:12px;font-weight:850;letter-spacing:.5px;min-height:40px}.action:hover{background:#6ae2c2}.action.secondary{background:#193a49;color:#c4e8e5;border-color:#3e7883}.action.ghost{background:transparent;color:#a7d4d4;border-color:#446578}.action.danger{background:#6a282c;color:#ffe4e1;border-color:#a4474d}.action:disabled{opacity:.55;cursor:wait}.buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.box{background:#102432;border:1px solid #284759;border-radius:9px;padding:21px;margin-bottom:17px;min-width:0}.box-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.box h2{margin:0;font-size:17px}.box h3{font-size:14px;margin:22px 0 11px}.muted{color:#90afbd;font-size:12px;line-height:1.5}.banner{border:1px solid #317077;background:linear-gradient(105deg,#173f43,#112c3b);border-radius:8px;padding:23px;margin-bottom:17px}.banner strong{font-size:20px}.banner p{color:#b8d5d6;font-size:13px;margin:8px 0 16px}.banner>div{display:flex;gap:9px;flex-wrap:wrap}.banner span{display:inline-block;font-size:11px;border:1px solid #44848a;color:#b8e0dd;padding:7px 9px;border-radius:4px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{background:#102635;border:1px solid #284858;padding:17px;border-radius:8px;min-height:110px}.metric small{display:block;color:#90adba;font-size:10px;font-weight:800;letter-spacing:1px}.metric strong{display:block;font-size:29px;margin:8px 0}.metric span{color:#6fcdb8;font-size:10px}.dash-grid,.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start}.dash-grid .box{height:100%}.status-grid,.services,.activity-list,.device-list{display:grid;gap:9px}.status-grid>div,.services>div,.activity-list>div,.device-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #2a4655;padding:8px 0;font-size:13px}.status-grid>div:last-child,.services>div:last-child,.activity-list>div:last-child{border:0}.activity-list strong{font-size:17px}.chart-bars{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:100px 1fr 30px;gap:10px;align-items:center;font-size:12px}.bar-row>div{height:9px;background:#183847;border-radius:7px;overflow:hidden}.bar-row i{display:block;height:100%;background:#42d9b4;min-width:3px}.bar-row b{text-align:right}.hit-chart{display:flex;gap:15px}.hit-chart>div{flex:1;border:1px solid #315467;border-radius:7px;padding:20px;text-align:center;background:#0e2130}.hit-chart strong{display:block;font-size:32px}.hit-chart span{font-size:12px;color:#97b3bf}.poc-progress{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.poc-progress>div{border:1px solid #315163;padding:10px;border-radius:5px;display:flex;justify-content:space-between;font-size:12px}.poc-progress span{color:#76dabb}.field{display:grid;gap:7px;flex:1;min-width:180px}.field span{font-size:12px;color:#adc5ce;font-weight:700}.field input,.field select,select{width:100%;background:#0b1b27;color:#e8f5f5;border:1px solid #3b5d6d;border-radius:5px;padding:10px 11px;min-height:40px;outline:none;font:inherit;font-size:13px}.field input:focus,.field select:focus,select:focus{border-color:#48d7b2;box-shadow:0 0 0 2px #48d7b225}.formline{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:13px}.notice{border-left:3px solid #d4aa59;background:#322c25;color:#ead2a9;padding:12px 13px;margin-top:15px;font-size:12px;line-height:1.5}.record-list,.candidate-list{display:grid;gap:7px;max-height:540px;overflow:auto}.record-row,.candidate-row{border:1px solid #2a4a59;background:#0c1e2b;color:#e4f0f2;border-radius:6px;width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:9px}.record-row:hover,.record-row.selected,.candidate-row:hover{border-color:#59cbb2;background:#133342}.record-row img,.candidate-row img{width:38px;height:42px;border-radius:4px;object-fit:cover}.record-row span:nth-child(2),.candidate-row span:nth-child(3){flex:1}.record-row strong,.candidate-row strong{display:block;font-size:12px}.record-row small,.candidate-row small{display:block;color:#8cadba;font-size:11px;margin-top:4px}.rank{color:#66d5b8;font-weight:800;font-size:12px}.big-icon{font-size:26px;color:#68cdb5;min-width:38px;text-align:center}.person-card{display:flex;gap:17px}.person-card>img{width:150px;height:180px;object-fit:cover;border-radius:6px}.person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1}.person-fields small{display:block;color:#83a5b3;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.person-fields strong{display:block;font-size:13px;margin-top:4px;overflow-wrap:anywhere}.mini-person{display:flex;align-items:center;gap:12px;padding:13px;background:#0c1e2b;border:1px solid #2b4b59;border-radius:6px;margin-top:13px}.mini-person img{width:45px;height:50px;object-fit:cover}.mini-person div{flex:1}.mini-person strong,.mini-person small{display:block}.mini-person small{color:#8cabb9;font-size:11px;margin-top:3px}.timeline{border-left:1px solid #396170;margin-left:5px;padding-left:17px;margin-top:17px}.timeline>div{padding:0 0 17px;position:relative}.timeline>div:before{content:'';width:8px;height:8px;background:#48d8b4;border-radius:50%;position:absolute;left:-22px;top:3px}.timeline strong{display:block;font-size:12px}.timeline small{display:block;font-size:11px;color:#8daeb9;margin-top:4px}.empty-panel{text-align:center;color:#8daebb;padding:31px 12px}.empty-panel strong{display:block;color:#d4e9ec;font-size:14px}.empty-panel p{font-size:12px}.wizard-steps{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;margin-bottom:18px}.wizard-steps button{border:1px solid #2d5060;background:#102735;color:#90afbc;padding:11px 5px;border-radius:5px;text-align:center;min-height:69px}.wizard-steps button.current{border-color:#5ad9b8;background:#164344;color:#dffbf2}.wizard-steps button.done{border-color:#427465;color:#bce7d5}.wizard-steps b{display:block;font-size:15px}.wizard-steps span{display:block;font-size:10px;margin-top:5px;line-height:1.1}.wizard-actions{display:flex;justify-content:space-between;gap:10px}.finger-grid,.sample-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sample{background:#0c1e2b;color:#d8e8eb;border:1px solid #345365;border-radius:6px;padding:12px;text-align:center;min-height:86px}.sample:hover{border-color:#59dab8}.sample.captured{border-color:#3daa89;background:#153d3a}.sample b,.sample strong,.sample span,.sample small{display:block}.sample b{color:#65d5b6;font-size:12px}.sample span{margin:5px 0;font-size:12px}.sample small{color:#8babb7;font-size:10px;line-height:1.3}.sample.large{min-height:130px}.sample.large b{font-size:28px;margin-bottom:13px}.sample.large strong{font-size:13px;margin-bottom:6px}.voice-panel{text-align:center;padding:30px 15px}.voice-panel .wave{font-size:34px;color:#5adaba;letter-spacing:3px;margin-bottom:17px}.voice-panel p{color:#91aeb9;font-size:12px}.voice-panel .sample{max-width:340px;margin:auto}.quality-list{display:grid;gap:8px}.quality-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #2a4a58;padding:10px;border-radius:5px;font-size:12px}.center-state{text-align:center;max-width:720px;margin:auto}.center-state .big-icon{font-size:45px}.center-state p{color:#91afbc;font-size:13px}.confirm-grid,.close-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:17px}.confirm-grid>div,.close-grid>div{background:#0c1e2b;border:1px solid #315163;padding:14px;border-radius:5px}.confirm-grid small,.close-grid small{display:block;color:#84a6b3;font-size:10px}.confirm-grid strong,.close-grid strong{display:block;font-size:17px;margin-top:8px}.search-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}.search-meta span{font-size:11px;color:#abd1d1;border:1px solid #3d6570;padding:6px 8px;border-radius:4px}.checks{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.checks label{padding:10px 13px;background:#0d2230;border:1px solid #365667;border-radius:4px;font-size:12px;display:flex;gap:7px}.result{padding:15px;margin-top:15px;border:1px solid #398f76;background:#163e3b;border-radius:5px}.result.warning{border-color:#9c7640;background:#3d3425}.result strong{font-size:16px}.result p{font-size:12px;color:#c4dad7}.forensic-workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.forensic-canvas,.compare-image{background:#0b1c29;border:1px dashed #3b6070;border-radius:6px;min-height:260px;display:grid;place-content:center;text-align:center;color:#8eaebb}.forensic-canvas span,.compare-image>span{font-size:48px;color:#4d8290}.forensic-canvas strong,.forensic-canvas small,.compare-image strong,.compare-image small{display:block;margin-top:7px}.tool-button{background:#183847;border:1px solid #406273;color:#c9e5e8;border-radius:4px;padding:8px;font-size:11px}.compare-view{display:grid;grid-template-columns:1fr 34px 1fr;gap:10px;align-items:center}.compare-image img{width:100%;height:210px;object-fit:contain}.versus{text-align:center;color:#61dab9;font-weight:800}.kiosk-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.kiosk-progress>div{border:1px solid #315163;padding:9px;border-radius:4px;color:#8baab8;font-size:11px}.kiosk-progress>div.done{border-color:#4aba96;color:#c4eadd;background:#143a38}.kiosk-progress b{margin-right:5px}.table-wrap{overflow:auto;max-height:530px}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th,td{padding:10px;text-align:left;border-bottom:1px solid #294958}th{color:#7ca3b4;font-size:10px;letter-spacing:.6px;position:sticky;top:0;background:#102432}td{color:#d0e3e7}.mini-action{background:#173d4a;color:#8ce2cf;border:1px solid #367867;padding:6px 8px;border-radius:4px;font-size:10px}.guided{display:flex;justify-content:space-between;gap:10px;align-items:center}.guided strong,.guided span{display:block}.guided strong{font-size:12px;color:#59dab7}.guided span{font-size:18px;margin-top:6px}.guided-track{height:6px;background:#1a3b48;border-radius:4px;margin-top:14px}.guided-track i{display:block;background:#4bd7b1;height:100%;border-radius:4px}.login-wrap{min-height:calc(100vh - 165px);display:grid;place-items:center}.login-card{width:min(460px,100%);background:#112937;border:1px solid #356171;border-radius:10px;padding:30px}.login-brand{font-size:30px;font-weight:900;color:#56d9b7;margin-bottom:20px}.login-brand span{font-size:19px;color:#e6f4f3;margin-left:8px}.login-card h1{font-size:25px;margin:11px 0}.login-card p{font-size:13px;color:#9bb7c3;line-height:1.5}.login-card .notice{margin-top:22px}#toast{display:none;position:fixed;right:20px;bottom:20px;z-index:50;background:#1a4a47;color:#effffb;border:1px solid #5ce0bc;border-radius:6px;padding:13px 17px;max-width:360px;font-size:13px;box-shadow:0 12px 30px #0009}#toast.show{display:block}#toast.error{background:#573036;border-color:#e28b83}
@media(max-width:1250px){.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.wizard-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.head-user{display:none}}
@media(max-width:950px){.sidebar{width:72px}.sidebar .brand>div:last-child,.sidebar .side-label,.sidebar .nav-text,.sidebar .sidebar-foot{display:none}.sidebar .nav-item{justify-content:center}.app{grid-template-columns:72px minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.two-col{grid-template-columns:1fr}.finger-grid,.sample-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.sidebar{width:255px}.sidebar.open .brand>div:last-child,.sidebar.open .side-label,.sidebar.open .nav-text,.sidebar.open .sidebar-foot{display:block}.sidebar.open .nav-item{justify-content:flex-start}.app{display:block}.head-bell{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.metric{min-height:100px}.metric strong{font-size:25px}.wizard-steps{grid-template-columns:repeat(3,1fr)}.finger-grid,.sample-grid{grid-template-columns:repeat(2,1fr)}.person-card,.forensic-workspace{display:block}.person-card>img{margin-bottom:15px}.compare-view{grid-template-columns:1fr}.versus{padding:8px}.formline .action{width:100%}.guided{display:block}.confirm-grid,.close-grid{grid-template-columns:repeat(2,1fr)}}
.quality-actions{display:flex;gap:5px;flex-wrap:wrap}.quality-actions button{border:1px solid #426778;background:#183b49;color:#d3eeec;border-radius:3px;padding:5px 7px;font-size:10px}.quality-actions button:hover{border-color:#5cdbb9}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-thumb{background:#315362;border-radius:5px}.sidebar nav{scrollbar-width:thin;scrollbar-color:#315362 transparent}
/* Revisión QA 2026-10-03: muestra forense sintética, notas de pauta y logos del proyecto */
.forensic-canvas.has-sample,.compare-image.has-sample{display:block;position:relative;overflow:hidden;padding:0;min-height:0;text-align:center}
.forensic-canvas.has-sample .latent-view{display:block;width:100%;height:auto;aspect-ratio:1;transform-origin:50% 50%;transition:transform .2s ease,filter .2s ease}
.compare-image.has-sample{padding-bottom:12px}
.compare-image.has-sample .latent-view{display:block;width:100%;max-width:260px;height:auto;aspect-ratio:1;margin:0 auto}
.forensic-canvas .canvas-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:6px 10px;background:rgba(7,18,27,.82);font-size:11px;color:#9bb7c3;text-align:left}
.latent-view .roi{display:none}.latent-view .roi.show{display:inline}
.visual-readout{font-size:12px;color:#9bd8c9;margin:4px 0 0;font-variant-numeric:tabular-nums}
.req-note{display:block;color:#8aa6b2;font-size:11px;margin-top:3px;font-weight:400}
.partner-logos{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid #29404d;flex-wrap:wrap}
.partner-logos img{height:28px;width:auto;object-fit:contain}
.partner-logos img[alt="PDI"]{height:38px;border-radius:3px}
.partner-logos.compact{justify-content:flex-start;gap:10px;margin-top:12px;padding-top:12px}
.partner-logos.compact img{height:14px}.partner-logos.compact img[alt="PDI"]{height:22px}
.partner-logos img[alt="Grupo FACEPASS"],.partner-logos img[alt="SONDA"]{mix-blend-mode:lighten}
.head-logout{background:transparent;border:1px solid #406273;color:#c9e5e8;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer}
.head-logout:hover{border-color:#56d9b7;color:#56d9b7}
.rc-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:start;margin:12px 0 4px;padding:14px;background:#0c1e2b;border:1px solid #2f6170;border-radius:6px}
.rc-card img{width:96px;height:112px;object-fit:cover;border-radius:4px;background:#183847}
.rc-source{display:grid;gap:6px;justify-items:end}.rc-source small{color:#8aa6b2;font-size:11px}
@media(max-width:620px){.rc-card{grid-template-columns:72px minmax(0,1fr)}.rc-card img{width:72px;height:84px}.rc-source{grid-column:1/-1;justify-items:start}}
/* ===== Asistente de enrolamiento guiado ===== */
.wiz{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start;max-width:1080px;margin:0 auto}
.wiz-rail{position:sticky;top:20px;display:flex;flex-direction:column;align-items:flex-start;padding:22px 18px;background:#0f2230;border:1px solid #23404e;border-radius:12px}
.rail-step{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#7f9cab;text-transform:uppercase}
.rail-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid #3b6070;font-size:13px;color:#7f9cab;flex:none}
.rail-done .rail-dot{background:#42d9b4;border-color:#42d9b4;color:#06222a}.rail-done{color:#cfe9e5}
.rail-current .rail-dot{border-color:#f5c451;color:#f5c451;box-shadow:0 0 0 5px rgba(245,196,81,.15)}.rail-current{color:#fff}
.rail-station .rail-dot{border-color:#e5a35a;color:#e5a35a}.rail-station{color:#e5c08f}
.rail-line{display:block;width:2px;height:22px;margin:4px 0 4px 14px;background:#2b4b59}
.wiz-stage{min-width:0;display:flex;flex-direction:column;gap:18px}
.wiz-mprogress{display:none}
.wiz-card{background:#112937;border:1px solid #2c5261;border-radius:16px;padding:34px 34px 30px;max-width:680px;width:100%;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}
.wiz-card.center{align-items:center;text-align:center}
.wiz-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:#56d9b7}
.wiz-title{font-size:30px;line-height:1.15;margin:0;color:#f2fbfa}
.wiz-lead{font-size:16px;line-height:1.5;color:#b8d0d8;margin:0;max-width:480px}
.wiz-note{font-size:14px;color:#c8dde2;background:#0c1e2b;border:1px solid #2b4b59;border-radius:10px;padding:12px 14px;margin:0}
.wiz-warn{font-size:14px;color:#f5c451;margin:0}
.wiz-instruction{font-size:20px;color:#e6f4f3;margin:0}.wiz-instruction b{color:#f5c451}
.wiz-field{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}
.wiz-field>span{font-size:13px;font-weight:700;color:#9bb7c3;letter-spacing:.04em}.wiz-field small{font-weight:400;color:#7f9cab}
.wiz-field input,.wiz-field select{height:56px;font-size:19px;padding:0 16px;border-radius:10px;border:1px solid #406273;background:#0b1c29;color:#f2fbfa;box-sizing:border-box;width:100%}
.wiz-field input:focus,.wiz-field select:focus{outline:none;border-color:#56d9b7;box-shadow:0 0 0 3px rgba(86,217,183,.25)}
.wiz-field.big input{height:68px;font-size:28px;text-align:center;letter-spacing:.06em;font-weight:700}
.wiz-form{display:flex;flex-direction:column;gap:18px;width:100%}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg button{min-height:52px;border-radius:10px;border:1px solid #406273;background:#0b1c29;color:#c9e5e8;font-size:15px;font-weight:700;cursor:pointer}
.seg button.active{background:#1f5a59;border-color:#56d9b7;color:#fff}
.wiz-primary,.wiz-secondary,.wiz-next,.wiz-back{min-height:56px;border-radius:12px;font-size:15px;font-weight:800;letter-spacing:.08em;cursor:pointer;padding:0 26px}
.wiz-primary,.wiz-next{background:#2bc4a0;border:0;color:#04211b}
.wiz-primary{width:100%;max-width:420px}
.wiz-secondary,.wiz-back{background:transparent;border:1px solid #4a7383;color:#d6ecee}
.wiz-primary:disabled,.wiz-next:disabled,.wiz-secondary:disabled,.wiz-back:disabled{opacity:.45;cursor:not-allowed}
.wiz-next.finish{background:#f5c451;color:#2a1d00}.wiz-next.station{background:#e5a35a;color:#2a1600}
.wiz-link{background:none;border:0;color:#8fd8c6;font-size:14px;text-decoration:underline;cursor:pointer;padding:6px}
.wiz-actions{display:flex;gap:12px;width:100%;max-width:420px}.wiz-actions>*{flex:1}
.wiz-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;gap:12px;max-width:680px;width:100%;margin:0 auto;padding:14px 0;background:linear-gradient(transparent,#08131c 35%)}
.wiz-bar>*{min-width:150px}
.wiz-tip{width:100%;max-width:440px;text-align:left;font-size:13px;color:#9bb7c3}.wiz-tip summary{cursor:pointer;color:#8fd8c6}.wiz-tip p{margin:8px 0 0;line-height:1.5}
.resume{width:100%;max-width:440px;text-align:left;border-top:1px solid #23404e;padding-top:16px}.resume h3{font-size:12px;letter-spacing:.14em;color:#7f9cab;margin:0 0 10px}
.resume-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;margin-bottom:8px;border-radius:10px;border:1px solid #2b4b59;background:#0c1e2b;color:#e6f4f3;cursor:pointer;text-align:left}
.resume-item img{width:40px;height:48px;object-fit:cover;border-radius:6px}.resume-item span{flex:1;display:flex;flex-direction:column}.resume-item small{color:#8fd8c6}.resume-item b{font-size:22px;color:#56d9b7}
.id-hero{display:flex;flex-direction:column;align-items:center;gap:8px}
.id-hero img{width:150px;height:188px;object-fit:cover;border-radius:14px;border:3px solid #2f6170;background:#183847}
.id-hero h2{font-size:24px;margin:8px 0 0;letter-spacing:.03em;color:#fff}
.id-hero.small img{width:110px;height:138px}.id-hero.small h2{font-size:20px}
.id-rut{font-size:19px;font-weight:700;color:#8fd8c6;letter-spacing:.08em}
.id-source{font-size:12px;font-weight:800;letter-spacing:.16em;color:#56d9b7;border:1px solid #2f6170;border-radius:999px;padding:6px 14px}
.id-source.muted{color:#9bb7c3}.id-source em{font-style:normal;color:#f3cd89;text-transform:uppercase}
.check-list{list-style:none;margin:0;padding:0;width:100%;max-width:460px;display:flex;flex-direction:column;gap:2px;text-align:left}
.check-list li{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid #1d3a47;font-size:15px;color:#d6ecee}
.check-list li b{font-weight:600;color:#9bb7c3;font-size:14px;text-align:right}
.check-list .mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800}
.check-list li.ok .mark{background:#42d9b4;color:#06222a}.check-list li.todo .mark{border:2px solid #f5c451;color:#f5c451}.check-list li.todo b{color:#f5c451}
.split-checks{display:grid;grid-template-columns:1fr 1fr;gap:20px}.split-checks h3,.review-grid h3{font-size:12px;letter-spacing:.14em;color:#7f9cab;margin:0 0 8px}
.state-icon{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:42px;font-weight:800;color:#f5c451;border:3px solid #f5c451}
.big-check{width:64px;height:64px;border-radius:50%;background:#42d9b4;color:#06222a;display:grid;place-items:center}.big-check svg{width:60%;height:60%}
.big-check.xl{width:96px;height:96px}
.hero-icon{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:#0c1e2b;border:2px solid #2f6170;color:#56d9b7}.hero-icon svg{width:58%;height:58%}
.hero-icon.ok{border-color:#42d9b4}.hero-icon.warn{border-color:#e5a35a;color:#e5a35a}.hero-icon.rec{border-color:#e5737a;color:#e5737a;animation:pulse-red 1.4s infinite}
.hero-icon.pulse{animation:pulse-teal 1.8s infinite}
@keyframes pulse-teal{0%{box-shadow:0 0 0 0 rgba(86,217,183,.45)}70%{box-shadow:0 0 0 22px rgba(86,217,183,0)}100%{box-shadow:0 0 0 0 rgba(86,217,183,0)}}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(229,115,122,.5)}70%{box-shadow:0 0 0 22px rgba(229,115,122,0)}100%{box-shadow:0 0 0 0 rgba(229,115,122,0)}}
@keyframes pulse-amber{0%,100%{opacity:1}50%{opacity:.45}}
.result-block{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;border-radius:12px;background:#0c2722;border:1px solid #2d6b5c;width:100%;max-width:440px;box-sizing:border-box}
.result-block strong{font-size:17px;letter-spacing:.08em;color:#c9f5e9}.result-block span{font-size:14px;color:#a7c9c3}
.result-block.warn{background:#2e2312;border-color:#806037}.result-block.warn strong{color:#f3cd89}
.result-block .big-check{width:44px;height:44px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:460px}
.compare figure,.ref-photo{margin:0;display:flex;flex-direction:column;gap:8px;align-items:center}
.compare img,.live-shot,.ref-photo img{width:100%;max-width:200px;aspect-ratio:4/5;object-fit:cover;border-radius:12px;border:2px solid #2f6170;background:#183847}
.ref-photo img{max-width:170px}
.live-shot{position:relative;display:grid;place-items:center;background:#1e4a55;overflow:hidden}.live-shot svg{width:80%;height:auto;margin-top:18%}
.live-shot span{position:absolute;bottom:8px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#e8ffff}
.compare figcaption,.ref-photo figcaption{font-size:11px;font-weight:800;letter-spacing:.14em;color:#8fd8c6}
.device-status{display:flex;flex-direction:column;gap:8px;width:100%;max-width:380px;background:#0c1e2b;border:1px solid #2b4b59;border-radius:12px;padding:12px 16px;box-sizing:border-box}
.device-status>div{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#d6ecee}
.dot-status{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px}.dot-status i{width:10px;height:10px;border-radius:50%}
.dot-status.on{color:#56d9b7}.dot-status.on i{background:#42d9b4}.dot-status.off{color:#e5a35a}.dot-status.off i{background:#e5a35a}
.hands{width:100%;max-width:520px;height:auto}
.hand-palm,.hand-finger{fill:#1d4352;stroke:#3b6070;stroke-width:2}
.hand-palm.soft,.hand-finger.soft{fill:#173846;stroke:#2f5566}
.hand-finger.is-current{fill:#4a4224;stroke:#f5c451}
.tip circle{stroke-width:2}.tip text{font-size:14px;font-weight:800;font-family:Arial,sans-serif}
.tip-pending circle{fill:#0e2230;stroke:#557a88}.tip-done circle{fill:#42d9b4;stroke:#42d9b4}.tip-done text{fill:#06222a}
.tip-retry circle{fill:#e5737a;stroke:#e5737a}.tip-retry text{fill:#2a0608}.tip-current circle{fill:#f5c451;stroke:#fff3cf;animation:pulse-amber 1.2s infinite}
.hand-label{font-size:11px;font-weight:700;letter-spacing:.12em;fill:#8aa6b2;font-family:Arial,sans-serif}
.palm-target{stroke-width:3}.target-pending{fill:none;stroke:#557a88;stroke-dasharray:6 5}.target-done{fill:#42d9b4;fill-opacity:.85;stroke:#42d9b4}
.target-current{fill:#f5c451;fill-opacity:.25;stroke:#f5c451;animation:pulse-amber 1.2s infinite}.target-retry{fill:#e5737a;fill-opacity:.3;stroke:#e5737a}
.target-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;width:100%;max-width:420px;text-align:left;font-size:14px;color:#c8dde2}
.target-list li{display:flex;align-items:center;gap:8px}.target-list .mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid #557a88;color:#557a88}
.target-list .t-done .mark{background:#42d9b4;border-color:#42d9b4;color:#06222a}.target-list .t-current .mark{border-color:#f5c451;color:#f5c451}
.capture-feedback{margin:0;font-size:15px;font-weight:700}.capture-feedback.ok{color:#56d9b7}.capture-feedback.bad{color:#e5737a}
.voice-timer{font-size:52px;font-weight:800;font-variant-numeric:tabular-nums;color:#f2fbfa}
.voice-wave{display:flex;align-items:center;gap:4px;height:90px;width:100%;max-width:420px}
.voice-wave i{flex:1;height:14%;border-radius:3px;background:#2f6170;transition:height .09s linear}.voice-wave.live i{background:#56d9b7}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.review-grid .result-block{max-width:none}
.scan{display:flex;align-items:center;gap:12px;font-size:15px;color:#c8dde2;padding:16px;border:1px dashed #2f6170;border-radius:12px}
.spinner{width:22px;height:22px;border-radius:50%;border:3px solid #2f6170;border-top-color:#56d9b7;animation:spin 1s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;text-align:left}
.sum-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#0c1e2b;border:1px solid #23404e}
.sum-item .mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none}
.sum-item.ok .mark{background:#42d9b4;color:#06222a}.sum-item.todo .mark{border:2px solid #e5a35a;color:#e5a35a}
.sum-item small{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:#7f9cab}.sum-item strong{font-size:14px;color:#e6f4f3}
body.cam-open{overflow:hidden}
.cam-overlay{position:fixed;inset:0;z-index:50;background:rgba(3,10,15,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;box-sizing:border-box}
.cam-frame{position:relative;width:min(420px,88vw);aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2b5560,#0f2630);display:grid;place-items:end center}
.cam-frame>svg:first-child{width:78%;height:auto}
.cam-guide{position:absolute;inset:0;width:100%;height:100%}.cam-guide ellipse{fill:none;stroke:#56d9b7;stroke-width:4;stroke-dasharray:10 8}
.cam-frame.shot{border:3px solid #56d9b7}
.cam-tag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#f3cd89;background:rgba(0,0,0,.45);padding:4px 8px;border-radius:6px}
.cam-hint{color:#d6ecee;font-size:16px;margin:0;text-align:center}
.cam-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(420px,88vw)}
.cam-shutter{width:76px;height:76px;border-radius:50%;border:5px solid #fff;background:#2bc4a0;cursor:pointer}
@media(max-width:900px){
  .wiz{grid-template-columns:minmax(0,1fr)}.wiz-rail{display:none}
  .wiz-mprogress{display:flex;flex-direction:column;gap:8px;max-width:680px;width:100%;margin:0 auto}
  .wiz-mprogress>div:first-child{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.12em;color:#8fd8c6}.wiz-mprogress strong{color:#fff}
  .wiz-mbar{height:8px;border-radius:5px;background:#1a3b48;overflow:hidden}.wiz-mbar i{display:block;height:100%;background:#42d9b4}
}
@media(max-width:620px){
  .wiz-stage{padding-bottom:92px}
  .wiz-card{padding:24px 18px;gap:16px}
  .wiz-title{font-size:25px}.wiz-instruction{font-size:18px}
  .wiz-bar{position:fixed;left:0;right:0;bottom:0;max-width:none;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#08131c;border-top:1px solid #1e3846}
  .wiz-bar>*{flex:1;min-width:0;padding:0 12px;font-size:13px}
  .split-checks,.review-grid,.sum-grid{grid-template-columns:1fr}
  .seg{grid-template-columns:1fr}
  .cam-overlay{padding:0 0 20px;justify-content:flex-end;gap:14px}
  .cam-frame{width:100vw;flex:1;aspect-ratio:auto;border-radius:0}
}

/* Dashboard ejecutivo GuardIAn ABIS */
.executive-strip{display:grid;grid-template-columns:minmax(280px,1.8fr) repeat(3,minmax(110px,.55fr));gap:12px;align-items:stretch;margin:0 0 18px}
.executive-strip>div{background:linear-gradient(135deg,#0d2633,#103746);border:1px solid #285568;border-radius:14px;padding:17px 18px;box-sizing:border-box}
.executive-strip>div:first-child{display:flex;flex-direction:column;justify-content:center}
.executive-strip small{font-size:10px;letter-spacing:.16em;font-weight:800;color:#7fa6b4}.executive-strip strong{font-size:19px;color:#e8fbf7;margin:5px 0}.executive-strip span{font-size:12px;color:#91aeb9}
.exec-health{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.exec-health b{font-size:27px;color:#56d9b7}.exec-health span{margin-top:3px}
.dashboard-kpis{grid-template-columns:repeat(6,minmax(125px,1fr))}
.dashboard-bars{display:flex;flex-direction:column;gap:14px}.db-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.db-bar span{font-size:13px;color:#c9dde2}.db-bar b{font-size:13px;color:#eaf7f6}.db-bar small{display:block;text-align:right;margin-top:4px;font-size:10px;color:#7899a6}
.db-track{height:9px;border-radius:99px;background:#132f3c;overflow:hidden}.db-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2aa98f,#56d9b7);min-width:0}
.donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;min-height:170px}.donut{--hit:50;width:150px;height:150px;border-radius:50%;background:conic-gradient(#4bd4b1 calc(var(--hit)*1%),#284756 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#0b1d29}.donut>div{z-index:1;text-align:center}.donut strong{display:block;font-size:28px;color:#eafffa}.donut span{font-size:10px;letter-spacing:.14em;color:#7fa5b2;font-weight:800}
.donut-legend{display:flex;flex-direction:column;gap:11px}.donut-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;color:#bcd3d8;font-size:13px}.donut-legend i{width:9px;height:9px;border-radius:50%;background:#4bd4b1}.donut-legend i.nohit{background:#284756}.donut-legend i.total{background:#f0c15b}.donut-legend b{color:#eef9f8}
.dash-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-ranking{display:flex;flex-direction:column;gap:8px}.mini-ranking>div{display:grid;grid-template-columns:1fr auto 48px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #1d3947}.mini-ranking>div:last-child{border-bottom:0}.mini-ranking span{font-size:13px;color:#bfd3d8}.mini-ranking b{color:#f1fbfa}.mini-ranking small{text-align:right;color:#6fcdb8}
.executive-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.executive-notes>div{padding:13px;border-radius:10px;background:#0d2330;border:1px solid #203f4d}.executive-notes strong{display:block;font-size:22px;color:#56d9b7}.executive-notes span{font-size:11px;color:#91aeb9}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.executive-strip{grid-template-columns:1fr 1fr}.executive-strip>div:first-child{grid-column:1/-1}.dash-grid.three{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-kpis{grid-template-columns:1fr 1fr}.executive-strip{grid-template-columns:repeat(3,1fr)}.executive-strip>div:first-child{grid-column:1/-1}.exec-health{padding:12px 6px!important}.exec-health b{font-size:21px}.donut-wrap{grid-template-columns:1fr}.donut{margin:auto}.executive-notes{grid-template-columns:1fr}.dash-grid.three{grid-template-columns:1fr}}

.pwa-install[hidden]{display:none!important}.pwa-install{position:fixed;inset:0;z-index:1000;background:rgba(2,9,18,.82);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.pwa-install-card{width:min(560px,92vw);box-sizing:border-box;padding:38px 34px 30px;text-align:center;border:3px solid #51d8cf;border-radius:34px;background:linear-gradient(180deg,#102b3a,#0a1724);box-shadow:0 0 0 14px rgba(81,216,207,.12),0 22px 70px rgba(0,0,0,.55)}.pwa-install-brand{display:flex;justify-content:center;align-items:center;gap:12px;color:#eefafa;font-size:20px}.pwa-install-brand span{color:#56d9b7}.pwa-shield{width:48px;height:48px;border:2px solid #56d9b7;border-radius:14px;display:grid;place-items:center;color:#56d9b7;font-weight:900}.pwa-install-card h2{font-size:36px;margin:30px 0 16px;color:#fff}.pwa-install-card p{font-size:19px;line-height:1.45;color:#c5d5dd;margin:0 auto 28px;max-width:450px}.pwa-install-primary{display:block;width:100%;border:0;border-radius:18px;padding:20px;background:linear-gradient(100deg,#49d4d5,#2f7df1);color:#06131b;font-size:22px;font-weight:900;cursor:pointer}.pwa-install-later{margin-top:16px;border:0;background:transparent;color:#9eabb5;font-size:17px;font-weight:800;padding:12px 24px;cursor:pointer}@media(max-width:620px){.pwa-install-card{padding:30px 24px 24px;border-radius:28px}.pwa-install-card h2{font-size:30px}.pwa-install-card p{font-size:17px}.pwa-install-primary{font-size:19px;padding:18px}}

.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.integration-card{background:linear-gradient(145deg,rgba(17,48,63,.95),rgba(8,27,38,.98));border:1px solid #245263;border-radius:18px;padding:20px;box-shadow:0 12px 28px rgba(0,0,0,.16)}.integration-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.integration-top small{color:#5bd8c1;font-weight:900;letter-spacing:.14em}.integration-top h3{margin:5px 0 0;font-size:20px}.integration-card>p{color:#c0d0d7;min-height:42px}.integration-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.integration-meta span{background:#091b25;border:1px solid #1d4351;border-radius:10px;padding:9px;font-size:10px;color:#7897a3}.integration-meta b{display:block;color:#e9f7f5;font-size:12px;margin-top:4px}.integration-note{color:#718e99}.integration-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr auto 1.5fr;gap:12px;align-items:center;text-align:center}.integration-flow>div{border:1px solid #285566;border-radius:14px;padding:16px 10px;font-weight:900}.integration-flow small{font-weight:500;color:#8da9b3}.integration-flow b{color:#4fd6b8;font-size:24px}.integration-flow .integration-core{border-color:#4fd6b8;box-shadow:0 0 25px rgba(79,214,184,.12);color:#5ee0c3}.callout strong{color:#5ee0c3;letter-spacing:.05em}.callout p{margin-bottom:0;color:#a9bdc5}@media(max-width:800px){.integration-grid{grid-template-columns:1fr}.integration-flow{grid-template-columns:1fr}.integration-flow b{transform:rotate(90deg)}.integration-meta{grid-template-columns:1fr 1fr}.integration-card>p{min-height:0}}
