:root{color-scheme:dark;--bg:#07111f;--bg2:#0a1527;--panel:#0e1c30;--panel2:#111f34;--panel3:#15253b;--line:#20334a;--line2:#2b4057;--text:#eff7ff;--muted:#8b9eb8;--faint:#5c738e;--cyan:#40d9e7;--cyan2:#188eae;--mint:#38d6a8;--amber:#f6b85e;--red:#ff657e;--purple:#a593ff;--shadow:0 20px 55px #0004;--font:'DM Sans',system-ui,-apple-system,sans-serif;--display:'Space Grotesk',var(--font)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}body{background:radial-gradient(ellipse 60% 50% at 80% -15%,#1542633b,transparent),#07111f}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}::-webkit-scrollbar{width:9px;height:8px}::-webkit-scrollbar-thumb{background:#284056;border-radius:10px}::-webkit-scrollbar-track{background:#081424}::selection{background:#2bd7e750;color:#fff}
.initial-loading{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.3em}.brand-mark{display:grid;place-items:center;background:linear-gradient(140deg,#38deed26,#6296ff12);border:1px solid #48dfea65;color:var(--cyan);width:44px;height:44px;border-radius:13px;box-shadow:inset 0 0 20px #44cbec12,0 0 28px #35ddf219;font-family:var(--display);font-size:27px;font-weight:700}.brand-mark.big{width:70px;height:70px;font-size:40px}
.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b1728,#091321);border-right:1px solid #223248;padding:23px 13px 18px;z-index:20}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:2px 13px 27px;border-bottom:1px solid #1b2c3e}.brand-name{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:.11em;line-height:1}.brand-sub{font-weight:700;font-size:9px;color:#6f91b3;letter-spacing:.26em;margin-top:8px}.side-section{padding:24px 12px 9px;font-size:10px;font-weight:800;letter-spacing:.18em;color:#54718f;text-transform:uppercase}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid transparent;background:transparent;color:#8298b5;text-align:left;font-size:13px;font-weight:700;transition:all .2s;margin:2px 0}.nav-item:hover{color:white;background:#15273c}.nav-item.active{color:#e8fcff;background:linear-gradient(90deg,#154151a6,#152a3fa0);border:1px solid #2bc9d840;box-shadow:inset 3px 0 var(--cyan)}.nav-icon{width:18px;height:18px;display:inline-flex;justify-content:center}.nav-item .badge-count{margin-left:auto;background:#ff657e2b;border:1px solid #ff657e4a;color:#ff8293;padding:3px 7px;border-radius:6px;font-size:10px}.side-bottom{margin-top:auto;padding:13px 10px 0;border-top:1px solid var(--line)}.sidebar-health{background:#0d2532;border:1px solid #1b554e;border-radius:12px;padding:14px;margin-bottom:14px;display:flex;align-items:center;gap:11px}.pulse-circle{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px #34e6ae13,0 0 14px #2de4af80;animation:pulse 2.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px #34e6ae09,0 0 25px #2de4af80}}.small-label{color:var(--faint);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.sidebar-health .strong{font-size:12px;font-weight:800;margin-bottom:3px}.side-version{display:flex;justify-content:space-between;color:#647c98;font-size:11px}.main{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:#0b1728b8;backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,49px);position:sticky;top:0;z-index:10}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#7892ac;font-size:12px;font-weight:700;letter-spacing:.02em}.breadcrumbs b{color:#edfaff}.top-actions{display:flex;align-items:center;gap:17px}.searchbox{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #233b50;border-radius:9px;padding:9px 13px;color:#718ba4;background:#0c1c2e;max-width:235px}.searchbox input{width:150px;background:transparent;color:#dceaff;border:0;outline:0;font-size:12px}.top-time{color:#7c94ad;font-size:11px;font-weight:800;letter-spacing:.09em}.user-chip{display:flex;align-items:center;gap:10px;padding-left:17px;border-left:1px solid #304057}.avatar{height:31px;width:31px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#d9eaff;background:linear-gradient(140deg,#325f91,#2a3961);font-size:12px}.user-chip strong{display:block;font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{display:block;font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-top:3px}.content{padding:33px clamp(20px,3vw,49px) 60px;max-width:1720px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}.eyebrow{color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin-bottom:11px}.page-heading h1{font-family:var(--display);font-size:clamp(27px,2.5vw,37px);font-weight:700;line-height:1.13;letter-spacing:-.035em;margin:0 0 7px}.page-heading p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.heading-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid #31475f;background:#13263b;color:#e3f4ff;border-radius:9px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;min-height:39px;transition:all .16s}.btn:hover{background:#19354c;border-color:#3e6680;transform:translateY(-1px)}.btn-primary{background:linear-gradient(120deg,#39d7df,#51a9dc);border-color:transparent;color:#051d2c;box-shadow:0 8px 22px #23bdce26}.btn-primary:hover{background:linear-gradient(120deg,#72f5f4,#7ec7e9);border-color:transparent}.btn-danger{border-color:#a64e60a6;color:#ff92a5;background:#53263655}.btn-ghost{background:transparent;border:1px solid var(--line2)}.btn-small{min-height:30px;padding:6px 10px;font-size:11px}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.icon-btn{border:1px solid var(--line2);width:35px;height:35px;border-radius:9px;display:inline-grid;place-items:center;background:#13253a;color:#a9c2d9}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.panel{border-radius:15px;background:linear-gradient(145deg,#13243aee,#0d1a2dec);border:1px solid #21364c;box-shadow:0 14px 35px #00000013;overflow:hidden}.stat-card{padding:20px 21px 18px;min-height:153px;position:relative}.stat-card:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 100% 0%,var(--glow,#43cfe6) 0%,transparent 100%);opacity:.055;pointer-events:none}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #4acfe63b;background:#37b3d31c;color:var(--cyan);border-radius:10px}.stat-icon.success{background:#36d7ad15;color:var(--mint);border-color:#3bdcb43c}.stat-icon.warning{background:#efa94915;color:var(--amber);border-color:#eda84e3c}.stat-icon.danger{background:#fa647b17;color:var(--red);border-color:#f1617b3b}.stat-label{color:#9ab0c7;font-size:12px;font-weight:700;margin-top:14px}.stat-value{font-family:var(--display);font-size:32px;font-weight:700;letter-spacing:-.06em;line-height:1.3}.stat-foot{color:#69849f;font-size:10px;margin-top:4px}.stat-foot strong{color:var(--mint)}.micro-lines{position:absolute;right:15px;bottom:25px;opacity:.5;width:75px}
.row-grid{display:grid;grid-template-columns:minmax(0,1.73fr) minmax(290px,.98fr);gap:20px;margin-bottom:20px}.row-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-header{padding:20px 23px 17px;display:flex;justify-content:space-between;align-items:start;gap:10px}.panel-header h2{margin:0;font-size:15px;font-family:var(--display);letter-spacing:-.025em}.panel-header p{font-size:11px;color:#758ea9;margin:6px 0 0}.panel-header .label-action{color:#67d7e2;font-size:11px;font-weight:800;cursor:pointer}.chart-body{padding:2px 21px 20px}.chart-key{display:flex;gap:18px;font-size:11px;color:#a0b4ca;align-items:center;flex-wrap:wrap}.chart-key span{display:inline-flex;align-items:center;gap:6px}.dot{display:inline-block;width:8px;height:8px;background:var(--cyan);border-radius:50%}.dot.purple{background:var(--purple)}.chart-frame{position:relative;height:210px;margin-top:16px;border-bottom:1px solid #263a51;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#23394e77 25%);}.chart-svg{height:100%;width:100%;overflow:visible;filter:drop-shadow(0 0 10px #4fd8ff17)}.chart-axis{display:flex;justify-content:space-between;color:#66809d;font-size:10px;margin-top:12px}.chart-nodata{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#738da6;background:radial-gradient(ellipse at center,#28506915,transparent 60%)}.signal-list{padding:0 19px 16px}.signal-row{display:flex;gap:11px;padding:11px 3px;border-bottom:1px solid #1e3348;align-items:center}.signal-row:last-child{border:0}.signal-icon{height:30px;width:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#32b99916;color:var(--mint)}.signal-icon.warning{background:#ffb9571d;color:var(--amber)}.signal-icon.danger{background:#ff657f1c;color:var(--red)}.signal-text{flex:1;min-width:0}.signal-text strong{display:block;font-size:11.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.signal-text small{display:block;color:#7990a9;font-size:10px;margin-top:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timestamp{color:#698199;font-size:10px;font-weight:700;white-space:nowrap}.topology{padding:0 8px 7px;position:relative}.topology svg{width:100%;height:218px}.topology svg .animated-path{stroke-dasharray:5 9;animation:route 15s linear infinite}@keyframes route{to{stroke-dashoffset:-210}}.status-strip{display:flex;align-items:center;justify-content:space-around;gap:9px;padding:14px 8px 18px;border-top:1px solid #22374b}.status-strip .item{text-align:center}.status-strip strong{font:700 19px var(--display);display:block}.status-strip small{font-size:10px;color:#718ba6}.data-table{width:100%;border-collapse:collapse;font-size:12px;min-width:560px}.data-table th{text-align:left;color:#63809b;font-weight:800;letter-spacing:.11em;font-size:10px;text-transform:uppercase;padding:12px 18px;background:#0d1a2e;border-bottom:1px solid var(--line)}.data-table td{padding:15px 18px;border-bottom:1px solid #1b3044;color:#adc1d5;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#1930476b}.table-wrap{overflow:auto}.cell-main{display:flex;align-items:center;gap:11px;color:#eaf6ff;font-weight:800}.asset-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:9px;color:var(--cyan);background:#36c8dc17;border:1px solid #3cbed342}.cell-sub{display:block;font-size:10px;color:#6d879f;margin-top:4px;font-weight:500}.badge{display:inline-flex;gap:6px;align-items:center;font-size:10px;font-weight:800;padding:6px 9px;border-radius:7px;letter-spacing:.03em;text-transform:capitalize;background:#26456054;border:1px solid #3d5e7652;color:#a8bbcd}.badge:before{content:'';width:6px;height:6px;border-radius:50%;background:#7b9db7}.badge.up,.badge.resolved,.badge.success,.badge.closed{background:#1d695347;border-color:#2c9d795e;color:#68e4bd}.badge.up:before,.badge.resolved:before,.badge.success:before,.badge.closed:before{background:var(--mint)}.badge.down,.badge.open,.badge.critical,.badge.urgent{background:#923e5644;border-color:#b64f6855;color:#ff94a4}.badge.down:before,.badge.open:before,.badge.critical:before,.badge.urgent:before{background:var(--red)}.badge.degraded,.badge.acknowledged,.badge.waiting,.badge.high,.badge.in_progress{background:#83602d59;border-color:#b786405c;color:#ffd086}.badge.degraded:before,.badge.acknowledged:before,.badge.waiting:before,.badge.high:before,.badge.in_progress:before{background:var(--amber)}.badge.pending,.badge.normal,.badge.low{background:#36516c55;border-color:#3d6a9450;color:#91bde0}.badge.pending:before,.badge.normal:before,.badge.low:before{background:#87c3ee}.usage{height:5px;width:90px;background:#284058;border-radius:9px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:10px}.usage>i{display:block;height:100%;background:linear-gradient(90deg,#22bed3,#5fe6cc);border-radius:inherit}.usage.warn>i{background:linear-gradient(90deg,#e4a85e,#f47775)}.num{font:700 12px var(--display);color:#c5d7e9}.mini-action{background:transparent;border:1px solid #345069;border-radius:7px;padding:6px 10px;color:#93cfe7;font-weight:800;font-size:11px}.mini-action:hover{background:#24445a}.empty{display:flex;align-items:center;flex-direction:column;gap:10px;padding:40px 30px;text-align:center;color:#8098b0}.empty-icon{width:52px;height:52px;border:1px solid #35657d;border-radius:14px;background:#25b8db11;color:var(--cyan);display:grid;place-items:center}.empty h3{margin:5px 0 0;color:#e7f3ff;font-size:15px}.empty p{max-width:390px;line-height:1.6;margin:0 0 8px;font-size:12px}.alert-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(90deg,#542438ae,#271c33);border:1px solid #a3435c75;padding:16px 18px;border-radius:12px;margin:0 0 22px}.alert-banner strong{color:#ffdce2;font-size:13px}.alert-banner p{color:#cc9cae;font-size:11px;margin:5px 0 0}.alert-banner .btn{background:#713446;border-color:#a04d62}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.metric-card{padding:20px}.metric-card small{color:var(--muted);display:block;font-size:11px}.metric-card b{font:700 26px var(--display);display:block;margin:12px 0 6px}.metric-card .usage{width:100%;height:6px}.metric-card .label{display:block;color:#7790ac;font-size:10px;margin-top:10px}.detail-section{margin:20px 0}.detail-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 20px}.service-pill{font-size:11px;border:1px solid #29435a;background:#0c1a2c;color:#94aec5;padding:8px 10px;border-radius:6px}.service-pill b{color:#e5f1ff}.service-pill.active{border-color:#2b8168;background:#12352b;color:#84e1b9}.service-pill.failed{border-color:#9b4557;background:#381b2e;color:#ff9aac}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{color:#a6bdd1;font-size:11px;font-weight:800;letter-spacing:.035em}.field input,.field select,.field textarea{background:#0a1727;border:1px solid #2a4057;border-radius:9px;padding:12px 13px;color:#eaf5ff;outline:none;min-width:0;font-size:12px}.field textarea{min-height:100px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:#42cddd;box-shadow:0 0 0 3px #43d5e41a}.field .hint{color:#748ca6;font-size:10px;line-height:1.5}.checkline{display:flex;align-items:center;gap:9px;color:#aebfd1;font-size:11px}.checkline input{accent-color:var(--cyan);width:15px;height:15px}.modal-root{position:fixed;inset:0;z-index:100;pointer-events:none}.modal-root:not(:empty){pointer-events:auto}.overlay{background:#020713bb;backdrop-filter:blur(8px);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px}.modal-card{width:min(660px,100%);max-height:min(89vh,940px);overflow:auto;background:linear-gradient(150deg,#17283d,#0d1b2d);border:1px solid #39526b;border-radius:17px;box-shadow:0 35px 100px #0009}.modal-head{padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #283c52}.modal-head h2{margin:2px 0 5px;font:700 20px var(--display)}.modal-head p{color:#8199b2;font-size:11px;margin:0}.modal-body{padding:24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #263d53;padding:17px 24px}.modal-wide{width:min(900px,100%)}.modal-huge{width:min(1080px,100%)}.dialog-notice{color:#b7cfdf;font-size:11px;line-height:1.6;border:1px solid #345877;border-radius:9px;padding:13px 15px;background:#18304a61;margin:4px 0 16px}.dialog-notice strong{color:#69dced}.toast-root{position:fixed;right:25px;bottom:22px;z-index:120;display:flex;flex-direction:column;gap:8px}.toast{background:#142c3d;border:1px solid #3f808a;box-shadow:var(--shadow);color:#e8f8ff;border-radius:10px;padding:12px 17px;font-size:12px;max-width:350px;animation:slidein .24s}.toast.error{border-color:#d25d72;background:#382332}@keyframes slidein{from{transform:translateX(15px);opacity:0}}
.chat-box{height:420px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex;gap:11px;max-width:100%}.chat-msg.mine{flex-direction:row-reverse}.chat-bubble{max-width:75%;background:#152d43;border:1px solid #2b465f;padding:10px 13px;border-radius:12px 12px 12px 3px}.chat-msg.mine .chat-bubble{background:#164454;border-color:#2b8b96;border-radius:12px 12px 3px 12px}.chat-bubble b{font-size:11px;color:#8ee6ed}.chat-bubble p{font-size:12px;color:#d5e6f4;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.chat-bubble small{color:#7490a7;font-size:10px}.chat-composer{padding:14px;border-top:1px solid #274057;display:flex;gap:9px}.chat-composer input{flex:1;min-width:0;padding:13px;border:1px solid #304d64;background:#0c1d2f;color:white;border-radius:9px}.ticket-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:19px}.ticket-detail{min-height:450px}.ticket-conversation{max-height:360px;overflow-y:auto;padding:16px}.ticket-message{border-bottom:1px solid #21384d;padding:12px 2px}.ticket-message b{color:var(--cyan);font-size:11px}.ticket-message small{color:#7590a8;font-size:10px;margin-left:8px}.ticket-message p{font-size:12px;color:#d3e3f2;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.card-content{padding:18px 21px}.small-note{font-size:11px;color:#859db7;line-height:1.6}.inline-actions{display:flex;gap:7px;flex-wrap:wrap}.divider{height:1px;background:#263b4f;margin:20px 0}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid>div{background:#091a2d;border:1px solid #263e56;padding:16px;border-radius:10px}.info-grid b{display:block;font:700 21px var(--display);margin-top:9px}.info-grid small{font-size:10px;color:#839bb2}.mini-panel{background:#101f32;border:1px solid #243d54;border-radius:12px;padding:18px}.mini-panel h3{font-size:13px;margin:0 0 11px;font-family:var(--display)}.status-preview{background:radial-gradient(circle at 80% 0,#133b48,#0c1b2c);border:1px solid #37546b;border-radius:13px;padding:25px;text-align:center}.status-preview h3{font:700 20px var(--display);margin:8px}.status-preview p{color:#a2b6c9;font-size:12px}.status-preview .preview-orb{height:50px;width:50px;margin:0 auto;background:#206e60;border-radius:50%;color:#69eac9;display:grid;place-items:center;box-shadow:0 0 40px #2ad5b93d}.admin-settings{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.tab-strip{display:flex;gap:5px;margin-bottom:21px;border-bottom:1px solid #304157}.tab{background:transparent;border:0;color:#7897b0;padding:11px 15px;border-bottom:2px solid transparent;font-size:12px;font-weight:800}.tab.active{color:#71e7e6;border-color:#49dbe5}
/* Public status experience */
.public{min-height:100vh;background:radial-gradient(ellipse 45% 35% at 50% 4%,#12476470,transparent 95%),linear-gradient(180deg,#071422,#07111f 60%,#09172a);position:relative;overflow:hidden}.public:before{content:'';pointer-events:none;position:absolute;inset:0;background-image:linear-gradient(#1d405b23 1px,transparent 1px),linear-gradient(90deg,#1d405b23 1px,transparent 1px);background-size:57px 57px;mask-image:linear-gradient(#0004,transparent 55%)}.public-nav{max-width:1150px;margin:auto;padding:28px 26px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.public-brand{display:flex;align-items:center;gap:12px;font:700 17px var(--display);letter-spacing:.11em}.public-brand small{display:block;color:#7599b4;font:700 9px var(--font);letter-spacing:.23em;margin-top:5px}.public-main{max-width:980px;margin:auto;position:relative;z-index:1;padding:46px 25px 85px}.public-halo{width:112px;height:112px;border-radius:50%;margin:0 auto 26px;border:1px solid #56e5c950;display:grid;place-items:center;box-shadow:0 0 0 10px #54f6d20b,0 0 0 27px #56f6d008,0 0 80px #39f9d022;background:radial-gradient(circle,#236d6d5c,#13344824);color:#4ae0c0}.public-halo.down{color:#ff758a;border-color:#c95773;box-shadow:0 0 0 10px #ff527111,0 0 70px #ff527130}.public-halo svg{height:47px;width:47px}.public-hero{text-align:center}.public-hero .eyebrow{letter-spacing:.32em}.public-hero h1{font:700 clamp(36px,5vw,63px) var(--display);letter-spacing:-.055em;line-height:1.1;margin:0 0 17px}.public-hero p{color:#8ca7c1;font-size:14px;line-height:1.7;max-width:600px;margin:0 auto 20px}.hero-status{display:inline-flex;align-items:center;gap:10px;border:1px solid #32695e;background:#16453861;border-radius:40px;padding:11px 20px;color:#68e7ba;font-size:12px;font-weight:800}.hero-status.alert{background:#4624348a;color:#ff9faf;border-color:#8f4459}.public-overline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:27px 0 14px}.public-overline b{font-size:14px;font-family:var(--display)}.public-overline span{font-size:10px;color:#7b9bb4;text-transform:uppercase;letter-spacing:.12em}.status-group{margin-bottom:14px;padding:0;overflow:hidden}.group-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);font:700 12px var(--display)}.public-service{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;border-bottom:1px solid #1b3044}.public-service:last-child{border-bottom:none}.service-name{display:flex;gap:11px;align-items:center}.service-name strong{font-size:12px}.service-name small{display:block;color:#7290a7;font-size:10px;margin-top:5px}.availability-bar{display:flex;align-items:center;gap:12px}.availability-bar .usage{width:120px;margin:0;height:7px}.public-footer{border-top:1px solid #244052;padding-top:28px;text-align:center;margin-top:48px;color:#648199;font-size:10px}.public-footer strong{color:#70c5d6}.public-incidents{display:flex;gap:12px;flex-direction:column}.public-incident{padding:15px 17px;border:1px solid #9c455855;background:#4925365e;border-radius:9px;font-size:12px}.public-incident strong{color:#ffc5d1}.public-incident small{display:block;color:#b68da0;margin-top:6px}.public-demo-link{color:#62d4e0;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.demo-tag{position:fixed;right:20px;bottom:19px;z-index:30;background:#3e2649;border:1px solid #ac6bce;color:#eed4ff;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.13em;padding:10px 14px;pointer-events:none}.login-title{text-align:center;margin:0 0 25px}.login-title .brand-mark{margin:auto auto 16px}.login-title h2{font:700 25px var(--display);margin:0 0 8px}.login-title p{color:#92a9c1;font-size:12px;margin:0}
@media(max-width:1180px){.shell{grid-template-columns:218px minmax(0,1fr)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-grid{grid-template-columns:1fr}.sidebar-logo{padding-left:7px}.nav-item{padding:11px}}
@media(max-width:850px){.shell{display:block}.sidebar{height:auto;position:relative;display:block;padding:12px 16px;border-right:0;border-bottom:1px solid #263e50}.sidebar-logo{padding:0;border:0}.sidebar-menu{display:flex;overflow-x:auto;padding:8px 0 0;gap:4px}.sidebar-menu .side-section{display:none}.nav-item{white-space:nowrap;width:auto;padding:9px 10px;flex-shrink:0}.nav-item .nav-icon{display:none}.side-bottom{display:none}.topbar{height:62px;padding:0 20px}.top-time,.searchbox{display:none}.content{padding:25px 18px 50px}.page-heading{align-items:flex-start;flex-direction:column}.ticket-layout,.admin-settings{grid-template-columns:1fr}}
@media(max-width:600px){.kpi-grid,.row-grid.equal,.metric-row,.form-grid,.info-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.stat-card{min-height:130px}.topbar .breadcrumbs{font-size:11px}.user-chip strong,.user-chip small{display:none}.page-heading h1{font-size:28px}.public-service{flex-wrap:wrap}.availability-bar{width:100%;justify-content:space-between}.public-nav{padding:20px}.public-main{padding-top:36px}.modal-body{padding:17px}.modal-actions{padding:12px}.modal-head{padding:17px}.chat-box{height:330px}}
/* v1.1: evidence-backed infrastructure fleet and zero-guess credential onboarding */
.fleet-banner{display:flex;gap:17px;align-items:center;padding:22px 26px;margin-bottom:21px;border:1px solid #356e77;border-radius:15px;background:radial-gradient(ellipse at 10% 0,#1f6a7955,transparent 70%),linear-gradient(125deg,#102a3b,#0c1727);color:#66dfeb;box-shadow:inset 0 1px #65ecf21a}.fleet-banner>svg{flex:0 0 auto;filter:drop-shadow(0 0 12px #42dfed99)}.fleet-banner strong{display:block;color:#dffafe;font:700 15px var(--display);margin-bottom:6px}.fleet-banner span{display:block;color:#98b7ca;font-size:11px;line-height:1.65}.fleet-progress{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #273d53;background:#0b1d2f;padding:15px 20px;border-radius:11px;margin:17px 0 22px}.fleet-progress b{font:700 12px var(--display);display:block;margin-bottom:3px}.fleet-progress span{font-size:11px;color:#7895ae}.fleet-track{width:36%;height:11px;border-radius:10px;background:#182e41;overflow:hidden}.fleet-track i{display:block;height:100%;background:linear-gradient(90deg,#2b9ba9,#4de8b9);box-shadow:0 0 12px #28f6bd55;transition:width .3s}.fleet-collection{display:flex;flex-direction:column;gap:18px}.fleet-panel{overflow:hidden}.fleet-panel .panel-header{padding:20px 22px}.fleet-group-count{font-size:10px;color:#72dccc;font-weight:800;white-space:nowrap}.fleet-rows{border-top:1px solid #243950}.fleet-row{display:flex;gap:15px;align-items:center;padding:17px 21px;border-bottom:1px solid #1f3246;min-width:0}.fleet-row:last-child{border:0}.fleet-row:hover{background:#19304766}.fleet-glyph{width:40px;height:40px;flex:0 0 40px;border:1px solid #315169;border-radius:11px;display:grid;place-items:center;background:#152c3e;color:#6adfeb}.fleet-description{flex:1;min-width:0}.fleet-name{font-weight:800;font-size:13px;color:#e6f5fc}.fleet-small{margin-left:9px;color:#8dacc3;font-size:9px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.fleet-small.verified{color:#57d0b2}.fleet-address{color:#78d4df;font:600 12px ui-monospace,monospace;margin-top:6px;overflow-wrap:anywhere}.fleet-address span{color:#86a3b7}.fleet-role{margin-top:5px;font-size:10px;color:#7591a9;line-height:1.5}.fleet-checks{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.fleet-checks span{font-size:9px;border:1px solid #295168;background:#102e3e;padding:4px 7px;border-radius:5px;color:#8ebbc9}.fleet-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:245px}.fleet-state{display:block;width:100%;text-align:right;text-transform:uppercase;font-size:9px;letter-spacing:.1em;font-weight:900}.fleet-state.done{color:#58deb3}.fleet-state.ready{color:#ffc278}.fleet-state.network{color:#76bdf0}.fleet-state.missing{color:#8299b1}.fleet-identity{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;padding:16px 18px;background:#0b1a2b;border:1px solid #29455c;border-radius:10px}.fleet-identity span{color:#6e8da9;font-size:10px;font-weight:800;letter-spacing:.1em}.fleet-identity strong{font:700 12px ui-monospace,monospace;color:#b9e4e9;overflow-wrap:anywhere}
@media(max-width:850px){.fleet-row{align-items:flex-start;flex-wrap:wrap}.fleet-actions{width:100%;max-width:100%;justify-content:flex-start;padding-left:55px}.fleet-state{width:auto;text-align:left;margin-right:auto}.fleet-progress{flex-direction:column;align-items:stretch}.fleet-track{width:100%}}
@media(max-width:520px){.fleet-glyph{display:none}.fleet-actions{padding-left:0}.fleet-panel .panel-header{flex-wrap:wrap}.fleet-row{padding:15px}.fleet-banner{padding:16px}}
.fleet-fabric{background:radial-gradient(ellipse at 50% 10%,#16455d70,transparent 75%),#0a1b2b;border:1px solid #2a4c65;border-radius:15px;padding:18px 22px 11px;margin-bottom:22px;overflow:hidden}.fleet-fabric-title{display:flex;gap:15px;align-items:center;justify-content:space-between;color:#7fdce8;font-size:10px;font-weight:850;letter-spacing:.14em}.fleet-fabric-title span:first-child{display:flex;align-items:center;gap:8px}.fleet-fabric-title span:last-child{color:#698aa2;font-size:9px;letter-spacing:normal}.fleet-fabric svg{display:block;max-height:265px;width:100%;}.fleet-legend{display:flex;gap:20px;justify-content:center;padding-bottom:9px;color:#789db4;font-size:10px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.fleet-reach{display:block;color:#8ea6b9;font-size:9px;width:100%;text-align:right}.fleet-reach.ok{color:#64d7b7}.fleet-reach.bad{color:#d69aa1}@media(max-width:600px){.fleet-fabric-title{flex-wrap:wrap}.fleet-legend{flex-wrap:wrap;gap:9px}}

/* FORT Network Fabric - understated, responsive network console */
.network-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px;align-items:start}
.network-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:212px;padding:25px 32px;overflow:hidden;border:1px solid #2f5d70;border-radius:16px;background:radial-gradient(circle at 87% 45%,rgba(44,187,216,.22),transparent 33%),linear-gradient(110deg,#0d2438,#102c43 78%)}
.network-hero-copy{max-width:590px}.network-hero h2{margin:8px 0 8px;color:#e5f4ff;font-size:24px;letter-spacing:-.035em}.network-hero p{max-width:570px;font-size:12px;line-height:1.65;color:#94b1c8}
.network-capability{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.network-capability span{display:flex;align-items:center;gap:5px;background:rgba(39,104,130,.25);border:1px solid #2d5871;border-radius:6px;padding:7px 9px;color:#9ee2ec;font-size:10px}
.network-radar{width:200px;height:190px;position:relative;flex-shrink:0}.radar-ring{position:absolute;inset:0;margin:auto;border:1px solid rgba(64,196,218,.23);border-radius:50%}.radar-ring.r0{width:185px;height:185px}.radar-ring.r1{width:140px;height:140px}.radar-ring.r2{width:95px;height:95px}.radar-ring.r3{width:50px;height:50px}.radar-center{position:absolute;top:67px;left:77px;color:#6eddec;filter:drop-shadow(0 0 10px #0e9ec6)}.radar-node{position:absolute;width:10px;height:10px;background:#35556a;border:2px solid #547386;border-radius:100%;box-shadow:0 0 0 4px rgba(25,64,81,.45)}.radar-node.live{background:#69dfbc;border-color:#b4f9e4;box-shadow:0 0 12px rgba(74,231,180,.7)}.node0{left:2px;top:50px}.node1{left:64px;top:8px}.node2{right:5px;top:43px}.node3{left:25px;bottom:23px}.node4{right:32px;bottom:12px}.node5{right:1px;bottom:80px}
.net-connection{padding:16px 20px;border-top:1px solid rgba(115,164,189,.14)}.net-connection-main{display:flex;align-items:center;gap:12px;margin-bottom:8px}.net-connection-main strong{font-size:12px}.net-connection-main small{display:block;color:#829eb4;margin-top:4px;font-size:10px}.net-device-icon{border:1px solid #28586f;padding:11px;color:#76d8eb;background:#122d40;border-radius:10px}.net-error{margin:8px 0;padding:8px 11px;background:rgba(240,97,117,.08);border-left:2px solid #e97f8c;color:#f4a1ac;font-size:11px}.net-connection .inline-actions{margin-top:11px;gap:6px;flex-wrap:wrap}.net-sites{display:flex;gap:11px;flex-wrap:wrap;padding:14px}.net-site{display:flex;gap:16px;align-items:center;justify-content:space-between;flex:1 1 280px;border:1px solid #2a4b61;border-radius:10px;padding:13px 15px;color:#9bb9d0;font-size:11px}.net-site>span:first-child{display:flex;gap:8px;align-items:center;color:#d7ecf6}.net-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}.net-detail{border:1px solid #24495c;border-radius:9px;padding:12px;background:#102638}.net-detail small{display:block;color:#779ab0;font-size:10px;margin-bottom:7px}.net-detail b{font-size:19px;font-weight:650;color:#d3f7ff}.net-port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:8px;margin-top:13px}.net-port{display:flex;flex-direction:column;gap:5px;background:#142838;border:1px solid #2f485d;padding:11px 9px;border-radius:8px;font-size:10px;color:#adbed0}.net-port span{font-weight:700;color:#e3edf4}.net-port small{font-size:9px;color:#8c9eac}.net-port.port-up{border-color:#247d6b;background:#11382f}.net-port.port-down{border-color:#8a4b5a;background:#3b232f}
@media(max-width:1100px){.network-grid{grid-template-columns:1fr}}@media(max-width:720px){.network-hero{padding:20px}.network-radar{display:none}.net-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Configurable command overview modules */
.dashboard-customize{margin-top:26px;display:grid;gap:16px}
.dashboard-module{min-width:0}
.module-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:1px solid #24425c;background:#102237;border-radius:10px 10px 0 0}
.dashboard-module > .panel{border-radius:0 0 12px 12px}
.dashboard-module .btn:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:720px){.module-toolbar{flex-wrap:wrap}.dashboard-customize .data-table{min-width:660px}}

/* v1.5: evidence-first graph controls and observed network counters */
.telemetry-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0 0}
.telemetry-controls label{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#9bb4c8}
.telemetry-controls select{background:#091a2d;border:1px solid #395970;border-radius:8px;padding:7px 28px 7px 9px;color:#d7f1fb;max-width:200px}
.telemetry-legendbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 12px 0}
.telemetry-legend{display:flex;gap:7px;align-items:center;font-size:11px;color:#c7dae5}
.telemetry-legend i{display:inline-block;border-radius:50%;width:7px;height:7px}
.telemetry-legend span{font-weight:750;font-variant-numeric:tabular-nums;color:#f1fbff}
.telemetry-legendbar .small-note{margin-left:auto}
.network-evidence{background:#081c2de8;border:1px solid #2d6273;border-radius:12px;padding:18px 22px;min-width:230px;display:grid;gap:10px}
.network-evidence>strong{font-size:9px;letter-spacing:.16em;color:#68dcde}
.network-evidence>div{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #34536355;padding-top:8px}
.network-evidence b{font:700 24px var(--display);color:#defbff;font-variant-numeric:tabular-nums}
.network-evidence span,.network-evidence small{font-size:10px;color:#91b3c2}
@media(max-width:840px){.network-hero{flex-wrap:wrap}.network-evidence{width:100%}}

/* FORT Studio 1.6 — command center, native interaction and genuine telemetry */
.fort-studio{--studio-border:rgba(90,143,180,.22);--studio-ink:#eaf8ff;--studio-muted:#8baec6;min-width:0;padding-bottom:42px}
.fort-studio-head{position:relative;border:1px solid rgba(79,167,198,.23);padding:32px 36px 27px;border-radius:18px 18px 0 0;background:radial-gradient(ellipse at 85% -15%,rgba(40,214,241,.15),transparent 46%),radial-gradient(ellipse at 3% 40%,rgba(49,99,194,.14),transparent 40%),linear-gradient(110deg,#0a1c31,#10263c 72%,#081928);overflow:hidden}
.fort-studio-head:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(94,206,239,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(94,206,239,.025) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000)}
.fort-studio-overline{letter-spacing:.20em;font-size:10px;font-weight:850;color:#66d5e6;position:relative}
.fort-studio-head h1{position:relative;color:#f0fbff;font:750 clamp(26px,3.1vw,45px)/1.15 var(--display,system-ui);letter-spacing:-.045em;margin:10px 0 8px}
.fort-head-dot{color:#53ebde}
.fort-studio-head p{position:relative;margin:0 0 22px;color:#91b1c8;font-size:12px}
.fort-board-tabs{position:relative;display:flex;gap:6px;flex-wrap:wrap}
.fort-board-tabs button{border:1px solid transparent;background:rgba(7,19,33,.35);padding:11px 20px;color:#7f9fb9;border-radius:9px;font-size:10px;letter-spacing:.13em;font-weight:900;cursor:pointer;transition:all .2s}
.fort-board-tabs button:hover{color:#edf9ff;border-color:#41637c}.fort-board-tabs button.active{background:#174259;color:#d4fbff;border-color:#3e8392;box-shadow:inset 0 -2px 0 #58e7e6}
.fort-studio-toolbar{display:flex;justify-content:space-between;gap:13px;align-items:center;background:#09192a;border:1px solid var(--studio-border);border-top:none;padding:14px 24px;border-radius:0 0 16px 16px;margin-bottom:16px;flex-wrap:wrap}
.fort-studio-health{display:flex;align-items:center;gap:8px;color:#7fe4cf;font-size:10px;letter-spacing:.11em;font-weight:850}.fort-studio-health i{height:7px;width:7px;background:#4ce5b5;border-radius:50%;box-shadow:0 0 13px #37e5ae9c}.fort-studio-health small{color:#6f94b0;font-weight:600;letter-spacing:0;margin-left:7px;font-size:10px}
.fort-studio-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fort-unsaved{color:#ffc778;font-size:10px;font-weight:800;letter-spacing:.08em}
.fort-board-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:16px;align-items:stretch}
.fort-tile{min-width:0;position:relative;border:1px solid rgba(73,133,164,.3);border-radius:15px;background:linear-gradient(180deg,#102338,#0b1b2d);overflow:hidden;box-shadow:0 8px 28px rgba(1,7,19,.19);display:flex;flex-direction:column;min-height:var(--tile-h);transition:border-color .17s,box-shadow .17s}
.fort-tile:hover{border-color:rgba(103,191,216,.48);box-shadow:0 10px 35px rgba(2,12,27,.4)}.fort-tile-cap{height:2px;background:linear-gradient(90deg,var(--accent),transparent 73%);opacity:.9}
.fort-tile-head{padding:17px 21px 10px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;min-width:0}
.fort-tile-overline{display:block;max-width:530px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);opacity:.78;font-size:9px;letter-spacing:.13em;font-weight:850}
.fort-tile-name{min-width:0}.fort-tile-name h3{font:750 16px var(--display,system-ui);letter-spacing:-.02em;color:#ecf9ff;margin:7px 0 0}
.fort-tile-tools{display:flex;gap:5px;align-items:center;flex:none}.fort-chart-range{font-size:9px;font-weight:850;letter-spacing:.13em;color:#668da9;padding:4px 7px;background:#102b3f;border:1px solid #29455b;border-radius:5px}
.fort-tool{color:#b9e3ed;border:1px solid #34516b;border-radius:6px;background:#143149;min-width:27px;height:29px;cursor:pointer;display:grid;place-items:center;font-size:15px;font-weight:800}.fort-tool:hover{border-color:#65d9e8;background:#214c65}.fort-drag-handle{color:#8dbdcd;padding:6px;cursor:grab;letter-spacing:-1px}
.fort-tile-body{padding:0 17px 17px;flex:1;min-height:0}.fort-tile-body .fort-viz-stage{height:calc(var(--tile-h) - 170px);min-height:125px}.fort-tile-body .fort-no-data{height:calc(var(--tile-h) - 100px);min-height:145px}
.fort-tile.is-editing{border-style:dashed;border-color:#5a92b1;cursor:move}.fort-tile.dragging{opacity:.48}.fort-tile.drag-target{outline:2px solid #62dfea;outline-offset:3px}.fort-resize-handle{position:absolute;bottom:0;right:0;padding:5px 11px 7px 15px;color:#7bcad9;font-size:18px;cursor:nwse-resize;background:linear-gradient(130deg,transparent,#163e53)}
.fort-studio-help{margin-top:15px;padding:14px 18px;border-radius:9px;border:1px solid #314e64;background:#122638;color:#8cbed2;font-size:11px}
.fort-viz-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:9px 7px 7px}
.fort-viz-keys{display:flex;flex-wrap:wrap;gap:11px}.fort-series-key{display:flex;align-items:center;gap:6px;color:#8aa9bd;font-size:10px}.fort-series-key>span{display:inline-block;width:8px;height:8px;border-radius:2px}.fort-series-key strong{color:#e7faff;font-variant-numeric:tabular-nums;font-size:12px;margin-left:3px}
.fort-viz-peak{font-size:9px;color:#688da6;font-weight:600;white-space:nowrap}.fort-viz-stage{position:relative;overflow:hidden}.fort-viz-svg{width:100%;height:100%;display:block;overflow:visible}.fort-viz-svg .fort-chart-capture{cursor:crosshair}.fort-tooltip{display:none;position:absolute;top:12px;min-width:150px;z-index:3;transform:translateX(-50%);pointer-events:none;background:rgba(5,17,29,.96);border:1px solid #41718c;border-radius:8px;padding:11px 13px;box-shadow:0 10px 24px #010b1bdc;color:#c4ebf3;font-size:10px}.fort-tooltip.visible{display:grid;gap:6px}.fort-tooltip strong{color:#fff;font-size:11px}.fort-tooltip span{display:flex;justify-content:space-between;gap:14px}.fort-tooltip b{color:#89e8e6}
.fort-chart-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(68,115,143,.17);padding:10px 7px 0;color:#65829b;font-size:9px}
.fort-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#84abc1;border:1px dashed #2e4e67;border-radius:9px;margin-top:10px;background:linear-gradient(140deg,rgba(13,49,74,.35),rgba(3,17,31,.15));padding:18px}.fort-no-data b{font-size:13px;color:#c3e0ee}.fort-no-data span{font-size:11px;max-width:340px;line-height:1.5}.fort-no-data small{font-size:9px;color:#678ca1}.fort-no-data-icon{color:#5696ac;opacity:.75}
.fort-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:154px}.fort-summary-card{background:radial-gradient(circle at 90% 0%,rgba(59,212,214,.08),transparent 58%),#0a1e31;border:1px solid #2b455a;border-radius:9px;padding:13px 16px;display:flex;flex-direction:column;justify-content:center}.fort-summary-card>span{color:#6a9bb5;font-size:9px;font-weight:850;letter-spacing:.11em}.fort-summary-card strong{color:#ebfbff;font:750 clamp(20px,2.3vw,28px) var(--display,system-ui);line-height:1.7;font-variant-numeric:tabular-nums}.fort-summary-card small{color:#779bb1;font-size:9px}
.fort-big-stat{height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center}.fort-big-stat strong{font:750 clamp(28px,4vw,56px) var(--display,system-ui);color:#e4fcff;letter-spacing:-.05em}.fort-big-stat span{font-size:11px;color:#7eacc5}
.fort-fabric-analytics{margin:20px 0 26px;padding:25px;background:linear-gradient(140deg,#0a1b30,#091827);border:1px solid #2b556c;border-radius:17px}
.fort-fabric-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.fort-fabric-heading h2{font:750 25px var(--display,system-ui);color:#ecfaff;letter-spacing:-.04em;margin:5px 0}.fort-fabric-heading p{color:#819fb9;font-size:11px;margin:0}.fort-fabric-controls{display:flex;gap:12px;flex-wrap:wrap}.fort-fabric-controls label{display:flex;flex-direction:column;gap:5px;font-size:9px;letter-spacing:.08em;font-weight:850;color:#80a8ba}.fort-fabric-controls select{min-width:125px;max-width:235px;padding:10px 12px;border:1px solid #3b6580;background:#142d41;border-radius:7px;color:#d7f5fa;font-size:11px}
.fort-network-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:15px 0}.fort-network-cards>div{background:#10293d;border:1px solid #2c4e64;padding:14px;border-radius:9px;min-width:0}.fort-network-cards span{display:block;font-size:9px;letter-spacing:.09em;font-weight:850;color:#6794b1}.fort-network-cards strong{display:block;color:#dceff8;font-size:clamp(12px,1.4vw,19px);font-weight:750;white-space:normal;overflow-wrap:anywhere;margin-top:10px;font-variant-numeric:tabular-nums}
.fort-fabric-graph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fort-fabric-graph,.fort-port-section{min-width:0;border:1px solid #2b4c60;background:#0c2033;border-radius:11px;padding:15px 14px 12px;overflow:hidden}.fort-fabric-graph-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.fort-fabric-graph-head small{font-size:9px;letter-spacing:.13em;color:#51c4d0;font-weight:900}.fort-fabric-graph-head h3{font:750 14px var(--display,system-ui);margin:6px 0 0;color:#e9f7fc}.fort-fabric-graph-head>span{font-size:9px;color:#6fa4b8}.fort-fabric-graph .fort-viz-stage{height:220px}.fort-fabric-graph .fort-no-data{height:220px}
.fort-port-section{margin-top:14px}.fort-port-matrix{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-height:330px;overflow-y:auto;margin-top:10px}.fort-port{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;border:1px solid #365066;background:#132a3c;padding:9px 11px;border-radius:7px;cursor:pointer;text-align:left;min-height:88px;color:#9db7c8}.fort-port i{width:15px;height:5px;background:#68889b;border-radius:2px;margin-bottom:3px}.fort-port.up i{background:#56e2b5;box-shadow:0 0 8px #44cc9a66}.fort-port.down i{background:#ff8491}.fort-port strong{font-size:10px;color:#e0edf4;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fort-port small{font-size:10px;color:#91c5dc}.fort-port em{font-style:normal;color:#68bba9;font-size:9px}.fort-port:hover,.fort-port.selected{border-color:#5acddc;background:#193d52}
.fort-data-integrity{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:15px;padding:15px 18px;border:1px solid #2b5066;border-radius:9px;background:#0a2131;color:#a7c5d4;font-size:10px}.fort-data-integrity b{letter-spacing:.09em;color:#7fcedc;font-size:10px;margin-right:6px}.fort-data-integrity span{border:1px solid #355469;border-radius:4px;padding:5px 7px}.fort-data-integrity .available{color:#6fdbba}.fort-data-integrity .missing{color:#b3a0ad}.fort-data-integrity p{width:100%;font-size:10px;color:#7d9bb0;margin:0}
.fort-widget-form .fort-check{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid #36516a;border-radius:5px;margin:4px 0;color:#c6dde8;font-size:11px}.fort-widget-form input[type=checkbox]{accent-color:#45d6dd}.fort-metric-picker{display:block}
@media(max-width:1100px){.fort-board-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.fort-tile{grid-column:span 6!important}.fort-network-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.fort-studio-head{padding:22px}.fort-studio-toolbar{padding:13px}.fort-board-grid{grid-template-columns:1fr}.fort-tile{grid-column:span 1!important;min-height:320px}.fort-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fort-fabric-analytics{padding:15px}.fort-fabric-graph-grid{grid-template-columns:1fr}.fort-network-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.fort-viz-peak{display:none}.fort-tile-body .fort-viz-stage{height:180px}.fort-board-tabs button{padding:10px 13px}}

/* v1.6.2: startup recovery stays legible even when application JavaScript fails. */
.fort-boot-error{font-family:Inter,system-ui,sans-serif;max-width:660px;margin:12vh auto;padding:36px;background:#0b1b2d;border:1px solid #315779;border-radius:18px;color:#ebf6ff;line-height:1.6}
.fort-boot-error h1{font-size:22px;margin:0 0 12px}
.fort-boot-error p{color:#adc3d6}
.fort-boot-error button,.fort-boot-error a{background:#153e5b;border:1px solid #5eabc9;color:#eaf9ff;display:inline-block;padding:9px 14px;border-radius:9px;cursor:pointer;text-decoration:none;margin:10px 12px 0 0}

/* v1.6.8: Direct Docker stats display, no helper installation controls */
.docker-stat-row{display:grid;grid-template-columns:minmax(150px,2fr) repeat(4,minmax(70px,1fr));gap:12px;align-items:center;padding:12px 10px;border-bottom:1px solid rgba(125,154,186,.16);font-size:12px}
.docker-stat-row strong{display:block;overflow-wrap:anywhere;font-size:12px}
.docker-stat-row small{display:block;color:#8095a8;margin-top:3px;font-size:10px}
.docker-stat-label{display:block;color:#7f96aa;letter-spacing:.08em;font-size:9px;font-weight:700}
@media(max-width:850px){.docker-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.docker-stat-row>div:first-child{grid-column:1/-1}}
/* FORT 1.8 — infrastructure intelligence surfaces. No placeholder performance curves. */
.fabric-overview{margin:22px 0;overflow:hidden;border:1px solid rgba(72,207,220,.20)}
.fabric-statline{display:flex;flex-wrap:wrap;gap:26px;padding:15px 24px;border-top:1px solid #20394a;border-bottom:1px solid #20394a;background:linear-gradient(90deg,rgba(28,137,160,.09),transparent)}
.fabric-statline span{font-size:12px;color:#9ebbd0;display:flex;align-items:center;gap:9px}
.fabric-statline b{font-size:22px;font-variant-numeric:tabular-nums;color:#d2faff}
.fabric-sites{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,450px),1fr));gap:18px}
.fabric-site{border:1px solid #2c475d;background:linear-gradient(155deg,#112b3a,#0b1927 64%);padding:18px;border-radius:13px;min-width:0;box-shadow:0 10px 25px rgba(0,0,0,.12)}
.fabric-site-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.fabric-site-head h3{margin:6px 0;font-size:18px;letter-spacing:-.03em;color:#e5f7fc}
.fabric-site-head small{color:#89aabe}
.fabric-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px}
.fabric-vlan{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;background:#091823;border:1px solid #2b4558;border-radius:8px}
.fabric-vlan>div:first-child{min-width:53px;border-right:1px solid #264657;display:flex;flex-direction:column}
.fabric-vlan strong{color:#43d5e4;font-size:21px;line-height:1.1;font-variant-numeric:tabular-nums}
.fabric-vlan small{color:#829db0;font-size:10px;display:block;margin-top:4px}
.fabric-vlan b{color:#d4e8f5;font-size:12px;display:block;overflow-wrap:anywhere}
.fabric-vlan>div:nth-child(2){min-width:0;flex:1}
.fabric-state{width:6px;height:19px;background:#39cea2;border-radius:8px}
.fabric-state.offline{background:#e08f56}
.fabric-footer{display:flex;gap:12px;flex-wrap:wrap;padding-top:14px;color:#8bafc1;font-size:11px}
.wall-screen{position:fixed;inset:0;z-index:1500;overflow:auto;background:radial-gradient(ellipse at 65% -10%,#14344c 0,transparent 47%),#060f19;color:#d7ebf9;padding:22px clamp(20px,3vw,55px);font-variant-numeric:tabular-nums}
.wall-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:21px;border-bottom:1px solid #244157}
.wall-mark{display:flex;gap:12px;align-items:center;color:#56e2e8;font-weight:800;letter-spacing:.06em;font-size:24px}
.wall-mark b{color:#e4f3ff}.wall-mark small{margin-left:20px;font-weight:600;font-size:10px;color:#7498b1;letter-spacing:.15em}
.wall-actions{display:flex;gap:10px;align-items:center;font-size:12px;color:#87a9bd;flex-wrap:wrap}
.wall-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.wall-kpis>div{background:#0b1c2a;border:1px solid #294558;border-radius:12px;padding:19px 22px;display:flex;flex-direction:column;gap:8px}
.wall-kpis small{font-size:10px;letter-spacing:.12em;color:#82a5b9;font-weight:800}.wall-kpis b{font-size:clamp(30px,4vw,64px);line-height:1;color:#def8ff}.wall-kpis .wall-warn{color:#ffb46d}
.wall-body{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;min-height:500px}
.wall-panel{min-width:0;border:1px solid #263f55;border-radius:12px;background:#091725;overflow:hidden;padding:18px}
.wall-panel-title{font-size:11px;color:#79cee2;letter-spacing:.14em;font-weight:900;display:flex;justify-content:space-between;margin:6px 0 19px}.wall-panel-title span{font-size:10px;letter-spacing:0;color:#7794aa;font-weight:500}
.wall-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wall-node{display:flex;align-items:center;gap:9px;padding:12px 10px;background:#112639;border:1px solid #244257;border-radius:8px;min-width:0}
.wall-node>div{min-width:0;flex:1}.wall-node strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wall-node small{display:block;margin-top:4px;font-size:10px;color:#85a6bb}.wall-node>b{font-size:9px;color:#40dcae}
.wall-node.down>b{color:#ff7285}.wall-node.degraded>b{color:#eab467}.wall-node .pulse-circle{flex:none}
.wall-incidents{display:grid;gap:7px;max-height:295px;overflow:auto}.wall-incidents>div{display:flex;align-items:center;gap:10px;padding:10px;background:#122536;border:1px solid #2c4056;border-radius:6px}.wall-incidents strong{font-size:11px;flex:1}.wall-incidents small{font-size:10px;color:#779db3}.wall-severity{width:7px;height:24px;border-radius:4px;background:#d89d59}.wall-severity.critical{background:#f75d78}
.wall-footer{font-size:10px;letter-spacing:.06em;color:#688ba6;margin:16px 0;text-align:right}
@media(max-width:1000px){.wall-body{grid-template-columns:1fr}.wall-mark small{display:none}}
@media(max-width:670px){.wall-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wall-header{flex-direction:column;align-items:flex-start}.wall-nodes{grid-template-columns:1fr}.fabric-site-head{align-items:flex-start;flex-direction:column}}
/* FORT 2.0 intelligence studio — responsive, data-driven command surfaces */
.v2-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px;padding:7px;background:#071523;border:1px solid #20354a;border-radius:14px}
.v2-tab{background:transparent;color:#9fb4cc;border:1px solid transparent;border-radius:9px;padding:11px 15px;font-weight:750;font-size:12px;letter-spacing:.015em;cursor:pointer;transition:background .17s,border .17s,color .17s}
.v2-tab:hover{background:#193047;color:#f3fcff}
.v2-tab.active{background:linear-gradient(135deg,#133b4f,#15465f);color:#c2f8ff;border:1px solid #2881a2;box-shadow:inset 0 1px 0 #69d6f325}
.v2-panel{margin-bottom:22px;overflow:hidden}
.v2-panel .card-content{padding:24px}
.v2-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.v2-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#91abc0}
.v2-toolbar input:not([type=checkbox]),.v2-toolbar select{background:#071b2c;border:1px solid #2a4357;border-radius:8px;padding:10px 12px;color:#dff6fd;font-family:inherit;min-width:105px;max-width:340px}
.v2-toolbar input:focus,.v2-toolbar select:focus{outline:2px solid #3ebdd5;outline-offset:1px}
.v2-toolbar button{white-space:nowrap}
.v2-event-list{margin-top:20px;max-height:650px;overflow:auto;display:grid;gap:0;border:1px solid #1d3247;border-radius:12px;background:#091725}
.v2-event{display:grid;grid-template-columns:125px 14px minmax(0,1fr);gap:14px;padding:15px 17px;border-bottom:1px solid #1d3045;align-items:flex-start}
.v2-event:hover{background:#123047}
.v2-event:last-child{border-bottom:0}
.v2-event time{font-variant-numeric:tabular-nums;color:#809cb8;font-size:11px;white-space:nowrap}
.v2-event strong{display:block;color:#e7faff;font-size:13px;margin-bottom:6px}
.v2-event small{color:#94acc0;font-size:11px;line-height:1.55;display:block;overflow-wrap:anywhere;max-width:850px}
.v2-dot{width:9px;height:9px;border-radius:99px;background:#488baf;margin-top:3px;box-shadow:0 0 0 3px #3f8db71c}
.v2-dot.log,.v2-dot.incident{background:#ff7384;box-shadow:0 0 0 3px #ff73842c}
.v2-dot.recovery{background:#5bd9a6;box-shadow:0 0 0 3px #5bd9a629}
.v2-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0 0 20px}
.v2-kpi-strip>div{background:radial-gradient(circle at 86% 8%,#1b71842e,transparent 58%),#0b2030;border:1px solid #294256;border-radius:12px;padding:22px 19px;color:#d8fcff;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
.v2-kpi-strip small{display:block;color:#81a7b8;font-size:10px;text-transform:uppercase;letter-spacing:.085em;margin-top:7px}
.v2-panel .data-table{font-size:12px}
.v2-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;background:#0b2030;border:1px solid #213e51;border-radius:12px;padding:18px;margin-bottom:10px}
.v2-status-row>div:first-child{min-width:190px;flex:1}
.v2-status-row strong{display:block;font-size:14px;color:#e7fbff}
.v2-status-row small{display:block;color:#81a2b9;margin-top:5px;font-size:11px}
.v2-status-row .v2-toolbar{margin:0;flex:3}
.v2-component-chips{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.v2-component-chips span{display:flex;align-items:center;gap:7px;padding:4px 9px;background:#112f44;border:1px solid #22617c;color:#b1effc;font-size:11px;border-radius:7px}
.v2-component-chips button{background:none;border:0;color:#ef9bab;cursor:pointer;font-size:14px}
.v2-panel .chart-frame{margin-bottom:14px}
@media(max-width:900px){.v2-panel .card-content{padding:12px}.v2-event{grid-template-columns:85px 9px minmax(0,1fr);gap:8px}.v2-toolbar{align-items:stretch}.v2-toolbar input:not([type=checkbox]),.v2-toolbar select{max-width:100%;min-width:0}.v2-tabs{overflow-x:auto;flex-wrap:nowrap}.v2-tab{flex-shrink:0}}

/* FORT v2 measured utilization heatmap */
.fort-heat-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;margin:6px 4px 12px;color:var(--text-secondary,#9eb4ce)}
.fort-heat-summary strong{color:#d6f3ff}
.fort-heatmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(13px,1fr));gap:5px;align-items:stretch;min-height:125px;padding:12px 0}
.fort-heat-cell{min-height:20px;border-radius:4px;background:var(--heat-accent,#5ee4f5);opacity:var(--heat-alpha);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .12s ease}
.fort-heat-cell:hover{transform:scale(1.13);outline:1px solid #c5f6ff;z-index:2}
@media(max-width:720px){.fort-heatmap{gap:3px;grid-template-columns:repeat(auto-fit,minmax(10px,1fr))}}
