:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-500:#2383f4;--color-primary-600:#1769e0;--color-primary-700:#1257bd;--color-primary-800:#104899;--color-sidebar-start:#082d52;--color-sidebar-end:#031f3c;--color-sidebar-text:#f4f8ff;--color-sidebar-muted:#9eb5cc;--color-success:#18ad62;--color-success-bg:#edf9f2;--color-success-border:#c6eed8;--color-success-text:#11834a;--color-warning:#f58220;--color-warning-bg:#fff7ed;--color-warning-border:#fed7aa;--color-warning-text:#c65d0a;--color-danger:#ef3f4f;--color-danger-bg:#fff1f2;--color-danger-border:#fecdd3;--color-danger-text:#c82032;--color-purple:#7048e8;--color-purple-bg:#f4f0ff;--color-purple-border:#ddd2ff;--color-purple-text:#5b35c7;--color-text-strong:#0d1b36;--color-text:#20314d;--color-text-muted:#66758f;--color-text-subtle:#8b98ac;--color-bg-page:#f6f8fb;--color-surface:#fff;--color-surface-muted:#f9fbfd;--color-border:#e1e7ef;--color-border-strong:#ced7e3;--color-overlay:#07152a7a;--font-sans:Inter, "PingFang SC", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;--font-size-12:.75rem;--font-size-13:.8125rem;--font-size-14:.875rem;--font-size-16:1rem;--font-size-18:1.125rem;--font-size-20:1.25rem;--font-size-24:1.5rem;--font-size-28:1.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.625rem;--radius-xl:.875rem;--radius-pill:999px;--shadow-card:0 1px 2px #0d1b3608, 0 6px 18px #0d1b360a;--shadow-elevated:0 12px 32px #0d1b361f;--shadow-focus:0 0 0 3px #1769e02e;--control-height-sm:2rem;--control-height-md:2.5rem;--control-height-lg:3rem;--table-header-height:3rem;--table-row-height:3.75rem;--sidebar-width:14.5rem;--sidebar-width-collapsed:4.5rem;--topbar-height:4rem;--page-max-width:105rem;--page-padding-x:1.5rem;--page-padding-y:1.5rem;--breakpoint-narrow:48rem;--breakpoint-tablet:64rem;--breakpoint-compact:80rem;--breakpoint-wide:90rem;--motion-fast:.12s;--motion-base:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (width<=79.999rem){:root{--page-padding-x:1rem}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s}}*{box-sizing:border-box}.ui-button{border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:var(--font-size-14);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-4);transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;display:inline-flex}.ui-button.is-primary{background:var(--color-primary-600);color:#fff}.ui-button.is-primary:hover:not(:disabled){background:var(--color-primary-700)}.ui-button.is-secondary{border-color:var(--color-border-strong);color:var(--color-text);background:#fff}.ui-button.is-secondary:hover:not(:disabled){border-color:var(--color-primary-500);color:var(--color-primary-700)}.ui-button.is-danger{background:var(--color-danger);color:#fff}.ui-button.is-ghost{color:var(--color-text-muted);background:0 0}.ui-button.is-small{min-height:var(--control-height-sm);padding:0 var(--space-3)}.ui-button.is-large{min-height:var(--control-height-lg);padding:0 var(--space-6)}.ui-button:disabled{cursor:not-allowed;opacity:.52}.ui-button:focus-visible,.ui-input:focus-visible,.ui-search:focus-within,.ui-choice input:focus-visible+.ui-choice-box{box-shadow:var(--shadow-focus);outline:none}.ui-control-wrap{gap:var(--space-1-5);flex-direction:column;width:100%;display:flex}.ui-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-14);min-height:var(--control-height-md);padding:0 var(--space-3);background:#fff;width:100%}.ui-input::placeholder{color:var(--color-text-subtle)}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-field-error{color:var(--color-danger-text);font-size:var(--font-size-12)}.ui-select{appearance:auto}.ui-choice{color:var(--color-text);cursor:pointer;font-size:var(--font-size-14);align-items:center;gap:var(--space-2);display:inline-flex}.ui-choice input{opacity:0;width:1px;height:1px;position:absolute}.ui-choice-box{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;width:1rem;height:1rem}.ui-choice-box.is-radio{border-radius:50%}.ui-choice input:checked+.ui-choice-box{background:var(--color-primary-600);outline:1px solid var(--color-primary-600);border:3px solid #fff}.ui-choice input:disabled~*{cursor:not-allowed;opacity:.5}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.ui-card-header{border-bottom:1px solid var(--color-border);min-height:3.25rem;padding:0 var(--space-5);justify-content:space-between;align-items:center;display:flex}.ui-card-title{color:var(--color-text-strong);font-size:var(--font-size-16);font-weight:var(--font-weight-semibold)}.ui-card-body{padding:var(--space-5)}.ui-statistic .ui-card-body{justify-content:space-between;align-items:center;display:flex}.ui-statistic-content{gap:var(--space-2);display:grid}.ui-statistic-label,.ui-statistic-hint{color:var(--color-text-muted);font-size:var(--font-size-13)}.ui-statistic strong{color:var(--color-text-strong);font-size:var(--font-size-28)}.ui-statistic-icon{background:var(--color-primary-50);border-radius:var(--radius-lg);color:var(--color-primary-600);justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.ui-statistic.is-green .ui-statistic-icon{background:var(--color-success-bg);color:var(--color-success)}.ui-statistic.is-orange .ui-statistic-icon{background:var(--color-warning-bg);color:var(--color-warning)}.ui-statistic.is-purple .ui-statistic-icon{background:var(--color-purple-bg);color:var(--color-purple)}.ui-status{border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-size-12);font-weight:var(--font-weight-medium);padding:0 var(--space-2-5);white-space:nowrap;line-height:1.5rem;display:inline-flex}.ui-status.is-blue{background:var(--color-primary-50);border-color:var(--color-primary-100);color:var(--color-primary-700)}.ui-status.is-green{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.ui-status.is-orange{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.ui-status.is-red{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.ui-status.is-purple{background:var(--color-purple-bg);border-color:var(--color-purple-border);color:var(--color-purple-text)}.ui-status.is-gray{background:var(--color-surface-muted);color:var(--color-text-muted)}.ui-table-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;overflow:auto}.ui-table{border-collapse:separate;border-spacing:0;width:100%;min-width:58rem}.ui-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);height:var(--table-header-height);letter-spacing:.02em;padding:0 var(--space-4);text-align:left;text-transform:uppercase;z-index:1;position:sticky;top:0}.ui-table td{border-top:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-13);height:var(--table-row-height);padding:var(--space-2) var(--space-4)}.ui-table tbody tr:hover{background:#fbfdff}.ui-table .is-right,.ui-amount{font-variant-numeric:tabular-nums;text-align:right}.ui-table .is-center{text-align:center}.ui-table-check{width:2.75rem}.ui-search{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-subtle);align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-3);background:#fff;width:min(22rem,100%);display:flex}.ui-search input{color:var(--color-text);font:inherit;border:0;outline:none;width:100%;min-width:0}.ui-filter-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.ui-filter-bar>*{flex:0 auto}.ui-pagination{color:var(--color-text-muted);font-size:var(--font-size-13);padding-top:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ui-pagination>div{gap:var(--space-1);display:flex}.ui-breadcrumb ol{align-items:center;margin:0;padding:0;list-style:none;display:flex}.ui-breadcrumb li{color:var(--color-text-muted);font-size:var(--font-size-13)}.ui-breadcrumb li+li:before{color:var(--color-text-subtle);content:"/";margin:0 var(--space-2)}.ui-breadcrumb a{color:inherit;text-decoration:none}.ui-overlay{background:var(--color-overlay);padding:var(--space-6);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal,.ui-drawer{border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);background:#fff;flex-direction:column;width:min(34rem,100%);max-height:calc(100vh - 3rem);display:flex}.ui-drawer{border-radius:var(--radius-xl) 0 0 var(--radius-xl);align-self:stretch;width:min(35rem,100%);max-height:none;margin-left:auto}.ui-modal.is-large{width:min(64rem,100%)}.ui-modal>header,.ui-drawer>header,.ui-modal>footer,.ui-drawer>footer{min-height:4rem;padding:0 var(--space-6);justify-content:space-between;align-items:center;display:flex}.ui-modal>header,.ui-drawer>header{border-bottom:1px solid var(--color-border)}.ui-modal>footer,.ui-drawer>footer{border-top:1px solid var(--color-border)}.ui-modal h2,.ui-drawer h2{color:var(--color-text-strong);font-size:var(--font-size-18);margin:0}.ui-overlay-body{padding:var(--space-6);overflow:auto}.ui-actions{gap:var(--space-3);justify-content:flex-end;width:100%;display:flex}.ui-file-upload{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-primary-700);cursor:pointer;align-items:center;gap:var(--space-1);padding:var(--space-6);flex-direction:column;display:flex}.ui-file-upload small{color:var(--color-text-muted)}.ui-file-upload input{opacity:0;width:1px;height:1px;position:absolute}.ui-state{color:var(--color-text-muted);align-items:center;gap:var(--space-3);min-height:16rem;padding:var(--space-8);text-align:center;flex-direction:column;justify-content:center;display:flex}.ui-state.is-compact{min-height:8rem;padding:var(--space-4)}.ui-state strong{color:var(--color-text-strong)}.ui-state p{max-width:30rem;margin:0}.ui-state-icon{background:var(--color-primary-50);color:var(--color-primary-600);font-size:var(--font-size-24);border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.ui-state.is-error .ui-state-icon{background:var(--color-danger-bg);color:var(--color-danger)}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite ui-spin;display:inline-block}.ui-spinner.is-large{color:var(--color-primary-600);width:2rem;height:2rem}.ui-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes ui-spin{to{transform:rotate(360deg)}}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg-page);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-14);min-width:68rem}button,input,select{font-family:inherit}button{color:inherit}a{color:var(--color-primary-700)}.app-shell{--active-sidebar-width:var(--sidebar-width);background:var(--color-bg-page);grid-template-columns:var(--active-sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns var(--motion-base) var(--ease-standard);display:grid}.app-shell.is-collapsed{--active-sidebar-width:var(--sidebar-width-collapsed)}.app-sidebar{background:linear-gradient(180deg, var(--color-sidebar-start), var(--color-sidebar-end));color:var(--color-sidebar-text);z-index:20;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;left:0;overflow:hidden}.app-brand{align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-5);border-bottom:1px solid #ffffff14;display:flex}.app-brand-mark,.login-brand>span,.login-mobile-mark{border-radius:var(--radius-md);color:#fff;font-size:1.25rem;font-weight:var(--font-weight-bold);background:linear-gradient(135deg,#58a9ff,#1769e0);flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex;box-shadow:0 7px 18px #0003}.app-brand-text{min-width:9rem;line-height:1.15;display:grid}.app-brand-text strong{font-size:var(--font-size-18);letter-spacing:.08em}.app-brand-text span{color:var(--color-sidebar-muted);font-size:var(--font-size-12);margin-top:.22rem}.app-navigation{gap:var(--space-1);padding:var(--space-4) var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.app-nav-caption{color:#7291ae;font-size:.6875rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;margin:var(--space-3) var(--space-3) var(--space-1);text-transform:uppercase}.app-nav-item{border-radius:var(--radius-md);color:var(--color-sidebar-muted);cursor:pointer;font-size:var(--font-size-14);align-items:center;gap:var(--space-3);min-height:2.75rem;padding:0 var(--space-3);background:0 0;border:0;flex:none;width:100%;text-decoration:none;display:flex}.app-nav-item:hover{color:#fff;background:#ffffff0f}.app-nav-item.is-active{box-shadow:inset 3px 0 var(--color-primary-500);color:#fff;background:linear-gradient(90deg,#2383f447,#2383f41c)}.app-nav-item>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-settings-trigger{font:inherit}.app-nav-chevron{margin-left:auto}.app-subnav{gap:var(--space-1);margin:0 0 var(--space-2) 2rem;padding-left:var(--space-3);border-left:1px solid #ffffff1f;display:grid}.app-subnav a{border-radius:var(--radius-sm);color:var(--color-sidebar-muted);font-size:var(--font-size-13);padding:var(--space-2);text-decoration:none}.app-subnav a.active{color:#fff;background:#ffffff12}.app-collapse{color:var(--color-sidebar-muted);cursor:pointer;align-items:center;gap:var(--space-3);min-height:3.25rem;padding:0 var(--space-6);background:#ffffff08;border:0;border-top:1px solid #ffffff14;display:flex}.app-shell.is-collapsed .app-brand{padding:0 1.12rem}.app-shell.is-collapsed .app-brand-text,.app-shell.is-collapsed .app-nav-caption,.app-shell.is-collapsed .app-nav-item>span,.app-shell.is-collapsed .app-nav-chevron,.app-shell.is-collapsed .app-collapse span{display:none}.app-shell.is-collapsed .app-nav-item,.app-shell.is-collapsed .app-collapse{justify-content:center;padding:0}.app-shell.is-collapsed .app-collapse svg{transform:rotate(180deg)}.app-workspace{min-width:0}.app-topbar{border-bottom:1px solid var(--color-border);height:var(--topbar-height);padding:0 var(--page-padding-x);z-index:15;background:#fff;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-mobile-menu{display:none}.app-global-search{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;align-items:center;gap:var(--space-2);height:2.4rem;padding:0 var(--space-3);width:22rem;display:flex}.app-global-search span{text-align:left;flex:1}.app-global-search kbd{border:1px solid var(--color-border);color:var(--color-text-subtle);background:#fff;border-radius:.25rem;padding:.1rem .35rem;font-size:.6875rem}.app-top-actions{align-items:center;gap:var(--space-2);display:flex}.app-icon-button,.app-language,.app-user-trigger{cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.app-icon-button{border-radius:50%;justify-content:center;width:2.5rem;height:2.5rem;position:relative}.app-icon-button:hover,.app-language:hover{background:var(--color-surface-muted)}.app-notification-dot{background:var(--color-danger);border:2px solid #fff;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.35rem;right:.45rem}.app-language{border-radius:var(--radius-md);gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3)}.app-user{border-left:1px solid var(--color-border);margin-left:var(--space-2);padding-left:var(--space-4);position:relative}.app-user-trigger{gap:var(--space-2);padding:0}.app-user-trigger>span:nth-child(2){text-align:left;min-width:6rem;line-height:1.2;display:grid}.app-user-trigger strong{color:var(--color-text-strong);font-size:var(--font-size-13)}.app-user-trigger small{color:var(--color-text-muted);margin-top:.2rem;font-size:.6875rem}.app-avatar{background:linear-gradient(135deg, var(--color-primary-100), #e8ddff);color:var(--color-primary-700);font-weight:var(--font-weight-semibold);border:1px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex;overflow:hidden}.app-avatar img{object-fit:cover;width:100%;height:100%}.app-user-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);min-width:9.5rem;padding:var(--space-2);background:#fff;display:grid;position:absolute;top:calc(100% + .75rem);right:0}.app-user-menu button{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;padding:.65rem .75rem}.app-user-menu button:hover{background:var(--color-surface-muted)}.app-content{padding:var(--page-padding-y) var(--page-padding-x) 3rem}.app-content-inner{max-width:var(--page-max-width);margin:0 auto}.app-content .ui-breadcrumb{margin-bottom:var(--space-4)}.page-stack{gap:var(--space-5);display:grid}.page-header{justify-content:space-between;align-items:center;min-height:3.5rem;display:flex}.page-header h1{color:var(--color-text-strong);font-size:var(--font-size-24);margin:0 0 var(--space-1)}.page-header p{color:var(--color-text-muted);margin:0}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.content-spacer{height:var(--space-4)}.filter-group{gap:var(--space-2);display:flex}.filter-group .ui-control-wrap{min-width:8.5rem}.page-alert{border-radius:var(--radius-md);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid;display:flex}.page-alert.is-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.page-alert.is-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.table-user,.table-actions,.tag-list{align-items:center;gap:var(--space-2);display:flex}.table-user>div,.table-two-lines{line-height:1.3;display:grid}.table-user span,.table-two-lines small{color:var(--color-text-muted);font-size:var(--font-size-12);margin-top:.2rem}.table-actions{justify-content:flex-end}.tag-list{flex-wrap:wrap}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.form-field>span,.form-field legend{color:var(--color-text);font-size:var(--font-size-13);font-weight:var(--font-weight-medium)}.form-field-wide{grid-column:1/-1}.form-field-span-2{grid-column:span 2}.choice-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.role-workbench{align-items:start;gap:var(--space-4);grid-template-columns:17rem minmax(0,1fr);display:grid}.role-list-card{top:calc(var(--topbar-height) + var(--space-5));position:sticky}.role-list-card .ui-card-body{padding:var(--space-3)}.role-list{gap:var(--space-1);margin-top:var(--space-3);display:grid}.role-list>button{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-2);min-height:3.75rem;padding:var(--space-2);text-align:left;background:0 0;border:0;grid-template-columns:2.1rem 1fr auto;display:grid}.role-list>button:hover,.role-list>button.is-active{background:var(--color-primary-50)}.role-list>button.is-active{box-shadow:inset 3px 0 var(--color-primary-600)}.role-icon{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary-600);background:#fff;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.role-list button>span:nth-child(2){display:grid}.role-list small{color:var(--color-text-muted);margin-top:.2rem;font-size:.6875rem}.role-count{color:var(--color-text-muted);font-size:var(--font-size-12);align-items:center;gap:.2rem;display:flex}.role-editor-card .ui-card-body{padding:0}.role-editor-header{border-bottom:1px solid var(--color-border);padding:var(--space-5) var(--space-6);justify-content:space-between;align-items:center;display:flex}.role-editor-header h2{color:var(--color-text-strong);margin:0}.role-editor-header p{color:var(--color-text-muted);margin:var(--space-2) 0 0}.role-heading-line{align-items:center;gap:var(--space-3);display:flex}.permission-section{border-bottom:1px solid var(--color-border);padding:var(--space-6)}.permission-title{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.permission-title h3{color:var(--color-text-strong);font-size:var(--font-size-16);margin:0}.permission-title p{color:var(--color-text-muted);font-size:var(--font-size-13);margin:.3rem 0 0}.data-scope-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.data-scope-grid>label{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.data-scope-grid>label.is-selected{background:var(--color-primary-50);border-color:var(--color-primary-500)}.data-scope-grid .ui-choice{align-items:flex-start}.data-scope-grid .ui-choice>span:last-child{display:grid}.data-scope-grid small{color:var(--color-text-muted);margin-top:.2rem;font-size:.6875rem}.permission-groups{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.permission-group{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.permission-group>header{background:var(--color-surface-muted);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;display:flex}.permission-group>header span{color:var(--color-text-muted);font-size:var(--font-size-12)}.permission-group>div{gap:var(--space-3);padding:var(--space-4);display:grid}.permission-group .ui-choice{align-items:flex-start}.permission-group .ui-choice>span:last-child{display:grid}.permission-group small{color:var(--color-text-muted);margin-top:.15rem;font-size:.6875rem}.field-permission-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.field-permission-row{border-top:1px solid var(--color-border);min-height:3.25rem;padding:0 var(--space-4);grid-template-columns:minmax(13rem,1fr) repeat(4,5.5rem);align-items:center;display:grid}.field-permission-row:first-child{border-top:0}.field-permission-row.is-header{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-12)}.field-permission-row>span:not(:first-child),.field-permission-row>label{justify-self:center}.field-permission-row>span:first-child{display:grid}.field-permission-row small{color:var(--color-text-muted);margin-top:.1rem;font-size:.6875rem}.audit-detail dl{gap:0;margin:0;display:grid}.audit-detail dl div{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0;grid-template-columns:7rem 1fr;display:grid}.audit-detail dt{color:var(--color-text-muted)}.audit-detail dd{word-break:break-word;margin:0}.audit-detail h3{font-size:var(--font-size-14);margin:var(--space-5) 0 var(--space-2)}.audit-detail pre{border-radius:var(--radius-md);color:#cbe1f8;font-size:var(--font-size-12);max-height:15rem;padding:var(--space-4);white-space:pre-wrap;background:#0c1a2d;margin:0;overflow:auto}.customer-filter-group{flex:42rem;grid-template-columns:repeat(4,minmax(8rem,1fr));display:grid}.customer-filter-group .ui-control-wrap{min-width:0}.customer-list-card .ui-table{min-width:100rem}.customer-readonly-note{background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-md);color:var(--color-primary-700);font-size:var(--font-size-12);margin:var(--space-4) 0;padding:var(--space-2) var(--space-3);align-items:center;display:flex}.customer-batch-bar{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);min-height:3.25rem;padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;display:flex}.customer-company-link{color:inherit;cursor:pointer;align-items:center;gap:var(--space-3);text-align:left;background:0 0;border:0;padding:0;display:flex}.customer-company-link:hover strong{color:var(--color-primary-700)}.customer-company-link>span:last-child{line-height:1.3;display:grid}.customer-company-link small{color:var(--color-text-muted);font-size:var(--font-size-12);margin-top:.2rem}.customer-company-link .customer-birthday-reminder{color:var(--color-warning-text);font-weight:var(--font-weight-semibold)}.customer-logo,.customer-hero-logo{background:linear-gradient(145deg, var(--color-primary-50), white);border:1px solid var(--color-primary-100);border-radius:var(--radius-md);color:var(--color-primary-700);font-weight:var(--font-weight-bold);flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex;overflow:hidden}.customer-logo img,.customer-hero-logo img{object-fit:contain;width:100%;height:100%}.customer-owner{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.customer-owner .app-avatar{width:1.75rem;height:1.75rem}.customer-page-actions,.customer-csv-actions{flex-wrap:wrap;justify-content:flex-end}.csv-steps{gap:var(--space-2);margin:0 0 var(--space-6);grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;display:grid}.csv-steps li{color:var(--color-text-subtle);text-align:center;place-items:center;gap:.25rem;min-width:0;font-size:.6875rem;display:grid}.csv-steps li span{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.csv-steps li.is-current{color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.csv-steps li.is-current span{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.csv-steps li.is-complete span{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.csv-step-panel{gap:var(--space-4);min-width:0;display:grid}.csv-step-panel h3{color:var(--color-text-strong);font-size:var(--font-size-16);margin:0}.csv-step-panel>p{color:var(--color-text-muted);margin:0;line-height:1.6}.csv-file-summary{background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-md);padding:var(--space-3);justify-content:space-between;align-items:center;display:flex}.csv-file-summary span{color:var(--color-text-muted);font-size:var(--font-size-12)}.csv-mapping-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.csv-mapping-row{border-top:1px solid var(--color-border);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);grid-template-columns:minmax(8rem,1fr) minmax(11rem,1.2fr);display:grid}.csv-mapping-row:first-child{border-top:0}.csv-mapping-row>span{font-size:var(--font-size-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.csv-preview-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;overflow:auto}.csv-preview-table{border-collapse:collapse;font-size:var(--font-size-12);width:100%;min-width:52rem}.csv-preview-table th,.csv-preview-table td{border-bottom:1px solid var(--color-border);max-width:14rem;padding:var(--space-2) var(--space-3);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.csv-preview-table th{background:var(--color-surface-muted);color:var(--color-text-muted);position:sticky;top:0}.csv-result-cards{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.csv-result-cards>span{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-12);padding:var(--space-3);gap:.25rem;display:grid}.csv-result-cards strong{color:var(--color-text-strong);font-size:var(--font-size-20)}.csv-issue-list{gap:var(--space-2);max-height:23rem;display:grid;overflow:auto}.csv-issue-list article{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.csv-issue-list article>strong{color:var(--color-text-strong)}.csv-issue-list p{font-size:var(--font-size-12);margin:var(--space-2) 0 0;line-height:1.5}.csv-issue-list p.is-error{color:var(--color-danger-text)}.csv-issue-list p.is-warning{color:var(--color-warning-text)}.csv-issue-list .ui-control-wrap{margin-top:var(--space-3)}.csv-confirm-summary{background:var(--color-surface-muted);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-4);display:grid}.csv-final-result{padding-top:var(--space-4);justify-items:start}.csv-security-note{background:var(--color-primary-50);border-radius:var(--radius-md);color:var(--color-primary-700);padding:var(--space-3);line-height:1.6}.csv-history-list{gap:var(--space-3);display:grid}.csv-history-list article{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-3);display:grid}.csv-history-list article>div{align-items:center;gap:var(--space-2);justify-content:space-between;display:flex}.csv-history-list p{color:var(--color-text-muted);margin:0;line-height:1.5}.csv-history-list small{color:var(--color-text-subtle)}.csv-drawer-footer{justify-content:flex-end;width:100%}.csv-drawer-footer>:first-child{margin-right:auto}.customer-form{gap:var(--space-5);display:grid}.customer-form-grid,.product-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-list-card .ui-table{min-width:76rem}.product-filter-group .ui-input{min-width:9rem}.product-page .amount-cell{color:var(--color-text-strong);font-variant-numeric:tabular-nums;white-space:nowrap}.product-page .ui-table td.is-right{font-variant-numeric:tabular-nums}.customer-textarea{min-height:6.5rem;padding-block:var(--space-3);resize:vertical}.customer-hero-card .ui-card-body{padding:var(--space-6)}.customer-hero{align-items:flex-start;gap:var(--space-5);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.customer-hero-logo{border-radius:var(--radius-lg);font-size:var(--font-size-24);width:4.5rem;height:4.5rem}.customer-hero-main{gap:var(--space-4);min-width:0;display:grid}.customer-hero-title{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.customer-hero-title h1{color:var(--color-text-strong);font-size:var(--font-size-24);margin:0}.customer-hero-title p{color:var(--color-text-muted);font-size:var(--font-size-12);margin:.35rem 0 0}.customer-hero-meta{color:var(--color-text-muted);font-size:var(--font-size-13);align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.customer-hero-meta>span{align-items:center;gap:var(--space-2);display:flex}.customer-hero-meta .app-avatar{width:1.75rem;height:1.75rem}.customer-hero-actions{gap:var(--space-2);flex-direction:column;min-width:12.5rem;display:flex}.customer-detail-grid{align-items:stretch;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.customer-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.customer-info-grid>div{border-bottom:1px solid var(--color-border);min-height:4.1rem;padding:var(--space-3);gap:.25rem;display:grid}.customer-info-grid dt{color:var(--color-text-muted);font-size:var(--font-size-12)}.customer-info-grid dd{color:var(--color-text-strong);overflow-wrap:anywhere;margin:0;line-height:1.45}.customer-stat-grid .ui-card-body{min-height:7rem}.customer-placeholder{color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:9rem;display:flex}.customer-placeholder.is-compact{min-height:7rem}.customer-placeholder strong{color:var(--color-text-strong);margin-top:var(--space-2)}.customer-placeholder p{margin:var(--space-2) 0 0;max-width:36rem;line-height:1.6}.followup-filters{border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2);margin:calc(var(--space-2) * -1) 0 var(--space-5);padding:0 0 var(--space-4);grid-template-columns:repeat(5,minmax(8rem,1fr));display:grid}.followup-loading{color:var(--color-text-muted);padding:var(--space-8);text-align:center}.followup-timeline{margin:0;padding:0 0 0 1.1rem;list-style:none}.followup-timeline>li{border-left:2px solid var(--color-border);padding:0 0 var(--space-5) var(--space-6);position:relative}.followup-timeline>li:last-child{border-left-color:#0000;padding-bottom:0}.followup-dot{background:var(--color-primary-600);border:3px solid var(--color-primary-100);border-radius:999px;width:.85rem;height:.85rem;position:absolute;top:.3rem;left:-.47rem}.followup-entry{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.followup-entry>header{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.followup-entry>header>div{gap:.25rem;display:grid}.followup-entry>header span{color:var(--color-text-muted);font-size:var(--font-size-12)}.followup-content{color:var(--color-text-strong);margin:var(--space-4) 0;white-space:pre-wrap;line-height:1.65}.followup-details{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.followup-details>div{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-3) var(--space-3) 0;gap:.2rem;display:grid}.followup-details dt{color:var(--color-text-muted);font-size:var(--font-size-12)}.followup-details dd{overflow-wrap:anywhere;margin:0;line-height:1.5}.followup-actions{border-top:1px dashed var(--color-border);gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.customer-battle-placeholder{min-height:28rem;padding:var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.customer-battle-placeholder>span:first-child{background:var(--color-purple-bg);color:var(--color-purple);height:4.5rem;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;width:4.5rem;display:flex}.customer-battle-placeholder h2{color:var(--color-text-strong);margin:var(--space-4) 0 var(--space-2)}.customer-battle-placeholder p{color:var(--color-text-muted);margin:0 0 var(--space-6);max-width:40rem;line-height:1.7}.battle-preset-grid{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.battle-preset-grid button{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-text);cursor:pointer;font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);min-height:3.25rem;padding:0 var(--space-4);background:#fff;display:flex}.battle-preset-grid button:hover,.battle-preset-grid button.is-active{background:var(--color-primary-50);border-color:var(--color-primary-500);color:var(--color-primary-700)}.battle-filter-group{gap:var(--space-2);flex:52rem;grid-template-columns:repeat(4,minmax(8.5rem,1fr));display:grid}.battle-filter-group .ui-control-wrap{min-width:0}.battle-list-card .ui-table{min-width:88rem}.battle-card-list-icon{background:var(--color-purple-bg);border-radius:var(--radius-md);color:var(--color-purple);flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.battle-detail-header{align-items:flex-end;gap:var(--space-5)}.battle-detail-header>div:first-child{gap:var(--space-1);display:grid}.battle-detail-header .ui-button.is-ghost{margin-left:calc(var(--space-3) * -1);justify-self:start}.battle-detail-header h1{margin-top:var(--space-2)}.battle-detail-header .ui-actions{flex-wrap:wrap;justify-content:flex-end}.battle-workbench{align-items:start;gap:var(--space-4);grid-template-columns:16.5rem minmax(0,1fr) 18.5rem;display:grid}.battle-left-column,.battle-main-column,.battle-right-column{gap:var(--space-4);min-width:0;display:grid}.battle-left-column,.battle-right-column{top:calc(var(--topbar-height) + var(--space-5));position:sticky}.battle-customer-heading{align-items:center;gap:var(--space-3);display:flex}.battle-customer-heading>div{gap:.25rem;min-width:0;display:grid}.battle-customer-heading strong{color:var(--color-text-strong);overflow-wrap:anywhere}.battle-customer-heading small{color:var(--color-text-muted);font-size:var(--font-size-12)}.battle-tag-line{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.battle-summary-list{margin:var(--space-4) 0 0;display:grid}.battle-summary-list>div{border-top:1px solid var(--color-border);gap:var(--space-2);padding:var(--space-3) 0;grid-template-columns:5.2rem minmax(0,1fr);display:grid}.battle-summary-list dt{color:var(--color-text-muted);font-size:var(--font-size-12)}.battle-summary-list dd{color:var(--color-text-strong);overflow-wrap:anywhere;text-align:right;margin:0}.battle-placeholder-stats,.battle-command-metrics{background:var(--color-surface-muted);border-radius:var(--radius-md);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.battle-placeholder-stats>div,.battle-command-metrics>div{padding:var(--space-3);background:#fff;gap:.25rem;display:grid}.battle-placeholder-stats span,.battle-command-metrics span{color:var(--color-text-muted);font-size:var(--font-size-12)}.battle-placeholder-stats strong,.battle-command-metrics strong{color:var(--color-text-strong)}.battle-command-card{overflow:hidden}.battle-command-card .ui-card-body{padding:var(--space-6);background:linear-gradient(135deg,#f6faff 0%,#fff 65%,#faf7ff 100%)}.battle-command-heading{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.battle-command-heading h2{color:var(--color-text-strong);font-size:var(--font-size-20);margin:var(--space-2) 0 0}.battle-command-tags{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.battle-command-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-rule-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.battle-rule-grid .ui-card-title,.battle-right-column .ui-card-title{align-items:center;gap:var(--space-2);display:flex}.battle-rule-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.battle-rule-list li{background:var(--color-surface-muted);border-radius:var(--radius-sm);align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);line-height:1.55;display:flex}.battle-rule-list li svg{color:var(--color-success);flex:none;margin-top:.2rem}.battle-rule-list.is-risk li{background:var(--color-warning-bg)}.battle-rule-list.is-risk li svg{color:var(--color-warning)}.battle-contact-window{gap:var(--space-2);display:grid}.battle-contact-window strong{color:var(--color-primary-700);font-size:var(--font-size-18)}.battle-contact-window p,.battle-insight-block p{color:var(--color-text-muted);white-space:pre-wrap;margin:0;line-height:1.65}.battle-insight-form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.battle-form-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.battle-insight-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.battle-insight-block{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:7rem;padding:var(--space-4)}.battle-insight-block.is-risk{border-color:var(--color-warning-border)}.battle-insight-block h3{color:var(--color-text-strong);font-size:var(--font-size-14);margin:0 0 var(--space-3)}.battle-email-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.battle-email-toolbar .ui-control-wrap{min-width:15rem}.battle-email-editor{min-height:15rem}.battle-inline-hint{color:var(--color-text-muted);font-size:var(--font-size-12);margin:var(--space-2) 0 0}.battle-next-form{gap:var(--space-3);display:grid}.battle-full-button{margin-top:var(--space-4);width:100%}.battle-timeline{margin:0;padding:0 0 0 .7rem;list-style:none}.battle-timeline>li{border-left:2px solid var(--color-border);padding:0 0 var(--space-4) var(--space-4);position:relative}.battle-timeline>li:last-child{border-left-color:#0000;padding-bottom:0}.battle-timeline>li>span{background:var(--color-primary-600);border:2px solid var(--color-primary-100);border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:.2rem;left:-.38rem}.battle-timeline article{gap:var(--space-2);display:grid}.battle-timeline header{align-items:flex-start;gap:var(--space-2);justify-content:space-between;display:flex}.battle-timeline header strong{font-size:var(--font-size-13)}.battle-timeline time{color:var(--color-text-muted);font-size:var(--font-size-12)}.battle-timeline p{overflow-wrap:anywhere;margin:0;line-height:1.55}.battle-attachment-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.battle-attachment-list>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);padding:var(--space-2);justify-content:space-between;display:flex}.battle-attachment-list>div>span{align-items:center;gap:var(--space-2);min-width:0;display:flex}.battle-attachment-list>div>span>span{gap:.15rem;min-width:0;display:grid}.battle-attachment-list strong{font-size:var(--font-size-12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.battle-attachment-list small{color:var(--color-text-muted);font-size:.6875rem}.system-state-page{min-height:calc(100vh - 10rem);padding:var(--space-6);justify-content:center;align-items:center;display:flex}.system-state-page .ui-card{width:100%;max-width:34rem}.system-state-content,.developing-state{padding:var(--space-10);text-align:center;flex-direction:column;align-items:center;display:flex}.system-state-icon,.developing-state>span{background:var(--color-danger-bg);color:var(--color-danger);border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.system-state-code{color:var(--color-primary-600);font-size:var(--font-size-13);font-weight:var(--font-weight-bold);letter-spacing:.12em;margin-top:var(--space-4)}.system-state-content h1,.developing-state h2{color:var(--color-text-strong);margin:var(--space-2) 0}.system-state-content p,.developing-state p{color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-6);max-width:28rem;line-height:1.7}.developing-state>span{background:var(--color-purple-bg);color:var(--color-purple)}.app-search-results{gap:var(--space-1);margin-top:var(--space-4);display:grid}.app-search-results button{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-3);padding:var(--space-3);text-align:left;background:#fff;border:0;display:flex}.app-search-results button:hover{background:var(--color-primary-50);color:var(--color-primary-700)}.app-notice-list{gap:var(--space-2);display:grid}.app-notice-list article{border-bottom:1px solid var(--color-border);gap:var(--space-3);padding:var(--space-4) 0;display:flex}.app-notice-list article>span{background:var(--color-primary-50);border-radius:var(--radius-md);color:var(--color-primary-600);justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.app-notice-list article>span.is-orange{background:var(--color-warning-bg);color:var(--color-warning)}.app-notice-list article div{gap:.3rem;display:grid}.app-notice-list p{color:var(--color-text-muted);margin:0}.app-notice-list small{color:var(--color-text-subtle)}.login-page{background:#fff;grid-template-columns:minmax(30rem,46%) 1fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:linear-gradient(145deg,#062c51 0%,#031d38 62%,#0c3a64 100%);flex-direction:column;padding:3rem 4rem;display:flex;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";border:1px solid #66b1ff26;border-radius:50%;width:32rem;height:32rem;position:absolute;top:18%;right:-12rem}.login-visual:after{background:radial-gradient(circle,#2383f41f,#0000 66%);width:23rem;height:23rem;top:31%;right:-3rem}.login-brand{align-items:center;gap:var(--space-3);z-index:1;display:flex;position:relative}.login-brand>div{display:grid}.login-brand strong{font-size:var(--font-size-20);letter-spacing:.08em}.login-brand small{color:var(--color-sidebar-muted);margin-top:.2rem}.login-message{z-index:1;max-width:34rem;margin:auto 0;position:relative}.login-kicker{border-radius:var(--radius-pill);color:#a9d3ff;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#2383f424;border:1px solid #62adff38;display:inline-flex}.login-message h1{letter-spacing:-.04em;margin:var(--space-6) 0 var(--space-4);font-size:2.65rem;line-height:1.2}.login-message>p{color:#a9bed3;font-size:var(--font-size-16);line-height:1.8}.login-metrics{gap:var(--space-10);margin-top:var(--space-10);display:flex}.login-metrics div{gap:.2rem;display:grid}.login-metrics strong{color:#81bdff;font-size:var(--font-size-24)}.login-metrics span{color:var(--color-sidebar-muted);font-size:var(--font-size-12)}.login-copyright{color:#66849e;z-index:1;position:relative}.login-panel{background:linear-gradient(#fff,#fbfcff);justify-content:center;align-items:center;padding:4rem;display:flex}.login-card{gap:var(--space-5);width:25rem;display:grid}.login-card header h2{color:var(--color-text-strong);margin:0 0 var(--space-2);font-size:2rem}.login-card header p{color:var(--color-text-muted);margin:0}.login-mobile-mark{display:none}.login-input-icon{align-items:center;display:flex;position:relative}.login-input-icon>svg{color:var(--color-text-subtle);pointer-events:none;z-index:1;position:absolute;left:.8rem}.login-input-icon .ui-input{padding-left:2.4rem}.login-password-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;position:absolute;right:.7rem}.login-options{justify-content:space-between;align-items:center;display:flex}.login-options>span{color:var(--color-text-muted);font-size:var(--font-size-12)}.login-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);color:var(--color-danger-text);padding:var(--space-3)}.login-card footer{color:var(--color-text-subtle);font-size:var(--font-size-12);align-items:center;gap:var(--space-2);margin-top:var(--space-2);justify-content:center;display:flex}.health-page{align-content:start;gap:var(--space-6);max-width:72rem;min-height:100vh;padding:var(--space-12) var(--space-8);margin:0 auto;display:grid}.health-header{justify-content:space-between;align-items:flex-start;display:flex}.health-header h1{color:var(--color-text-strong);margin:var(--space-2) 0;font-size:2rem}.health-header p{margin:0}.eyebrow--blue{color:var(--color-primary-600);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);letter-spacing:.12em}.muted{color:var(--color-text-muted)}.text-link{font-weight:var(--font-weight-medium);text-decoration:none}.text-link:hover{text-decoration:underline}.status-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:flex-start;gap:var(--space-4);min-height:7.5rem;padding:var(--space-5);display:flex}.status-card p{color:var(--color-text-muted);margin:var(--space-2) 0 0;line-height:1.5}.status-card .status-name{color:var(--color-text-strong);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin:0}.status-card strong{font-size:var(--font-size-18);margin-top:var(--space-2);display:block}.status-dot{background:var(--color-warning);box-shadow:0 0 0 .3rem var(--color-warning-bg);border-radius:50%;flex:none;width:.65rem;height:.65rem;margin-top:.3rem}.status-card--success .status-dot,.status-card--healthy .status-dot{background:var(--color-success);box-shadow:0 0 0 .3rem var(--color-success-bg)}.status-card--success strong,.status-card--healthy strong{color:var(--color-success-text)}.status-card--unhealthy .status-dot{background:var(--color-danger);box-shadow:0 0 0 .3rem var(--color-danger-bg)}.status-card--unhealthy strong{color:var(--color-danger-text)}.health-actions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5) var(--space-6);justify-content:space-between;align-self:start;align-items:center;display:flex}.health-actions h2{color:var(--color-text-strong);font-size:var(--font-size-18);margin:0 0 var(--space-2)}.health-actions p{margin:0}.button{border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);min-height:2.5rem;padding:0 var(--space-4);border:0;justify-content:center;align-items:center;display:inline-flex}.button--primary{background:var(--color-primary-600);color:#fff}.button--primary:hover:not(:disabled){background:var(--color-primary-700)}.button:disabled{cursor:not-allowed;opacity:.58}.quote-workspace,.quote-detail-grid{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) 21rem;display:grid}.quote-main,.quote-sidebar{gap:var(--space-5);min-width:0;display:grid}.quote-sidebar{position:sticky;top:5.5rem}.quote-info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-fee-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.quote-line-toolbar{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.quote-lines-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto}.quote-lines-table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-12);width:100%;min-width:82rem}.quote-lines-table th{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);padding:var(--space-3);text-align:left;white-space:nowrap;z-index:1;position:sticky;top:0}.quote-lines-table td{border-bottom:1px solid var(--color-border);padding:var(--space-3);vertical-align:top}.quote-lines-table tbody tr:last-child td{border-bottom:0}.quote-lines-table .ui-control-wrap{min-width:5.5rem}.quote-lines-table .ui-input{min-height:2rem;padding:.35rem .5rem}.quote-product-cell{gap:.3rem;min-width:15rem;display:grid}.quote-product-cell span,.quote-product-option small{color:var(--color-text-muted)}.quote-number-input{width:5.5rem}.quote-line-risks{gap:.3rem;max-width:14rem;display:grid}.quote-line-risks .ui-status{white-space:normal;line-height:1.35}.quote-empty-lines{color:var(--color-text-muted);padding:var(--space-8);text-align:center}.quote-summary-list{gap:0;margin:0;display:grid}.quote-summary-list>div{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0;justify-content:space-between;align-items:center;display:flex}.quote-summary-list dt{color:var(--color-text-muted)}.quote-summary-list dd{color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);text-align:right;margin:0}.quote-summary-list .is-total dt,.quote-summary-list .is-total dd{color:var(--color-primary-700);font-size:var(--font-size-16);font-weight:var(--font-weight-bold)}.quote-recalculate{margin-top:var(--space-4);width:100%}.quote-risk-panel,.quote-status-actions{gap:var(--space-3);display:grid}.quote-risk{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:.2rem;display:grid}.quote-risk strong{font-size:var(--font-size-12)}.quote-risk span{color:var(--color-text-muted);font-size:var(--font-size-12);line-height:1.45}.quote-risk.is-error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.quote-risk.is-error strong{color:var(--color-danger-text)}.quote-risk.is-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.quote-risk.is-warning strong{color:var(--color-warning-text)}.quote-risk.is-success{background:var(--color-success-bg);border-color:var(--color-success-border)}.quote-risk.is-success strong{color:var(--color-success-text)}.quote-preview-note{color:var(--color-text-muted);align-items:flex-start;gap:var(--space-3);line-height:1.6;display:flex}.quote-preview-note p{margin:0}.quote-product-picker{gap:var(--space-2);max-height:65vh;display:grid;overflow:auto}.quote-product-option{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-3);padding:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.quote-product-option:hover{background:var(--color-primary-50);border-color:var(--color-primary-100)}.quote-product-option>span:nth-child(2){gap:.2rem;display:grid}.quotation-list-card .ui-table{min-width:86rem}.quotation-history-filters{align-items:center;gap:var(--space-3);flex:58rem;grid-template-columns:minmax(13rem,1.15fr) minmax(14rem,1.35fr) 9rem 10.5rem 10.5rem;min-width:0;display:grid}.compact-date-filter{border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);white-space:nowrap;display:flex}.compact-date-filter span{color:var(--color-text-muted);font-size:var(--font-size-12)}.compact-date-filter input{color:var(--color-text);font:inherit;border:0;outline:0;width:100%;min-width:0}.quote-number-link{width:100%}.quotation-detail-page .page-header h1{margin-top:var(--space-2)}.quote-detail-table{min-width:72rem}.amount-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.customer-export-preview{gap:var(--space-5);display:grid}.customer-export-preview>header{border-bottom:2px solid var(--color-primary-600);padding-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.customer-export-preview>header>div{gap:.25rem;display:grid}.customer-export-preview>header>div:last-child{text-align:right}.customer-export-preview>header strong{color:var(--color-text-strong);font-size:var(--font-size-16)}.customer-export-preview>header span,.customer-preview-safety{color:var(--color-text-muted);font-size:var(--font-size-12)}.customer-export-meta{gap:var(--space-3) var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.customer-export-meta>div{min-width:0}.customer-export-meta .is-wide{grid-column:1/-1}.customer-export-meta dt{color:var(--color-text-muted);font-size:var(--font-size-12)}.customer-export-meta dd{color:var(--color-text-strong);overflow-wrap:anywhere;margin:.25rem 0 0}.customer-preview-table-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto}.customer-preview-table-shell table{border-collapse:collapse;width:100%;min-width:48rem}.customer-preview-table-shell th,.customer-preview-table-shell td{border-bottom:1px solid var(--color-border);padding:var(--space-3);text-align:left}.customer-preview-table-shell th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-12);white-space:nowrap}.customer-preview-table-shell th:nth-last-child(-n+2){text-align:right}.customer-preview-table-shell tbody tr:last-child td{border-bottom:0}.customer-preview-summary{gap:var(--space-2);justify-self:end;min-width:20rem;margin:0;display:grid}.customer-preview-summary>div{gap:var(--space-8);justify-content:space-between;display:flex}.customer-preview-summary dt{color:var(--color-text-muted)}.customer-preview-summary dd{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);text-align:right;margin:0}.customer-preview-summary .is-total{border-top:1px solid var(--color-border);color:var(--color-primary-700);font-size:var(--font-size-16);padding-top:var(--space-2)}.customer-preview-safety{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);color:var(--color-success-text);padding:var(--space-3);margin:0}@media (width<=80rem){body{min-width:62rem}.stat-grid,.data-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-groups{grid-template-columns:1fr}.login-visual{padding:2.5rem}.customer-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{align-items:flex-start;gap:var(--space-3)}.customer-page-actions{max-width:38rem}.customer-hero{grid-template-columns:auto minmax(0,1fr)}.customer-hero-actions{flex-flow:wrap;grid-column:1/-1}.followup-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-workbench{grid-template-columns:16rem minmax(34rem,1fr)}.battle-right-column{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));position:static}.quote-workspace,.quote-detail-grid{grid-template-columns:minmax(0,1fr)}.quote-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.quote-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-fee-grid,.quotation-history-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
