:root{--app-bg:#f7f7f5;--surface:#ffffff;--surface-soft:#fafaf8;--surface-hover:#f1f1ee;--text:#20201e;--text-soft:#4f4f4b;--muted:#6e6d6b;--faint:#6e6e6b;--line:#cfcfcc;--line-strong:#bcbbb7;--green:#0f9f78;--green-strong:#0d8665;--green-dark:#08765a;--green-soft:#e8f7f1;--blue:#3668d4;--blue-soft:#edf2ff;--amber:#a06215;--amber-soft:#fff4e3;--red:#b42318;--red-soft:#fff0ee;--violet:#5b4bab;--violet-soft:#f0eefb;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:32px;--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--sp-7:16px;--sp-8:20px;--sp-9:24px;--sp-10:32px;--sp-11:40px;--sp-12:56px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-full:999px;--shadow-soft:0 8px 28px rgba(28,28,25,0.055);--sidebar-width:238px;--page-gutter:clamp(14px,3.2vw,36px);--topbar-h:62px;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--bg:var(--app-bg);--card:var(--surface);--line-color:var(--line);--shadow:var(--shadow-soft);--green2:var(--green-soft);--navy:#202622;--navy2:#2b332e;--font-sans:Inter,"SF Pro Text",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-family:var(--font-sans);color:var(--text)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{background:var(--app-bg)}body{margin:0;padding:0;color:var(--text);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:clip}canvas,img,video{max-width:100%;height:auto}.mono,code,kbd,samp{overflow-wrap:anywhere}pre{max-width:100%;overflow-x:auto}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green-strong);outline-offset:2px;box-shadow:0 0 0 4px var(--green-soft)}.data-table tr:focus-visible,table.data tr:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--green-strong)}a{color:inherit;text-decoration:none}::selection{background:#c8ecdf}h1,h2,h3,h4{letter-spacing:-.025em}.dim,.muted{color:var(--muted)}.faint{color:var(--faint)}.strong{color:var(--text);font-weight:610}.mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}.mono,.small{font-size:var(--fs-xs)}.metric-attention{color:var(--amber)!important}.app,.controlhub-shell{min-height:100vh;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:var(--sidebar-width);flex-direction:column;border-right:1px solid var(--line);background:var(--surface);padding:max(var(--sp-8),var(--safe-t)) var(--sp-6) max(var(--sp-6),var(--safe-b)) max(var(--sp-6),var(--safe-l))}.brand-row{display:flex;align-items:center;gap:var(--sp-5);min-height:36px;padding:0 var(--sp-4)}.brand-mark{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:1.5px solid var(--green);border-radius:var(--r-md);color:var(--green);font-size:var(--fs-lg);font-weight:650;transform:rotate(-5deg)}.brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.2}.brand-copy strong{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.02em}.brand-copy span{margin-top:var(--sp-1);color:var(--faint);font-size:var(--fs-2xs)}.mobile-close{display:none;margin-left:auto;border:0;background:transparent;color:var(--muted)}.main-nav,.nav{flex:1 1;margin-top:var(--sp-9);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}.main-nav:hover,.nav:hover{scrollbar-color:var(--line) transparent}.nav-group{margin-bottom:var(--sp-7)}.nav-group-label,.nav-group-title{margin:0 0 var(--sp-3);padding:0 var(--sp-5);color:var(--faint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.09em;text-transform:uppercase}.nav-item{display:flex;width:100%;min-height:34px;align-items:center;gap:var(--sp-5);border:0;border-radius:var(--r-sm);background:transparent;padding:var(--sp-3) var(--sp-5);color:var(--text-soft);font-size:var(--fs-md);text-align:left;transition:color .16s ease,background .16s ease}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:var(--surface-hover);color:var(--text);font-weight:570}.nav-item.in-path{color:var(--text);font-weight:560}.nav-item.active svg,.nav-item.in-path svg{color:var(--green-dark)}.nav-item .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{display:grid;min-width:19px;height:19px;margin-left:auto;place-items:center;border-radius:var(--r-full);background:var(--amber-soft);color:var(--amber);font-size:var(--fs-2xs);font-weight:650}.profile,.sidebar-footer{border-top:1px solid var(--line);padding-top:var(--sp-6)}.account-button{display:flex;width:100%;align-items:center;gap:var(--sp-4);border:0;border-radius:var(--r-md);background:transparent;padding:var(--sp-3);text-align:left}.account-button:hover{background:var(--surface-soft)}.account-button>svg{margin-left:auto;color:var(--faint)}.account-copy{display:flex;min-width:0;flex:1 1;flex-direction:column}.account-copy strong{font-size:var(--fs-sm);font-weight:600}.account-copy small,.account-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy small{color:var(--muted);font-size:var(--fs-2xs)}.avatar{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:1px solid #e2e5e1;border-radius:50%;background:#edf1ed;color:#476054;font-size:var(--fs-2xs);font-weight:650}.avatar-dark{border-color:#323b36;background:#202622;color:#b7f4de}.main,.main-content{min-height:100vh;min-height:100dvh;margin-left:var(--sidebar-width);min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;height:var(--topbar-h);align-items:center;justify-content:space-between;gap:var(--sp-5);border-bottom:1px solid rgba(233,233,229,.88);background:rgba(247,247,245,.9);padding:0;padding-inline:max(var(--page-gutter),var(--safe-l)) max(var(--page-gutter),var(--safe-r));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-left{min-width:0;flex:0 1 auto}.topbar-actions{flex:0 0 auto}.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs,.topbar-actions,.topbar-left{display:flex;align-items:center}.breadcrumbs{gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs)}.breadcrumbs svg{color:var(--faint)}.breadcrumbs strong{color:var(--text);font-weight:600}.topbar-actions{gap:var(--sp-4)}.system-status{display:inline-flex;align-items:center;gap:var(--sp-3);margin-right:var(--sp-2);border:1px solid #d8eee6;border-radius:var(--r-full);background:var(--green-soft);padding:var(--sp-2) var(--sp-4);color:var(--green-dark);font-size:var(--fs-xs);font-weight:520}.system-status.is-down{border-color:#f3c4c4;background:var(--red-soft);color:var(--red)}.status-pulse{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(15,159,120,.1)}.is-down .status-pulse{background:var(--red);box-shadow:0 0 0 4px rgba(180,35,24,.1)}.icon-button,.language-button,.mobile-menu{display:grid;width:33px;height:33px;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--muted)}.icon-button:hover,.language-button:hover,.mobile-menu:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--text)}.language-button{width:auto;padding:0 var(--sp-5);font-size:var(--fs-xs);font-weight:650}.mobile-menu{display:none}.has-indicator{position:relative}.has-indicator:after{position:absolute;top:6px;right:6px;width:5px;height:5px;border:1.5px solid var(--surface);border-radius:50%;background:var(--amber);content:""}.notification-wrap,.row-actions{position:relative}.notification-popover{position:absolute;top:calc(100% + 9px);right:0;z-index:40;width:330px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.popover-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:var(--sp-6) var(--sp-6)}.popover-title strong{font-size:var(--fs-md);font-weight:620}.notification-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start;padding:var(--sp-6) var(--sp-6)}.notification-item+.notification-item{border-top:1px solid var(--line)}.notification-item strong{display:block;font-size:var(--fs-xs);font-weight:620}.notification-item p,.notification-item small{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.notification-item small{margin:0}.notification-empty{padding:var(--sp-7) var(--sp-6);color:var(--muted);font-size:var(--fs-xs);text-align:center}.page-container{width:min(1260px,100% - var(--page-gutter) * 2);margin:0 auto;padding:clamp(20px,3.4vw,40px) 0 clamp(32px,5vw,56px)}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7);margin-bottom:var(--sp-7)}.page-title-row h1{margin:0;font-size:var(--fs-xl);font-weight:640;letter-spacing:-.022em;line-height:1.2}.page-title-row p{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-md)}.page-title-row.is-compact{align-items:baseline;margin-bottom:var(--sp-6)}.page-title-row.is-compact>div:first-child{display:flex;align-items:baseline;gap:var(--sp-5)}.page-title-row.is-compact h1{font-size:var(--fs-xl);letter-spacing:-.02em}.page-title-row.is-compact p{margin:0;font-size:var(--fs-xs)}.page-container:has(.chat-shell){width:calc(100% - min(var(--page-gutter), 20px) * 2);max-width:none;padding-top:var(--sp-8)}.page-title-row .page-actions{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:var(--sp-3);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-sm);font-weight:580;transition:background .14s ease,border-color .14s ease,transform .14s ease}.button:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:default;transform:none}.button-primary{border:1px solid var(--green-strong);background:var(--green-strong);color:#fff}.button-primary:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark)}.button-secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--text-soft)}.button-secondary:hover:not(:disabled){border-color:#cac9c3;background:var(--surface-soft);color:var(--text)}.button-danger{border:1px solid #efc0bb;background:var(--red-soft);color:var(--red)}.button-danger:hover:not(:disabled){border-color:#e2a49d}.button-compact{min-height:32px;padding:var(--sp-3) var(--sp-5)}.button-full{width:100%}.text-button{display:inline-flex;align-items:center;gap:var(--sp-3);border:0;background:transparent;padding:var(--sp-2) 0;color:var(--muted);font-size:var(--fs-xs)}.text-button:hover{color:var(--text)}.table-action-button{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-2) var(--sp-4);color:var(--text-soft);font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.table-action-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.table-action-button:disabled{opacity:.5;cursor:default}.table-action-button.danger{border-color:#efc0bb;color:var(--red)}.field{display:block;margin-top:var(--sp-6)}.field>label,.field>span{display:block;margin-bottom:var(--sp-2);color:var(--text-soft);font-size:var(--fs-2xs);font-weight:560}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-4);color:var(--text);font-size:var(--fs-xs)}.field input,.field select{height:36px}.field textarea{min-height:76px;padding:var(--sp-4);resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--green-soft)}.search-field,.select-field{display:flex;min-height:32px;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft);padding:0 var(--sp-4);color:var(--faint)}.search-field{width:min(330px,100%)}.search-field input,.select-field select{min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:var(--fs-xs)}.search-field input{width:100%}.search-field input::placeholder{color:var(--faint)}.select-field{background:var(--surface)}.select-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;color:var(--muted)}input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--green)}.badge{display:inline-flex;min-height:22px;align-items:center;gap:var(--sp-2);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-2xs);font-weight:580;white-space:nowrap}.badge-neutral{background:#f1f1ee;color:var(--muted)}.badge-success{background:var(--green-soft);color:var(--green-dark)}.badge-warning{background:var(--amber-soft);color:var(--amber)}.badge-danger{background:var(--red-soft);color:var(--red)}.badge-info{background:var(--blue-soft);color:var(--blue)}.badge-violet{background:var(--violet-soft);color:var(--violet)}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.card,.panel{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:0 1px 2px rgba(28,28,25,.04)}.card{padding:var(--sp-7)}.panel-heading{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:var(--sp-7);border-bottom:1px solid var(--line);padding:var(--sp-6) var(--sp-7)}.panel-heading h2{margin:0;font-size:var(--fs-base);font-weight:630;letter-spacing:-.02em}.panel-heading p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-xs)}.panel-heading .heading-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.panel-body{padding:var(--sp-7) var(--sp-7)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-bottom:var(--sp-6)}.metric-card{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-7) var(--sp-7)}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);color:var(--muted);font-size:var(--fs-xs)}.metric-label svg{color:var(--faint);flex:0 0 auto}.metric-card>strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block;margin-top:var(--sp-3);font-size:var(--fs-2xl);font-weight:640;letter-spacing:-.045em;line-height:1.15}.metric-card>small{display:block;margin-top:var(--sp-3);color:var(--muted);font-size:var(--fs-2xs)}.compact-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-bottom:var(--sp-6)}.compact-metrics>div{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-2) var(--sp-5);gap:var(--sp-2) var(--sp-5);align-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-6) var(--sp-7)}.compact-metrics span{color:var(--muted);font-size:var(--fs-xs)}.compact-metrics strong{grid-row:1/span 2;grid-column:2;font-size:var(--fs-xl);font-weight:650;letter-spacing:-.035em}.compact-metrics small{color:var(--green-dark);font-size:var(--fs-2xs)}.inline-summary{display:flex;flex-wrap:wrap;gap:var(--sp-9);margin-bottom:var(--sp-7);color:var(--muted);font-size:var(--fs-xs)}.inline-summary strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-right:var(--sp-2);color:var(--text);font-size:var(--fs-base);font-weight:650}.overview-grid{grid-template-columns:minmax(0,1.16fr) minmax(310px,.84fr);grid-gap:var(--sp-6)}.overview-grid,.two-column{display:grid;gap:var(--sp-6)}.two-column{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.stack,.two-column{grid-gap:var(--sp-6)}.stack{display:grid;gap:var(--sp-6)}.app-list{padding:var(--sp-2) var(--sp-3) var(--sp-4)}.app-row{display:grid;width:100%;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);border:0;border-radius:var(--r-sm);background:transparent;padding:var(--sp-5);text-align:left}.app-row:hover{background:var(--surface-soft)}.product-avatar{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:1px solid #dbece5;border-radius:var(--r-sm);background:var(--green-soft);color:var(--green-dark);font-size:var(--fs-2xs);font-weight:700;letter-spacing:-.02em}.product-avatar-large{width:40px;height:40px;flex-basis:40px;border-radius:var(--r-md);font-size:var(--fs-xs)}.product-avatar.is-idle{border-color:var(--line);background:var(--surface-hover);color:var(--muted)}.app-row-copy{display:flex;min-width:0;flex-direction:column}.app-row-copy strong{font-size:var(--fs-sm);font-weight:610}.app-row-copy small{overflow:hidden;margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.activity-list{padding:var(--sp-2) var(--sp-7) var(--sp-4)}.activity-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start;padding:var(--sp-5) 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.event-dot{width:7px;height:7px;margin-top:var(--sp-2);border-radius:50%;background:var(--faint)}.event-success{background:var(--green)}.event-info{background:var(--blue)}.event-warning{background:var(--amber)}.event-danger{background:var(--red)}.activity-row strong{display:block;font-size:var(--fs-xs);font-weight:610}.activity-row p{margin:var(--sp-1) 0 0;overflow-wrap:anywhere;color:var(--muted);font-size:var(--fs-2xs)}.activity-row time{color:var(--faint);font-size:var(--fs-2xs);white-space:nowrap}.infrastructure-strip{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);grid-gap:var(--sp-10);gap:var(--sp-10);align-items:center;margin-top:var(--sp-6);padding:var(--sp-7)}.health-copy{display:flex;align-items:center;gap:var(--sp-5)}.health-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:var(--r-md);background:var(--green-soft);color:var(--green-dark)}.health-copy strong{font-size:var(--fs-sm);font-weight:620}.health-copy p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.health-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-8);gap:var(--sp-8)}.health-bars>div,.server-resources>div{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3)}.health-bars span,.server-resources span{color:var(--muted);font-size:var(--fs-2xs)}.health-bars strong,.server-resources strong{font-size:var(--fs-2xs);font-weight:620}.health-bars i,.server-resources i{grid-column:1/-1;display:block;height:4px;overflow:hidden;border-radius:var(--r-full);background:#ecece8}.health-bars b,.server-resources b{display:block;height:100%;border-radius:inherit;background:var(--green)}.table-panel{overflow:visible}.directory-toolbar,.table-toolbar{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:var(--sp-5);border-bottom:1px solid var(--line);padding:var(--sp-5) var(--sp-6)}.directory-toolbar{justify-content:flex-start}.directory-toolbar .search-field{margin-right:auto}.toolbar-group{display:flex;align-items:center;gap:var(--sp-3)}.toolbar-grow{min-width:0;flex:1 1}.bulk-bar{min-height:40px;gap:var(--sp-6);border-bottom:1px solid #dcece6;background:var(--green-soft);padding:var(--sp-3) var(--sp-6);color:var(--green-dark);font-size:var(--fs-xs)}.bulk-bar strong{font-weight:650}.bulk-bar .sep{width:1px;height:16px;background:#c7e3d9}.bulk-bar button{background:transparent;padding:var(--sp-1) 0;color:inherit;font-weight:580}.table-scroll,.table-wrap{max-height:min(72vh,760px);max-height:min(72dvh,760px);overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.data-table thead th,table.data thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line)}.data-table,table.data{width:100%;border-collapse:collapse}.data-table{min-width:780px}table.data{min-width:640px}.data-table th,table.data th{background:transparent;color:var(--faint);font-size:var(--fs-2xs);font-weight:620;letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td,.data-table th,table.data td,table.data th{border-bottom:1px solid var(--line);padding:var(--sp-5) var(--sp-6)}.data-table td,table.data td{color:var(--muted);font-size:var(--fs-xs);vertical-align:middle}.data-table td{height:56px;white-space:nowrap}.data-table tbody tr:last-child td,table.data tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover,table.data tbody tr:hover{background:var(--surface-soft)}.data-table td.num,.data-table th.num,table.data td.num,table.data th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table tr.is-clickable,table.data tr.is-clickable{cursor:pointer}.data-table tr.is-clickable:focus-visible,table.data tr.is-clickable:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--green)}.data-table tbody tr.row-selected,.data-table tbody tr.row-selected:hover,.row-selected,table.data tbody tr.row-selected:hover{background:var(--green-soft)}.checkbox-column{width:42px;padding-right:0!important}.user-cell{display:flex;align-items:center;gap:var(--sp-4)}.user-cell>span:last-child{display:flex;min-width:0;flex-direction:column}.table-main,.user-cell strong{color:var(--text);font-size:var(--fs-sm);font-weight:610}.user-cell small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.stacked-cell{display:flex;min-width:0;flex-direction:column}.stacked-cell strong{color:var(--text);font-size:var(--fs-sm);font-weight:620}.stacked-cell small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.app-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.row-actions{width:42px;text-align:right}.row-actions.wide{width:auto;white-space:nowrap}.row-actions.wide button+button{margin-left:var(--sp-2)}.more-button{display:inline-grid;width:29px;height:29px;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted)}.more-button:hover{background:var(--surface-hover);color:var(--text)}.row-popover{position:absolute;top:41px;right:11px;z-index:15;width:158px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-soft);padding:var(--sp-2);text-align:left}.row-popover button{display:block;width:100%;border:0;border-radius:var(--r-sm);background:transparent;padding:var(--sp-3) var(--sp-4);color:var(--text-soft);font-size:var(--fs-xs);text-align:left}.row-popover button:hover{background:var(--surface-soft)}.row-popover .danger-action{color:var(--red)}.row-popover .success-action{color:var(--green-dark)}.cell-warn{margin-top:var(--sp-1);color:var(--amber);white-space:normal}.cell-warn,.chev{font-size:var(--fs-2xs)}.chev{margin-left:var(--sp-3);color:var(--faint)}.expand-cell{width:48px;padding-right:0!important}.expand-button{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--muted);transition:color .14s ease,background .14s ease}.expand-button.open,.expand-button:hover{border-color:#b7dfd1;background:var(--green-soft);color:var(--green-dark)}.expand-button.open svg{transform:rotate(45deg)}.detail-row,.detail-row:hover,.expand-row,.expand-row:hover{background:#fbfcfa!important}.detail-row td,.expand-row>td{height:auto;padding-block:var(--sp-5);white-space:normal}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;grid-gap:var(--sp-7);gap:var(--sp-7);border-left:2px solid #b7dfd1;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-6)}.detail-grid>div{display:flex;min-width:0;flex-direction:column}.detail-grid span{color:var(--muted);font-size:var(--fs-2xs)}.detail-grid strong{margin-top:var(--sp-1);overflow-wrap:anywhere;color:var(--text);font-size:var(--fs-xs);font-weight:610}.detail-actions{display:flex;align-items:center;gap:var(--sp-4)}.inline-success{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--green-dark)!important}.inline-success .status-pulse{width:5px;height:5px}.empty-state{display:grid;place-items:center;padding:var(--sp-12) var(--sp-8);text-align:center}.empty-state>.empty-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--surface-hover);color:var(--muted)}.empty-state h3{margin:var(--sp-5) 0 0;font-size:var(--fs-md)}.empty-state p{max-width:380px;margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-xs)}.empty-state .button{margin-top:var(--sp-6)}.pager,.table-footer{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:var(--sp-6);border-top:1px solid var(--line);padding:var(--sp-4) var(--sp-6);color:var(--muted);font-size:var(--fs-xs)}.pager>div,.table-footer>div{display:flex;align-items:center;gap:var(--sp-3)}.pager button,.table-footer button,.table-footer strong{display:grid;min-width:26px;height:26px;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-3);font-size:var(--fs-xs)}.pager button:disabled,.table-footer button:disabled{color:var(--faint);cursor:default}.table-footer strong{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);font-weight:620}.banner{border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);font-size:var(--fs-sm);line-height:1.5}.banner.info{border:1px solid #d5e0f7;background:var(--blue-soft);color:#2a4c9c}.banner.warn{border:1px solid #f0dcb8;background:var(--amber-soft);color:var(--amber)}.banner.error,.form-error{border:1px solid #f3cbc7;background:var(--red-soft);color:var(--red);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);font-size:var(--fs-sm)}.form-error{margin-bottom:var(--sp-6)}.banner.ok{border:1px solid #d1ebe1;background:var(--green-soft);color:var(--green-dark)}.form-hint{margin-top:var(--sp-5);color:var(--muted)}.form-hint,.note{font-size:var(--fs-xs)}.note{border-radius:var(--r-sm);background:var(--surface-soft);padding:var(--sp-4) var(--sp-5);color:var(--text-soft)}.permission-note{display:flex;gap:var(--sp-4);margin-top:var(--sp-7);border:1px solid #dbece5;border-radius:var(--r-sm);background:var(--green-soft);padding:var(--sp-5);color:var(--green-dark)}.permission-note strong{display:block;font-size:var(--fs-xs);font-weight:620}.permission-note p{margin:var(--sp-1) 0 0;font-size:var(--fs-2xs)}.modal-back,.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(30,30,27,.32);padding:var(--sp-8);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(430px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 20px 70px rgba(30,30,27,.16);padding:var(--sp-8);animation:modal-in .16s ease-out}.modal.wide{width:min(680px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(5px) scale(.985)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-7);margin-bottom:var(--sp-7)}.modal h3,.modal h4,.modal-header h2{margin:0;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.025em}.modal-header p{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-xs)}.modal-actions{justify-content:flex-end;margin-top:var(--sp-8)}.modal-actions,.toast{display:flex;gap:var(--sp-4)}.toast{position:fixed;right:24px;bottom:24px;z-index:100;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-soft);padding:var(--sp-5) var(--sp-6);color:var(--text-soft);font-size:var(--fs-sm);animation:toast-in .18s ease-out}.toast-check{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green-dark)}.toast.is-error .toast-check{background:var(--red-soft);color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.tabs{display:flex;gap:var(--sp-2);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:var(--sp-7)}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;padding:var(--sp-4) var(--sp-6);color:var(--muted);font-size:var(--fs-sm);font-weight:580;white-space:nowrap;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--green-dark);border-bottom-color:var(--green)}.applications-grid,.package-grid,.server-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5)}.package-card,.server-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-7)}.package-title,.server-title{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}.package-card h2,.server-title h2{margin:0;font-size:var(--fs-lg);font-weight:630}.server-title p{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.server-title{justify-content:flex-start}.server-title .badge{margin-left:auto}.server-title p{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}.server-resources{display:grid;grid-gap:var(--sp-6);gap:var(--sp-6);margin:var(--sp-8) 0}.health-bars b.warn,.server-resources b.warn{background:var(--amber)}.health-bars b.crit,.server-resources b.crit{background:var(--red)}.server-card .server-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:var(--sp-6);gap:var(--sp-6);border-top:1px solid var(--line);margin-top:var(--sp-2);padding-top:var(--sp-6)}.server-card .server-meta>div{display:flex;min-width:0;flex-direction:column}.server-card .server-meta span{color:var(--muted);font-size:var(--fs-2xs)}.server-card .server-meta strong{margin-top:var(--sp-1);overflow-wrap:anywhere;font-size:var(--fs-xs);font-weight:620}.server-warnings{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin:0 0 var(--sp-6)}.server-warnings .banner{display:flex;align-items:center;gap:var(--sp-3);margin:0;padding:var(--sp-4) var(--sp-5);font-size:var(--fs-xs)}.server-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-top:var(--sp-6)}.server-trend{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4)}.server-trend>span,.server-trend>strong{display:block;color:var(--muted);font-size:var(--fs-2xs)}.server-trend svg{width:100%;height:34px;margin-top:var(--sp-2);overflow:visible}.server-trend path{fill:none;stroke:var(--line);stroke-width:1}.server-trend polyline{fill:none;stroke:var(--brand);stroke-width:2;vector-effect:non-scaling-stroke}.server-processes{margin-top:var(--sp-6);border-top:1px solid var(--line);padding-top:var(--sp-6)}.server-processes h3{margin:0 0 var(--sp-4);font-size:var(--fs-xs)}.server-process-list{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.server-process-list>div{display:grid;grid-template-columns:minmax(110px,1fr) auto auto auto auto;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2xs)}.server-card-actions{display:flex;justify-content:flex-end;margin-top:var(--sp-5)}@media (max-width:720px){.server-trends{grid-template-columns:1fr}.server-process-list>div{grid-template-columns:minmax(100px,1fr) auto}.server-process-list>div>span:not(:first-child){display:none}}.package-card.featured{border-color:#b7dfd1;box-shadow:0 0 0 2px rgba(15,159,120,.06)}.price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block;margin:var(--sp-8) 0 var(--sp-7);font-size:var(--fs-3xl);font-weight:650;letter-spacing:-.045em}.price small{margin-left:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);font-weight:500}.package-card ul{display:grid;grid-gap:var(--sp-5);gap:var(--sp-5);min-height:89px;margin:0 0 var(--sp-8);padding:0;list-style:none}.package-card li{display:flex;align-items:center;gap:var(--sp-4);color:var(--text-soft);font-size:var(--fs-xs)}.package-card li svg{flex:0 0 auto;color:var(--green)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:var(--sp-5);gap:var(--sp-5)}.stat{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);padding:var(--sp-6) var(--sp-7)}.stat-label{color:var(--muted);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:var(--sp-2) 0 0;font-size:var(--fs-xl);font-weight:640;letter-spacing:-.03em;line-height:1.2}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap}.section-head h3{margin:0;font-size:var(--fs-base);font-weight:630}.section-head .filters{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.section-head .filters input,.section-head .filters select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs)}.proj-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.proj-chip{border:1px solid var(--line);background:var(--surface);padding:var(--sp-1) var(--sp-5);font-size:var(--fs-2xs)}.badge-derived,.proj-chip{border-radius:var(--r-full);color:var(--muted)}.badge-derived{background:var(--surface-hover);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-xs)}.chat-shell,.chat-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.chat-shell{height:calc(100vh - 260px);height:calc(100dvh - 260px);min-height:380px}.chat-shell.has-side{grid-template-columns:320px minmax(0,1fr) 320px}.chat-main:not(:has(.message-compose)){grid-template-rows:auto 1fr}@media (max-width:1500px){.chat-shell{position:relative}.chat-shell.has-side{grid-template-columns:320px minmax(0,1fr)}.chat-side{position:absolute;inset:0 0 0 auto;z-index:12;display:flex;width:min(340px,86%);background:var(--surface);box-shadow:-18px 0 48px rgba(28,28,25,.14)}}.conversation-list{min-width:0;min-height:0;overflow-y:auto;border-right:1px solid var(--line);padding:var(--sp-5) var(--sp-3)}.conversation-search{display:flex;height:32px;align-items:center;gap:var(--sp-3);margin:0 var(--sp-2) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft);padding:0 var(--sp-4);color:var(--faint)}.conversation-search input{min-width:0;outline:0;font-size:var(--fs-xs)}.conversation,.conversation-search input{width:100%;border:0;background:transparent}.conversation{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start;border-radius:var(--r-sm);padding:var(--sp-4);text-align:left}.conversation:hover{background:var(--surface-hover)}.conversation.active{background:var(--green-soft);box-shadow:inset 2px 0 0 var(--green)}.conversation.active strong{color:var(--green-dark)}.conversation:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.conversation>.conversation-copy{display:flex;min-width:0;flex-direction:column}.conversation>.avatar{margin-top:1px}.conversation strong{font-size:var(--fs-xs);font-weight:620}.conversation small,.conversation strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.conversation time{color:var(--faint);font-size:var(--fs-2xs);white-space:nowrap}.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;height:100%}.chat-header{display:flex;min-height:58px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);padding:var(--sp-4) var(--sp-7)}.chat-header>div:first-of-type{display:flex;min-width:0;flex:1 1 200px;flex-direction:column}.chat-title{display:flex;min-width:0;align-items:baseline;gap:var(--sp-4)}.chat-header strong{overflow:hidden;font-size:var(--fs-base);font-weight:630;text-overflow:ellipsis;white-space:nowrap}.chat-header .presence{display:inline-flex;align-items:center;gap:var(--sp-2);flex:none;color:var(--green-dark);font-size:var(--fs-2xs)}.chat-header .presence i{width:5px;height:5px;border-radius:50%;background:var(--green)}.chat-messages,.messages{display:flex;flex-direction:column;gap:var(--sp-4);overflow-y:auto;min-height:0;padding:var(--sp-8)}.chat-messages>:first-child,.messages>:first-child{margin-top:auto}.message,.msg{border-radius:var(--r-lg);background:var(--surface-hover);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-sm);line-height:1.55;overflow-wrap:anywhere}.msg{max-width:68%}.message.incoming,.msg.incoming{align-self:flex-start}.msg-group.outgoing .message,.msg.me{align-self:flex-end;background:var(--green-strong);color:#fff}.msg-group.outgoing .message.is-media{background:none}.message-time{display:block;margin-top:var(--sp-2);font-size:var(--fs-2xs);opacity:.7}.chat-compose,.message-compose{display:flex;gap:var(--sp-4);border-top:1px solid var(--line);padding:var(--sp-5) var(--sp-6)}.chat-compose input{min-width:0;height:34px;flex:1 1;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft);padding:0 var(--sp-5);font-size:var(--fs-sm)}.settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);grid-gap:var(--sp-6);gap:var(--sp-6)}.setting-list{padding:var(--sp-1) var(--sp-7) var(--sp-3)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8);border-bottom:1px solid var(--line);padding:var(--sp-6) 0}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:var(--fs-sm);font-weight:610}.setting-row p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.switch{position:relative;width:34px;height:20px;flex:0 0 34px;border:0;border-radius:var(--r-full);background:#d8d8d3;padding:var(--sp-1);transition:background .14s ease}.switch span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,20,18,.2);transition:transform .14s ease}.switch.on{background:var(--green)}.switch.on span{transform:translateX(14px)}.security-score{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-9);text-align:center}.score-ring{display:grid;width:104px;height:104px;place-content:center;border-left:8px solid var(--green-soft);border-bottom:8px solid var(--green-soft);border-right-color:var(--green-soft);border-top-color:var(--green-soft);border-top:8px solid var(--green);border-right:8px solid var(--green);border-radius:50%}.score-ring strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-2xl);font-weight:660;letter-spacing:-.04em}.score-ring small{color:var(--muted);font-size:var(--fs-2xs)}.security-score h2{margin:var(--sp-7) 0 0;font-size:var(--fs-lg)}.security-score p{max-width:240px;margin:var(--sp-2) 0 var(--sp-8);color:var(--muted);font-size:var(--fs-xs)}.scan-summary{display:flex;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-6);padding:var(--sp-7)}.scan-summary>div{flex:1 1;min-width:0}.scan-summary h2{margin:0;font-size:var(--fs-lg);font-weight:630}.scan-summary p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-xs)}.scan-shield{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:var(--r-lg);background:var(--green-soft);color:var(--green-dark)}.codebox{overflow:auto;border-radius:var(--r-md);background:#202622;padding:var(--sp-6);color:#dbe6df;font:11px/1.6 var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.codebox code{color:#8be5c4}.migration-center{display:grid;grid-gap:var(--sp-6);gap:var(--sp-6)}.migration-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}.migration-tabs button{position:relative;display:grid;min-width:0;min-height:102px;align-content:center;grid-gap:var(--sp-1);gap:var(--sp-1);border:0;border-right:1px solid var(--line);background:var(--surface);padding:var(--sp-6) var(--sp-7);text-align:left}.migration-tabs button:last-child{border-right:0}.migration-tabs button:hover{background:var(--surface-soft)}.migration-tabs button:disabled{cursor:default;opacity:.55}.migration-tabs button.active{background:#202622;color:#fff}.migration-tabs button.active:after{position:absolute;right:16px;bottom:0;left:16px;height:2px;border-radius:var(--r-full) var(--r-full) 0 0;background:#7ce0bc;content:""}.migration-tabs .step-index{color:var(--green-dark);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em}.migration-tabs button.active .step-index{color:#8be5c4}.migration-tabs strong{font-size:var(--fs-sm);font-weight:630}.migration-tabs small,.migration-tabs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-tabs small{color:var(--muted);font-size:var(--fs-2xs)}.migration-tabs button.active small{color:#b8c1bc}.migration-layout{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(440px,1.14fr);grid-gap:var(--sp-6);gap:var(--sp-6);align-items:start}.migration-flow,.migration-status{overflow:hidden}.migration-progress{height:3px;background:var(--surface-hover)}.migration-progress span{display:block;height:100%;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--green);transition:width .18s ease}.migration-step-list{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4);padding:var(--sp-6)}.migration-step{display:grid;width:100%;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-5);text-align:left}.migration-step:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft)}.migration-step:disabled{cursor:default;opacity:.6}.migration-step.current{border-color:#b7dfd1;box-shadow:0 0 0 2px rgba(15,159,120,.05)}.step-number{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--surface-hover);color:var(--muted);font-size:var(--fs-xs);font-weight:650}.migration-step.complete .step-number,.migration-step.current .step-number{background:var(--green-soft);color:var(--green-dark)}.migration-step .step-copy{display:flex;min-width:0;flex-direction:column}.migration-step strong{font-size:var(--fs-xs);font-weight:620}.migration-step small{overflow:hidden;margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.migration-health{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--green-dark);font-size:var(--fs-2xs);font-weight:600}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-4);gap:var(--sp-4);padding:var(--sp-6)}.readiness-grid article{min-height:106px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);padding:var(--sp-6)}.readiness-grid article.ready{border-color:#d8eee6;background:#fbfefc}.readiness-grid span{display:block;color:var(--muted);font-size:var(--fs-2xs);font-weight:620;letter-spacing:.05em;text-transform:uppercase}.readiness-grid strong{display:block;margin-top:var(--sp-4);overflow-wrap:anywhere;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.025em}.readiness-grid small{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);color:var(--muted);font-size:var(--fs-2xs)}.readiness-grid .ready small{color:var(--green-dark)}.migration-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-6);gap:var(--sp-6);max-width:860px}.migration-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-top:var(--sp-7)}.migration-layer{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto auto;grid-gap:var(--sp-1) var(--sp-5);gap:var(--sp-1) var(--sp-5);min-height:96px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-6);color:var(--text);text-align:left;cursor:pointer}.migration-layer:hover{border-color:#9ed7c4}.migration-layer.selected{border-color:#76c8ad;background:var(--green-soft)}.migration-layer>span{grid-row:1/span 3;display:grid;width:38px;height:38px;place-items:center;border-radius:var(--r-md);background:var(--surface-soft);color:var(--muted)}.migration-layer.selected>span{background:#d8f1e7;color:var(--green-dark)}.migration-layer strong{font-size:var(--fs-xs);font-weight:650}.migration-layer small{color:var(--muted);font-size:var(--fs-2xs);line-height:1.35}.migration-layer .badge{justify-self:start;margin-top:var(--sp-2)}.migration-layer-grid.compact{margin-top:0}.migration-layer-grid.compact .migration-layer{min-height:82px;padding:var(--sp-5)}.migration-action-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);margin:0 var(--sp-6) var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);padding:var(--sp-6)}.migration-action-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:var(--r-md);background:var(--green-soft);color:var(--green-dark)}.migration-action-card strong{font-size:var(--fs-xs);font-weight:630}.migration-action-card p{margin:var(--sp-1) 0 0}.migration-action-card p,.migration-note{color:var(--muted);font-size:var(--fs-2xs)}.migration-note{display:flex;align-items:center;gap:var(--sp-3);margin:0;border-top:1px solid var(--line);padding:var(--sp-6) var(--sp-6)}.migration-note svg{flex:0 0 auto;color:var(--green-dark)}.dropzone{display:grid;place-items:center;grid-gap:var(--sp-4);gap:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-soft);padding:var(--sp-9) var(--sp-7);text-align:center}.dropzone.is-active{border-color:var(--green);background:var(--green-soft)}.dropzone strong{font-size:var(--fs-sm);font-weight:620}.dropzone p{margin:0;color:var(--muted);font-size:var(--fs-xs)}.auth{--auth-bg:#0f1412;--auth-bg-2:#141a17;--auth-line:rgba(124,224,188,0.1);--auth-mint:#7ce0bc;--auth-text:#e8efeb;--auth-muted:#93a19a;--auth-faint:#5f6d66;position:relative;display:grid;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);overflow:hidden;color:var(--auth-text);background:radial-gradient(1100px 700px at 8% -10%,rgba(15,159,120,.22),transparent 60%),radial-gradient(800px 600px at 100% 110%,rgba(15,159,120,.12),transparent 60%),linear-gradient(180deg,var(--auth-bg-2),var(--auth-bg))}.auth:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--auth-line) 1px,transparent 1px) 0 0 /100% 56px,linear-gradient(90deg,var(--auth-line) 1px,transparent 1px) 0 0 /56px 100%;mask-image:radial-gradient(ellipse 80% 70% at 40% 45%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 40% 45%,#000 30%,transparent 100%)}.auth-panel{display:contents}.auth-brand{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-10);padding:clamp(28px,4vw,56px) clamp(24px,4vw,64px);padding-left:calc(clamp(24px, 4vw, 64px) + max(var(--safe-l), 0px));animation:auth-in .36s ease-out backwards}@keyframes auth-in{0%{opacity:0;transform:translateY(8px)}}.auth-brand .brandrow{display:flex;align-items:center;gap:var(--sp-6);color:#fff;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.01em}.auth-brand .mark{width:36px;height:36px;flex-basis:36px;border:0;border-radius:10px;background:linear-gradient(145deg,#8ff0cd,#0f9f78);color:#0f1412;font-size:18px;box-shadow:0 0 0 1px rgba(124,224,188,.35),0 8px 24px -8px rgba(124,224,188,.6)}.auth-hero{display:grid;grid-gap:var(--sp-7);gap:var(--sp-7)}.auth-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-4);width:-moz-fit-content;width:fit-content;padding:5px 10px 5px 7px;border:1px solid rgba(124,224,188,.25);border-radius:var(--r-full);color:var(--auth-mint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--auth-mint);box-shadow:0 0 0 0 rgba(124,224,188,.6);animation:auth-ping 2.4s ease-out infinite}@keyframes auth-ping{to{box-shadow:0 0 0 8px rgba(124,224,188,0)}}.auth-brand h1{margin:0;max-width:13ch;font-size:clamp(34px,3.6vw,52px);font-weight:650;letter-spacing:-.04em;line-height:1.04;color:#fff}.auth-brand h1 em{font-style:normal;background:linear-gradient(90deg,#a5f3d8,#7ce0bc 55%,#34c596);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-brand p{max-width:40ch;margin:0;color:var(--auth-muted);font-size:var(--fs-base);line-height:1.6}.auth-telemetry{display:grid;grid-gap:var(--sp-5);gap:var(--sp-5)}.auth-telemetry svg{display:block;width:100%;height:auto;overflow:visible}.auth-telemetry .grid-line{stroke:rgba(124,224,188,.12);stroke-width:1}.auth-telemetry .signal-glow{fill:none;stroke:var(--auth-mint);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.18;filter:blur(6px)}.auth-telemetry .signal,.auth-telemetry .signal-glow{stroke-dasharray:1400;stroke-dashoffset:1400;animation:auth-draw 5.5s cubic-bezier(.4,0,.2,1) infinite}.auth-telemetry .signal{fill:none;stroke:var(--auth-mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes auth-draw{0%{stroke-dashoffset:1400;opacity:1}70%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:0}to{stroke-dashoffset:1400;opacity:0}}.auth-telemetry .area{fill:url(#auth-area);opacity:.9}.auth-telemetry .head{fill:#fff;filter:drop-shadow(0 0 6px rgba(124,224,188,.9))}.auth-axis{display:flex;justify-content:space-between;gap:var(--sp-4);margin:0;padding:var(--sp-4) 0 0;border-top:1px solid rgba(124,224,188,.14);list-style:none;color:var(--auth-faint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.auth-axis li{position:relative;padding-top:var(--sp-3)}.auth-axis li:before{content:"";position:absolute;top:-1px;left:0;width:1px;height:6px;background:rgba(124,224,188,.4)}.auth-meta{display:flex;gap:var(--sp-7);flex-wrap:wrap;color:var(--auth-faint);font-size:var(--fs-xs)}.auth-meta span{display:inline-flex;align-items:center;gap:var(--sp-3)}.auth-meta svg{color:var(--auth-mint);opacity:.8}.auth-form-wrap{position:relative;z-index:1;display:grid;place-items:center;padding:clamp(24px,4vw,56px) clamp(20px,4vw,64px);padding-right:calc(clamp(20px, 4vw, 64px) + max(var(--safe-r, 0px), 0px))}.auth-card{width:100%;max-width:400px;padding:clamp(28px,3vw,40px);border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,#fbfcfb,#f3f5f3);color:var(--text);box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.5),0 40px 80px -24px rgba(0,0,0,.7),0 0 120px -30px rgba(124,224,188,.25);animation:auth-in .36s ease-out 80ms backwards}.auth-card h2{margin:0 0 var(--sp-3);font-size:24px;font-weight:650;letter-spacing:-.02em}.auth-card .sub{margin:0 0 var(--sp-8);color:var(--muted);font-size:var(--fs-md)}.auth-card .field{margin-top:var(--sp-7)}.auth-card .field>label{margin-bottom:var(--sp-3);font-size:var(--fs-xs);font-weight:600}.auth-card .field input{height:46px;padding:0 var(--sp-6);border-radius:10px;border-color:#d6d9d6;background:#fff;font-size:var(--fs-base);transition:border-color .12s,box-shadow .12s}.auth-card .field input:focus-visible{border-color:var(--green);outline:0;box-shadow:0 0 0 4px rgba(15,159,120,.18)}.auth-card .form-error{margin-bottom:var(--sp-4)}.auth-pw{position:relative}.auth-pw input{padding-right:46px}.auth-pw-toggle{position:absolute;top:50%;right:5px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);transform:translateY(-50%)}.auth-pw-toggle:hover{background:var(--surface-hover);color:var(--text)}.auth-card .primary{width:100%;min-height:48px;margin-top:var(--sp-9);border-radius:10px;background:linear-gradient(180deg,#14ad84,var(--green-strong));font-size:var(--fs-base);font-weight:600;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px -10px rgba(15,159,120,.7)}.auth-card .primary:hover:not(:disabled){background:linear-gradient(180deg,#0f9f78,var(--green-dark))}.auth-foot{margin:var(--sp-8) 0 0;color:var(--faint);font-size:var(--fs-sm);text-align:center}.auth-legal{position:absolute;right:clamp(20px,4vw,64px);bottom:clamp(16px,2.6vw,28px);z-index:1;display:flex;gap:var(--sp-5);color:var(--auth-faint);font-size:var(--fs-xs)}@media (prefers-reduced-motion:reduce){.auth-brand,.auth-card,.auth-eyebrow i,.auth-telemetry .signal,.auth-telemetry .signal-glow{animation:none}.auth-telemetry .signal,.auth-telemetry .signal-glow{stroke-dashoffset:0}}@media (max-width:960px){.auth{grid-template-columns:minmax(0,1fr);align-content:start}.auth-brand{gap:var(--sp-8);padding-bottom:0}.auth-brand h1{font-size:clamp(28px,7vw,36px)}.auth-meta,.auth-telemetry{display:none}.auth-form-wrap{align-content:start;padding-top:var(--sp-8);padding-bottom:72px}.auth-legal{right:auto;left:50%;transform:translateX(-50%);white-space:nowrap}}@media (max-width:420px){.auth-brand p{display:none}.auth-card{padding:var(--sp-9) var(--sp-8)}.auth-legal span:last-child,.auth-legal span:nth-child(2){display:none}}.center{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:var(--sp-8);color:var(--muted);font-size:var(--fs-md);text-align:center}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,#eeeeeb 25%,#f6f6f3 37%,#eeeeeb 63%);background-size:400% 100%;animation:skeleton 1.3s ease infinite}.skeleton-row+.skeleton-row{margin-top:var(--sp-4)}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.primary{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:var(--sp-3);border:1px solid var(--green-strong);border-radius:var(--r-sm);background:var(--green-strong);padding:var(--sp-3) var(--sp-6);color:#fff;font-size:var(--fs-sm);font-weight:580}.primary:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark)}.primary:disabled{opacity:.55;cursor:default}.ghost{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-3) var(--sp-6);color:var(--text-soft);font-size:var(--fs-sm);font-weight:560}.ghost:hover{border-color:#cac9c3;background:var(--surface-soft);color:var(--text)}.btn-sm{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-2) var(--sp-4);color:var(--text-soft);font-size:var(--fs-xs);font-weight:580}.btn-sm:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm:disabled{opacity:.5;cursor:default}.btn-danger{border-color:#efc0bb;background:var(--red-soft);color:var(--red)}.btn-primary{border-color:var(--green);background:var(--green-strong);color:#fff}.pill{display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-full);background:var(--surface-hover);padding:var(--sp-1) var(--sp-4);color:var(--muted);font-size:var(--fs-2xs);font-weight:580;white-space:nowrap}.pill.ok,.pill.src-live,.pill.status-active,.pill.sub-active{background:var(--green-soft);color:var(--green-dark)}.pill.sub-pastDue,.pill.warn{background:var(--amber-soft);color:var(--amber)}.pill.danger,.pill.status-expired,.pill.sub-expired{background:var(--red-soft);color:var(--red)}.pill.muted,.pill.src-none,.pill.status-disabled{background:var(--surface-hover);color:var(--muted)}.pill.src-synced,.pill.status-trial,.pill.sub-pending{background:var(--blue-soft);color:var(--blue)}.pill.sub-unknown{background:var(--violet-soft);color:var(--violet)}.plan-tag{margin-right:var(--sp-2);font-size:var(--fs-2xs)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);margin-bottom:var(--sp-6)}.kpi b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block;font-size:var(--fs-2xl);font-weight:640;letter-spacing:-.045em}.kpi label{color:var(--muted);font-size:var(--fs-xs)}.kpi-row{display:flex;flex-wrap:wrap;gap:var(--sp-9);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-6) var(--sp-7);margin-bottom:var(--sp-6)}.kpi-item{display:flex;align-items:baseline;gap:var(--sp-3)}.kpi-item b{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.035em}.kpi-item span{color:var(--muted);font-size:var(--fs-xs)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6)}.toolbar input,.toolbar select{height:32px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-4);font-size:var(--fs-xs)}.live-tab{display:grid;grid-gap:var(--sp-7);gap:var(--sp-7)}.live-tab .dim{color:var(--muted);font-size:var(--fs-xs)}.live-tab td.actions{white-space:nowrap}.live-tab td.actions button{margin-right:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-xs)}.live-tab td.actions button:hover{background:var(--surface-hover)}table.data.compact td,table.data.compact th{padding:var(--sp-4) var(--sp-6);font-size:var(--fs-xs)}table.data.compact.inner{min-width:0;background:transparent}table.data.compact.inner tbody tr:hover,table.data.compact.inner th{background:transparent}.expand{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.expand-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);font-size:var(--fs-xs)}.modal label{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:var(--sp-6);color:var(--text-soft);font-size:var(--fs-xs);font-weight:580}.modal label input:not([type]),.modal label input[type=datetime-local],.modal label input[type=email],.modal label input[type=password],.modal label input[type=text],.modal label select,.modal label textarea{height:36px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-4);font-size:var(--fs-sm);font-weight:400}.modal label textarea{height:auto;min-height:76px;padding:var(--sp-4)}.modal label.override{display:flex;align-items:flex-start;gap:var(--sp-4);margin-top:var(--sp-5);font-weight:500}.modal label.override input{margin-top:var(--sp-1)}.mark{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:1.5px solid var(--green);border-radius:var(--r-md);color:var(--green);font-size:var(--fs-lg);font-weight:650;transform:rotate(-5deg)}.mark:after{content:"C"}@media (max-width:1180px){.migration-layout,.overview-grid,.settings-grid,.two-column{grid-template-columns:1fr}}@media (max-width:1100px){.applications-grid,.kpis,.metric-grid,.package-grid,.server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.migration-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.migration-tabs button:nth-child(3){border-right:0}.migration-tabs button:nth-child(n+4){border-top:1px solid var(--line)}.infrastructure-strip{grid-template-columns:1fr;gap:var(--sp-7)}}@media (max-width:860px){.sidebar{transform:translateX(-100%);box-shadow:var(--shadow-soft);transition:transform .18s ease}.sidebar-open{transform:translateX(0)}.mobile-backdrop,.mobile-close,.mobile-menu{display:grid}.mobile-backdrop{position:fixed;inset:0;z-index:29;border:0;background:rgba(30,30,27,.25)}.main,.main-content{margin-left:0}.topbar-left{gap:var(--sp-5)}.system-status{display:none}.chat-shell,.chat-wrap{grid-template-columns:264px minmax(0,1fr)}}@media (max-width:650px){:root{--topbar-h:56px}.breadcrumbs>.crumb-root,.breadcrumbs>svg{display:none}.page-title-row{align-items:flex-start;flex-direction:column}.page-title-row .button,.page-title-row .page-actions{width:100%}.applications-grid,.compact-metrics,.kpis,.metric-grid,.migration-tabs,.package-grid,.readiness-grid,.server-grid{grid-template-columns:1fr}.kpi-row{gap:var(--sp-4) var(--sp-7)}.health-bars{gap:var(--sp-6)}.directory-toolbar,.table-toolbar,.toolbar-group{align-items:stretch;flex-direction:column}.directory-toolbar>.button,.search-field,.select-field,.table-toolbar>.button{width:100%}.migration-tabs button,.migration-tabs button:nth-child(3){min-height:74px;border-top:1px solid var(--line);border-right:0}.migration-tabs button:first-child{border-top:0}.migration-action-card{grid-template-columns:36px minmax(0,1fr)}.migration-action-card .button{grid-column:1/-1;width:100%}.detail-grid,.migration-layer-grid,.migration-source-grid{grid-template-columns:1fr}.message,.msg{max-width:84%}.scan-summary{align-items:flex-start;flex-wrap:wrap}.scan-summary .button{width:100%}.notification-popover{position:fixed;top:calc(var(--topbar-h) + var(--safe-t) + var(--sp-3));right:max(var(--page-gutter),var(--safe-r));left:max(var(--page-gutter),var(--safe-l));width:auto;max-height:min(70dvh,460px);overflow-y:auto}.toast{right:max(var(--sp-6),var(--safe-r));bottom:max(var(--sp-6),var(--safe-b));left:max(var(--sp-6),var(--safe-l))}}.mobile-backdrop{display:none}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.modal.xl{width:min(940px,100%)}.tenant-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));grid-gap:var(--sp-5);gap:var(--sp-5)}.tenant-fact{display:flex;flex-direction:column;gap:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);background:var(--surface-soft,transparent)}.tenant-fact-label{color:var(--text-soft);font-size:var(--fs-2xs);font-weight:560;letter-spacing:.02em;text-transform:uppercase}.tenant-fact strong{font-size:var(--fs-lg);font-weight:620;letter-spacing:-.02em}.tenant-fact .dim{font-size:var(--fs-xs)}.tenant-users{margin-top:var(--sp-7);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.tenant-user+.tenant-user{border-top:1px solid var(--line)}.tenant-user.open{background:var(--surface-soft,rgba(0,0,0,.015))}.tenant-user-head{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-2) var(--sp-6) var(--sp-2) 0}.tenant-user-main{flex:1 1;display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(110px,.8fr) minmax(220px,1.4fr);align-items:center;grid-gap:var(--sp-6);gap:var(--sp-6);border:0;background:none;padding:var(--sp-5) var(--sp-6);text-align:left;color:inherit;cursor:pointer;font:inherit}.tenant-user-main:hover{background:var(--surface-hover,rgba(0,0,0,.02))}.tenant-user-dates,.tenant-user-meta,.tenant-user-name{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.tenant-user-meta{align-items:flex-start}.tenant-user-name strong{font-size:var(--fs-sm);font-weight:600}.tenant-user-dates,.tenant-user-dates .dim,.tenant-user-name .dim{font-size:var(--fs-xs)}.tenant-user-name .dim{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-user-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tenant-user-main dl.tenant-user-dates{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:2px var(--sp-4);gap:2px var(--sp-4);margin:0;font-size:var(--fs-sm)}.tenant-user-dates dt{color:var(--muted)}.tenant-user-dates dd{margin:0;color:var(--text);overflow-wrap:anywhere}.presence-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);padding:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-md,10px);font-size:var(--fs-sm)}.presence-count{display:inline-flex;align-items:center;gap:var(--sp-3);font-weight:600}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.presence-count.is-live .presence-dot{background:var(--green);box-shadow:0 0 0 3px var(--green-soft);animation:presence-pulse 2s ease-in-out infinite}@keyframes presence-pulse{50%{box-shadow:0 0 0 5px var(--green-soft)}}@media (prefers-reduced-motion:reduce){.presence-count.is-live .presence-dot{animation:none}}.presence-tools{display:inline-flex;align-items:center;gap:var(--sp-5)}.modal label.presence-toggle,.presence-toggle{display:inline-flex;margin-top:0;color:inherit;align-items:center;gap:var(--sp-2);cursor:pointer}.presence-toggle input{width:15px;height:15px;margin:0}.tenant-user-dates dd.is-online{color:var(--green-strong);font-weight:600}.tenant-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-3);flex-shrink:0;max-width:250px}.tenant-user-history{padding:0 var(--sp-6) var(--sp-6) var(--sp-6);font-size:var(--fs-xs)}.decision-head{margin:var(--sp-5) 0 var(--sp-3);color:var(--text-soft);font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:var(--fs-2xs)}.decision-head:first-child{margin-top:0}.decision-log{list-style:none;margin:0;padding:0;border-left:2px solid var(--line-strong)}.decision-log li{display:grid;grid-template-columns:150px 1fr;grid-gap:var(--sp-2) var(--sp-6);gap:var(--sp-2) var(--sp-6);padding:var(--sp-3) 0 var(--sp-3) var(--sp-6)}.decision-when{color:var(--text-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.decision-why{grid-column:2;color:var(--muted)}.tenant-foot{margin-top:var(--sp-6)}@media (max-width:720px){.tenant-user-main{grid-template-columns:1fr}.tenant-user-head{flex-direction:column;align-items:stretch;padding-right:var(--sp-6)}.decision-log li{grid-template-columns:1fr}.decision-why{grid-column:1}}.reason-presets{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-4)}.reason-preset{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-3) var(--sp-5);color:var(--text-soft);font:inherit;font-size:var(--fs-xs);line-height:1.35;text-align:left;cursor:pointer;transition:border-color .12s ease,color .12s ease}.reason-preset:hover{border-color:var(--line-strong);color:var(--text)}.reason-preset.active{border-color:var(--accent,var(--line-strong));color:var(--text);font-weight:560}.tenant-actions{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-6) 0 var(--sp-2)}.license-picker{margin-top:var(--sp-5);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-sunken,var(--surface))}.license-now{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-xs)}.license-picker .reason-presets{flex-direction:row;flex-wrap:wrap;margin-top:var(--sp-3)}.license-picker .reason-preset{padding:var(--sp-2) var(--sp-4);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.license-preview{margin:var(--sp-3) 0 0;font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal .field textarea{min-height:68px;padding:var(--sp-4) var(--sp-4);line-height:1.45;resize:vertical}.notify-toggle{display:flex;align-items:flex-start;gap:var(--sp-4);margin-top:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);font-size:var(--fs-xs);cursor:pointer}.notify-toggle input{margin-top:var(--sp-1);flex-shrink:0}.notify-toggle small{display:block;margin-top:var(--sp-1)}.t-2xs{font-size:var(--fs-2xs)}.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-md{font-size:var(--fs-md)}.t-base{font-size:var(--fs-base)}.t-lg{font-size:var(--fs-lg)}.m-0{margin:0}.mt-0{margin-top:0}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mb-6{margin-bottom:var(--sp-6)}.mb-7{margin-bottom:var(--sp-7)}.row{display:flex;align-items:center;gap:var(--sp-4)}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-6);gap:var(--sp-6)}@media (max-width:1180px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-grid{grid-template-columns:1fr}}.app-card{display:flex;flex-direction:column;gap:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-7);color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.app-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.app-card:focus-visible{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.app-card.is-unlinked{border-style:dashed}.app-card-head{display:flex;align-items:center;gap:var(--sp-5)}.app-card-name{min-width:0;flex:1 1}.app-card-name strong{display:block;overflow:hidden;font-weight:630;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.app-card-name code{display:block;margin-top:var(--sp-1)}.app-card-meta,.app-card-name code{color:var(--muted);font-size:var(--fs-2xs)}.app-card-meta{margin-top:calc(-1 * var(--sp-3))}.app-card-alert{display:flex;align-items:flex-start;gap:var(--sp-3);border-radius:var(--r-sm);padding:var(--sp-4);background:var(--amber-soft);color:var(--amber);font-size:var(--fs-2xs);line-height:1.45}.app-card-alert.is-error{background:var(--red-soft);color:var(--red)}.app-card-alert svg{flex:none;margin-top:1px}.app-card-stats{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);padding:var(--sp-5) 0}.app-card-stats>span+span{border-left:1px solid var(--line);padding-left:var(--sp-6)}.app-card-stats em{display:block;color:var(--muted);font-size:var(--fs-2xs);font-style:normal;letter-spacing:.04em;text-transform:uppercase}.app-card-stats b{font-size:var(--fs-2xl);font-weight:640;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05}.app-card-stats b,.app-card-stats i{display:block;margin-top:var(--sp-1)}.app-card-stats i{color:var(--muted);font-size:var(--fs-2xs);font-style:normal}.app-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:auto;padding-top:var(--sp-1)}.app-card-plans{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-width:0}.app-card-open{display:inline-flex;align-items:center;gap:var(--sp-2);flex:none;color:var(--text-soft);font-size:var(--fs-xs)}.app-card:hover .app-card-open{color:var(--green-dark)}.app-card-open svg{transition:transform .15s ease}.app-card:hover .app-card-open svg{transform:translateX(2px)}.nav-badge{min-width:18px;margin-left:auto;border-radius:var(--r-full);padding:0 var(--sp-3);background:var(--green-strong);color:#fff;font-size:var(--fs-2xs);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:18px;text-align:center}.conversation-end{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2);margin-left:auto}.conversation-end time{line-height:16px}.conv-count{min-width:16px;height:16px;padding:0 var(--sp-2);background:var(--green-strong);color:#fff;font-size:var(--fs-2xs);font-style:normal;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;place-items:center}.conv-agent,.conv-count{display:grid;border-radius:var(--r-full)}.conv-agent{width:18px;height:18px;background:var(--surface-hover);color:var(--text-soft);font-size:9px;font-style:normal;font-weight:700;place-items:center}.conv-preview{display:block;overflow:hidden;margin-top:var(--sp-1);color:var(--faint);font-size:var(--fs-2xs);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.conv-preview span{color:var(--muted);font-weight:600}.app-dot{display:inline-block;width:6px;height:6px;margin-right:var(--sp-3);border-radius:var(--r-full);vertical-align:middle}.app-a{background:var(--green)}.app-b{background:var(--blue)}.app-c{background:var(--violet)}.app-d{background:var(--amber)}.app-e{background:#0d9488}.app-f{background:#c2410c}.prio{display:inline-block;margin-left:var(--sp-3);border-radius:var(--r-full);padding:0 var(--sp-3);font-size:var(--fs-2xs);font-style:normal;font-weight:700;vertical-align:middle}.prio-high{background:var(--amber-soft);color:var(--amber)}.prio-urgent{background:var(--red-soft);color:var(--red)}.chat-context{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.origin-tag{display:inline-block;margin-left:var(--sp-3);border-radius:var(--r-full);padding:0 var(--sp-3);background:var(--amber-soft);color:var(--amber);font-size:var(--fs-2xs);font-weight:600}.origin-tag.is-known{background:var(--green-soft);color:var(--green-dark)}.message-file{display:inline-flex;align-items:center;gap:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);background:var(--surface);color:var(--text-soft);font-size:var(--fs-2xs);font-weight:600;text-decoration:none}.message-file:hover{border-color:var(--green);color:var(--green-dark)}.conv-segments{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-4);border-bottom:1px solid var(--line);padding-bottom:var(--sp-3)}.conv-segment{display:flex;align-items:center;gap:var(--sp-2);border:0;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.conv-segment:hover{background:var(--surface-hover);color:var(--text)}.conv-segment.active{background:var(--green-soft);color:var(--green-dark)}.conv-segment span{border-radius:var(--r-full);padding:0 var(--sp-2);background:var(--surface-hover);color:var(--text-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conv-segment.active span{background:var(--green-strong);color:#fff}.conv-apps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-2)}.conv-sep{width:1px;height:14px;margin:0 var(--sp-2);background:var(--line-strong)}.conv-app{border:1px solid var(--line);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--fs-2xs)}.conv-app.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.conv-empty{padding:var(--sp-8) var(--sp-5);color:var(--muted);font-size:var(--fs-xs);text-align:center}.day-bucket{width:100%;max-width:820px;margin-inline:auto}.day-bucket+.day-bucket{margin-top:var(--sp-6)}.day-divider{display:flex;align-items:center;gap:var(--sp-5);margin:var(--sp-6) 0;color:var(--faint);font-size:var(--fs-2xs)}.day-divider:after,.day-divider:before{flex:1 1;height:1px;background:var(--line);content:""}.msg-group{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);max-width:68%;margin-bottom:var(--sp-5)}.msg-group.outgoing{margin-left:auto;align-items:flex-end}.msg-who{color:var(--muted);font-weight:600}.msg-time,.msg-who{font-size:var(--fs-2xs)}.msg-time{color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.message.is-media{padding:0;background:none}.message{overflow-wrap:anywhere;white-space:pre-wrap}.media-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.media-tile{position:relative;overflow:hidden;width:132px;height:88px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0;background:var(--surface-soft);cursor:zoom-in}.media-tile img,.media-tile video{width:100%;height:100%;object-fit:cover}.media-tile:hover{border-color:var(--line-strong)}.media-item{position:relative;display:inline-flex}.media-get{position:absolute;top:var(--sp-2);right:var(--sp-2);display:grid;width:24px;height:24px;border:0;border-radius:var(--r-sm);background:rgb(0 0 0/55%);color:#fff;cursor:pointer;opacity:0;place-items:center;text-decoration:none;transition:opacity .12s ease}.media-get:focus-visible,.media-item:hover .media-get{opacity:1}.media-get:hover{background:rgb(0 0 0/78%)}.media-get.is-inline{position:static;flex:none;background:var(--surface-hover);color:var(--text-soft);opacity:1}.media-get.is-inline:hover{background:var(--line-strong)}.file-chip{display:inline-flex;max-width:320px;align-items:center;gap:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);background:var(--surface);color:var(--text-soft);cursor:pointer;text-align:left}.file-chip:hover:not(:disabled){border-color:var(--green);color:var(--green-dark)}.file-chip:disabled{cursor:progress;opacity:.6}.file-chip-copy{display:flex;min-width:0;flex-direction:column}.file-chip-copy strong{overflow:hidden;font-size:var(--fs-xs);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.file-chip-copy small{color:var(--muted);font-size:var(--fs-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.media-badge{position:absolute;right:var(--sp-2);bottom:var(--sp-2);display:grid;width:20px;height:20px;border-radius:var(--r-sm);background:rgb(0 0 0/55%);color:#fff;place-items:center}.media-lightbox{position:fixed;inset:0;z-index:1200;display:grid;padding:var(--sp-10);background:rgb(20 20 18/82%);place-items:center}.media-lightbox img,.media-lightbox video{max-width:100%;max-height:100%;border-radius:var(--r-md)}.media-bar{position:absolute;top:var(--sp-7);right:var(--sp-7);left:var(--sp-7);display:flex;align-items:center;gap:var(--sp-4)}.media-name{overflow:hidden;margin-right:auto;color:rgb(255 255 255/72%);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.media-close{display:grid;border:0;border-radius:var(--r-full);width:34px;height:34px;flex:none;background:rgb(255 255 255/14%);color:#fff;cursor:pointer;place-items:center}.media-close:hover{background:rgb(255 255 255/24%)}.chat-facts{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-2xs)}.fact-state{border-radius:var(--r-full);padding:0 var(--sp-3);font-weight:600}.fact-state.is-active{background:var(--green-soft);color:var(--green-dark)}.fact-state.is-trial{background:var(--blue-soft);color:var(--blue)}.fact-state.is-expired{background:var(--amber-soft);color:var(--amber)}.fact-state.is-disabled{background:var(--red-soft);color:var(--red)}.chat-actions{gap:var(--sp-4);flex:none;flex-wrap:nowrap}.chat-actions,.thread-search{display:flex;align-items:center}.thread-search{gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 var(--sp-3);background:var(--surface);height:30px}.thread-search:focus-within{border-color:var(--green)}.thread-search svg{color:var(--faint)}.thread-search input{width:130px;min-width:0;border:0;background:none;font-size:var(--fs-xs);outline:none}.thread-search span{color:var(--muted);font-size:var(--fs-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.thread-search button{display:grid;width:20px;height:20px;border:0;border-radius:var(--r-sm);padding:0;background:none;color:var(--text-soft);cursor:pointer;place-items:center}.thread-search button:hover:not(:disabled){background:var(--surface-hover)}.thread-search button:disabled{color:var(--faint);cursor:default}.msg-hit{border-radius:3px;background:var(--amber-soft);color:inherit;padding:0 1px}.message.is-hit{box-shadow:0 0 0 2px var(--amber)}.media-download{display:inline-flex;align-items:center;gap:var(--sp-3);flex:none;border:0;cursor:pointer;border-radius:var(--r-full);padding:var(--sp-3) var(--sp-5);background:rgb(255 255 255/14%);color:#fff;font-size:var(--fs-xs);font-weight:600;text-decoration:none}.media-download:hover{background:rgb(255 255 255/24%)}.message-compose textarea{flex:1 1;resize:none;overflow-y:auto;min-height:34px;max-height:160px;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);font:inherit;font-size:var(--fs-sm);line-height:1.45}.message-compose textarea:focus{outline:none;border-color:var(--green)}.message-compose{align-items:flex-end}.compose-attach{display:grid;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:0;background:var(--surface);color:var(--muted);cursor:pointer;place-items:center}.compose-attach:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.compose-attach:disabled{opacity:.5;cursor:default}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + var(--sp-3));left:0;z-index:40;display:flex;min-width:180px;max-height:260px;overflow-y:auto;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2);background:var(--surface);box-shadow:var(--shadow-soft)}.menu-right{right:0;left:auto}.menu-up{top:auto;bottom:calc(100% + var(--sp-3))}.menu button{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);border:0;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);background:none;color:var(--text);cursor:pointer;font-size:var(--fs-xs);text-align:left}.menu button:hover{background:var(--surface-hover)}.menu button.is-on{background:var(--green-soft);color:var(--green-dark);font-weight:620}.menu button.is-quiet{margin-top:var(--sp-2);border-top:1px solid var(--line);padding-top:var(--sp-4);color:var(--muted)}.menu button small{color:var(--faint);font-family:var(--font-mono);font-size:var(--fs-2xs)}.menu-empty{margin:0;padding:var(--sp-4);color:var(--muted);font-size:var(--fs-2xs)}.button.is-loud{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.icon-button{display:grid;width:30px;height:30px;flex:none;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);cursor:pointer;place-items:center}.icon-button:hover{border-color:var(--line-strong);color:var(--text)}.compose-modes{display:flex;align-items:center;gap:var(--sp-2);border-top:1px solid var(--line);padding:var(--sp-4) var(--sp-6) 0}.compose-modes button{border:0;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-2xs);font-weight:600}.compose-modes button:hover{color:var(--text)}.compose-modes button.active{background:var(--surface-hover);color:var(--text)}.compose-modes button.active.is-note{background:var(--amber-soft);color:var(--amber)}.compose-hint{margin-left:auto;color:var(--amber);font-size:var(--fs-2xs)}.compose-modes+.message-compose{border-top:0}.message-compose.is-note{background:var(--amber-soft)}.message-compose.is-note textarea{border-color:var(--amber);background:var(--surface)}.canned-form{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2);border-top:1px solid var(--line);padding:var(--sp-4) var(--sp-3) var(--sp-2)}.canned-form input,.canned-form textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);background:var(--surface-soft);font:inherit;font-size:var(--fs-xs)}.canned-form input:focus,.canned-form textarea:focus{outline:none;border-color:var(--green)}.canned-form-end{display:flex;justify-content:flex-end;gap:var(--sp-2)}.canned-form-end button{flex:none;padding:var(--sp-2) var(--sp-5);font-weight:600}.canned-form-end button:disabled{color:var(--faint);cursor:default}.assist-toggle{display:inline-flex;align-items:center;gap:var(--sp-4)}.pill-on{border-radius:var(--r-full);padding:0 var(--sp-4);background:var(--green-soft);color:var(--green-dark);font-size:var(--fs-2xs);font-weight:700}.knowledge-shell{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;grid-gap:var(--sp-7);gap:var(--sp-7)}.knowledge-form{position:-webkit-sticky;position:sticky;top:var(--sp-8)}.knowledge-form select,.knowledge-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-5);background:var(--surface-soft);font:inherit;font-size:var(--fs-md)}.knowledge-form textarea{resize:vertical;line-height:1.55}.knowledge-form-end{display:flex;justify-content:flex-end;gap:var(--sp-4);margin-top:var(--sp-6)}.knowledge-list{display:flex;flex-direction:column;gap:var(--sp-5)}.knowledge-item header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-4)}.knowledge-item header strong{font-size:var(--fs-base);font-weight:630}.knowledge-item p{margin:0;color:var(--text-soft);font-size:var(--fs-md);line-height:1.6;white-space:pre-wrap}.kb-scope{flex:none;border-radius:var(--r-full);padding:0 var(--sp-4);background:var(--blue-soft);color:var(--blue);font-size:var(--fs-2xs);font-weight:600}.kb-scope.is-all{background:var(--surface-hover);color:var(--muted)}.kb-keys{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}.kb-keys i{border-radius:var(--r-sm);padding:0 var(--sp-3);background:var(--surface-hover);color:var(--muted);font-size:var(--fs-2xs);font-style:normal}.kb-actions{display:flex;flex-wrap:wrap;gap:var(--sp-5);margin-top:var(--sp-5);border-top:1px solid var(--line);padding-top:var(--sp-5)}.kb-actions button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-xs);font-weight:600}.kb-actions button:hover{color:var(--text)}.kb-actions button.is-danger:hover{color:var(--red)}@media (max-width:980px){.knowledge-shell{grid-template-columns:minmax(0,1fr)}.knowledge-form,.knowledge-list{min-width:0}.knowledge-form{position:static}}.chat-side{display:flex;min-height:0;overflow-y:auto;flex-direction:column;gap:var(--sp-6);border-left:1px solid var(--line);padding:var(--sp-6) var(--sp-7) var(--sp-8);background:var(--surface-soft)}.chat-side header{display:flex;align-items:center;justify-content:space-between}.chat-side header strong{font-size:var(--fs-md);font-weight:630}.chat-side header button{display:grid;width:24px;height:24px;border:0;border-radius:var(--r-sm);background:none;color:var(--muted);cursor:pointer;place-items:center}.chat-side header button:hover{background:var(--surface-hover);color:var(--text)}.side-block{display:flex;align-items:center;gap:var(--sp-5)}.side-block>div{display:flex;min-width:0;flex-direction:column}.side-block strong{font-size:var(--fs-md);font-weight:620}.side-block small,.side-block strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-block small{color:var(--muted);font-size:var(--fs-2xs)}.side-facts{margin:0;font-size:var(--fs-xs)}.side-facts dt{margin-top:var(--sp-5);color:var(--faint);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.side-facts dd{margin:var(--sp-1) 0 0;overflow-wrap:anywhere}.chat-side h4{margin:var(--sp-4) 0 0;border-top:1px solid var(--line);padding-top:var(--sp-6);font-size:var(--fs-xs);font-weight:630}.past-item{display:flex;width:100%;align-items:flex-start;gap:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);background:var(--surface);color:var(--text-soft);cursor:pointer;text-align:left}.past-item:hover{border-color:var(--line-strong)}.past-item>svg{margin-top:2px;flex:none;color:var(--green)}.past-item span{display:flex;min-width:0;flex-direction:column}.past-item b{overflow:hidden;font-size:var(--fs-xs);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.past-item small{color:var(--muted);font-size:var(--fs-2xs)}.chat-chips{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4)}.chip-btn{display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4);background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--fs-2xs);font-weight:600}.chip-btn:hover{border-color:var(--line-strong);color:var(--text)}.chip-btn.is-set{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.chip-btn.is-static{cursor:default}.chip-btn.is-static.prio-high{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.chip-btn.is-static.prio-urgent{border-color:var(--red);background:var(--red-soft);color:var(--red)}.chat-timing{margin:var(--sp-3) 0 0;color:var(--faint)}.read-mark{align-items:center;gap:var(--sp-1);font-size:var(--fs-2xs);font-weight:600}.read-mark.is-read{color:var(--green-dark)}.conv-more{width:100%;margin-top:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-sm);padding:var(--sp-4);background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-2xs);font-weight:600}.conv-more:hover:not(:disabled){border-color:var(--green);color:var(--green-dark)}.conv-more:disabled{cursor:default;opacity:.6}.conv-pick{position:absolute;z-index:2;display:grid;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:#fff;cursor:pointer;opacity:0;place-items:center;transition:opacity .1s ease}.conversation{position:relative}.conversation.is-picked .conv-pick,.conversation:hover .conv-pick{opacity:1}.conversation.is-picked .conv-pick{border-color:var(--green);background:var(--green)}.conversation.is-picked{background:var(--green-soft)}.bulk-bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);background:var(--navy);color:#fff}.bulk-bar strong{margin-right:auto;font-size:var(--fs-2xs);font-weight:700}.bulk-bar button{border:0;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);background:rgb(255 255 255/14%);color:#fff;cursor:pointer;font-size:var(--fs-2xs);font-weight:600}.bulk-bar button:hover:not(:disabled){background:rgb(255 255 255/26%)}.bulk-bar button:disabled{cursor:default;opacity:.5}.bulk-bar button.is-quiet{background:none;color:rgb(255 255 255/65%)}.thread-event{margin:var(--sp-5) 0;color:var(--faint)}.menu-sep{display:block;margin:var(--sp-2) var(--sp-3);border-top:1px solid var(--line)}.chip-btn.is-static.is-asleep{border-color:var(--violet);background:var(--violet-soft);color:var(--violet)}.ticket-no{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em}.row-ticket,.ticket-no{color:var(--faint);font-size:var(--fs-2xs)}.row-ticket{display:block;margin-top:1px;font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-5)}.ctx-bit{display:inline-flex;align-items:center;gap:var(--sp-2)}.ctx-bit svg{color:var(--faint)}.chat-timing{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) 0;margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-5);background:var(--surface-soft);color:var(--muted);font-size:var(--fs-2xs)}.chat-timing span{display:inline-flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6)}.chat-timing span+span{border-left:1px solid var(--line)}.chat-timing span:first-child{padding-left:0}.chat-timing .is-late{color:var(--red);font-weight:600}.chat-timing svg{opacity:.65}.thread-event{display:flex;max-width:100%;align-items:center;justify-content:center;gap:var(--sp-3);margin:var(--sp-5) auto;border:1px solid var(--line);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-6);background:var(--surface-soft);color:var(--muted);font-size:var(--fs-2xs);text-align:center;width:-moz-fit-content;width:fit-content}.thread-event svg{flex:none;color:var(--blue)}.read-mark,.thread-event time{color:var(--faint)}.read-mark{display:inline-flex;margin-left:var(--sp-3)}.read-mark svg:last-child{margin-left:-6px}.read-mark.is-read{color:var(--green)}.side-facts dd select{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);background:var(--surface);font:inherit;font-size:var(--fs-xs)}.side-facts dd select:hover{border-color:var(--line-strong)}.side-facts dd.is-static{color:var(--text-soft)}.side-activity{margin:var(--sp-4) 0 0;padding:0 0 0 var(--sp-6);list-style:none}.side-activity li{position:relative;padding:0 0 var(--sp-6)}.side-activity li:before{position:absolute;top:4px;left:calc(var(--sp-6) * -1);width:7px;height:7px;border-radius:var(--r-full);background:var(--green);content:""}.side-activity li:not(:last-child):after{position:absolute;top:13px;bottom:0;left:calc(var(--sp-6) * -1 + 3px);width:1px;background:var(--line);content:""}.side-activity b{display:block;font-size:var(--fs-xs);font-weight:600}.side-activity small{color:var(--faint);font-size:var(--fs-2xs)}@media (min-width:1440px){.page-container{width:min(1440px,100% - var(--page-gutter) * 2)}}@media (min-width:1700px){.app-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (pointer:coarse){input,select,textarea{font-size:16px!important}.field input,.field select{height:44px}.field textarea{min-height:88px}.conversation-search,.search-field,.select-field{min-height:42px;height:auto}.chat-compose input{height:42px}.button,.ghost,.primary{min-height:42px;padding-inline:var(--sp-7)}.button-compact{min-height:38px}.icon-button,.language-button,.mobile-close,.mobile-menu,.more-button{width:40px;height:40px}.language-button{width:auto;min-width:40px}.expand-button{width:34px;height:34px}.nav-item{min-height:44px}.nav-child{min-height:42px;display:flex;align-items:center}.migration-tabs button,.tabs button{min-height:46px}.btn-sm,.table-action-button{min-height:34px;padding:var(--sp-3) var(--sp-5)}.kb-actions button,.row-popover button,.text-button{min-height:36px}input[type=checkbox]{width:18px;height:18px}.conv-segment{min-height:38px}.conv-app,.proj-chip{min-height:34px;padding-block:var(--sp-3)}}@media (max-width:860px){.sidebar{width:min(304px,86vw);visibility:hidden;box-shadow:0 0 60px rgba(28,28,25,.18);transition:transform .2s ease,visibility 0s linear .2s}.sidebar-open{visibility:visible;transition:transform .2s ease,visibility 0s}.mobile-backdrop{touch-action:none;-webkit-tap-highlight-color:transparent}.main,.main-content{padding-right:var(--safe-r)}}@media (hover:none){.app-row:hover,.conversation:hover,.data-table tbody tr:hover,.nav-item:hover,table.data tbody tr:hover{background:transparent}.app-card:hover{border-color:var(--line);box-shadow:none}.app-row:active,.conversation:active,.data-table tbody tr:active,.nav-item:active,table.data tbody tr:active{background:var(--surface-hover)}}.chat-back{display:none;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text-soft)}.chat-back:hover{background:var(--surface-hover);color:var(--text)}@media (max-width:650px){.page-container{padding-bottom:calc(clamp(32px, 5vw, 56px) + var(--safe-b))}.data-table td,.data-table th,table.data td,table.data th{padding:var(--sp-4) var(--sp-5)}.data-table td{height:50px}.directory-toolbar,.table-toolbar{padding:var(--sp-5)}.panel-body,.panel-heading{padding:var(--sp-6)}.panel-heading{align-items:flex-start;flex-direction:column;gap:var(--sp-5);min-height:0}.panel-heading .heading-actions{width:100%}.app-card,.card,.metric-card,.package-card,.server-card{padding:var(--sp-6)}.activity-list{padding-inline:var(--sp-6)}.row-popover{position:fixed;top:auto;right:0;bottom:0;left:0;z-index:90;width:auto;border-width:1px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--sp-4) var(--sp-4) max(var(--sp-6),calc(var(--safe-b) + var(--sp-4)));box-shadow:0 -14px 44px rgba(30,30,27,.18)}.row-popover button{min-height:46px;padding-inline:var(--sp-5);font-size:var(--fs-sm)}.modal-back,.modal-backdrop{place-items:end stretch;padding:0}.modal,.modal.wide,.modal.xl{width:100%;max-height:92dvh;border-width:1px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--sp-8) var(--sp-7) max(var(--sp-8),calc(var(--safe-b) + var(--sp-6)));animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}.modal-actions{flex-direction:column-reverse;gap:var(--sp-3)}.modal-actions .button,.modal-actions .ghost,.modal-actions .primary{width:100%}.server-card .server-meta,.stat-grid,.tenant-facts{grid-template-columns:1fr 1fr}.inline-summary{gap:var(--sp-5) var(--sp-8)}.pager,.table-footer{align-items:stretch;flex-direction:column;gap:var(--sp-4)}.pager>div,.table-footer>div{justify-content:center}.chat-shell,.chat-shell.has-side,.chat-wrap{grid-template-columns:minmax(0,1fr)}.conversation-list{display:block;border-right:0}.chat-shell .chat-main,.chat-shell.has-active .conversation-list{display:none}.chat-shell.has-active .chat-back,.chat-shell.has-active .chat-main{display:grid}.chat-header{align-items:center;gap:var(--sp-3) var(--sp-5);padding:var(--sp-4) var(--sp-5)}.chat-messages,.messages{padding:var(--sp-6) var(--sp-5)}.chat-compose,.message-compose{padding:var(--sp-5) var(--sp-5) max(var(--sp-5),var(--safe-b))}}@media (max-width:400px){.topbar-actions{gap:var(--sp-3)}.breadcrumbs{min-width:0;font-size:var(--fs-2xs)}.page-title-row h1{font-size:22px}.metric-card>strong{font-size:var(--fs-xl)}.server-card .server-meta,.stat-grid,.tenant-facts{grid-template-columns:1fr}.message,.msg{max-width:92%}.modal,.modal.wide,.modal.xl{padding-inline:var(--sp-6)}}@media (max-height:480px) and (orientation:landscape){.topbar{position:static}.page-container{padding-top:var(--sp-6)}.modal,.modal.wide,.modal.xl{max-height:96dvh}.sidebar{padding-top:max(var(--sp-5),var(--safe-t))}.notification-popover{max-height:74dvh}}@media print{.mobile-backdrop,.notification-popover,.page-actions,.row-actions *,.sidebar,.table-toolbar,.toast,.topbar{display:none!important}.main,.main-content{margin-left:0}.page-container{width:100%;padding:0}.card,.metric-card,.panel{page-break-inside:avoid;break-inside:avoid;box-shadow:none}.table-scroll,.table-wrap{max-height:none;overflow:visible}.data-table{min-width:0}}.notice-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.notice-times .field{margin-top:var(--sp-6)}.notice-durations{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5)}.notice-preview{margin-top:var(--sp-7);border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:var(--r-md);background:var(--surface-soft);padding:var(--sp-6)}.notice-preview strong{display:block;font-size:var(--fs-sm);font-weight:630}.notice-preview p{margin:var(--sp-2) 0 0;color:var(--text-soft);font-size:var(--fs-xs);line-height:1.5;overflow-wrap:anywhere}.notice-preview small{display:block;margin-top:var(--sp-4);color:var(--muted);font-size:var(--fs-2xs)}.notice-preview.kind-maintenance{border-left-color:var(--amber)}.notice-preview.kind-incident{border-left-color:var(--red)}.notice-preview.kind-info{border-left-color:var(--blue)}.notice-past{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);color:var(--muted);font-size:var(--fs-xs);cursor:pointer}.notice-item{padding:var(--sp-6)}.notice-item+.notice-item{margin-top:var(--sp-4)}.notice-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5)}.notice-item header strong{font-size:var(--fs-sm);font-weight:630}.notice-item>p{margin:var(--sp-4) 0 0;color:var(--text-soft);font-size:var(--fs-xs);line-height:1.5;overflow-wrap:anywhere}.notice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);margin:var(--sp-3) 0 0;color:var(--text-soft);font-size:var(--fs-2xs);font-weight:560}.notice-meta span+span:before{margin-right:var(--sp-4);color:var(--line-strong);content:"·"}.notice-meta .faint{color:var(--muted);font-weight:500}.notice-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:var(--sp-4) 0 0!important}.quick-questions{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-6)}.quick-question{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center}.quick-question input{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-4);height:36px;color:var(--text);font-size:var(--fs-xs)}.quick-question input:focus{border-color:var(--green);outline:3px solid var(--green-soft)}.quick-question button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--muted)}.quick-question button:hover{border-color:#efc0bb;color:var(--red)}.quick-empty{border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--sp-6);color:var(--muted);font-size:var(--fs-xs);text-align:center}.main,.main-content{position:relative}.main-content:before{position:fixed;top:0;bottom:0;left:var(--sidebar-width);z-index:25;background:var(--faint);content:"";transition:background .2s ease}:root[data-platform=ok] .main-content:before{background:var(--green)}:root[data-platform=warn] .main-content:before{background:var(--amber)}:root[data-platform=down] .main-content:before{background:var(--red);animation:rail-alert 1.8s ease-in-out infinite}@keyframes rail-alert{50%{opacity:.45}}@media (max-width:860px){.main-content:before{left:0}}.nav-link{display:block;border-radius:var(--r-sm)}.nav-link:focus-visible{outline:2px solid var(--green-strong);outline-offset:1px}.nav-group{margin-bottom:var(--sp-2)}.nav-caret{margin-left:auto;color:var(--faint);transition:transform .18s ease}.nav-caret.is-open{transform:rotate(90deg)}.nav-item .nav-badge+.nav-caret{margin-left:var(--sp-3)}.nav-children{display:grid;grid-gap:1px;gap:1px;margin:var(--sp-2) 0 var(--sp-3);border-left:1px solid var(--line);padding-left:var(--sp-4);margin-left:calc(var(--sp-5) + 8px);animation:nav-open .18s ease-out}@keyframes nav-open{0%{opacity:0;transform:translateY(-3px)}}.nav-child{display:block;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-5);color:var(--muted);font-size:var(--fs-sm);transition:color .16s ease,background .16s ease}.nav-child:hover{background:var(--surface-soft);color:var(--text)}.nav-child.active{background:var(--green-soft);color:var(--green-dark);font-weight:580}.topbar-search{position:relative;display:flex;min-width:0;flex:0 1 320px;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:0 var(--sp-3) 0 var(--sp-5);height:34px;color:var(--muted);transition:border-color .16s ease,box-shadow .16s ease}.topbar-search:focus-within{border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft)}.topbar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:var(--fs-xs)}.topbar-search input::placeholder{color:var(--muted)}.topbar-search kbd{flex:0 0 auto;border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--muted);font-family:var(--font-mono),monospace;font-size:var(--fs-2xs)}.search-results{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:40;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-soft);padding:var(--sp-2);list-style:none}.search-results button{display:flex;width:100%;align-items:center;gap:var(--sp-4);border:0;border-radius:var(--r-sm);background:transparent;padding:var(--sp-3) var(--sp-4);color:var(--text);font-size:var(--fs-sm);text-align:left}.search-results button:hover{background:var(--surface-hover)}.search-results svg{flex:0 0 auto;color:var(--muted)}.search-results small{margin-left:auto;color:var(--muted);font-size:var(--fs-2xs)}.account-wrap{position:relative}.topbar .account-button{width:auto;gap:var(--sp-4);border:1px solid transparent;padding:var(--sp-2) var(--sp-3);max-width:210px}.topbar .account-button:hover{border-color:var(--line);background:var(--surface)}.account-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:226px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-soft);padding:var(--sp-2)}.account-head{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-5)}.account-head strong{font-size:var(--fs-sm);font-weight:620}.account-head small{overflow:hidden;color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis}.account-popover button{display:flex;width:100%;align-items:center;gap:var(--sp-4);border:0;border-radius:var(--r-sm);background:transparent;padding:var(--sp-3) var(--sp-4);color:var(--text-soft);font-size:var(--fs-sm);text-align:left}.account-popover button:hover{background:var(--surface-hover);color:var(--text)}.account-popover .danger-action{color:var(--red)}.crumb-group{color:var(--muted)}@media (max-width:1180px){.topbar .account-copy{display:none}}@media (max-width:1024px){.topbar-search{flex-basis:220px}.topbar-search kbd{display:none}}@media (max-width:860px){.topbar-search{display:none}}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-card.is-primary{grid-column:span 2;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.metric-card.is-primary>strong{font-size:30px}.metric-card.needs-attention{border-color:#e6cf9f;background:linear-gradient(180deg,var(--surface) 0,#fffaf1 100%)}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card.is-primary{grid-column:span 2}}@media (max-width:860px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card.is-primary{grid-column:auto}.metric-card.is-primary>strong{font-size:var(--fs-2xl)}}@media (max-width:400px){.metric-grid{grid-template-columns:1fr}.metric-card.is-primary{grid-column:auto}}.app-status-panel{margin-bottom:var(--sp-6)}.app-status-table{min-width:620px}.app-status-table td{height:54px}.app-status-table .user-cell small{font-family:var(--font-mono),monospace;font-size:var(--fs-2xs)}.app-status-table tbody tr{position:relative}.app-status-table tbody td:first-child{border-left:3px solid transparent;padding-left:calc(var(--sp-6) - 3px)}.app-status-table tbody tr.rail-ok td:first-child{border-left-color:var(--green)}.app-status-table tbody tr.rail-down td:first-child{border-left-color:var(--red)}.app-status-table tbody tr.rail-unknown td:first-child{border-left-color:var(--amber)}.app-status-table tbody tr.rail-idle td:first-child{border-left-color:var(--line-strong)}.overview-grid{align-items:start}.quick-actions{display:grid;padding:var(--sp-3)}.quick-action{display:grid;grid-template-columns:16px minmax(0,1fr) 14px;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);border-radius:var(--r-sm);padding:var(--sp-5);color:var(--text);transition:background .16s ease}.quick-action:hover{background:var(--surface-soft)}.quick-action>svg:first-child{color:var(--green-dark)}.quick-action>svg:last-child{color:var(--faint)}.quick-action span{display:flex;min-width:0;flex-direction:column}.quick-action strong{font-size:var(--fs-sm);font-weight:600}.quick-action small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}@media (hover:none){.quick-action:hover{background:transparent}.quick-action:active{background:var(--surface-hover)}}.all-clear{display:flex;align-items:center;gap:var(--sp-4);margin:calc(var(--sp-6) * -1 + 2px) 0 var(--sp-6);padding:var(--sp-4) var(--sp-6);border:1px solid #d7ece4;border-radius:var(--r-md);background:var(--green-soft);color:var(--green-dark);font-size:var(--fs-xs)}.all-clear svg{flex:0 0 auto}.ratio{display:inline-flex;align-items:baseline;gap:1px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ratio strong{color:var(--text);font-size:var(--fs-sm);font-weight:620}.ratio i{color:var(--muted);font-size:var(--fs-2xs);font-style:normal}.ack-toggle{display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:var(--sp-3);margin-right:auto;border:0;background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-xs);font-weight:600}.ack-toggle:hover{color:var(--green-dark)}.ack-toggle b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:var(--r-full);background:var(--green-soft);color:var(--green-dark);font-size:var(--fs-2xs);font-weight:700}.ack-names{min-width:0;overflow:hidden;color:var(--muted);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.ack-toggle b{flex:0 0 auto}.ack-none{margin-right:auto;color:var(--faint);font-size:var(--fs-xs)}.ack-toggle svg:first-child{color:var(--green-dark)}.ack-list{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);margin-top:var(--sp-5);border-top:1px solid var(--line);padding-top:var(--sp-5)}.ack-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--sp-5);gap:var(--sp-5);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4)}.ack-row:nth-child(odd){background:var(--surface-soft)}.ack-who{display:flex;min-width:0;flex-direction:column}.ack-who strong{font-size:var(--fs-xs);font-weight:620}.ack-who small,.ack-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ack-who small{margin-top:var(--sp-1);font-family:var(--font-mono),monospace}.ack-row time,.ack-who small{color:var(--muted);font-size:var(--fs-2xs)}.ack-row time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ack-note{margin:var(--sp-4) 0 0;color:var(--faint);font-size:var(--fs-2xs)}@media (max-width:650px){.ack-row{grid-template-columns:minmax(0,1fr) auto}.ack-row time{grid-column:1/-1}}.notice-composer{margin-bottom:var(--sp-6)}.composer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-5) var(--sp-6);gap:var(--sp-5) var(--sp-6);padding:var(--sp-6) var(--sp-7) var(--sp-7)}.composer-grid .field{margin-top:0}.composer-body{display:flex;grid-column:span 2;flex-direction:column}.composer-body textarea{min-height:84px;flex:1 1}.composer-body>p{flex:0 0 auto}.composer-times{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4);align-content:start}.composer-times .notice-durations{margin-top:var(--sp-2)}.notice-composer .notice-preview{grid-column:span 2;margin-top:0}.composer-actions{display:flex;align-items:flex-end;justify-content:flex-end}.composer-actions .button{width:100%}.notice-board{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.notice-board .notice-past{margin-bottom:var(--sp-2)}@media (max-width:1100px){.composer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-body,.composer-times,.notice-composer .notice-preview{grid-column:span 2}.composer-times{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.composer-times .notice-durations{grid-column:1/-1}.composer-actions{grid-column:span 2}.composer-actions .button{width:auto;min-width:200px}}@media (max-width:650px){.composer-grid{grid-template-columns:minmax(0,1fr);padding:var(--sp-6)}.composer-actions,.composer-body,.composer-times,.notice-composer .notice-preview{grid-column:auto}.composer-actions .button{width:100%}}.sidebar{--sb-text:#d7e0da;--sb-muted:#8a9891;--sb-faint:#5e6b65;--sb-line:rgba(124,224,188,0.12);--sb-mint:#7ce0bc;border-right:0;background:radial-gradient(600px 300px at 0 0,rgba(15,159,120,.18),transparent 60%),linear-gradient(180deg,#161c19,#0f1412);color:var(--sb-text)}.sidebar:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--sb-line) 1px,transparent 1px) 0 0 /100% 56px,linear-gradient(90deg,var(--sb-line) 1px,transparent 1px) 0 0 /56px 100%;mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 45%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 45%)}.sidebar>*{position:relative;z-index:1}.sidebar .brand-mark{border:0;border-radius:9px;background:linear-gradient(145deg,#8ff0cd,#0f9f78);color:#0f1412;transform:none;box-shadow:0 0 0 1px rgba(124,224,188,.35),0 8px 20px -8px rgba(124,224,188,.6)}.sidebar .brand-copy strong{color:#fff}.sidebar .brand-copy span{color:var(--sb-muted);letter-spacing:.06em;text-transform:uppercase}.sidebar .mobile-close{color:var(--sb-muted)}.sidebar .nav-group-label,.sidebar .nav-group-title{color:var(--sb-faint)}.sidebar .nav-item{color:var(--sb-muted);font-weight:500}.sidebar .nav-item svg{color:var(--sb-faint);transition:color .16s ease}.sidebar .nav-item:hover{background:rgba(255,255,255,.04);color:var(--sb-text)}.sidebar .nav-item:hover svg{color:var(--sb-text)}.sidebar .nav-item.active{position:relative;background:rgba(124,224,188,.1);color:#fff;font-weight:600}.sidebar .nav-item.active:before{content:"";position:absolute;top:7px;bottom:7px;left:0;width:2.5px;border-radius:0 2px 2px 0;background:var(--sb-mint);box-shadow:0 0 10px rgba(124,224,188,.7)}.sidebar .nav-item.in-path{color:var(--sb-text);font-weight:600}.sidebar .nav-item.active svg,.sidebar .nav-item.in-path svg{color:var(--sb-mint)}.sidebar .nav-caret{color:var(--sb-faint)}.sidebar .nav-badge{background:var(--sb-mint);color:#0f1412}.sidebar .nav-count{background:rgba(240,173,78,.16);color:#f0c27a}.sidebar .nav-children{border-left-color:rgba(124,224,188,.18)}.sidebar .nav-child{color:var(--sb-muted)}.sidebar .nav-child:hover{background:rgba(255,255,255,.04);color:var(--sb-text)}.sidebar .nav-child.active{background:rgba(124,224,188,.1);color:var(--sb-mint)}.sidebar .main-nav:hover{scrollbar-color:rgba(255,255,255,.12) transparent}.sidebar .profile,.sidebar .sidebar-footer{border-top-color:var(--sb-line)}.sidebar .nav-link:focus-visible{outline-color:var(--sb-mint)}.main-content:before{width:3px;box-shadow:0 0 12px -2px currentColor}:root[data-platform=ok] .main-content:before{color:var(--green)}:root[data-platform=warn] .main-content:before{color:var(--amber)}:root[data-platform=down] .main-content:before{color:var(--red)}.metric-card{position:relative;border-radius:14px;padding:var(--sp-8) var(--sp-8) var(--sp-7);box-shadow:0 1px 2px rgba(28,28,25,.04);transition:box-shadow .16s ease,transform .16s ease}.metric-card:hover{box-shadow:0 8px 24px -12px rgba(28,28,25,.18)}.metric-label{font-weight:560;letter-spacing:.01em}.metric-label svg{box-sizing:content-box;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted)}.metric-card>strong{margin-top:var(--sp-5);font-size:32px;font-weight:650;letter-spacing:-.04em}.metric-card>small{display:inline-flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);font-size:var(--fs-xs);font-weight:500}.metric-card>small:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor;opacity:.7}.metric-card>small.positive{color:var(--green-dark)}.metric-card.is-primary{border-color:transparent;background:radial-gradient(420px 220px at 100% 0,rgba(124,224,188,.18),transparent 60%),linear-gradient(180deg,#1a211d,#111613);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2),0 24px 48px -24px rgba(0,0,0,.5)}.metric-card.is-primary .metric-label{color:#a9b6af}.metric-card.is-primary .metric-label svg{border-color:rgba(124,224,188,.3);background:rgba(124,224,188,.1);color:#7ce0bc}.metric-card.is-primary>strong{font-size:40px;background:linear-gradient(90deg,#ffffff,#cfe9dd);-webkit-background-clip:text;background-clip:text;color:transparent}.metric-card.is-primary>small{color:#b5c2ba}.metric-card.is-primary>small.positive{color:#7ce0bc}.metric-card.is-primary>small.metric-attention{color:#f0c27a}.metric-card.needs-attention:not(.is-primary){border-color:#e9d3a6;background:linear-gradient(180deg,var(--surface) 0,#fffaf0 100%)}.metric-card.needs-attention:not(.is-primary) .metric-label svg{border-color:#efd9ad;background:var(--amber-soft);color:var(--amber)}.metric-card.is-primary.needs-attention{box-shadow:0 0 0 1px rgba(240,194,122,.35),0 24px 48px -24px rgba(0,0,0,.5)}.all-clear{border-radius:12px}.app-status-table .product-avatar:not(.is-idle){border-color:transparent;background:linear-gradient(145deg,#dff6ec,#b9ead6);color:#0d6b50}.pmap-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-3);color:#7ce0bc;font-size:var(--fs-2xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase}.pmap-eyebrow i{width:6px;height:6px;border-radius:50%;background:#7ce0bc}.page-title-row{margin-bottom:var(--sp-8)}.page-title-row h1{position:relative;padding-left:14px;font-size:24px;font-weight:650;letter-spacing:-.03em}.page-title-row h1:before{content:"";position:absolute;top:3px;bottom:3px;left:0;width:3px;border-radius:2px;background:linear-gradient(180deg,#7ce0bc,var(--green))}.card,.panel,.stat,.table-panel{border-color:#e3e4e0;border-radius:14px;box-shadow:0 1px 2px rgba(28,28,25,.04),0 12px 32px -20px rgba(28,28,25,.18)}.panel-heading{min-height:64px;border-bottom-color:#ecedea;padding:var(--sp-6) var(--sp-8)}.panel-heading h2{font-size:15px;font-weight:650}.panel-heading p{font-size:var(--fs-sm)}.data-table thead th,table.data thead th{background:var(--surface-soft);color:var(--faint);font-size:var(--fs-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase}.data-table td,table.data td{border-bottom-color:#eeefec;color:var(--text-soft);font-size:var(--fs-md)}.data-table tbody tr:hover,table.data tbody tr:hover{background:#f3faf7}.data-table tbody tr.is-clickable:hover td:first-child,table.data tbody tr.is-clickable:hover td:first-child{box-shadow:inset 3px 0 0 #7ce0bc}.directory-toolbar,.table-toolbar{border-bottom-color:#ecedea;padding:var(--sp-5) var(--sp-8)}.button{min-height:36px;border-radius:var(--r-md);font-weight:600}.button-primary{border-color:transparent;background:linear-gradient(180deg,#14ad84,var(--green-strong));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px -10px rgba(15,159,120,.8)}.button-primary:hover:not(:disabled){background:linear-gradient(180deg,#0f9f78,var(--green-dark))}.button-secondary{border-color:#dcddd9;box-shadow:0 1px 2px rgba(28,28,25,.04)}.button-secondary:hover:not(:disabled){border-color:#b9dccd;background:#f3faf7;color:var(--green-dark)}.btn-sm,.button-compact{min-height:30px}.field input,.field select{height:38px}.field input,.field select,.field textarea{border-radius:var(--r-md);border-color:#d6d9d6;font-size:var(--fs-sm)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px rgba(15,159,120,.16)}.toolbar input,.toolbar select,.topbar-search{height:36px;border-radius:var(--r-md)}.badge{min-height:24px;padding:var(--sp-1) var(--sp-5);font-weight:600}.badge-danger:before,.badge-info:before,.badge-success:before,.badge-warning:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.stat{background:var(--surface)}.stat-value{font-size:26px;font-weight:650;letter-spacing:-.035em}.empty-state>.empty-icon{background:linear-gradient(145deg,#e8f7f1,#d6f0e5);color:var(--green-dark)}.banner{border-radius:10px}.modal{border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.1),0 40px 80px -24px rgba(0,0,0,.4)}.topbar{border-bottom-color:#e6e7e3;background:rgba(247,247,245,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px)}.breadcrumbs strong{font-size:var(--fs-base);font-weight:650;letter-spacing:-.02em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.apps-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--sp-10);gap:var(--sp-10);align-items:center;margin-bottom:var(--sp-7);padding:var(--sp-8) var(--sp-9);border-radius:16px;color:#e8efeb;background:radial-gradient(600px 260px at 0 0,rgba(15,159,120,.22),transparent 60%),linear-gradient(180deg,#161c19,#0f1412);box-shadow:0 1px 2px rgba(0,0,0,.25),0 30px 60px -30px rgba(0,0,0,.55)}.apps-summary-main{display:grid;grid-gap:var(--sp-5);gap:var(--sp-5);min-width:0}.apps-summary h2{display:flex;align-items:baseline;gap:var(--sp-3);margin:0;color:#fff;font-size:40px;font-weight:650;letter-spacing:-.045em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apps-summary h2 small{color:#8a9891;font-size:var(--fs-md);font-weight:500;letter-spacing:0}.apps-summary-bar{display:flex;height:8px;max-width:420px;gap:3px;margin-top:var(--sp-2)}.apps-summary-bar i{display:block;min-width:6px;border-radius:4px}.apps-summary-bar .is-live,.apps-summary-legend .is-live{background:#7ce0bc;box-shadow:0 0 10px rgba(124,224,188,.5)}.apps-summary-bar .is-synced,.apps-summary-legend .is-synced{background:#6fa8ff}.apps-summary-bar .is-unlinked,.apps-summary-legend .is-unlinked{background:rgba(255,255,255,.16);box-shadow:none}.apps-summary-legend{display:flex;flex-wrap:wrap;gap:var(--sp-7);margin:0;padding:0;list-style:none;color:#8a9891;font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apps-summary-legend li{display:inline-flex;align-items:center;gap:var(--sp-3)}.apps-summary-legend i{width:8px;height:8px;border-radius:50%}.apps-summary-stats{display:flex;gap:var(--sp-10);margin:0;padding-left:var(--sp-10);border-left:1px solid rgba(124,224,188,.14)}.apps-summary-stats div{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.apps-summary-stats dt{color:#8a9891;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.apps-summary-stats dd{display:flex;align-items:baseline;gap:var(--sp-3);margin:0;font-size:26px;font-weight:650;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apps-summary-stats dd small{color:#7ce0bc;font-size:var(--fs-xs);font-weight:600}.app-grid{gap:var(--sp-7)}.app-card{position:relative;gap:var(--sp-6);overflow:hidden;border-color:#e3e4e0;border-radius:14px;padding:var(--sp-8) var(--sp-8) var(--sp-7) calc(var(--sp-8) + 4px);box-shadow:0 1px 2px rgba(28,28,25,.04),0 12px 32px -20px rgba(28,28,25,.18);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.app-card:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--green)}.app-card.is-synced:before{background:var(--blue)}.app-card.is-partial:before{background:var(--amber)}.app-card.is-error:before{background:var(--red)}.app-card.is-unlinked:before{background:repeating-linear-gradient(180deg,var(--line-strong) 0 6px,transparent 6px 10px)}.app-card:hover{border-color:#b9dccd;transform:translateY(-2px);box-shadow:0 1px 2px rgba(28,28,25,.04),0 20px 40px -20px rgba(15,159,120,.35)}.app-card.is-unlinked{background:var(--surface-soft)}.app-card .product-avatar{width:40px;height:40px;flex-basis:40px;border-radius:10px;font-size:var(--fs-xs)}.app-card .product-avatar:not(.is-idle){border-color:transparent;background:linear-gradient(145deg,#dff6ec,#b9ead6);color:#0d6b50;box-shadow:0 6px 16px -10px rgba(15,159,120,.7)}.app-card .product-avatar.is-idle{border:1.5px dashed var(--line-strong);background:transparent}.app-card-name strong{font-size:var(--fs-lg);letter-spacing:-.02em}.app-card-meta{display:flex;align-items:center;gap:var(--sp-4);margin-top:calc(-1 * var(--sp-2))}.app-card-chip{padding:2px 7px;border:1px solid #e3e4e0;border-radius:6px;background:var(--surface-soft);color:var(--text-soft);font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--fs-2xs)}.app-card-seen{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--muted);font-size:var(--fs-xs)}.app-card-seen i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.app-card-seen.is-now i{background:var(--green);box-shadow:0 0 0 0 rgba(15,159,120,.5);animation:auth-ping 2.4s ease-out infinite}.app-card-stats b{font-size:26px;letter-spacing:-.035em}.app-card-bars{display:grid;grid-gap:4px;gap:4px}.app-card-bar{height:5px;overflow:hidden;background:#eeefec}.app-card-bar,.app-card-bar i{display:block;border-radius:3px}.app-card-bar i{height:100%;background:linear-gradient(90deg,#7ce0bc,var(--green));transition:width .4s ease}.app-card-bar.is-read i{background:var(--amber)}.app-card-foot{padding-top:var(--sp-5);border-top:1px solid #eeefec}.app-card-open{color:var(--green-dark);font-weight:600}@media (max-width:900px){.apps-summary{grid-template-columns:minmax(0,1fr);gap:var(--sp-7)}.apps-summary-stats{padding-left:0;border-left:0;padding-top:var(--sp-6);border-top:1px solid rgba(124,224,188,.14)}}@media (max-width:480px){.apps-summary-stats{gap:var(--sp-8)}.apps-summary-stats dd{font-size:22px}}