:root{--app-bg:#f7f7f5;--surface:#ffffff;--surface-soft:#fafaf8;--surface-hover:#f1f1ee;--text:#20201e;--text-soft:#4f4f4b;--muted:#787774;--faint:#a4a49f;--line:#e9e9e5;--line-strong:#dddcd7;--green:#0f9f78;--green-dark:#08765a;--green-soft:#e8f7f1;--blue:#3668d4;--blue-soft:#edf2ff;--amber:#a76616;--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;--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}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}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(15,159,120,.28);outline-offset:2px}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}.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:var(--sp-8) var(--sp-6) var(--sp-6)}.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;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:35px;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(--muted);font-size:var(--fs-md);text-align:left;transition:color .14s ease,background .14s ease}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:var(--surface-hover);color:var(--text);font-weight:560}.nav-item.active 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;margin-left:var(--sidebar-width);min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:62px;justify-content:space-between;border-bottom:1px solid rgba(233,233,229,.88);background:rgba(247,247,245,.9);padding:0 36px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.breadcrumbs,.topbar,.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,calc(100% - 72px));margin:0 auto;padding:var(--sp-11) 0 var(--sp-12)}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-8);margin-bottom:var(--sp-9)}.page-title-row h1{margin:0;font-size:clamp(25px,2.1vw,31px);font-weight:650;letter-spacing:-.045em;line-height:1.12}.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% - 40px);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);background:var(--green);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{border-color:var(--green);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)}.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)}.metric-card>small.positive{color:var(--green-dark)}.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);overflow:auto}.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);overflow-y:auto;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;border-bottom:1px solid var(--line);margin-bottom:var(--sp-7)}.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);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:1200px){.chat-shell.has-side{grid-template-columns:320px minmax(0,1fr)}.chat-side{display:none}}.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-child{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);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{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-brand{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-8);background:#202622;padding:var(--sp-12) 60px;color:#dbe6df}.auth-brand .brandrow{display:flex;align-items:center;gap:var(--sp-6);color:#fff;font-size:var(--fs-xl);font-weight:700}.auth-brand .brand-mark{border-color:#7ce0bc;color:#7ce0bc}.auth-brand h1{margin:var(--sp-4) 0 0;font-size:var(--fs-3xl);font-weight:650;letter-spacing:-.035em;line-height:1.16}.auth-brand p{max-width:420px;margin:0;color:#a8b3ad;font-size:var(--fs-base)}.auth-features{display:grid;grid-gap:var(--sp-6);gap:var(--sp-6);margin:var(--sp-6) 0 0;padding:0;list-style:none}.auth-features li{display:flex;gap:var(--sp-5);align-items:flex-start;color:#c6d2cb;font-size:var(--fs-md)}.auth-features .tick{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:var(--r-sm);background:rgba(124,224,188,.16);color:#7ce0bc;font-size:var(--fs-xs)}.auth-form-wrap{display:grid;place-items:center;padding:var(--sp-11) var(--sp-9)}.auth-card{width:100%;max-width:372px}.auth-card h2{margin:0 0 var(--sp-2);font-size:var(--fs-2xl);font-weight:650}.auth-card .sub{margin:0 0 var(--sp-9);color:var(--muted);font-size:var(--fs-md)}.auth-card .button{width:100%;min-height:38px;margin-top:var(--sp-4)}.center{display:grid;min-height:100vh;place-items:center;color:var(--muted);font-size:var(--fs-md)}.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);border-radius:var(--r-sm);background:var(--green);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);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){.page-container{width:min(100% - 44px,1120px)}.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{padding:0 var(--sp-8)}.topbar-left{gap:var(--sp-5)}.system-status{display:none}.page-container{width:calc(100% - 44px);padding-top:var(--sp-10)}.chat-shell,.chat-wrap{grid-template-columns:264px minmax(0,1fr)}.auth{grid-template-columns:1fr}.auth-brand{display:none}}@media (max-width:650px){.topbar{height:56px;padding:0 var(--sp-6)}.breadcrumbs>.crumb-root,.breadcrumbs>svg{display:none}.page-container{width:calc(100% - 28px);padding:var(--sp-9) 0 36px}.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%}.chat-shell,.chat-wrap,.detail-grid,.migration-layer-grid,.migration-source-grid{grid-template-columns:1fr}.conversation-list{display:none}.chat-main{min-height:500px}.message,.msg{max-width:84%}.scan-summary{align-items:flex-start;flex-wrap:wrap}.scan-summary .button{width:100%}.notification-popover{position:fixed;top:62px;right:14px;left:14px;width:auto}.toast{right:14px;bottom:14px;left:14px}}.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.4fr) minmax(120px,1fr) minmax(150px,1.1fr);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-dates span,.tenant-user-name .dim{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-user-actions{display:flex;gap:var(--sp-3);flex-shrink:0}.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}.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;background:var(--surface-soft)}.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-size:var(--fs-lg);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);font-weight:600}.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);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);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);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;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:1fr}.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)}