:root{--gray-25: #FCFCFD;--gray-50: #F9FAFB;--gray-100: #F2F4F7;--gray-200: #E4E7EC;--gray-300: #D0D5DD;--gray-400: #98A2B3;--gray-500: #667085;--gray-600: #475467;--gray-700: #344054;--gray-800: #1D2939;--gray-900: #101828;--navy-950: #081A33;--navy-900: #0B2447;--navy-800: #123464;--navy-700: #1B4480;--navy-600: #2C5AA0;--blue-50: #EFF4FF;--blue-100: #D6E4FF;--blue-500: #2563EB;--blue-600: #1D4ED8;--blue-700: #1E40AF;--green-50: #ECFDF3;--green-500: #16A34A;--green-600: #15803D;--amber-50: #FFFBEB;--amber-500: #D97706;--amber-600: #B45309;--red-50: #FEF2F2;--red-500: #DC2626;--red-600: #B91C1C;--color-bg-app: var(--gray-50);--color-bg-surface: #FFFFFF;--color-bg-subtle: var(--gray-100);--color-bg-hover: var(--gray-100);--color-bg-selected: var(--blue-50);--color-sidebar-bg: var(--navy-900);--color-sidebar-bg-hover: var(--navy-800);--color-sidebar-bg-active: var(--navy-700);--color-sidebar-text: #B9C6DC;--color-sidebar-text-hover: #FFFFFF;--color-sidebar-text-active: #FFFFFF;--color-sidebar-border: rgba(255, 255, 255, .08);--color-sidebar-icon-active-bg: var(--blue-500);--color-header-bg: #FFFFFF;--color-header-border: var(--gray-200);--color-text-primary: var(--gray-900);--color-text-secondary: var(--gray-600);--color-text-tertiary: var(--gray-400);--color-text-disabled: var(--gray-300);--color-text-inverse: #FFFFFF;--color-text-link: var(--blue-600);--color-border: var(--gray-200);--color-border-strong: var(--gray-300);--color-border-focus: var(--blue-500);--color-primary: var(--blue-500);--color-primary-hover: var(--blue-600);--color-primary-active: var(--blue-700);--color-primary-subtle: var(--blue-50);--color-primary-subtle-text: var(--blue-700);--color-success: var(--green-500);--color-success-hover: var(--green-600);--color-success-subtle: var(--green-50);--color-warning: var(--amber-500);--color-warning-hover: var(--amber-600);--color-warning-subtle: var(--amber-50);--color-danger: var(--red-500);--color-danger-hover: var(--red-600);--color-danger-subtle: var(--red-50);--color-info: var(--blue-500);--color-info-subtle: var(--blue-50);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-dense: 1.35;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--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-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);--shadow-modal: 0 20px 24px -4px rgba(16, 24, 40, .1), 0 8px 8px -4px rgba(16, 24, 40, .04);--shadow-focus-ring: 0 0 0 3px var(--blue-100);--header-height: 56px;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--settings-sidebar-width: 260px;--content-max-width: 1440px;--content-padding-x: 24px;--content-padding-y: 24px;--drawer-width: 400px;--drawer-width-sm: 320px;--drawer-width-lg: 560px;--table-row-height: 44px;--table-row-height-compact: 36px;--table-header-bg: var(--color-bg-subtle);--table-header-text: var(--color-text-secondary);--table-border: var(--color-border);--table-row-hover-bg: var(--color-bg-hover);--table-row-selected-bg: var(--color-bg-selected);--table-cell-padding-x: var(--space-4);--table-cell-padding-y: var(--space-2);--input-height: 36px;--input-height-sm: 32px;--input-bg: #FFFFFF;--input-bg-disabled: var(--color-bg-subtle);--input-border: var(--color-border-strong);--input-border-hover: var(--gray-400);--input-border-focus: var(--color-border-focus);--input-placeholder: var(--color-text-tertiary);--input-padding-x: var(--space-3);--button-height: 36px;--button-height-sm: 28px;--button-height-lg: 40px;--button-padding-x: var(--space-4);--button-radius: var(--radius-sm);--button-font-weight: var(--font-weight-semibold);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-primary-bg-active: var(--color-primary-active);--button-primary-text: #FFFFFF;--button-secondary-bg: #FFFFFF;--button-secondary-border: var(--color-border-strong);--button-secondary-text: var(--color-text-primary);--button-secondary-bg-hover: var(--color-bg-hover);--button-ghost-text: var(--color-primary);--button-ghost-bg-hover: var(--color-primary-subtle);--button-danger-bg: var(--color-danger);--button-danger-bg-hover: var(--color-danger-hover);--button-danger-text: #FFFFFF;--badge-radius: var(--radius-full);--badge-padding-x: var(--space-2);--badge-padding-y: 2px;--badge-font-size: var(--text-xs);--badge-font-weight: var(--font-weight-medium);--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .24s ease;--z-dropdown: 1000;--z-sticky-header: 1020;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1080;--z-tooltip: 1090}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-app);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-app);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:var(--color-text-link);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page{max-width:var(--content-max-width);margin:0 auto;padding:var(--content-padding-y) var(--content-padding-x)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.page-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:var(--content-padding-y) var(--content-padding-x);max-width:var(--content-max-width);width:100%;margin:0 auto}.app-sidebar{position:sticky;top:0;height:100vh;width:var(--sidebar-width);flex-shrink:0;background:var(--color-sidebar-bg);display:flex;flex-direction:column;transition:width var(--transition-base);overflow:hidden}.app-sidebar-collapsed{width:var(--sidebar-width-collapsed)}.app-sidebar-brand{height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-4);color:var(--color-sidebar-text-active);font-weight:var(--font-weight-bold);font-size:var(--text-md);border-bottom:1px solid var(--color-sidebar-border);white-space:nowrap}.app-sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2)}.app-sidebar-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.app-sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-sidebar-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.app-sidebar-link:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text-hover);text-decoration:none}.app-sidebar-link-active,.app-sidebar-link-active:hover{background:var(--color-sidebar-bg-active);color:var(--color-sidebar-text-active)}.app-sidebar-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:var(--text-sm)}.app-sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-sidebar-border)}.app-sidebar-collapse{border:none;background:transparent;color:var(--color-sidebar-text);padding:var(--space-2);margin:0 var(--space-2) var(--space-3);border-radius:var(--radius-sm);align-self:flex-start}.app-sidebar-collapse:hover{background:var(--color-sidebar-bg-hover);color:var(--color-sidebar-text-hover)}.app-header{position:sticky;top:0;z-index:var(--z-sticky-header);height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--content-padding-x);background:var(--color-header-bg);border-bottom:1px solid var(--color-header-border)}.app-header-search{position:relative;max-width:360px;flex:1}.app-header-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:var(--text-sm)}.app-header-search-input{width:100%;height:var(--input-height);padding:0 var(--space-3) 0 var(--space-8);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.app-header-search-input::placeholder{color:var(--input-placeholder)}.app-header-actions{display:flex;align-items:center;gap:var(--space-2)}.app-header-org{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--button-height);padding:0 var(--space-3);border:1px solid var(--button-secondary-border);border-radius:var(--radius-sm);background:var(--button-secondary-bg);color:var(--button-secondary-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.app-header-create{display:inline-flex;align-items:center;height:var(--button-height);padding:0 var(--space-4);border:none;border-radius:var(--button-radius);background:var(--button-primary-bg);color:var(--button-primary-text);font-size:var(--text-sm);font-weight:var(--button-font-weight)}.app-header-create:hover{background:var(--button-primary-bg-hover)}.app-header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--button-height);height:var(--button-height);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-md)}.app-header-icon-btn:hover{background:var(--color-bg-hover)}.app-header-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--button-height);height:var(--button-height);border-radius:var(--radius-full);border:none;background:var(--color-primary-subtle);color:var(--color-primary-subtle-text);font-weight:var(--font-weight-semibold);font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--button-radius);font-weight:var(--button-font-weight);border:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{height:var(--button-height-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.btn-md{height:var(--button-height);padding:0 var(--button-padding-x);font-size:var(--text-sm)}.btn-lg{height:var(--button-height-lg);padding:0 var(--space-6);font-size:var(--text-base)}.btn-full{width:100%}.btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.btn-primary:hover:not(:disabled){background:var(--button-primary-bg-hover)}.btn-primary:active:not(:disabled){background:var(--button-primary-bg-active)}.btn-secondary{background:var(--button-secondary-bg);border:1px solid var(--button-secondary-border);color:var(--button-secondary-text)}.btn-secondary:hover:not(:disabled){background:var(--button-secondary-bg-hover)}.btn-ghost{background:transparent;color:var(--button-ghost-text)}.btn-ghost:hover:not(:disabled){background:var(--button-ghost-bg-hover)}.btn-danger{background:var(--button-danger-bg);color:var(--button-danger-text)}.btn-danger:hover:not(:disabled){background:var(--button-danger-bg-hover)}.btn-icon{display:inline-flex;align-items:center}.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.field-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field-error{font-size:var(--text-xs);color:var(--color-danger)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap-error{border-color:var(--color-danger)}.input-wrap-error:focus-within{box-shadow:0 0 0 3px var(--color-danger-subtle)}.input{width:100%;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--input-placeholder)}.input:hover:not(:disabled){border-color:var(--input-border-hover)}.input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--shadow-focus-ring)}.input:disabled{background:var(--input-bg-disabled);cursor:not-allowed}.input-error{border-color:var(--color-danger)}.input-md{height:var(--input-height);padding:0 var(--input-padding-x)}.input-sm{height:var(--input-height-sm);padding:0 var(--space-2);font-size:var(--text-xs)}.input-has-leading .input{padding-left:var(--space-8)}.input-has-trailing .input{padding-right:var(--space-8)}.input-icon{position:absolute;color:var(--color-text-tertiary);display:inline-flex;align-items:center;pointer-events:none}.input-icon-leading{left:var(--space-3)}.input-icon-trailing{right:var(--space-3)}.select-wrap{position:relative;display:flex;align-items:center}.select{width:100%;height:100%;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--color-text-primary);font-size:var(--text-sm);padding:0 var(--space-3);appearance:none;cursor:pointer}.select:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--shadow-focus-ring)}.select-search{position:relative;display:flex;align-items:center}.select-search-trigger{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left}.select-search-placeholder{color:var(--input-placeholder)}.select-caret{color:var(--color-text-tertiary);font-size:var(--text-xs)}.select-search-panel{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:var(--z-dropdown);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.select-search-input-wrap{padding:var(--space-2);border-bottom:1px solid var(--color-border)}.select-search-list{list-style:none;max-height:200px;overflow-y:auto;padding:var(--space-1)}.select-search-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:var(--text-sm)}.select-search-item:hover:not(:disabled){background:var(--color-bg-hover)}.select-search-item-active{background:var(--color-bg-selected);color:var(--color-primary-subtle-text)}.select-search-empty{padding:var(--space-3);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--badge-radius);padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:var(--line-height-normal)}.badge-sm{font-size:.6875rem;padding:1px var(--space-2)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-neutral{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.card{background:var(--color-bg-surface);border-radius:var(--radius-md)}.card-default{box-shadow:var(--shadow-sm)}.card-bordered{border:1px solid var(--color-border)}.card-flat{box-shadow:none;background:transparent}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0}.card-title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.card-actions{display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-5)}.card-pad-sm{padding:var(--space-3)}.card-pad-md{padding:var(--space-5)}.card-pad-lg{padding:var(--space-6)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab{position:relative;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.tab:hover:not(:disabled){color:var(--color-text-primary)}.tab:disabled{cursor:not-allowed;opacity:.5}.tab-active{color:var(--color-primary)}.tab-active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.tab-badge{margin-left:var(--space-2)}.tabs-pills{border-bottom:none}.tabs-pills .tab{border-radius:var(--radius-full)}.tabs-pills .tab-active{background:var(--color-primary-subtle);color:var(--color-primary-subtle-text)}.tabs-pills .tab-active:after{display:none}.table-container{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);text-align:left;white-space:nowrap}.table thead th{position:sticky;top:0;background:var(--table-header-bg);color:var(--table-header-text);font-weight:var(--font-weight-medium);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.02em;z-index:1}.table tbody tr{border-top:1px solid var(--table-border)}.table tbody tr:hover{background:var(--table-row-hover-bg)}.table-row-clickable{cursor:pointer}.table-compact{font-size:var(--text-xs)}.table-compact th,.table-compact td{height:var(--table-row-height-compact);padding:var(--space-1) var(--space-3)}.table-th-sortable{padding:0}.table-sort-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;width:100%;text-align:left}.table-sort-btn:hover{color:var(--color-text-primary)}.table-sort-indicator{font-size:var(--text-xs)}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--table-border)}.table-pagination-info{font-size:var(--text-xs);color:var(--color-text-secondary)}.table-pagination-actions{display:flex;gap:var(--space-2)}.pagination-btn{height:var(--input-height-sm);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.modal-root{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.5)}.modal{position:relative;z-index:var(--z-modal);background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:90vh;width:100%}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);font-size:var(--text-sm)}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.drawer-root{position:fixed;inset:0;z-index:var(--z-modal)}.drawer-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.5)}.drawer{position:absolute;top:0;bottom:0;z-index:var(--z-modal);background:var(--color-bg-surface);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;transition:transform var(--transition-slow)}.drawer-right{right:0;border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.drawer-left{left:0;border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.drawer-body{flex:1;padding:var(--space-5);overflow-y:auto}.drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);min-width:200px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1)}.dropdown-menu-right{right:0}.dropdown-menu-left{left:0}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);white-space:nowrap}.dropdown-item:hover:not(:disabled){background:var(--color-bg-hover)}.dropdown-item:disabled{cursor:not-allowed;opacity:.5}.dropdown-item-danger{color:var(--color-danger)}.dropdown-item-danger:hover:not(:disabled){background:var(--color-danger-subtle)}.dropdown-item-icon{display:inline-flex;color:var(--color-text-secondary)}.dropdown-separator{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border)}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);max-width:360px;width:calc(100% - var(--space-6))}.toast-top-right{top:var(--space-3);right:var(--space-3)}.toast-top-center{top:var(--space-3);left:50%;transform:translate(-50%)}.toast-bottom-right{bottom:var(--space-3);right:var(--space-3)}.toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-inverse);flex-shrink:0}.toast-success .toast-icon{background:var(--color-success)}.toast-error .toast-icon{background:var(--color-danger)}.toast-warning .toast-icon{background:var(--color-warning)}.toast-info .toast-icon{background:var(--color-info)}.toast-content{flex:1;min-width:0}.toast-message{font-size:var(--text-sm);color:var(--color-text-primary);word-break:break-word}.toast-action{margin-top:var(--space-1);border:none;background:transparent;padding:0;color:var(--color-text-link);font-size:var(--text-xs);font-weight:var(--font-weight-semibold)}.toast-dismiss{border:none;background:transparent;color:var(--color-text-tertiary);font-size:var(--text-xs);padding:var(--space-1)}.toast-dismiss:hover{color:var(--color-text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);gap:var(--space-2)}.empty-state-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.empty-state-title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-state-description{max-width:420px;font-size:var(--text-sm);color:var(--color-text-secondary)}.empty-state-action{margin-top:var(--space-3)}.skeleton{background:var(--color-bg-subtle);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-table,.skeleton-card,.skeleton-form,.skeleton-text{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.skeleton-table-head{display:flex;gap:var(--space-4);margin-bottom:var(--space-2)}.skeleton-table-row{display:flex;gap:var(--space-4);padding:var(--space-2) 0}.skeleton-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg-app)}.auth-card{width:100%;max-width:440px;box-shadow:var(--shadow-md)}.auth-card-lg{max-width:480px}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.auth-subtitle{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-icon{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-footer{margin-top:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-link{font-weight:var(--font-weight-semibold)}.auth-alert{padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-4)}.auth-alert-error{background:var(--color-danger-subtle);color:var(--color-danger)}.auth-alert-success{background:var(--color-success-subtle);color:var(--color-success)}.settings-shell{display:flex;gap:var(--space-6)}.settings-sidebar{width:var(--settings-sidebar-width);flex-shrink:0}.settings-sidebar-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:var(--space-2) var(--space-2) var(--space-3)}.settings-nav{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.settings-nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary);text-decoration:none}.settings-nav-link-active{background:var(--color-bg-selected);color:var(--color-primary-subtle-text)}.settings-content{flex:1;min-width:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.detail-list{display:flex;flex-direction:column}.detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none}.detail-row dt{font-size:var(--text-sm);color:var(--color-text-secondary)}.detail-row dd{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.onboarding-list{list-style:none;display:flex;flex-direction:column}.onboarding-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.onboarding-item:last-child{border-bottom:none}.onboarding-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);border:2px solid var(--color-border-strong);color:transparent;font-size:var(--text-xs);flex-shrink:0;margin-top:1px}.onboarding-item-done .onboarding-check{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.onboarding-copy{flex:1;min-width:0}.onboarding-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.onboarding-description{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary)}.onboarding-link{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;padding-top:var(--space-1)}.stat-grid{display:flex;flex-direction:column;gap:var(--space-4)}.stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.stat-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.stat-value{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);text-align:center}.error-boundary-code{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);margin:0;color:var(--color-text-primary)}.error-boundary-message{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-2)}.error-boundary-action{display:inline-flex;align-items:center;justify-content:center;margin-top:var(--space-6);height:var(--button-height);padding:0 var(--button-padding-x);background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:var(--button-radius);font-size:var(--text-sm);font-weight:var(--button-font-weight)}.error-boundary-action:hover{background:var(--button-primary-bg-hover);text-decoration:none;color:var(--button-primary-text)}.module-shell{display:flex;flex-direction:column;gap:var(--space-4)}.module-subnav{border-bottom:1px solid var(--color-border)}.module-subnav-list{list-style:none;display:flex;gap:var(--space-1)}.module-subnav-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.module-subnav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary);text-decoration:none}.module-subnav-link-active{background:var(--color-bg-selected);color:var(--color-primary-subtle-text)}.page-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.filter-bar{display:flex;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.filter-bar .field{min-width:220px;flex:1}.table-link{color:var(--color-text-link);font-weight:var(--font-weight-medium)}.table-link:hover{text-decoration:underline}.table-th-right{text-align:right}.item-thumb{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--color-border)}.item-thumb-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);font-size:var(--text-md)}.item-detail-thumb{width:64px;height:64px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border)}.item-detail-title{display:flex;align-items:center;gap:var(--space-4)}.detail-description{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:pre-wrap}.stack{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-5)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}}.textarea-input{padding:var(--space-2) var(--input-padding-x);resize:vertical;min-height:72px}.link-button{border:none;background:transparent;padding:0;margin-top:var(--space-1);color:var(--color-text-link);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer}.link-button:hover{text-decoration:underline}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;padding:var(--space-1) 0}.variants-block{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.variants-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.form-section-title{font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.variants-list{display:flex;flex-direction:column;gap:var(--space-4)}.variant-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr auto;gap:var(--space-3);align-items:end;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}@media (max-width: 900px){.variant-row{grid-template-columns:1fr 1fr}}.combobox{position:relative}.combobox-error .combobox-input{border-color:var(--color-danger)}.combobox-clear{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--color-text-tertiary);font-size:var(--text-md);padding:var(--space-1);cursor:pointer}.combobox-clear:hover{color:var(--color-text-primary)}.combobox-panel{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:var(--z-dropdown);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.combobox-status{padding:var(--space-3);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.combobox-status-error{color:var(--color-danger)}.combobox-list{list-style:none;max-height:240px;overflow-y:auto;padding:var(--space-1)}.combobox-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer}.combobox-item:hover,.combobox-item-highlighted{background:var(--color-bg-hover)}.combobox-item-label{font-weight:var(--font-weight-medium)}.combobox-item-sublabel{font-size:var(--text-xs);color:var(--color-text-tertiary)}.combobox-footer{border-top:1px solid var(--color-border);padding:var(--space-2)}.combobox-create{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-link);font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.combobox-create:hover{background:var(--color-primary-subtle);text-decoration:none}.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-input-box{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer}.file-input-box:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-hover)}.file-input-box-error{border-color:var(--color-danger)}.file-input-icon{font-size:var(--text-lg)}.file-input-preview{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover}.file-input-copy{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-input-browse{flex-shrink:0;color:var(--color-text-link);font-weight:var(--font-weight-semibold)}.import-summary{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-subtle);margin-bottom:var(--space-4);font-size:var(--text-sm)}.import-summary-errors{color:var(--color-warning)}.import-errors-block{margin-bottom:var(--space-4)}.import-block-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.import-preview-block{margin-bottom:var(--space-4)}.import-failures{list-style:none;display:flex;flex-direction:column;gap:var(--space-1);max-height:200px;overflow-y:auto;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary)}.import-result{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.import-result-count{display:flex;flex-direction:column;align-items:center;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-subtle);min-width:120px}.import-result-count-error{background:var(--color-danger-subtle)}.import-result-number{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.import-result-count-error .import-result-number{color:var(--color-danger)}.import-result-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.numbering-form{display:inline-flex}.numbering-doc{font-weight:var(--font-weight-medium)}.numbering-preview{font-family:var(--font-mono);font-size:var(--text-sm)}.search-results-list{list-style:none;display:flex;flex-direction:column}.search-results-list li{border-bottom:1px solid var(--color-border)}.search-results-list li:last-child{border-bottom:none}.search-result-row{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.search-result-row:hover{background:var(--color-bg-hover);text-decoration:none}.search-result-title{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.search-result-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary)}
