:root{--font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 56px;--gutter: var(--space-5);--radius: 6px;--radius-lg: 10px;--sidebar-w: 236px;--brand-h: 134px;--shadow-card: 0 1px 2px rgba(0, 40, 56, .06), 0 2px 10px rgba(0, 40, 56, .07);--shadow-raised: 0 6px 26px rgba(0, 40, 56, .22)}[data-brand=optiplumb]{--b050: #e5f7fd;--b100: #bfeafb;--b200: #7fd6f7;--b300: #40c2f3;--b400: #00aeef;--b500: #0095cd;--b600: #007dac;--b700: #00658a;--b800: #004e69;--b900: #003a4e;--brand: var(--b400);--brand-text: var(--b600);--brand-deep: var(--b700);--ink: #221f21;--ink-muted: #5d5a5c;--ink-faint: #8b8889;--card: #ffffff;--band: #f0f9fe;--surface: #f6fbfe;--border: #dce8ef;--border-strong: #c3d6e0;--status-good: #0ca30c;--status-good-text: #0a7d0a;--status-warning: #fab219;--status-warning-text: #8a5a00;--status-serious: #ec835a;--status-serious-text: #9a4318;--status-critical: #d03b3b;--status-critical-text: #a52121}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--b600);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-weight:700;letter-spacing:-.01em;margin:0}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;height:100%;background:linear-gradient(165deg,var(--b600) 0%,#00739e 100%)}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background:linear-gradient(180deg,#00739e 0%,var(--b700) 100%);color:#fff}.sidebar-brand{background:#fff;height:var(--brand-h);padding:var(--space-4) var(--space-4) var(--space-3);display:flex;align-items:flex-end;justify-content:center}.sidebar-brand img{display:block;width:100%;max-width:186px;max-height:100%;height:auto;object-fit:contain}.sidebar nav{padding:var(--space-3) var(--space-3) var(--space-5)}.nav-group-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-2) var(--space-2);border:0;background:transparent;color:#ffffffad;font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:left}.nav-group-toggle:hover{color:#fff}.nav-group-toggle .chevron{font-size:8px;transition:transform .13s ease;opacity:.8}.nav-group-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.nav-heading{padding:var(--space-4) var(--space-2) var(--space-2);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffd9}.sidebar nav a{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);margin-bottom:2px;border-radius:8px;color:#ffffffe0;font-size:13.5px;font-weight:500;line-height:1.3}.sidebar nav a svg{width:17px;height:17px;flex-shrink:0;opacity:.9}.sidebar nav a:hover{background:#ffffff1f;color:#fff;text-decoration:none}.sidebar nav a.active{background:#fff;color:var(--brand-text);font-weight:700;box-shadow:0 1px 3px #00283833}.sidebar nav a.active svg{opacity:1}.nav-group-items a{padding-left:var(--space-3)}.nav-divider{height:1px;background:#ffffff1f;margin:var(--space-3) var(--space-2) 0}.sidebar-footer{margin-top:auto;padding:var(--space-4);border-top:1px solid rgba(255,255,255,.12);font-size:10px;line-height:1.6;color:#ffffffbf}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.page-header{display:flex;flex-direction:column;height:var(--brand-h);padding:var(--space-4) var(--gutter) var(--space-3);border-bottom:1px solid rgba(255,255,255,.16);flex-shrink:0}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.page-version{margin-top:auto;font-size:11px;letter-spacing:.04em;color:#ffffffdb;font-variant-numeric:tabular-nums}.page-header-title{display:flex;align-items:baseline;gap:var(--space-4);min-width:0}.page-header h1{line-height:1.2}.page-header h1{font-size:20px;color:#fff;white-space:nowrap}.page-header .sub{font-size:12.5px;color:#ffffffc7;margin:0;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header .actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.env-mark{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}.env-mark .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.env-production{color:#a52121}.env-production .dot{background:#d03b3b}.env-development{color:var(--b600)}.env-development .dot{background:var(--b400)}.env-staging{color:#8a5a00}.env-staging .dot{background:#fab219}.env-demo{color:#5b3a9e}.env-demo .dot{background:#7c5cd6}.env-test{color:#44506b}.env-test .dot{background:#718096}.env-unknown{color:#44506b}.env-unknown .dot{background:#a0aec0}.env-mark-inline{background:transparent;padding:0}.user-chip-wrap{position:relative;flex-shrink:0}.user-chip{display:flex;align-items:center;gap:var(--space-3);padding:5px var(--space-3) 5px 5px;background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:999px;cursor:pointer;font-family:var(--font-sans);text-align:left}.user-chip:hover{background:#ffffff38}.user-chip .avatar{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--brand-text);font-size:12px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.user-chip .who{display:block;line-height:1.28}.user-chip .who .name,.user-chip .who .role{display:block}.user-chip .who .name{font-size:13px;font-weight:700;color:#fff}.user-chip .who .role{font-size:10.5px;color:#fffc}.user-chip .chevron{font-size:9px;color:#fffc}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-3);z-index:60}.user-menu .email{font-size:12px;color:var(--ink-muted);padding:var(--space-1) var(--space-2) var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-3);word-break:break-all}.user-menu .meta{font-size:11.5px;color:var(--ink-faint);padding:0 var(--space-2) var(--space-3)}.user-menu-item{display:block;padding:var(--space-2);border-radius:var(--radius);color:var(--ink);font-size:13px;font-weight:700;margin-bottom:var(--space-1)}.user-menu-item:hover{background:var(--band);text-decoration:none}.user-menu-item span{display:block;font-size:11.5px;font-weight:400;color:var(--ink-muted);margin-top:1px}.user-menu .btn{width:100%;justify-content:center;margin-top:var(--space-2)}.page-content{flex:1;overflow-y:auto;padding:var(--gutter) var(--gutter) var(--space-7)}.split-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--space-4);align-items:start}.split-rail{display:flex;flex-direction:column;gap:var(--space-4)}.split-main.no-rail{grid-template-columns:minmax(0,1fr)}@media(max-width:1280px){.split-main{grid-template-columns:1fr}.split-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.section{margin-bottom:var(--space-5)}.section:last-child{margin-bottom:0}.section>header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.section>header h2{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffeb;white-space:nowrap}.section>header .section-sub{font-size:12px;color:#ffffffd9;white-space:nowrap}.section>header .section-rule{flex:1;height:1px;background:#ffffff38;min-width:var(--space-4)}.section>header .actions{display:flex;gap:var(--space-2);flex-shrink:0}.panel,.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}.panel+.panel{margin-top:var(--space-4)}.panel>header,.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--band);border-bottom:1px solid var(--border)}.panel>header h3,.card-header h3{font-size:14px;font-weight:700;color:var(--brand-text)}.panel>header .meta,.card-header .meta{font-size:11.5px;color:var(--ink-muted);white-space:nowrap}.card-header .count{font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.panel-body,.card-body{padding:var(--space-5)}.card-body{padding:0;flex:1}.panel-note,.card-note{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);font-size:12px;color:var(--ink-muted);line-height:1.55}.card-scroll{max-height:300px;overflow-y:auto}.card-empty{padding:var(--space-4) var(--space-5);font-size:12.5px;color:var(--ink-faint)}.card-asat{border-top:1px solid var(--border);padding:var(--space-2) var(--space-5);font-size:10.5px;color:var(--ink-muted);display:flex;justify-content:space-between;gap:var(--space-3);background:var(--surface)}.card-asat .stale{color:var(--status-warning-text);font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-4);align-items:start}.stat .stat-body{padding:var(--space-4) var(--space-5) var(--space-5)}.stat .value{font-size:34px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--brand-text)}.stat .value .unit{font-size:12px;font-weight:500;color:var(--ink-muted);margin-left:7px;letter-spacing:0}.stat .delta{font-size:12px;font-weight:700;margin-top:var(--space-2)}.stat .delta .vs{font-weight:500;color:var(--ink-muted);margin-left:5px}.stat .delta.up-good,.stat .delta.down-good{color:var(--status-good-text)}.stat .delta.up-bad,.stat .delta.down-bad{color:var(--status-critical-text)}.stat .delta.flat{color:var(--ink-muted);font-weight:500}.stat .state{font-size:11.5px;font-weight:700;margin-top:var(--space-2)}.stat .state.is-good{color:var(--status-good-text)}.stat .state.is-warning{color:var(--status-warning-text)}.stat .state.is-serious{color:var(--status-serious-text)}.stat .state.is-critical{color:var(--status-critical-text)}.stat.is-good{border-top:3px solid var(--status-good)}.stat.is-warning{border-top:3px solid var(--status-warning)}.stat.is-serious{border-top:3px solid var(--status-serious)}.stat.is-critical{border-top:3px solid var(--status-critical)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:8px var(--space-5);background:var(--surface);color:var(--ink-muted);font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}tbody td{padding:9px var(--space-5);border-bottom:1px solid var(--border);color:var(--ink)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--band)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.muted{color:var(--ink-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px var(--space-4);border-radius:var(--radius);border:1px solid transparent;background:var(--b600);color:#fff;font-family:var(--font-sans);font-size:13.5px;font-weight:700;cursor:pointer}.btn:hover{background:var(--b700)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--band)}.btn-lg{padding:12px var(--space-5);font-size:15px}.link-button{background:none;border:0;padding:0;font:inherit;color:var(--brand-text);font-weight:700;cursor:pointer;text-decoration:underline}.field{display:block;margin-bottom:var(--space-4)}.field label,.field>span:first-child{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-sans);font-size:14px;color:var(--ink);background:#fff}.field textarea{line-height:1.55;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00aeef33}.field .hint{display:block;font-size:12px;color:var(--ink-muted);margin-top:4px;line-height:1.5}.filter-bar{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.filter-bar .field{margin-bottom:0;min-width:200px}.filter-bar .spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;flex-shrink:0}.pill-on{background:#e8f6e8;color:var(--status-good-text)}.pill-off{background:#eef2f5;color:var(--ink-muted)}.pill-warn{background:#fdf3e2;color:var(--status-warning-text)}.pill-bad{background:#fdecec;color:var(--status-critical-text)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:13px;line-height:1.55;margin-bottom:var(--space-4);background:var(--card);box-shadow:var(--shadow-card)}.alert-bad{border-left:3px solid var(--status-critical);color:var(--status-critical-text)}.alert-info{border-left:3px solid var(--brand);color:var(--brand-text)}.alert-warn{border-left:3px solid var(--status-warning);color:var(--status-warning-text)}.alert strong{font-weight:700}.empty{padding:var(--space-7);text-align:center;color:#ffffffd9;font-size:14px}.detail-list{margin:0;display:grid;gap:var(--space-3)}.detail-list>div{display:grid;grid-template-columns:170px 1fr;gap:var(--space-4);align-items:baseline}.detail-list dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.detail-list dd{margin:0;font-size:14px;color:var(--ink)}.signin{min-height:100%;display:grid;grid-template-columns:1fr 1.05fr}.signin-panel{display:grid;place-items:center;padding:var(--space-7);background:var(--card)}.signin-form{width:100%;max-width:372px}.signin-form .wordmark{display:block;max-width:200px;margin:0 auto var(--space-3)}.signin-form .env-mark{display:flex;margin:0 auto var(--space-5);width:fit-content}.signin-form h1{font-size:26px;margin:0 0 var(--space-1)}.signin-form .lead{font-size:13.5px;color:var(--ink-muted);margin:0 0 var(--space-5)}.signin-form .btn{width:100%;margin-top:var(--space-2)}.signin-foot{font-size:12px;line-height:1.55;color:var(--ink-faint);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border)}.signin-art{position:relative;background-color:var(--b800);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:var(--space-8) var(--space-7)}.signin-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#003a4e42,#003a4e8c 45%,#004e69eb),linear-gradient(90deg,#003a4e33,#003a4e00 22%)}.signin-art-inner{position:relative;color:#fff;max-width:46ch}.signin-art-inner .eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--b200);margin:0 0 var(--space-3)}.signin-art-inner h2{font-size:32px;font-weight:900;line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--space-3);color:#fff}.signin-art-inner .blurb{font-size:14.5px;line-height:1.6;color:#ffffffe0;margin:0}@media(max-width:900px){.signin{grid-template-columns:1fr}.signin-art{order:-1;min-height:180px;padding:var(--space-5)}.signin-art-inner h2{font-size:22px}.signin-art-inner .blurb{display:none}}.org-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--band);border-bottom:1px solid var(--border)}.org-toolbar h2{font-size:14px;color:var(--brand-text)}.org-hint{padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);font-size:12.5px;color:var(--ink-muted)}.org-canvas{display:flex;align-items:flex-start;background:var(--card)}.org-tree-scroll{flex:1;min-width:0;overflow-x:auto;padding:var(--space-6) var(--space-5) var(--space-7);background:linear-gradient(to right,var(--card) 30%,rgba(255,255,255,0)) left / 40px 100% no-repeat,linear-gradient(to left,var(--card) 30%,rgba(255,255,255,0)) right / 40px 100% no-repeat,radial-gradient(farthest-side at 0 50%,rgba(0,40,56,.1),transparent) left / 14px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,rgba(0,40,56,.1),transparent) right / 14px 100% no-repeat;background-attachment:local,local,scroll,scroll}.org-aside{flex-shrink:0;width:258px;padding:var(--space-6) var(--space-5) var(--space-7);border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:var(--space-4)}.org-aside .aside-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree{display:flex;width:max-content}.tree ul{display:flex;justify-content:center;position:relative;padding-top:30px}.tree ul:before{content:"";position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:15px;background:var(--border-strong)}.tree li{position:relative;padding:30px 7px 0;display:flex;flex-direction:column;align-items:center}.tree li:before,.tree li:after{content:"";position:absolute;top:15px;width:50%;height:2px;background:var(--border-strong)}.tree li:before{right:50%}.tree li:after{left:50%}.tree li:only-child:before,.tree li:only-child:after,.tree li:first-child:before,.tree li:last-child:after{display:none}.org-cell{position:relative}.org-cell:before{content:"";position:absolute;top:-15px;left:50%;margin-left:-1px;width:2px;height:15px;background:var(--border-strong)}.tree>li{padding-top:0}.tree>li:before,.tree>li:after,.tree>li>.org-cell:before{display:none}.org-node{position:relative;width:204px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-card);margin-bottom:14px;text-align:left}.org-node>header{background:linear-gradient(135deg,#005e80,var(--b600));color:#fff;padding:8px 12px;border-radius:5px 5px 0 0;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.35}.org-node.is-support>header{background:linear-gradient(135deg,#221f21,#3d383a)}.org-node .body{padding:10px 12px 14px}.org-node .count{font-size:11px;color:var(--ink-muted);margin-bottom:7px}.org-node .person{font-size:13px;color:var(--ink);padding:2px 0;display:flex;align-items:baseline;gap:7px}.org-node .person .badge{font-size:10px;font-weight:700;color:var(--brand-text);letter-spacing:.04em}.org-node .person .badge.super{color:var(--status-critical-text)}.org-node .vacant{font-size:12.5px;color:var(--ink-faint);font-style:italic}.org-node .flags{font-size:10.5px;color:var(--ink-faint);margin-top:9px;padding-top:8px;border-top:1px solid var(--border)}.org-add{position:absolute;bottom:-11px;left:50%;margin-left:-11px;width:22px;height:22px;border-radius:50%;border:2px solid var(--brand);background:var(--card);color:var(--brand-text);font-size:14px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;z-index:2}.org-add:hover{background:var(--brand);color:#fff}@media(max-width:900px){:root{--sidebar-w: 62px;--brand-h: 76px}.sidebar-brand .who,.nav-heading,.sidebar-footer,.nav-group-toggle span:not(.chevron){display:none}.sidebar nav a{justify-content:center;padding:11px 0;font-size:0;gap:0}.user-chip .who,.user-chip .chevron,.page-header .sub{display:none}.detail-list>div{grid-template-columns:1fr;gap:var(--space-1)}}.page-intro{font-size:13px;line-height:1.6;color:#ffffffdb;margin:0 0 var(--space-4);max-width:130ch}.page-intro strong{color:#fff}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:var(--space-4);align-items:start}.app-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.app-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.app-card-heading{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-card-head h3{font-size:16px;font-weight:700;color:var(--ink)}.app-card-purpose{margin:0;font-size:13px;color:var(--ink-muted);line-height:1.5}.direction-badge{display:inline-block;align-self:flex-start;margin:var(--space-1) 0 0;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:500}.direction-badge.is-inbound{background:var(--b050);color:var(--brand-text)}.direction-badge.is-outbound{background:#fdf3e2;color:var(--status-warning-text);font-weight:700}.app-card-foot{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-2)}.app-card-foot .access{font-size:12.5px;color:var(--ink-muted)}.app-card-foot .access strong{color:var(--ink)}.app-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.app-card-actions .btn{padding:6px var(--space-3);font-size:12.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0028388c;display:grid;place-items:center;padding:var(--space-5)}.modal{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal-wide{max-width:820px}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--band);border-bottom:1px solid var(--border)}.modal>header h3{font-size:15px;color:var(--brand-text)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-note{padding:var(--space-3) var(--space-5);background:var(--surface);border-top:1px solid var(--border);font-size:12px;color:var(--ink-muted);line-height:1.55}.chat-page{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-4);align-items:stretch;min-height:0}@media(max-width:1100px){.chat-page{grid-template-columns:1fr}}.chat-rail{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.chat-history{display:flex;flex-direction:column;gap:2px}.chat-history-item{text-align:left;padding:8px var(--space-3);border:0;border-radius:var(--radius);background:#ffffff1f;color:#fff;font-family:var(--font-sans);font-size:12.5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item:hover{background:#fff3}.chat-history-item.is-active{background:#fff;color:var(--brand-text);font-weight:700}.chat-empty{font-size:12px;color:#fffc;margin:var(--space-2) 0 0}.chat-main{min-height:60vh;max-height:calc(100vh - var(--brand-h) - var(--space-8))}.chat-scroll{flex:1;overflow-y:auto;padding:var(--space-5)}.chat-intro{max-width:62ch}.chat-intro h3{font-size:16px;margin-bottom:var(--space-2);color:var(--brand-text)}.chat-intro p{font-size:13px;line-height:1.6;color:var(--ink-muted);margin:0 0 var(--space-4)}.chat-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-suggestions .btn{font-size:12.5px;padding:6px var(--space-3)}.chat-msg{margin-bottom:var(--space-4);display:flex;flex-direction:column}.chat-msg.is-user{align-items:flex-end}.chat-bubble{max-width:78%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:13.5px;line-height:1.6;white-space:pre-wrap}.is-user .chat-bubble{background:var(--b600);color:#fff}.is-assistant .chat-bubble{background:var(--band);color:var(--ink)}.chat-assumption{font-size:11.5px;font-weight:700;color:var(--brand-text);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.chat-meta{font-size:10.5px;color:var(--ink-faint);margin-top:4px;max-width:78%}.chat-composer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface)}.chat-composer input{flex:1;padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-sans);font-size:14px}.chat-composer input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00aeef33}.skill-heading{font-size:17px;color:#fff;margin:var(--space-6) 0 var(--space-1)}.skill-heading span{font-weight:500;color:#ffffffbf}.skill-subheading{font-size:12.5px;color:#ffffffd9;margin:0 0 var(--space-3);line-height:1.55}.skill-test .panel-body{padding:var(--space-4) var(--space-5)}.skill-test h3{font-size:14px;margin-bottom:var(--space-3);color:var(--ink)}.skill-test-row{display:flex;gap:var(--space-3)}.skill-test-row input{flex:1;padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-sans);font-size:14px}.skill-test-row input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00aeef33}.skill-test-result{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:13.5px}.skill-test-result .muted{color:var(--ink-muted);font-size:12.5px}.skill-editor>header{align-items:center}.skill-editor .panel-body{max-width:640px}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.skill-row:last-child{border-bottom:0}.skill-row:hover{background:var(--band)}.skill-row-main{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;flex:1}.skill-row-name{font-size:14px;font-weight:700;color:var(--ink)}.skill-tags{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--b050);color:var(--brand-text);white-space:nowrap}.tag.is-off{background:#eef2f5;color:var(--ink-faint)}.tag.is-lock{background:#eef7ea;color:var(--status-good-text)}.tag.is-reach{background:var(--surface);color:var(--ink-muted)}.tag.is-warn{background:#fdf3e2;color:var(--status-warning-text);font-weight:700}.tag.is-mine{background:var(--b050);color:var(--brand-text);font-weight:700;margin-left:6px}.skill-row-by{font-size:11.5px;color:var(--ink-faint);white-space:nowrap}.skill-row-by .uses{margin-left:8px;font-variant-numeric:tabular-nums}.skill-row-actions{display:flex;gap:var(--space-2);flex-shrink:0}.skill-row-actions .btn{padding:5px var(--space-3);font-size:12.5px}.tabs{display:flex;gap:2px;margin-bottom:var(--space-4)}.tabs button{padding:9px var(--space-5);border:0;border-radius:var(--radius) var(--radius) 0 0;background:#ffffff29;color:#fff;font-family:var(--font-sans);font-size:13.5px;font-weight:700;cursor:pointer}.tabs button:hover{background:#ffffff42}.tabs button.is-active{background:var(--card);color:var(--brand-text)}.tabs.is-inset{margin:0;padding:0 var(--space-5);gap:var(--space-5);background:var(--band);border-bottom:1px solid var(--border)}.tabs.is-inset button{background:transparent;color:var(--ink-muted);border-radius:0;padding:10px 0;border-bottom:2px solid transparent}.tabs.is-inset button:hover{background:transparent;color:var(--ink)}.tabs.is-inset button.is-active{background:transparent;color:var(--brand-text);border-bottom-color:var(--brand)}.hr-split{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:var(--space-4);align-items:start}@media(max-width:1320px){.hr-split{grid-template-columns:1fr}}.hr-search{width:100%;max-width:340px;padding:9px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-sans);font-size:13.5px}.hr-search:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00aeef33}.incomplete{margin-left:8px;font-size:11px;font-weight:500;color:var(--ink-faint);cursor:help}tbody tr.is-selected{background:var(--b050)}td.level{color:var(--brand-text)}.licence-expiry.is-current{color:var(--status-good-text)}.licence-expiry.is-expiring{color:var(--status-warning-text);font-weight:700}.licence-expiry.is-lapsed{color:var(--status-critical-text);font-weight:700}.hr-drawer{position:sticky;top:0;max-height:calc(100vh - var(--brand-h) - var(--space-7))}.hr-drawer>header{align-items:center}.hr-drawer-body{overflow-y:auto}.hr-drawer h4{font-size:13px;margin:var(--space-5) 0 var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.hr-drawer h4:first-of-type{border-top:0;padding-top:0}.hr-identity{background:var(--band);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:12.5px;color:var(--ink-muted);margin-bottom:var(--space-4)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.field-row.three{grid-template-columns:1fr 1fr 1fr}@media(max-width:640px){.field-row,.field-row.three{grid-template-columns:1fr}}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface);color:var(--ink-muted);cursor:not-allowed}.hr-add{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}
