:root{color:#24201e;--cream:#fff9ed;--paper:#fffdf8;--blue:#0b5fc6;--deep:#0a2a5e;--sky:#83cdf4;--orange:#ff5a1f;--red:#c9342f;--green:#2d7b4e;--line:#c9e8f9;--muted:#746a63;background:#fff9ed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--cream);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--deep);color:#fff;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.side-head{justify-content:space-between;align-items:center;padding:0 8px 22px;display:flex}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand .plate{width:36px;height:36px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;font-size:21px;display:grid;transform:rotate(-7deg)}.brand b{font-size:19px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#c9d7e7;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;min-height:46px;padding:0 13px;display:flex}.sidebar nav button svg{width:19px}.sidebar nav button:hover,.sidebar nav button.active{color:var(--deep);background:#fff}.side-user{border-top:1px solid #ffffff24;grid-template-columns:32px 1fr 36px;align-items:center;gap:9px;margin-top:auto;padding:18px 6px 0;display:grid}.side-user>svg{width:28px}.side-user b,.side-user small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.side-user b{font-size:13px}.side-user small{color:#b9c8dc;margin-top:3px;font-size:11px}.workspace{min-width:0;padding:28px 34px 70px}.workspace-head{align-items:center;gap:16px;margin-bottom:28px;display:flex}.workspace-head>div{flex:1}.workspace-head small,.panel-head small,.drawer small{letter-spacing:.13em;color:var(--muted);font-size:10px}.workspace-head h1{letter-spacing:-.03em;color:var(--deep);margin:4px 0;font-size:32px}.secure{color:var(--green);background:#e9f6ec;border-radius:99px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.secure svg{width:16px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}.metric{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:16px;min-height:130px;padding:20px;position:relative}.metric span{color:var(--muted);font-size:13px}.metric strong{color:var(--deep);margin-top:17px;font-size:34px;display:block}.metric svg{width:18px;color:var(--blue);position:absolute;top:16px;right:16px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px}.panel-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-head h2,.panel-head h3{color:var(--deep);margin:5px 0}.list{margin-top:14px;display:grid}.list-row{border-top:1px solid #e7e2d8;align-items:center;gap:12px;padding:13px 4px;display:flex}.list-row .dot{background:var(--orange);border-radius:50%;width:9px;height:9px}.list-row b,.list-row small{display:block}.list-row b{font-size:13px}.list-row small{color:var(--muted);margin-top:3px;font-size:11px}.toolbar{gap:10px;margin-bottom:16px;display:flex}.search{border:1px solid var(--sky);background:#fff;border-radius:13px;flex:1;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.search svg{width:18px;color:var(--blue)}.search input{background:0 0;border:0;outline:0;flex:1}.primary,.secondary{border:0;border-radius:12px;min-height:44px;padding:0 18px;font-weight:650}.primary{background:var(--orange);color:#fff}.secondary{border:1px solid var(--sky);color:var(--deep);background:#fff}.compact{min-height:38px;font-size:12px}.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid #e7e2d8;padding:14px 16px;font-size:13px}th{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f8fbfc;font-size:11px}td b,td small{display:block}td small{color:var(--muted);margin-top:4px;font-size:11px}.status{color:var(--muted);white-space:nowrap;background:#f0ede7;border-radius:99px;padding:5px 9px;font-size:11px;display:inline-flex}.status.good{color:var(--green);background:#e5f3e9}.status.bad{color:var(--red);background:#fae7e4}.icon-btn{width:36px;height:36px;color:inherit;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.icon-btn:hover{background:#0000000a}.icon-btn svg{width:19px}.overlay{z-index:20;background:#0a2a5e66;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--cream);width:min(620px,100%);height:100%;padding:24px;overflow:auto;box-shadow:-16px 0 50px #0a2a5e28}.drawer>header{border-bottom:1px solid #dccfbb;justify-content:space-between;gap:15px;padding-bottom:20px;display:flex}.drawer h2{color:var(--deep);margin:5px 0;font-size:28px}.drawer p{color:var(--muted);margin:0}.facts{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.facts>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.facts b,.facts small{display:block}.facts b{overflow-wrap:anywhere;margin-top:6px;font-size:13px}.drawer-section{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.entitlement{border-top:1px solid #eee4d7;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;display:flex}.entitlement:first-of-type{margin-top:14px}.entitlement b,.entitlement small{display:block}.entitlement b{font-size:13px}.entitlement small{color:var(--muted);margin-top:4px;font-size:11px}.dialog-overlay{z-index:30;background:#0a2a5e88;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:18px;width:min(460px,100%);padding:24px}.dialog h3{color:var(--deep);margin:0 0 18px;font-size:22px}.dialog label{gap:7px;margin:12px 0;font-size:12px;font-weight:650;display:grid}.dialog input,.dialog select,.dialog textarea,.login-panel input{border:1px solid var(--sky);background:#fff;border-radius:11px;width:100%;padding:12px}.dialog textarea{resize:vertical;min-height:88px}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.report{border-top:1px solid #e7e2d8;grid-template-columns:auto 1fr;gap:14px;padding:16px 4px;display:grid}.report p{white-space:pre-wrap;max-height:120px;color:var(--muted);font-size:13px;overflow:auto}.report small{color:var(--muted)}.role-grid,.status-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.role svg{color:var(--blue)}.role h2{color:var(--deep);font-size:19px}.role p{color:var(--muted);min-height:40px;font-size:13px}.role small{color:var(--muted)}.service{align-items:center;gap:13px;display:flex}.service b,.service small{display:block}.service small{color:var(--muted);margin-top:4px}.lamp{background:#c4bdb4;border-radius:50%;width:12px;height:12px}.lamp.good{background:#3aa36a}.lamp.bad{background:var(--red)}.empty{text-align:center;min-height:180px;color:var(--muted);align-content:center;place-items:center;display:grid}.empty svg{color:var(--sky);width:34px}.empty b{color:var(--deep);margin-top:10px}.empty p{max-width:380px;font-size:13px}.problem{color:var(--red);background:#fff0ee;border:1px solid #f0aaa3;border-radius:13px;align-items:flex-start;gap:12px;padding:16px;display:flex}.problem p{margin:5px 0 0}.skeleton{gap:12px;display:grid}.skeleton i{background:linear-gradient(90deg,#f2eee6,#fff,#f2eee6) 0 0/200% 100%;border-radius:14px;height:90px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.centered{min-height:100vh;color:var(--muted);align-content:center;place-items:center;display:grid}.loader{border:4px solid var(--line);border-top-color:var(--orange);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-brand{background:var(--deep);color:#fff;flex-direction:column;justify-content:space-between;padding:48px max(40px,8vw);display:flex}.login-brand>div span{letter-spacing:.16em;color:var(--sky);font-size:11px}.login-brand h1{letter-spacing:-.055em;margin:18px 0;font-size:clamp(48px,7vw,86px);line-height:.96}.login-brand p{color:#c9d7e7;max-width:520px;line-height:1.6}.login-panel{place-items:center;padding:30px;display:grid}.login-panel form{width:min(390px,100%)}.login-mark{width:58px;height:58px;color:var(--blue);background:#e2f3fc;border-radius:18px;place-items:center;display:grid}.login-panel h2{color:var(--deep);margin:20px 0 7px;font-size:30px}.login-panel>form>p{color:var(--muted);margin:0 0 23px;line-height:1.5}.login-panel label{gap:7px;margin:13px 0;font-size:12px;font-weight:650;display:grid}.login-panel input{min-height:48px}.login-panel .code{letter-spacing:.3em;text-align:center;font-size:28px}.login-panel .primary{width:100%;margin-top:8px}.login-panel .link{color:var(--blue);background:0 0;border:0;width:100%;padding:14px}.error{color:var(--red);background:#fff0ee;border:1px solid #efaaa4;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:12px}.security-note{color:var(--muted);text-align:center;margin-top:18px;line-height:1.5;display:block}.mobile-only{display:none}@media (width<=920px){.metric-grid,.role-grid,.status-grid{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:1fr}.sidebar{z-index:40;width:min(300px,88vw);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%)}.sidebar.open{transform:none}.mobile-only{display:grid}.workspace{padding:20px}.secure{display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}}@media (width<=560px){.metric-grid,.role-grid,.status-grid{grid-template-columns:1fr}.workspace{padding:16px}.workspace-head h1{font-size:27px}.metric{min-height:108px}.drawer{padding:17px}.facts{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:flex-start}.confirm-actions{grid-template-columns:1fr 1fr;display:grid}.login-panel{padding:22px}.login-panel h2{font-size:27px}}.row-actions{gap:8px;margin-top:12px;display:flex}.ticket{border-top:1px solid #e7e2d8;justify-content:space-between;gap:20px;padding:18px 4px;display:flex}.ticket h3{color:var(--deep);margin:8px 0}.ticket p{color:var(--muted);margin:0 0 8px;font-size:13px}.ticket small{color:var(--muted)}.section-gap{margin-top:18px}@media (width<=560px){.ticket{display:block}.row-actions{flex-wrap:wrap}}
