@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--color-primary-50:#fff7ed;--color-primary-100:#ffedd5;--color-primary-200:#fed7aa;--color-primary-300:#fdba74;--color-primary-500:#f97316;--color-primary-600:#f97316;--color-primary-700:#ea580c;--color-primary-800:#c2410c;--color-primary-rgb:249, 115, 22;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-2:#fafafb;--color-surface-3:#f3f4f6;--color-overlay:#11182773;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-border-subtle:#f0f1f3;--color-text:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-inverse:#fff;--color-success:#16a34a;--color-success-bg:#ecfdf5;--color-success-br:#bbf7d0;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-br:#fde68a;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-danger-br:#fecaca;--color-info:#2563eb;--color-info-bg:#eff6ff;--color-info-br:#bfdbfe;--color-neutral:#4b5563;--color-neutral-bg:#f3f4f6;--color-neutral-br:#e5e7eb;--color-purple:#7c3aed;--color-purple-bg:#f5f3ff;--color-purple-br:#ddd6fe;--focus-ring:0 0 0 3px rgba(var(--color-primary-rgb), .28);--font-sans:Inter, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-num:"Inter", system-ui, "Segoe UI", sans-serif;--fs-page-title:24px;--fs-section-title:18px;--fs-card-title:15px;--fs-body:14px;--fs-table:13px;--fs-caption:12px;--lh-tight:1.3;--lh-normal:1.5;--lh-loose:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--section-gap:24px;--card-padding:20px;--page-pad-x:24px;--page-pad-y:24px;--control-h:40px;--control-h-sm:32px;--control-h-lg:44px;--row-h:52px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-xs:0 1px 2px #1118270a;--shadow-s:0 1px 3px #1118270f, 0 1px 2px #1118270a;--shadow-m:0 4px 12px #11182714;--shadow-l:0 12px 32px #1118271f;--sidebar-width:248px;--sidebar-width-collapsed:72px;--header-height:64px;--header-height-mobile:56px;--page-max-width:1600px;--transition-fast:.12s ease;--transition-normal:.18s ease;--transition-slow:.24s cubic-bezier(.4, 0, .2, 1);--z-sidebar:100;--z-header:90;--z-overlay:150;--z-modal:1000;--z-toast:2000;--bg-primary:var(--color-bg);--bg-secondary:var(--color-surface);--bg-card:var(--color-surface);--bg-card-hover:var(--color-surface-3);--bg-sidebar:var(--color-surface);--bg-input:var(--color-surface);--bg-modal:var(--color-surface);--surface-alt:var(--color-surface-2);--card-bg:var(--color-surface);--hover-bg:var(--color-surface-3);--primary:var(--color-primary-600);--color-primary:var(--color-primary-600);--accent-primary:var(--color-primary-600);--accent-primary-hover:var(--color-primary-700);--accent-secondary:var(--color-primary-700);--accent-gradient:var(--color-primary-600);--accent-gradient-hover:var(--color-primary-700);--gold:var(--color-primary-600);--gold-light:var(--color-primary-100);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--text-accent:var(--color-primary-700);--status-success:var(--color-success);--status-warning:var(--color-warning);--status-danger:var(--color-danger);--status-info:var(--color-info);--status-purple:var(--color-purple);--border-color:var(--color-border);--border:var(--color-border);--border-light:var(--color-border-subtle);--border-input:var(--color-border-strong);--shadow-sm:var(--shadow-s);--shadow-md:var(--shadow-m);--shadow-lg:var(--shadow-l);--shadow-glow:var(--focus-ring);--border-radius:var(--radius);--border-radius-sm:var(--radius-sm);--border-radius-lg:var(--radius-lg)}[data-theme=dark]{--color-primary-50:#2a1408;--color-primary-100:#3a1c0a;--color-primary-200:#5a2c10;--color-primary-300:#9a4a16;--color-primary-500:#fb923c;--color-primary-600:#fb923c;--color-primary-700:#fdba74;--color-primary-800:#fdba74;--color-primary-rgb:251, 146, 60;--color-bg:#0f1115;--color-surface:#171a21;--color-surface-2:#1c2029;--color-surface-3:#232833;--color-overlay:#0009;--color-border:#2a2f3a;--color-border-strong:#3a404d;--color-border-subtle:#22262f;--color-text:#e9eaee;--color-text-secondary:#a1a7b3;--color-text-muted:#6f7684;--color-text-inverse:#0f1115;--color-success:#4ade80;--color-success-bg:#10251a;--color-success-br:#1e4632;--color-warning:#fbbf24;--color-warning-bg:#2a1f08;--color-warning-br:#4a3712;--color-danger:#f87171;--color-danger-bg:#2a1214;--color-danger-br:#4c1d1f;--color-info:#60a5fa;--color-info-bg:#101e32;--color-info-br:#1e3a5f;--color-neutral:#9ca3af;--color-neutral-bg:#232833;--color-neutral-br:#2f3542;--color-purple:#a78bfa;--color-purple-bg:#1c1630;--color-purple-br:#362b58;--shadow-xs:0 1px 2px #0006;--shadow-s:0 1px 3px #00000073;--shadow-m:0 4px 12px #00000080;--shadow-l:0 12px 32px #0009;--bg-input:var(--color-surface-2)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}}
.ui-page{max-width:var(--page-max-width);gap:var(--section-gap);flex-direction:column;min-width:0;margin:0 auto;display:flex}.ui-page--narrow{max-width:960px}.ui-page--full{max-width:none}.ui-stack{gap:var(--section-gap);flex-direction:column;min-width:0;display:flex}.ui-page-header{gap:var(--space-4);flex-direction:column;display:flex}.ui-page-header__bar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.ui-page-header__title{font-size:var(--fs-page-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--color-text);margin:0}.ui-page-header__desc{font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--color-text-secondary);margin:var(--space-1) 0 0;max-width:72ch}.ui-page-header__actions,.ui-page-header__filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-breadcrumbs{align-items:center;gap:var(--space-1);font-size:var(--fs-caption);color:var(--color-text-muted);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ui-breadcrumbs a{color:var(--color-text-secondary);border-radius:var(--radius-sm);text-decoration:none}.ui-breadcrumbs a:hover{color:var(--color-primary-700);text-decoration:underline}.ui-breadcrumbs a:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-breadcrumbs__sep{color:var(--color-text-muted);display:inline-flex}.ui-breadcrumbs__current{color:var(--color-text);font-weight:500}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--fs-body);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.ui-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-btn[disabled],.ui-btn[aria-disabled=true],.ui-btn.is-loading{cursor:not-allowed;opacity:.55;pointer-events:none}.ui-btn--sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-caption);gap:var(--space-1)}.ui-btn--lg{height:var(--control-h-lg);padding:0 var(--space-6)}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.ui-btn--primary:hover{background:var(--color-primary-700);border-color:var(--color-primary-700)}.ui-btn--secondary{background:var(--color-surface-3);color:var(--color-text);border-color:#0000}.ui-btn--secondary:hover{background:var(--color-border)}.ui-btn--outline{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.ui-btn--outline:hover{background:var(--color-surface-3);border-color:var(--color-text-muted)}.ui-btn--ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.ui-btn--ghost:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-btn--danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-br)}.ui-btn--danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.ui-btn--danger-solid{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.ui-btn--danger-solid:hover{filter:brightness(.94)}.ui-icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-icon-btn--bordered{border-color:var(--color-border);background:var(--color-surface)}.ui-icon-btn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.ui-icon-btn[disabled]{opacity:.5;cursor:not-allowed}.ui-field{flex-direction:column;gap:6px;min-width:0;display:flex}.ui-label{font-size:var(--fs-caption);color:var(--color-text);font-weight:600;line-height:var(--lh-normal)}.ui-label__req{color:var(--color-danger);margin-left:2px}.ui-field__hint{font-size:var(--fs-caption);color:var(--color-text-muted);line-height:var(--lh-normal);margin:-2px 0 2px}.ui-field__error{align-items:flex-start;gap:var(--space-1);font-size:var(--fs-caption);color:var(--color-danger);line-height:var(--lh-normal);display:flex}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:var(--control-h);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.ui-textarea{padding:10px var(--space-3);resize:vertical;min-height:96px}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-muted)}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--color-text-muted)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--color-primary-600);box-shadow:var(--focus-ring)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--color-surface-3);color:var(--color-text-muted);cursor:not-allowed}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--color-danger)}.ui-input[aria-invalid=true]:focus,.ui-select[aria-invalid=true]:focus,.ui-textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc262633}.ui-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.ui-input--num{text-align:right;font-variant-numeric:tabular-nums}.ui-search{align-items:center;min-width:0;display:inline-flex;position:relative}.ui-search__icon{color:var(--color-text-muted);pointer-events:none;display:inline-flex;position:absolute;left:10px}.ui-search .ui-input{padding-left:34px;padding-right:32px}.ui-search__clear{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:6px}.ui-search__clear:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-form-section{gap:var(--space-4);flex-direction:column;display:flex}.ui-form-section+.ui-form-section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.ui-form-section__title{font-size:var(--fs-card-title);color:var(--color-text);margin:0;font-weight:600}.ui-form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.ui-form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.ui-checkbox{width:18px;height:18px;min-height:18px;accent-color:var(--color-primary-600);cursor:pointer}.ui-checkbox-row{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);cursor:pointer;font-size:var(--fs-body);color:var(--color-text);display:inline-flex}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);min-width:0}.ui-card--flush{overflow:hidden}.ui-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ui-card__title{font-size:var(--fs-card-title);color:var(--color-text);align-items:center;gap:var(--space-2);margin:0;font-weight:600;display:flex}.ui-card__subtitle{font-size:var(--fs-caption);color:var(--color-text-muted);margin:2px 0 0}.ui-card__body{padding:var(--card-padding)}.ui-card__body--flush{padding:0}.ui-card__footer{padding:var(--space-3) var(--card-padding);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-kpi-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.ui-kpi{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:inherit;min-width:0;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}a.ui-kpi:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-s)}a.ui-kpi:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-kpi--alert{border-color:var(--color-danger-br);background:var(--color-danger-bg)}.ui-kpi__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ui-kpi__label{font-size:var(--fs-caption);color:var(--color-text-secondary);font-weight:500;line-height:var(--lh-normal)}.ui-kpi__icon{border-radius:var(--radius);background:var(--color-surface-3);width:32px;height:32px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-kpi__value{font-size:22px;font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ui-kpi__unit{font-size:var(--fs-caption);color:var(--color-text-muted);margin-left:4px;font-weight:600}.ui-kpi__foot{align-items:center;gap:var(--space-2);font-size:var(--fs-caption);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.ui-trend{align-items:center;gap:3px;font-weight:600;display:inline-flex}.ui-trend--up{color:var(--color-success)}.ui-trend--down{color:var(--color-danger)}.ui-trend--neutral{color:var(--color-text-muted)}.ui-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.ui-table-wrap--sticky{max-height:70vh;overflow-y:auto}.ui-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-table)}.ui-table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);font-size:var(--fs-caption);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600;position:relative}.ui-table-wrap--sticky .ui-table thead th{z-index:2;position:sticky;top:0}.ui-table td{padding:var(--space-3) var(--space-4);height:var(--row-h);color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr{transition:background var(--transition-fast)}.ui-table tbody tr:hover{background:var(--color-surface-2)}.ui-table tbody tr.is-clickable{cursor:pointer}.ui-table tbody tr.is-selected{background:var(--color-primary-50)}.ui-table tbody tr:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.ui-table .is-num,.ui-table th.is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ui-table .is-center,.ui-table th.is-center{text-align:center}.ui-table .is-nowrap{white-space:nowrap}.ui-table .is-strong{font-weight:600}.ui-table .is-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.ui-table__checkbox{text-align:center;width:40px}.ui-table__actions{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex}.ui-menu-anchor{display:inline-flex;position:relative}.ui-menu{z-index:var(--z-overlay);min-width:180px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-m);position:absolute;top:calc(100% + 4px);right:0}.ui-menu__item{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 10px;text-decoration:none;display:flex}.ui-menu__item:hover{background:var(--color-surface-3)}.ui-menu__item:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-menu__item--danger{color:var(--color-danger)}.ui-menu__item--danger:hover{background:var(--color-danger-bg)}.ui-menu__sep{height:1px;margin:var(--space-1) 0;background:var(--color-border)}.ui-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--fs-caption);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.ui-pagination__pages{align-items:center;gap:var(--space-2);display:flex}.ui-badge{border-radius:var(--radius-pill);font-size:var(--fs-caption);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;max-width:100%;padding:3px 10px;font-weight:600;line-height:18px;display:inline-flex}.ui-badge__dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-badge--neutral{background:var(--color-neutral-bg);color:var(--color-neutral);border-color:var(--color-neutral-br)}.ui-badge--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-br)}.ui-badge--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-br)}.ui-badge--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-br)}.ui-badge--danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-br)}.ui-badge--purple{background:var(--color-purple-bg);color:var(--color-purple);border-color:var(--color-purple-br)}.ui-badge--primary{background:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-200)}.ui-badge--sm{padding:1px 8px;font-size:11px;line-height:16px}.ui-overlay{z-index:var(--z-modal);background:var(--color-overlay);padding:var(--space-4);overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{width:100%;max-height:calc(100vh - 2 * var(--space-6));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-l);flex-direction:column;display:flex;overflow:hidden}.ui-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.ui-modal__title{font-size:var(--fs-section-title);color:var(--color-text);font-weight:600;line-height:var(--lh-tight);margin:0}.ui-modal__desc{font-size:var(--fs-caption);color:var(--color-text-secondary);margin:4px 0 0}.ui-modal__body{padding:var(--space-6);flex:1;min-height:0;overflow-y:auto}.ui-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-2);flex-wrap:wrap;flex-shrink:0;display:flex}@media (max-width:768px){.ui-overlay{align-items:flex-end;padding:0}.ui-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;padding-bottom:env(safe-area-inset-bottom,0px)}.ui-modal--drawer{border-radius:0;height:100vh;max-height:100vh}.ui-modal__header,.ui-modal__body,.ui-modal__footer{padding-left:var(--space-4);padding-right:var(--space-4)}}.ui-toasts{top:calc(var(--header-height) + var(--space-2));right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;max-width:calc(100vw - 2 * var(--space-4));flex-direction:column;display:flex;position:fixed}.ui-toast{align-items:flex-start;gap:var(--space-2);width:360px;max-width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-m);pointer-events:auto;display:flex}.ui-toast__icon{flex-shrink:0;margin-top:1px;display:inline-flex}.ui-toast__body{flex:1;min-width:0}.ui-toast__title{font-size:var(--fs-body);color:var(--color-text);font-weight:600;line-height:var(--lh-normal)}.ui-toast__msg{font-size:var(--fs-caption);color:var(--color-text-secondary);line-height:var(--lh-normal);overflow-wrap:anywhere;margin-top:2px}.ui-toast--success{border-left:3px solid var(--color-success)}.ui-toast--error{border-left:3px solid var(--color-danger)}.ui-toast--warning{border-left:3px solid var(--color-warning)}.ui-toast--info{border-left:3px solid var(--color-info)}@media (max-width:768px){.ui-toasts{left:var(--space-2);right:var(--space-2);top:calc(var(--header-height-mobile) + var(--space-2))}.ui-toast{width:100%}}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-3) 25%, var(--color-border-subtle) 37%, var(--color-surface-3) 63%);background-size:400% 100%;animation:1.4s infinite ui-shimmer;display:block}@keyframes ui-shimmer{0%{background-position:100%}to{background-position:0}}.ui-skeleton--text{height:12px;margin:6px 0}.ui-skeleton--title{width:40%;height:20px}.ui-skeleton-card{padding:var(--card-padding);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite ui-spin;display:inline-block}.ui-spinner--lg{border-width:3px;width:28px;height:28px}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}.ui-spinner{animation-duration:1.6s}}.ui-slow-hint{align-items:center;gap:var(--space-2);padding:var(--space-4);font-size:var(--fs-caption);color:var(--color-text-secondary);text-align:center;flex-direction:column;display:flex}.ui-state{justify-content:center;align-items:center;gap:var(--space-3);padding:48px var(--space-6);text-align:center;flex-direction:column;display:flex}.ui-state__icon{border-radius:var(--radius-lg);background:var(--color-surface-3);width:48px;height:48px;color:var(--color-text-muted);justify-content:center;align-items:center;display:inline-flex}.ui-state__icon--danger{background:var(--color-danger-bg);color:var(--color-danger)}.ui-state__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.ui-state__title{font-size:var(--fs-card-title);color:var(--color-text);margin:0;font-weight:600}.ui-state__desc{font-size:var(--fs-body);color:var(--color-text-secondary);line-height:var(--lh-normal);max-width:46ch;margin:0}.ui-state__actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.ui-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.ui-row--between{justify-content:space-between}.ui-row--end{justify-content:flex-end}.ui-grow{flex:1;min-width:0}.ui-num{font-variant-numeric:tabular-nums}.ui-muted{color:var(--color-text-muted)}.ui-secondary{color:var(--color-text-secondary)}.ui-caption{font-size:var(--fs-caption);color:var(--color-text-muted)}.ui-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-divider{background:var(--color-border);border:0;height:1px;margin:0}.ui-tabs{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-border);scrollbar-width:none;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{padding:10px var(--space-3);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:500}.ui-tab:hover{color:var(--color-text)}.ui-tab[aria-selected=true]{color:var(--color-primary-700);border-bottom-color:var(--color-primary-600);font-weight:600}.ui-tab:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.ui-form-group-legacy{margin-bottom:var(--space-4)}
@media (max-width:768px){#main-content [style*=grid-template-columns]>*,#main-content .card,#main-content .tab-bar,#main-content .tab-bar-scroll,#main-content .tabs,#main-content .filter-bar,#main-content .table-container{min-width:0;max-width:100%}#main-content [style*="grid-template-columns: repeat(3,"],#main-content [style*="grid-template-columns: repeat(4,"],#main-content [style*="grid-template-columns: repeat(5,"],#main-content [style*="grid-template-columns: repeat(6,"],#main-content [style*="grid-template-columns: repeat(8,"],#main-content [style*="grid-template-columns: 1fr 1fr 1fr"],#main-content [style*="grid-template-columns: 2fr 1fr"],#main-content [style*="grid-template-columns: 1fr 2fr"],#main-content [style*="grid-template-columns: 3fr 2fr"],#main-content [style*="grid-template-columns: 2fr 3fr"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}#main-content [style*="grid-template-columns: 2fr 1fr"],#main-content [style*="grid-template-columns: 1fr 2fr"],#main-content [style*="grid-template-columns: 3fr 2fr"],#main-content [style*="grid-template-columns: 2fr 3fr"],#main-content [style*=minmax\(250px],#main-content [style*=minmax\(260px],#main-content [style*=minmax\(280px],#main-content [style*=minmax\(300px],#main-content [style*=minmax\(320px],#main-content [style*=minmax\(340px],#main-content [style*=minmax\(360px],#main-content [style*=minmax\(400px]{grid-template-columns:minmax(0,1fr)!important}#main-content :has(>table){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}#main-content [style*="overflow: hidden"]:has(table){-webkit-overflow-scrolling:touch;overflow-x:auto!important}table:has(input,select,textarea){min-width:600px}:is(.modal,.modal-content,.ui-modal,[style*="position: fixed"]) :has(>table){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}:is(#main-content [style*="justify-content: space-between"],#main-content [style*="display: flex"]:has(>button+button),#main-content [style*="display: flex"]:has(>a+a),#main-content [style*="display: flex"]:has(>.btn+.btn)){flex-wrap:wrap;row-gap:8px}#main-content [style*="display: flex"]>button,#main-content [style*="display: flex"]>.btn{white-space:normal;max-width:100%}#main-content [style*="position: fixed"][style*="inset: 0"]>div,#main-content [style*="position: fixed"][style*="inset: 0px"]>div{max-height:calc(100dvh - 24px);overflow-y:auto;max-width:calc(100vw - 24px)!important}@media (max-width:480px){#main-content [style*="position: fixed"] [style*="grid-template-columns: 1fr 1fr"],.modal [style*="grid-template-columns: 1fr 1fr"],.ui-modal [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}}#main-content img{max-width:100%;height:auto}#main-content video,#main-content iframe{max-width:100%}#main-content .stat-card{overflow-wrap:anywhere;min-width:0}#main-content .stat-card>*{min-width:0}#main-content .stat-card *{white-space:normal}}
*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);font-size:var(--fs-body);background:var(--color-bg);color:var(--color-text);line-height:var(--lh-loose);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;overflow-x:clip}h1,h2,h3,h4,h5,h6{line-height:var(--lh-tight);color:var(--color-text)}h1{font-size:var(--fs-page-title);letter-spacing:-.02em;font-weight:700}h2{font-size:var(--fs-section-title);font-weight:600}h3{font-size:var(--fs-card-title);font-weight:600}button,input,select,textarea{font-family:var(--font-sans)}a{color:var(--color-primary-700)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{background:var(--color-bg);min-height:100vh;display:flex}.app-layout.sidebar-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}.main-content{margin-left:var(--sidebar-width);padding-top:var(--header-height);min-width:0;min-height:100vh;transition:margin-left var(--transition-slow);flex:1;overflow-x:clip}.page-content{padding:var(--page-pad-y) var(--page-pad-x);max-width:100%;overflow-x:clip}.skip-link{z-index:var(--z-toast);background:var(--color-surface);border:1px solid var(--color-primary-600);border-radius:var(--radius);color:var(--color-primary-700);padding:10px 16px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-3);top:var(--space-3)}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:var(--z-sidebar);transition:transform var(--transition-slow), width var(--transition-slow);box-shadow:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{height:var(--header-height);padding:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:10px;display:flex}.sidebar-brand .brand-icon{background:var(--color-primary-600);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-brand .brand-text{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-brand .brand-name{color:var(--color-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.sidebar-brand .brand-sub{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10.5px;line-height:1.3;overflow:hidden}.sidebar-collapse-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar-collapse-btn:hover{background:var(--color-surface-3);color:var(--color-text)}@media (min-width:769px){.sidebar-collapse-btn{display:flex}}.sidebar-nav{padding:var(--space-3) var(--space-2);overscroll-behavior:contain;flex:1;overflow-y:auto}.nav-section{margin-bottom:var(--space-2)}.nav-section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-3) var(--space-3) var(--space-1);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.nav-item{align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:var(--radius);color:var(--color-text-secondary);font-size:var(--fs-body);transition:background var(--transition-fast), color var(--transition-fast);cursor:pointer;min-height:38px;margin-bottom:1px;font-weight:500;line-height:1.3;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--color-surface-3);color:var(--color-text)}.nav-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.nav-item.active{background:var(--color-primary-50);color:var(--color-primary-700);box-shadow:none;font-weight:600}.nav-item.active:before{content:"";background:var(--color-primary-600);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item .nav-icon{width:20px;height:20px;color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-item:hover .nav-icon{color:var(--color-text-secondary)}.nav-item.active .nav-icon{color:var(--color-primary-600)}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .nav-badge{background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-pill);text-align:center;min-width:20px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.nav-item .nav-arrow{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0;margin-left:auto}.nav-item.active .nav-arrow{color:var(--color-primary-600)}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-border);flex-shrink:0;margin-top:auto}.sidebar-footer__label{align-items:center;gap:var(--space-1);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);font-size:11px;font-weight:600;display:flex}.sidebar-role{justify-content:space-between;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-2);width:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-caption);text-align:left;cursor:default;padding:8px 10px;font-weight:600;display:flex}.sidebar-role[aria-expanded]{cursor:pointer}.sidebar-role[aria-expanded]:hover{background:var(--color-surface-3)}.sidebar-role__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-role-menu{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-height:280px;overflow:hidden auto}.sidebar-role-menu button{align-items:center;gap:var(--space-2);width:100%;font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 10px;display:flex}.sidebar-role-menu button:hover{background:var(--color-surface-3);color:var(--color-text)}.sidebar-role-menu button.is-active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:600}.sidebar-role-menu .sidebar-role-sep{background:var(--color-border);height:1px;margin:var(--space-1) 0}@media (min-width:769px){.sidebar-collapsed .sidebar-brand{padding:0 0 0 var(--space-3)}.sidebar-collapsed .sidebar-brand .brand-text,.sidebar-collapsed .nav-section-title,.sidebar-collapsed .nav-item .nav-label,.sidebar-collapsed .nav-item .nav-arrow,.sidebar-collapsed .nav-item .nav-badge,.sidebar-collapsed .sidebar-footer__label,.sidebar-collapsed .sidebar-role__name,.sidebar-collapsed .sidebar-role-menu{display:none}.sidebar-collapsed .nav-section-title{height:1px;margin:var(--space-2) var(--space-2);text-indent:-9999px;background:var(--color-border);padding:0;display:block;overflow:hidden}.sidebar-collapsed .nav-item{justify-content:center;padding:9px 0}.sidebar-collapsed .nav-item span:not(.nav-icon){display:none}.sidebar-collapsed .sidebar-footer{padding:var(--space-2)}.sidebar-collapsed .sidebar-role{justify-content:center;padding:8px 4px}}.header{top:0;left:var(--sidebar-width);height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-6);z-index:var(--z-header);transition:left var(--transition-slow);display:flex;position:fixed;right:0}.header-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.header-title{font-size:var(--fs-section-title);color:var(--color-text);font-weight:600;line-height:var(--lh-tight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-crumb{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.header-search{margin-left:var(--space-2);align-items:center;display:flex;position:relative}.header-search input{width:280px;max-width:32vw;height:var(--control-h-sm);padding:0 var(--space-3) 0 34px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--fs-table);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.header-search input::placeholder{color:var(--color-text-muted)}.header-search input:focus{border-color:var(--color-primary-600);box-shadow:var(--focus-ring);background:var(--color-surface)}.header-search .search-icon{color:var(--color-text-muted);pointer-events:none;display:inline-flex;position:absolute;left:10px}.header-right{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.header-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.header-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.header-btn .badge-dot{background:var(--color-danger);border:2px solid var(--color-surface);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.header-user{align-items:center;gap:var(--space-2);margin-left:var(--space-1);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:4px 8px 4px 4px;display:flex}.header-user:hover{background:var(--color-surface-3);border-color:var(--color-border)}.header-user .avatar{background:var(--color-primary-100);width:32px;height:32px;color:var(--color-primary-700);font-size:var(--fs-caption);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.header-user .user-info{flex-direction:column;min-width:0;display:flex}.header-user .user-name{font-size:var(--fs-table);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-weight:600;line-height:1.25;overflow:hidden}.header-user .user-role{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;line-height:1.25;overflow:hidden}.header-pop{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-m);position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.header-pop__head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:10px var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--fs-caption);color:var(--color-text-secondary);font-weight:600;display:flex}.header-pop__item{align-items:center;gap:var(--space-2);width:100%;padding:10px var(--space-3);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;text-decoration:none;display:flex}.header-pop__item:hover{background:var(--color-surface-3)}.header-pop__item--danger{color:var(--color-danger)}.header-pop__item--danger:hover{background:var(--color-danger-bg)}.header-pop__sep{background:var(--color-border);height:1px}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--section-gap);flex-wrap:wrap;display:flex}.page-header-left h1{font-size:var(--fs-page-title);color:var(--color-text);letter-spacing:-.02em;font-weight:700;line-height:var(--lh-tight)}.page-header-left p{font-size:var(--fs-body);color:var(--color-text-secondary);margin-top:var(--space-1);line-height:var(--lh-normal)}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--fs-body);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600);box-shadow:none}.btn-primary:hover{background:var(--color-primary-700);border-color:var(--color-primary-700);box-shadow:none;transform:none}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-3);color:var(--color-text)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-br)}.btn-danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.btn-sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-caption)}.btn-icon{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--color-surface-3);color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:var(--shadow-xs);min-width:0;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.card:hover{border-color:var(--color-border);box-shadow:var(--shadow-xs)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card-title{font-size:var(--fs-card-title);color:var(--color-text);font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-normal);align-items:center;gap:16px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--color-primary-600);opacity:0;height:3px;transition:opacity var(--transition-normal);position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:rgba(var(--color-primary-rgb), .15);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-card-icon{border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.stat-card-icon.revenue{background:rgba(var(--color-primary-rgb), .12);color:var(--accent-primary-hover)}.stat-card-icon.projects{color:var(--status-info);background:#38bdf826}.stat-card-icon.customers{color:var(--status-success);background:#34d39926}.stat-card-icon.quotations{color:var(--status-warning);background:#fbbf2426}.stat-card .stat-trend{border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:flex}.stat-trend.up{color:var(--status-success);background:#34d3991a}.stat-trend.down{color:var(--status-danger);background:#f871711a}.stat-card .stat-icon{flex-shrink:0;font-size:28px;line-height:1}.stat-card>div:last-child{flex:1;min-width:0}.stat-card .stat-value{color:var(--text-primary);letter-spacing:-.5px;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:700;overflow:hidden}.stat-card .stat-label{color:var(--text-secondary);white-space:nowrap;margin-top:2px;font-size:12px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-table)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);font-size:var(--fs-caption);text-transform:none;letter-spacing:0;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);height:var(--row-h);font-size:var(--fs-table);color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);white-space:nowrap;vertical-align:middle}.data-table tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-surface-2)}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.primary{color:var(--color-text);font-weight:600}.data-table td.accent{color:var(--color-primary-700);font-weight:600}.data-table td.amount{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:600}.badge{border-radius:var(--radius-pill);font-size:var(--fs-caption);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;font-weight:600;line-height:18px;display:inline-flex}.badge.success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-br)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-br)}.badge.danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-br)}.badge.info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-br)}.badge.purple{background:var(--color-purple-bg);color:var(--color-purple);border-color:var(--color-purple-br)}.badge.muted{background:var(--color-neutral-bg);color:var(--color-neutral);border-color:var(--color-neutral-br)}.progress-bar{background:var(--bg-primary);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar .progress-fill{background:var(--accent-gradient);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-bar .progress-fill.success{background:var(--status-success)}.progress-bar .progress-fill.warning{background:var(--status-warning)}.chart-bar-container{align-items:flex-end;gap:8px;height:200px;padding-top:12px;display:flex}.chart-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.chart-bar-wrapper{align-items:flex-end;gap:3px;height:100%;display:flex}.chart-bar{width:16px;transition:height .8s cubic-bezier(.4, 0, .2, 1), opacity var(--transition-fast);cursor:pointer;border-radius:4px 4px 0 0;position:relative}.chart-bar.revenue{background:var(--accent-primary)}.chart-bar.expense{background:rgba(var(--color-primary-rgb), .25)}.chart-bar:hover{opacity:.8}.chart-bar-label{color:var(--text-muted);font-size:11px;font-weight:500}.donut-chart{border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;display:flex;position:relative}.donut-center{background:var(--bg-card);z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:absolute}.donut-center .donut-value{color:var(--text-primary);font-size:26px;font-weight:700}.donut-center .donut-label{color:var(--text-muted);font-size:11px}.chart-legend{flex-direction:column;gap:10px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.legend-count{color:var(--text-primary);margin-left:auto;font-weight:600}.activity-list{flex-direction:column;gap:2px;display:flex}.activity-item{border-radius:var(--border-radius-sm);transition:background var(--transition-fast);align-items:flex-start;gap:14px;padding:12px;display:flex}.activity-item:hover{background:#ffffff05}.activity-icon{background:var(--bg-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.activity-content{flex:1;min-width:0}.activity-content .activity-action{color:var(--text-primary);font-size:13px;font-weight:600}.activity-content .activity-detail{color:var(--text-secondary);margin-top:1px;font-size:12px}.activity-content .activity-meta{color:var(--text-muted);margin-top:4px;font-size:11px}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--fs-caption);color:var(--color-text);text-transform:none;letter-spacing:0;font-weight:600;line-height:var(--lh-normal);margin-bottom:6px;display:block}.form-input,.form-select{width:100%;min-height:var(--control-h);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);color:var(--color-text);font-size:var(--fs-body);font-family:var(--font-sans);line-height:var(--lh-normal);box-shadow:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:hover,.form-select:hover{border-color:var(--color-text-muted)}.form-input:focus,.form-select:focus{border-color:var(--color-primary-600);box-shadow:var(--focus-ring)}.form-input:disabled,.form-select:disabled{background:var(--color-surface-3);color:var(--color-text-muted);cursor:not-allowed}.form-input::placeholder{color:var(--color-text-muted)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.form-row{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-file{width:100%;padding:8px var(--space-3);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius);color:var(--color-text-secondary);font-size:var(--fs-table);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast)}.form-file:hover{border-color:var(--color-primary-600)}.form-file::file-selector-button{height:var(--control-h-sm);padding:0 var(--space-3);margin-right:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-caption);cursor:pointer;font-weight:600}.form-file::file-selector-button:hover{background:var(--color-surface-3)}.form-file:disabled{opacity:.55;cursor:not-allowed}.modal-overlay{background:var(--color-overlay);padding:var(--space-4);z-index:var(--z-modal);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-l);overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.modal-title{font-size:var(--fs-section-title);color:var(--color-text);font-weight:600}.modal-close{width:var(--control-h-sm);height:var(--control-h-sm);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-surface-3);color:var(--color-text)}.modal-body{padding:var(--space-6);flex:auto;min-height:0;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-2);flex-shrink:0;display:flex}.tabs{background:var(--bg-primary);border-radius:var(--border-radius-sm);gap:2px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tab{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:8px 18px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.tab:hover{color:var(--text-secondary)}.tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.filter-bar{flex-wrap:nowrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-bar .form-select{flex-shrink:0;width:auto;min-width:160px}.filter-bar .form-input{flex:1;width:auto;min-width:0}.filter-bar .search-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);min-width:240px;color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;flex:1;padding:9px 14px 9px 38px;font-family:Inter,sans-serif;font-size:13px}.filter-bar .search-input:focus{border-color:var(--accent-primary)}.filter-bar .search-input::placeholder{color:var(--text-muted)}.filter-bar .filter-select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;outline:none;padding:9px 36px 9px 14px;font-family:Inter,sans-serif;font-size:13px}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-2-1{grid-template-columns:2fr 1fr;gap:20px;display:grid}.grid-1-1{grid-template-columns:1fr 1fr;gap:20px;display:grid}.warehouse-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.warehouse-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-normal);cursor:pointer;padding:18px}.warehouse-card:hover{border-color:rgba(var(--color-primary-rgb), .25);transform:translateY(-2px)}.warehouse-card.active{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.warehouse-card .wh-icon{margin-bottom:10px;font-size:28px}.warehouse-card .wh-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.warehouse-card .wh-address{color:var(--text-muted);margin-bottom:12px;font-size:12px}.warehouse-card .wh-stats{justify-content:space-between;display:flex}.warehouse-card .wh-stat{flex-direction:column;display:flex}.warehouse-card .wh-stat-value{color:var(--text-primary);font-size:16px;font-weight:700}.warehouse-card .wh-stat-label{color:var(--text-muted);font-size:11px}.finance-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.finance-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;position:relative;overflow:hidden}.finance-card:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.finance-card.income:after{background:var(--status-success)}.finance-card.expense:after{background:var(--status-danger)}.finance-card.receivable:after{background:var(--status-info)}.finance-card.payable:after{background:var(--status-warning)}.finance-card .fc-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px}.finance-card .fc-value{color:var(--text-primary);font-size:22px;font-weight:700}.finance-card .fc-sub{color:var(--text-muted);margin-top:6px;font-size:12px}.dept-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.dept-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-normal);cursor:pointer;align-items:center;gap:14px;padding:18px;display:flex}.dept-card:hover{border-color:rgba(var(--color-primary-rgb), .15);box-shadow:var(--shadow-glow)}.dept-card .dept-icon{background:rgba(var(--color-primary-rgb), .08);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.dept-card .dept-info{flex:1}.dept-card .dept-name{color:var(--text-primary);font-size:14px;font-weight:600}.dept-card .dept-count{color:var(--text-muted);margin-top:2px;font-size:12px}.dept-card .dept-head{color:var(--text-secondary);margin-top:2px;font-size:12px}.report-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.report-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-normal);padding:24px}.report-card:hover{border-color:rgba(var(--color-primary-rgb), .15);box-shadow:var(--shadow-glow)}.report-card .report-icon{margin-bottom:14px;font-size:32px}.report-card .report-title{color:var(--text-primary);margin-bottom:6px;font-size:16px;font-weight:600}.report-card .report-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.5}.report-metrics{border-top:1px solid var(--border-light);gap:20px;padding-top:14px;display:flex}.report-metric{flex-direction:column;display:flex}.report-metric .rm-value{color:var(--text-primary);font-size:18px;font-weight:700}.report-metric .rm-label{color:var(--text-muted);margin-top:2px;font-size:11px}.empty-state{align-items:center;gap:var(--space-2);padding:48px var(--space-6);text-align:center;flex-direction:column;display:flex}.empty-state .empty-icon{border-radius:var(--radius-lg);background:var(--color-surface-3);width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--space-2);opacity:1;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.empty-state .empty-title{font-size:var(--fs-card-title);color:var(--color-text);font-weight:600}.empty-state .empty-text{font-size:var(--fs-body);color:var(--color-text-secondary);max-width:46ch;line-height:var(--lh-normal)}.pipeline{align-items:center;gap:0;padding:16px 0;display:flex;overflow-x:auto}.pipeline-step{flex:1;align-items:center;gap:0;min-width:0;display:flex}.pipeline-node{cursor:pointer;transition:all var(--transition-fast);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;min-width:90px;display:flex}.pipeline-dot{border:2px solid var(--border-color);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-normal);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.pipeline-node.active .pipeline-dot{background:var(--accent-gradient);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 16px rgba(var(--color-primary-rgb), .35)}.pipeline-node.completed .pipeline-dot{background:var(--status-success);border-color:var(--status-success);color:#fff}.pipeline-label{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:11px;font-weight:500}.pipeline-node.active .pipeline-label{color:var(--accent-primary-hover);font-weight:600}.pipeline-node.completed .pipeline-label{color:var(--status-success)}.pipeline-line{background:var(--border-color);flex:1;min-width:16px;height:2px;margin:0 -4px 20px}.pipeline-line.completed{background:var(--status-success)}.project-detail-header{padding:24px}.project-quick-stats{gap:8px;margin-top:8px;display:grid}.project-tabs{background:var(--bg-secondary);border-radius:var(--border-radius);border:1px solid var(--border-color);gap:4px;margin-bottom:24px;padding:6px;display:flex;overflow-x:auto}.project-tab{color:var(--text-muted);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;display:flex}.project-tab:hover{color:var(--text-secondary);background:#ffffff08}.project-tab.active{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb), .25)}.project-tab .tab-count{background:#ffffff26;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.project-tab:not(.active) .tab-count{background:var(--bg-card);color:var(--text-muted)}.settlement-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.settlement-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:24px;position:relative;overflow:hidden}.settlement-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.settlement-card.side-a:before{background:var(--status-success)}.settlement-card.side-b:before{background:var(--status-danger)}.settlement-card h3{align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.settlement-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.settlement-row:last-child{border-bottom:none}.settlement-row .label{color:var(--text-secondary)}.settlement-row .value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.settlement-row.total{border-top:1px solid var(--border-color);padding-top:12px;font-size:15px;font-weight:700}.settlement-profit{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:center;padding:28px;position:relative;overflow:hidden}.settlement-profit .profit-value{letter-spacing:-1px;font-size:36px;font-weight:800}.settlement-profit .profit-label{color:var(--text-secondary);margin-top:4px;font-size:14px}.settlement-profit .profit-rate{border-radius:20px;align-items:center;gap:6px;margin-top:12px;padding:4px 14px;font-size:13px;font-weight:600;display:inline-flex}.mobile-menu-btn{width:40px;height:40px;color:var(--text-primary);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:var(--bg-card)}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;animation:.2s fadeIn;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}@media (max-width:1280px){.warehouse-grid,.finance-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.grid-2-1,.grid-1-1{grid-template-columns:1fr}.dept-grid{grid-template-columns:repeat(2,1fr)}.settlement-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap;gap:8px}.filter-bar .form-select{flex:1;min-width:140px}.card-header{flex-wrap:wrap;gap:10px}.projects-table th.col-tablet-hide,.projects-table td.col-tablet-hide{display:none}.projects-table .col-tablet-show{display:block!important}}@media (max-width:768px){.sidebar{z-index:999;width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{width:100%!important;margin-left:0!important;padding-top:56px!important}.header{height:56px;padding:0 12px;left:0}.header-title{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:15px;overflow:hidden}.mobile-menu-btn{display:flex}.header-search,.header-right .user-info{display:none}.header-user{gap:2px;padding:4px}.role-switch-label{display:none}.header-right{gap:4px}.header-btn{width:36px;height:36px}.page-content{padding:16px!important}.stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0}.stat-card>div[style*="font-size: 24"]{font-size:18px!important}.grid-2,.grid-1-1,.grid-3{grid-template-columns:1fr}.warehouse-grid,.finance-summary{grid-template-columns:1fr 1fr}.report-grid,.dept-grid,.settlement-grid,.form-row{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr!important}.stat-card{padding:14px}.stat-card .stat-value{font-size:20px}.stat-card .stat-label{font-size:11px}.stat-card .stat-icon{font-size:20px}.stat-card-icon{width:36px;height:36px;font-size:16px}.table-container{-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin:0 -12px;padding:0 12px;overflow-x:auto}.data-table{min-width:600px;font-size:12px}.data-table th{padding:8px 10px;font-size:10px}.data-table td{padding:10px;font-size:12px}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-header-left h1{font-size:20px}.page-header-left p{font-size:12px}.page-header-right{flex-wrap:wrap;gap:8px;display:flex}.page-header-right .btn{flex:1;justify-content:center;min-width:0}.filter-bar{flex-flow:column wrap;align-items:stretch;gap:8px}.filter-bar .form-select,.filter-bar .search-input,.filter-bar .form-input,.filter-bar .filter-select{width:100%;min-width:0}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:8px 14px;font-size:12px}.project-tabs{scrollbar-width:none;padding:4px}.project-tab{padding:6px 12px;font-size:11px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:95vh;margin:0;animation:.3s modalSlideUp;width:100vw!important;max-width:100vw!important}.modal-content{border-radius:16px 16px 0 0;max-height:95vh;width:100%!important;max-width:100vw!important}.modal-body{padding:16px}.modal-header{background:var(--bg-modal,var(--bg-card));z-index:10;padding:14px 16px;position:sticky;top:0}.modal-footer{background:var(--bg-modal,var(--bg-card));z-index:10;border-top:1px solid var(--border-color);flex-wrap:wrap;padding:12px 16px;position:sticky;bottom:0}.modal-footer .btn{flex:1;justify-content:center;min-height:44px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.btn{min-height:44px;padding:10px 16px;font-size:13px}.btn-sm{min-height:36px;padding:6px 12px;font-size:12px}.btn-icon{min-width:44px;min-height:44px}.form-input,.form-select{min-height:44px;padding:12px 14px;font-size:16px}.form-select{padding-right:40px}.form-label{margin-bottom:4px;font-size:12px}.form-group{margin-bottom:12px}.card{border-radius:10px;padding:14px}.card-header{margin-bottom:12px}.card-title{font-size:14px}.finance-card{padding:14px}.finance-card .fc-value{font-size:18px}.finance-card .fc-label{font-size:12px}.pipeline{scrollbar-width:none;padding-bottom:8px}.pipeline::-webkit-scrollbar{display:none}.pipeline-node{min-width:54px}.pipeline-dot{width:28px;height:28px;font-size:12px}.pipeline-label{display:none}.pipeline-node.active .pipeline-label,.pipeline-node.completed .pipeline-label{font-size:10px;display:block}.pipeline-line{min-width:8px}.project-detail-header{margin-bottom:16px!important;padding:14px!important}.project-quick-stats{grid-template-columns:1fr 1fr!important;gap:6px!important}.project-tabs{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.project-tab{scroll-snap-align:start;white-space:nowrap;flex-shrink:0}.project-header-row{gap:8px!important;margin-bottom:12px!important}.project-header-row h2{font-size:18px!important}.project-header-progress{flex-direction:row!important;align-items:center!important;gap:12px!important}.pipeline-stepper{scrollbar-width:none;padding:16px 12px}.pipeline-stepper::-webkit-scrollbar{display:none}.pipeline-step{min-width:70px}.pipeline-step-icon{width:40px;height:40px;font-size:18px}.pipeline-step-count{font-size:15px}.badge{padding:3px 8px;font-size:11px}.progress-bar{height:8px}.activity-item{gap:10px;padding:10px 8px}.activity-icon{width:32px;height:32px;font-size:14px}.settlement-profit .profit-value{font-size:28px}.donut-chart{width:140px;height:140px}.donut-center{width:80px;height:80px}.donut-center .donut-value{font-size:20px}.finance-sub-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.finance-sub-tabs::-webkit-scrollbar{display:none}.finance-sub-tabs button{white-space:nowrap;flex-shrink:0;padding:8px 14px!important;font-size:12px!important}.chart-bar-container{height:150px}.chart-bar{width:12px}.project-header-row{flex-direction:column!important}.project-header-progress{background:var(--surface-alt)!important;border-radius:8px!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;width:100%!important;margin-top:4px!important;padding:8px 12px!important}.project-header-progress .progress-bar{width:100px!important}.project-tabs{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto;gap:2px!important;padding:4px 6px!important}.project-tabs::-webkit-scrollbar{display:none}.project-tab{scroll-snap-align:start;flex-direction:column!important;flex-shrink:0!important;gap:2px!important;min-width:52px!important;padding:7px 10px!important;font-size:11px!important;line-height:1.2!important}.project-tab:not(.active) .tab-label{display:none!important}.project-tab.active .tab-label{white-space:nowrap!important;font-size:9px!important;display:block!important}.project-tab .tab-count{padding:1px 4px!important;font-size:9px!important}.overview-grid{grid-template-columns:1fr!important}.overview-grid .card[style*=gridColumn]{grid-column:1!important}.project-detail-header{padding:12px!important}.card-header{padding:10px 12px!important}.project-quick-stats{grid-template-columns:repeat(3,1fr)!important;gap:4px!important;margin-top:10px!important}.project-quick-stats>div{padding:6px 4px!important}.project-quick-stats>div>div:first-child{font-size:13px!important}.project-quick-stats>div>div:last-child{font-size:10px!important}}.pipeline-stepper{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;justify-content:center;align-items:flex-start;gap:0;padding:28px 24px;display:flex;overflow-x:auto}.pipeline-step{flex-direction:column;flex:1;align-items:center;min-width:100px;transition:all .2s;display:flex;position:relative}.pipeline-step:hover{transform:translateY(-2px)}.pipeline-step-icon{background:var(--bg-secondary);border:2px solid var(--border-light);z-index:2;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;transition:all .25s;display:flex;position:relative}.pipeline-step.active .pipeline-step-icon{background:var(--accent-gradient);border-color:var(--accent-primary);box-shadow:0 0 20px rgba(var(--color-primary-rgb), .35)}.pipeline-step.has-data .pipeline-step-icon{border-color:var(--accent-secondary)}.pipeline-step-label{color:var(--text-muted);text-align:center;margin-top:8px;font-size:12px;font-weight:500}.pipeline-step.active .pipeline-step-label{color:var(--text-accent);font-weight:600}.pipeline-step-count{color:var(--text-primary);margin-top:4px;font-size:18px;font-weight:700}.pipeline-step.active .pipeline-step-count{color:var(--accent-primary)}.pipeline-connector{background:var(--border-light);z-index:1;width:calc(100% - 60px);height:2px;position:absolute;top:24px;left:calc(50% + 30px)}.quotation-category-card{padding:0!important}.quotation-category-card .card-header{border-bottom:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;margin-bottom:0;padding:12px 16px}.quotation-detail-table{font-size:12px!important}.quotation-detail-table th{letter-spacing:.5px;background:var(--bg-input);white-space:nowrap;text-align:center;padding:8px 6px!important;font-size:10px!important}.quotation-detail-table td{vertical-align:middle;white-space:normal;padding:4px!important}.quotation-detail-table tbody tr:hover{background:rgba(var(--color-primary-rgb), .15)}.form-input-compact{height:28px;border-radius:4px!important;min-height:auto!important;padding:4px 6px!important;font-size:12px!important}.form-input-compact:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb), .15)}select.form-input-compact{padding-right:20px!important}.quotation-detail-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quotation-detail-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quotation-detail-table input[type=number]{appearance:textfield;text-align:right}.quotation-summary-grid{max-width:600px;margin-left:auto}.quotation-summary-row{border-bottom:1px solid var(--border-light);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.quotation-summary-row:last-child{border-bottom:none}.quotation-summary-value{font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:right;min-width:120px;font-weight:600}.quotation-summary-subtotal{color:var(--text-primary);border-bottom:2px solid var(--border-color);padding:10px 0;font-weight:600}.quotation-summary-grand{color:var(--accent-primary);border-bottom:none;padding:12px 0 4px;font-size:16px;font-weight:700}.quotation-summary-grand .quotation-summary-value{color:var(--accent-primary);font-size:18px}.btn-ghost{color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:6px 10px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--bg-input);color:var(--text-primary)}.modal-overlay{background:var(--color-overlay);z-index:var(--z-modal);padding:var(--space-4);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-l);width:100%;max-height:calc(100vh - 2 * var(--space-6));flex-direction:column;display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.modal-header h3{font-size:var(--fs-section-title);color:var(--color-text);margin:0;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tree-sidebar{font-size:13px}.tree-node{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;transition:background .1s;display:flex}.tree-node:hover{background:var(--bg-input)}.tree-root{text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin-top:4px;padding-left:8px;font-size:12px;font-weight:700}.tree-sub{color:var(--text-primary);padding-left:18px;font-size:12px;font-weight:600}.tree-leaf{color:var(--text-secondary);padding-left:32px;font-size:12px}.tree-leaf:hover{background:rgba(var(--color-primary-rgb), .15);color:var(--text-primary)}.tree-leaf-added{opacity:.45;cursor:default}.tree-leaf-added:hover{background:0 0}.tree-arrow{text-align:center;width:14px;color:var(--text-secondary);flex-shrink:0;font-size:10px}.tree-icon{text-align:center;flex-shrink:0;width:16px;font-size:12px}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-price{color:var(--accent-primary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px;font-weight:600}.tree-count{background:var(--bg-input);color:var(--text-secondary);border-radius:8px;flex-shrink:0;padding:1px 5px;font-size:10px}.tree-thumb{object-fit:cover;border:1px solid var(--border-light,#e0e0e0);border-radius:4px;flex-shrink:0;width:22px;height:22px}.tree-leaf-selected{border-left:3px solid var(--accent-primary);padding-left:29px;background:rgba(var(--color-primary-rgb), .12)!important}.btn-tree-add{cursor:pointer;color:var(--accent-primary);opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1;transition:all .15s;display:none}.btn-tree-add:hover{opacity:1;transform:scale(1.2)}.tree-sub:hover .btn-tree-add{display:inline-block}.tree-select-bar{border-top:1px solid var(--border-color);background:var(--surface-alt,#f0f4ff);justify-content:space-between;align-items:center;padding:8px 12px;animation:.15s slideUp;display:flex}.btn-warning{color:#fff;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:#f59e0b;border:none;padding:4px 8px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.btn-warning:hover{background:#d97706}.btn-success{color:#fff;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:#10b981;border:none;font-weight:600}.btn-success:hover{background:#059669}.btn-info{color:#fff;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:#0ea5e9;border:none;font-weight:600}.btn-info:hover{background:#0284c7}.btn-purple{color:#fff;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:#8b5cf6;border:none;font-weight:600}.btn-purple:hover{background:#7c3aed}.quick-add-input{transition:all .2s;border-style:dashed!important;border-color:var(--accent-primary)!important;background:0 0!important}.quick-add-input:focus{background:var(--bg-card)!important;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .1)!important;border-style:solid!important}.quick-add-input::placeholder{color:var(--accent-primary);opacity:.4;font-style:italic}.quick-add-dropdown{background:var(--bg-card);border:1px solid var(--border-color);z-index:50;border-radius:8px;max-height:280px;margin-bottom:4px;animation:.1s slideUp;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 24px #00000026}.quick-add-option{cursor:pointer;border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.quick-add-option:last-child{border-bottom:none}.quick-add-option:hover,.quick-add-option-active{background:rgba(var(--color-primary-rgb), .08)}.quick-add-type{flex-shrink:0;font-size:14px}.quick-add-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.quick-add-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.quick-add-price{color:var(--accent-primary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:600}.quotation-subcategory-card{border:1px solid var(--border-light);border-radius:8px;margin-bottom:12px;overflow:hidden}.subcategory-header{background:var(--surface-alt,#f8fafc);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 12px;display:flex}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skip-to-content{background:var(--accent-primary);color:#fff;z-index:9999;padding:8px 16px;font-size:14px;transition:top .2s;position:absolute;top:-50px;left:0}.skip-to-content:focus{top:0}@media (max-width:480px){.header{height:48px;padding:0 8px}.header-title{max-width:120px;font-size:14px}.header-btn{width:32px;height:32px}.page-content{padding:16px!important}.stats-grid{gap:6px;grid-template-columns:1fr 1fr!important}.stat-card{padding:10px}.stat-card .stat-value{font-size:16px}.stat-card .stat-label{font-size:10px}.kpi-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}.warehouse-grid,.finance-summary{grid-template-columns:1fr!important}.page-header-left h1{font-size:18px}.page-header-left p{font-size:11px}.btn{min-height:40px;padding:10px 14px;font-size:12px}.filter-bar .filter-select{width:100%}.card{border-radius:8px;padding:10px}.modal,.modal-content{border-radius:12px 12px 0 0;max-height:100vh}.data-table{font-size:11px}.data-table th{padding:6px 8px;font-size:9px}.data-table td{padding:8px;font-size:11px}.finance-card .fc-value{font-size:16px}.settlement-profit .profit-value{font-size:24px}}.mobile-card-list{display:none}@media (max-width:1200px){.projects-table th.col-laptop-hide,.projects-table td.col-laptop-hide{display:none}}.customer-header-top{align-items:flex-start;gap:16px;display:flex}.dashboard-grid{grid-template-columns:1fr 1fr}.desktop-table-view{display:block}.desktop-table-view.kanban-board{display:flex}@media (max-width:768px){.mobile-card-list{flex-direction:column;gap:8px;display:flex}.desktop-table-view,.desktop-table-view.kanban-board{display:none!important}.customer-header-top{align-items:center;gap:12px;display:flex}.dashboard-grid{grid-template-columns:1fr!important}}.mobile-card-item{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:10px;padding:14px}.mobile-card-item:active{background:var(--bg-card-hover);transform:scale(.98)}.mobile-card-item .card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-card-item .card-row+.card-row{border-top:1px solid var(--border-light);margin-top:8px;padding-top:8px}.mobile-card-item .card-label{color:var(--text-muted);font-size:11px}.mobile-card-item .card-value{color:var(--text-primary);font-size:13px;font-weight:600}.mobile-card-item .card-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.mobile-card-item .card-subtitle{color:var(--text-secondary);font-size:12px}.mobile-filter-toolbar{display:none}@media (max-width:768px){.mobile-filter-toolbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.mobile-filter-toolbar::-webkit-scrollbar{display:none}.mobile-filter-chip{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:36px;transition:all var(--transition-fast);border-radius:20px;align-items:center;gap:4px;padding:8px 14px;font-size:12px;font-weight:500;display:inline-flex}.mobile-filter-chip.active{background:var(--accent-gradient);color:#fff;border-color:var(--accent-primary)}}.toolbar-mobile{flex-direction:column;gap:8px;display:flex}@media (min-width:769px){.toolbar-mobile{flex-direction:row;align-items:center}}@media (max-width:768px){.kanban-board{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding-bottom:12px;display:flex;overflow-x:auto}.kanban-board::-webkit-scrollbar{display:none}.kanban-column{scroll-snap-align:start;flex-shrink:0;min-width:280px;max-width:300px}a,button,[role=button],select,input[type=checkbox],input[type=radio]{min-height:36px}input,select,textarea{font-size:16px!important}*{-webkit-overflow-scrolling:touch}.stat-card:hover{transform:none}.card:hover{border-color:var(--border-color);box-shadow:none}.data-table tbody tr:hover{background:0 0}}.quotation-layout{gap:16px;min-height:calc(100vh - 80px);display:flex;position:relative}.quotation-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.quotation-tree-wrapper{width:300px;min-width:300px;max-height:calc(100vh - var(--header-height) - 16px);top:calc(var(--header-height) + 12px);position:sticky}.quotation-tree-wrapper .quotation-tree-sidebar{height:100%;max-height:calc(100vh - var(--header-height) - 16px)}.quotation-tree-toggle,.quotation-tree-overlay{display:none}.quotation-tree-close{display:none!important}.quotation-sticky-bar{top:var(--header-height);z-index:50;background:var(--bg-primary);border-bottom:1px solid var(--border-light);margin:0 -4px;padding:12px 4px 4px;position:sticky}.quotation-category-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.subcategory-image-thumb{border:2px dashed var(--border-color);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:border-color .2s;display:flex;overflow:hidden}.subcategory-image-thumb:hover{border-color:var(--accent-primary)}.subcategory-image-thumb img{object-fit:cover;width:100%;height:100%}.subcategory-image-thumb .placeholder{opacity:.3;font-size:18px}.quotation-list-desktop{display:block}.quotation-list-mobile{display:none}.quotation-mobile-card{border-bottom:1px solid var(--border-color);cursor:pointer;padding:14px;transition:background .15s}.quotation-mobile-card:hover{background:var(--bg-card-hover)}.quotation-mobile-card:last-child{border-bottom:none}@media (max-width:768px){.quotation-layout{flex-direction:column;gap:0}.quotation-tree-wrapper{z-index:1001;width:300px;min-width:300px;height:100vh;max-height:100vh;transition:left .3s;position:fixed;top:0;left:-320px}.quotation-tree-wrapper.open{left:0}.quotation-tree-wrapper .quotation-tree-sidebar{border-radius:0;height:100vh;max-height:100vh}.quotation-tree-toggle{z-index:100;border-radius:50px;padding:10px 18px;font-size:13px;display:inline-flex;position:fixed;bottom:16px;left:16px;box-shadow:0 4px 16px #00000040}.quotation-tree-overlay{z-index:1000;background:#0006;display:block;position:fixed;inset:0}.quotation-tree-close{display:inline-flex!important}.quotation-list-desktop{display:none}.quotation-list-mobile{display:block}.quotation-detail-table{min-width:800px}.quotation-summary-grid{max-width:100%!important}.quotation-category-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;padding-bottom:4px;overflow-x:auto}.quotation-category-tabs .btn{white-space:nowrap;flex-shrink:0;padding:8px 14px}}@media (max-width:480px){.quotation-page-header{flex-direction:column;align-items:stretch}.quotation-page-header>div{justify-content:flex-end}}.journal-timeline{flex-direction:column;gap:16px;display:flex}.journal-entry-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:16px 20px;transition:box-shadow .2s;position:relative}.journal-entry-card:hover{box-shadow:0 2px 12px #00000014}.journal-entry-card:before{content:"";background:linear-gradient(180deg, var(--accent-primary), var(--accent-secondary,#6366f1));border-radius:2px;width:3px;position:absolute;top:16px;bottom:16px;left:-1px}.journal-entry-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.journal-ai-summary{border-left:3px solid var(--accent-primary);color:var(--text-primary);background:#6366f10d;border-radius:6px;margin-bottom:8px;padding:10px 14px;font-size:13px;line-height:1.6}.journal-raw-input{margin-top:8px}.commitment-board{grid-template-columns:repeat(3,1fr);gap:16px;min-height:300px;display:grid}.commitment-column{background:var(--bg-secondary,#f8fafc);border-radius:10px;flex-direction:column;padding:12px;display:flex}.commitment-column-pending{border-top:3px solid #f59e0b}.commitment-column-committed{border-top:3px solid #3b82f6}.commitment-column-done{border-top:3px solid #10b981}.commitment-column-header{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 4px;font-size:13px;font-weight:700;display:flex}.commitment-column-body{flex-direction:column;flex:1;gap:8px;display:flex}.commitment-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;padding:10px 12px;transition:all .15s}.commitment-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.commitment-overdue{background:#ef44440a;border-color:#ef444466}.commitment-overdue:before{content:"";background:#ef4444;border-radius:8px 0 0 8px;width:3px;position:absolute;top:0;bottom:0;left:0}@media (max-width:768px){.commitment-board{grid-template-columns:1fr;gap:12px}}.budget-lock-bar{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.variance-stat{background:var(--bg-secondary,#f8fafc);border-radius:8px;flex-direction:column;gap:2px;padding:8px 16px;display:flex}.variance-progress-bar{background:var(--bg-input);border-radius:3px;flex:1;min-width:50px;height:6px;overflow:hidden}.variance-progress-fill{border-radius:3px;height:100%;transition:width .3s}.variance-status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.contract-detail-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.contract-detail-layout{grid-template-columns:1fr 340px;gap:20px;display:grid}.contract-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.contract-mobile-summary{display:none}@media (max-width:768px){.contract-detail-layout{grid-template-columns:1fr}.contract-form-grid{grid-template-columns:1fr 1fr;gap:0 10px}.contract-mobile-summary{margin-bottom:14px;display:block}.contract-detail-layout>div:last-child{display:none}}.contract-type-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px;display:grid}.contract-type-card{padding:14px!important}@media (max-width:768px){.contract-type-grid{grid-template-columns:repeat(2,1fr);gap:8px}.contract-type-card{padding:12px!important}.contract-type-card>div:nth-child(2){font-size:12px!important}}.profitability-widget{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:4px;display:grid}.profitability-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:16px;transition:box-shadow .2s}.profitability-card:hover{box-shadow:0 2px 12px #0000000f}@media (max-width:768px){.profitability-widget{grid-template-columns:repeat(2,1fr)}.profitability-card{padding:10px 12px}.profitability-card>div:nth-child(2){font-size:15px!important}.overview-grid{grid-template-columns:1fr!important;gap:12px!important}.project-header-row{flex-direction:column}.project-header-row>div:last-child{align-items:center;gap:12px;width:100%;flex-direction:row!important}.budget-lock-bar{flex-direction:column;gap:12px}.schedule-btn-label,.schedule-toolbar .badge{display:none}.gantt-legend span+span{margin-left:8px!important}html,body{width:100%;overflow-x:hidden}.app-layout{overflow-x:hidden}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:12px!important}.card-header{flex-wrap:wrap;align-items:flex-start;gap:10px}.card-header .btn,.card-header button{min-height:40px}.page-header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.page-header-right{flex-wrap:wrap;gap:8px;display:flex}.overview-grid,.detail-grid,.two-col-grid{grid-template-columns:1fr!important}.table-container{border-radius:8px;position:relative}.table-container:after{content:"";background:linear-gradient(to left, var(--bg-card), transparent);pointer-events:none;border-radius:0 8px 8px 0;width:32px;height:100%;display:none;position:absolute;top:0;right:0}.filter-bar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.filter-bar>*{flex:none!important;width:100%!important;min-width:0!important}.form-row{grid-template-columns:1fr!important;gap:0!important}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:4px;width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0;padding:8px 12px;font-size:12px}.card:hover,.stat-card:hover,.warehouse-card:hover,.dept-card:hover{transform:none!important}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal{border-radius:16px 16px 0 0!important;width:100vw!important;max-width:100vw!important;max-height:92vh!important;margin:0!important}.modal-content{border-radius:16px 16px 0 0!important;width:100%!important;max-width:100%!important;max-height:92vh!important}.grid-2,.grid-3,.grid-2-1,.grid-1-1{grid-template-columns:1fr!important;gap:12px!important}.finance-summary{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.finance-card{padding:12px!important}.finance-card .fc-value{font-size:16px!important}.warehouse-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.dept-grid{grid-template-columns:1fr!important}.btn{-webkit-tap-highlight-color:transparent;min-height:44px!important}.btn-sm{min-height:38px!important}.btn-icon{min-width:44px!important;min-height:44px!important}input[type=text],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=date],select,textarea{-webkit-appearance:none;font-size:16px!important}.pipeline{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.pipeline::-webkit-scrollbar{display:none}.kanban-board{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px;overflow-x:auto}.kanban-column{scroll-snap-align:start;min-width:280px}.page-header-left h1{line-height:1.3;font-size:20px!important}.action-bar{flex-wrap:wrap;gap:8px}.sidebar{padding-bottom:env(safe-area-inset-bottom,0px)}.page-content{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (min-width:769px) and (max-width:1024px){.page-content{padding:20px 24px}.stats-grid{grid-template-columns:repeat(3,1fr)!important}.grid-2,.grid-1-1,.grid-3,.warehouse-grid,.dept-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.page-content{padding:16px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.stat-card{padding:10px 12px!important}.stat-card .stat-value{font-size:16px!important}.stat-card .stat-label{font-size:10px!important}.stat-icon{font-size:18px!important}.card{border-radius:10px!important;padding:12px!important}.card-header{margin-bottom:10px!important;padding-bottom:10px!important}.card-title{font-size:13px!important}.finance-summary,.warehouse-grid{grid-template-columns:1fr!important;gap:6px!important}.page-header-left h1{font-size:17px!important}.btn{padding:10px 12px!important;font-size:12px!important}.modal-body,.modal-header{padding:12px!important}.modal-footer{padding:10px 12px!important}.data-table{font-size:11px!important}.data-table th{padding:6px 8px!important;font-size:9px!important}.data-table td{padding:8px!important;font-size:11px!important}.badge{padding:3px 8px!important;font-size:10px!important}.tabs{gap:2px!important}.tab{padding:6px 10px!important;font-size:11px!important}}.mobile-bottom-nav-wrapper{display:none}@media (max-width:768px){.mobile-bottom-nav-wrapper{display:block}.page-content{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}.tab-bar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tab-item{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.tab-item:hover{background:var(--bg-primary);color:var(--text-secondary)}.tab-item.active{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb), .18);font-weight:600}.tab-bar-scroll{border-bottom:2px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:0;display:flex;overflow-x:auto}.tab-bar-scroll::-webkit-scrollbar{display:none}.tab-bar-scroll button{white-space:nowrap;flex-shrink:0}@media (max-width:768px){[style*="repeat(4, 1fr)"],[style*="repeat(3, 1fr)"]{grid-template-columns:repeat(2,1fr)!important}.toolbar-wrap{flex-wrap:wrap!important;gap:8px!important}.toolbar-wrap>*{min-width:0}.modal-grid-2{grid-template-columns:1fr!important}}@media (max-width:1024px){.workshop-finance-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:600px){.workshop-finance-grid{grid-template-columns:1fr!important}}@media (max-width:768px){*{-webkit-tap-highlight-color:transparent}.btn:active,.nav-item:active,.stat-card:active{opacity:.88;transition:transform .1s,opacity .1s;transform:scale(.97)}.header{background:var(--bg-secondary)!important;height:56px!important;box-shadow:0 1px 0 var(--border-color)!important;border-bottom:none!important;padding:0 8px 0 4px!important}.header-title{letter-spacing:-.3px!important;font-size:17px!important;font-weight:700!important}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;border-radius:22px;justify-content:center;align-items:center;width:44px;height:44px;display:flex!important}.mobile-menu-btn:active{background:#00000014}.page-content{padding:16px 16px calc(80px + env(safe-area-inset-bottom,0px))!important}.stat-card{border-radius:16px!important;padding:14px 16px!important;box-shadow:0 1px 4px #00000014!important}.card{border-radius:16px!important;box-shadow:0 1px 4px #00000014!important}.btn{min-height:44px;border-radius:10px!important;padding:10px 18px!important}.btn-sm{min-height:36px;padding:7px 14px!important}.desktop-table-only{display:none!important}.sidebar{box-shadow:none!important;transition:transform .28s cubic-bezier(.4,0,.2,1)!important}.sidebar.open{box-shadow:8px 0 24px #00000040!important}.sidebar-overlay.visible{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-bottom-nav-wrapper{display:block}input,select,textarea{min-height:44px;font-size:16px!important}.page-header{flex-wrap:wrap;gap:10px;margin-bottom:14px!important}.page-header-left h1{font-size:20px!important;font-weight:800!important}.page-header-left p{font-size:12px!important}.main-content{margin-left:0!important;padding-top:56px!important}.card-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding-bottom:12px!important}.tab-bar{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;gap:4px!important;display:flex!important;overflow-x:auto!important}.tab-bar::-webkit-scrollbar{display:none}.tab-bar .tab-item{white-space:nowrap!important;flex-shrink:0!important;padding:7px 12px!important;font-size:12px!important}.card-header>.btn{justify-content:center!important;width:100%!important;min-height:44px!important}.form-row{grid-template-columns:1fr!important;gap:12px!important}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-content{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 56px - env(safe-area-inset-top,0px))!important;border-radius:20px 20px 0 0!important;flex-direction:column!important;margin:0!important;animation:.28s cubic-bezier(.4,0,.2,1) slideUp!important;display:flex!important;overflow:hidden!important}@keyframes slideUp{0%{opacity:.7;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-content:before{content:"";background:var(--border-color);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0;display:block}.modal-header{flex-shrink:0!important;padding:12px 18px!important}.modal-header h3{font-size:15px!important;font-weight:700!important}.modal-close{width:36px!important;height:36px!important;font-size:20px!important}.modal-body{-webkit-overflow-scrolling:touch!important;flex:1!important;padding:14px 16px!important;overflow-y:auto!important}.modal-footer{padding:12px 16px calc(72px + env(safe-area-inset-bottom,0px))!important;flex-direction:row!important;flex-shrink:0!important;gap:10px!important}.modal-footer .btn{flex:1!important;justify-content:center!important;min-height:48px!important}.modal-body .form-row{grid-template-columns:1fr!important}.modal-body input,.modal-body select,.modal-body textarea{min-height:46px!important;font-size:16px!important}.modal-body [style*="position: absolute"]{max-height:200px!important}}.ai-doc-print-toolbar{justify-content:center;gap:10px;padding:16px;display:flex}.ai-doc-print-sheet{color:#1a1a1a;background:#fff;border-radius:4px;max-width:210mm;margin:0 auto 40px;padding:18mm 16mm;font-family:Times New Roman,Times,serif;font-size:13px;line-height:1.6;box-shadow:0 2px 12px #0000001f}.ai-doc-print-header{border-bottom:2px solid #e05b0a;justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:8px;display:flex}.ai-doc-print-brand{letter-spacing:.5px;color:#1e3a5f;font-size:12px;font-weight:700}.ai-doc-print-meta{color:#666;font-size:11px}.ai-doc-print-content h1,.ai-doc-print-content h2,.ai-doc-print-content h3,.ai-doc-print-content h4{text-align:center;margin:14px 0 10px}.ai-doc-print-content h1{font-size:16px}.ai-doc-print-content h2{font-size:14.5px}.ai-doc-print-content h3{text-align:left;font-size:13.5px}.ai-doc-print-content p{margin:0 0 10px}.ai-doc-print-content ul,.ai-doc-print-content ol{margin:0 0 10px 20px;padding:0}.ai-doc-print-content li{margin-bottom:4px}.ai-doc-print-content hr{border:none;border-top:1px solid #ccc;margin:14px 0}.doc-table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:12.5px}.doc-table th,.doc-table td{text-align:left;vertical-align:top;border:1px solid #999;padding:5px 7px}.doc-table th{background:#f0f0f0;font-weight:700}.ai-doc-print-footer{color:#888;text-align:right;border-top:1px solid #ddd;margin-top:24px;padding-top:8px;font-size:10px}@media print{.ai-doc-print-toolbar{display:none}.sidebar,.header,.mobile-bottom-nav-wrapper{display:none!important}.main-content{margin-left:0!important;padding-top:0!important}.ai-doc-print-sheet{box-shadow:none;max-width:none;margin:0;padding:0}@page{size:A4;margin:18mm 16mm}}.wk-mobile-only{display:none}@media (max-width:768px){.wk-desktop-only{display:none!important}.wk-mobile-only{display:block}.wk-m-toolbar{border-bottom:1px solid var(--border-light);flex-direction:column;gap:10px;padding:12px;display:flex}.wk-m-datenav{align-items:stretch;gap:8px;display:flex}.wk-m-navbtn{border:1px solid var(--border-color);background:var(--bg-card);width:48px;color:var(--text-primary);cursor:pointer;border-radius:12px;flex-shrink:0;font-size:18px}.wk-m-navbtn:active{background:var(--bg-card-hover)}.wk-m-date{text-align:center;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;flex-direction:column;flex:1;justify-content:center;min-height:52px;padding:4px 8px;display:flex;position:relative}.wk-m-date.past{color:#92400e;background:#fef9c3;border-color:#fde68a}.wk-m-date .lbl{opacity:.8;font-size:11px;font-weight:600}.wk-m-date .val{font-size:16px;font-weight:800}.wk-m-date input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.wk-m-progress{flex-direction:column;gap:6px;display:flex}.wk-m-progress .row{color:var(--text-secondary);justify-content:space-between;font-size:13px;display:flex}.wk-m-progress .row b{color:var(--text-primary)}.wk-m-bar{background:var(--border-light);border-radius:4px;height:8px;overflow:hidden}.wk-m-bar>div{background:#16a34a;border-radius:4px;height:100%;transition:width .3s}.wk-m-search{gap:8px;display:flex}.wk-m-search input{flex:1;min-height:44px;font-size:16px!important}.wk-m-seg{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.wk-m-seg::-webkit-scrollbar{display:none}.wk-m-seg button{border:1px solid var(--border-color);background:var(--bg-card);min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:18px;flex-shrink:0;padding:0 14px;font-size:13px;font-weight:600}.wk-m-seg button.on{color:#fff;background:#2563eb;border-color:#2563eb}.wk-m-seg button.on.idle{background:#f59e0b;border-color:#f59e0b}.wk-m-bulk{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:12px;min-height:46px;font-size:15px;font-weight:700}.wk-m-bulk:disabled{background:var(--border-light);color:var(--text-muted)}.wk-m-list{flex-direction:column;gap:10px;padding:12px;display:flex}.wk-m-card{background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid #dc2626;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.wk-m-card.done{border-left-color:#16a34a}.wk-m-card.inactive{border-left-color:var(--border-color);opacity:.75}.wk-m-head{align-items:center;gap:10px;display:flex}.wk-m-avatar{color:#1d4ed8;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.wk-m-name{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.25}.wk-m-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.wk-m-icon{border:1px solid var(--border-light);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;text-decoration:none;display:flex}.wk-m-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wk-m-chip{border-radius:14px;padding:4px 10px;font-size:13px;font-weight:700}.wk-m-tasks{color:var(--text-secondary);background:var(--bg-secondary);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px}.wk-m-actions{gap:8px;display:flex}.wk-m-actions button{cursor:pointer;border:none;border-radius:10px;min-height:44px;font-size:14px;font-weight:700}.wk-m-actions button:disabled{opacity:.6}.wk-m-actions .main{color:#fff;background:#2563eb;flex:1}.wk-m-actions .edit{color:#15803d;background:#dcfce7;flex:1}.wk-m-actions .more{color:#1d4ed8;background:#dbeafe;padding:0 14px}.wk-m-actions .ot{color:#b45309;background:#fef3c7;padding:0 14px}.wk-m-empty{text-align:center;color:var(--text-muted);padding:32px 0;font-size:14px}.wk-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.wk-kpi{border-radius:12px!important;padding:10px 12px!important}.wk-kpi>div:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:2px!important;font-size:11px!important}.wk-kpi>div:nth-child(2){line-height:1.2;font-size:20px!important}.wk-kpi>div:nth-child(3){font-size:10px!important}.wk-kpi>div:nth-child(4){display:none}button.wk-m-idle{cursor:pointer;color:#92400e;text-align:left;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 14px;font-size:14px;display:flex}button.wk-m-idle .act{color:#b45309;white-space:nowrap;font-weight:700}.wk-list-card{overflow:hidden;padding:0!important}.wk-list-head{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;margin-bottom:0!important;padding:12px 12px 0!important}.wk-list-head h3{margin:0;font-size:16px}.wk-list-head>.btn{font-size:13px;width:auto!important;min-height:36px!important;padding:6px 14px!important}.wk-list-card .wk-m-toolbar{border-bottom:none;padding-bottom:4px}.wk-list-card .wk-m-list{background:var(--bg-secondary);border-top:1px solid var(--border-light)}.wk-toggle-row{grid-template-columns:1fr 1fr;gap:8px!important;display:grid!important}.wk-toggle-row>.btn{white-space:normal;justify-content:center;line-height:1.3;padding:8px 10px!important;font-size:12px!important}}.cus-dept-tabs{display:none}@media (max-width:768px){.cus-dept-tabs{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;gap:4px;padding:4px;display:flex}.cus-dept-tabs button{cursor:pointer;min-width:0;min-height:40px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.cus-dept-tabs button.on{background:var(--bg-card);color:var(--accent-primary);box-shadow:0 1px 3px #0000001f}.cus-dept-tabs .n{background:var(--border-light);border-radius:8px;padding:0 6px;font-size:11px}.cus-dept-tabs button.on .n{background:var(--accent-primary);color:#fff}}.pd-m-only{display:none}@media (max-width:768px){.pd-m-only{display:block}.pd-pipeline{display:none!important}.btn.pd-back{color:var(--text-secondary);font-size:13px;min-height:34px!important;box-shadow:none!important;background:0 0!important;border:none!important;margin-bottom:10px!important;padding:4px 12px 4px 8px!important}.project-detail-header .project-header-row h2{line-height:1.3;font-size:19px!important}.project-detail-header .project-header-progress{background:var(--bg-secondary)!important;border-radius:12px!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:12px!important}.pd-progress{order:-1;gap:10px!important}.pd-progress>div:first-of-type{line-height:1;font-size:22px!important}.pd-progress .progress-bar{flex:1;height:8px;width:auto!important}.pd-progress-lbl{color:var(--text-secondary);font-size:13px;font-weight:600}.pd-actions{flex-wrap:nowrap!important;justify-content:stretch!important}.pd-actions>.btn{flex:1;justify-content:center;min-height:40px!important;padding:8px 10px!important}.pd-m-steps{padding:16px 0 6px;display:flex}.pd-m-step{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.pd-m-step+.pd-m-step:before{content:"";background:var(--border-color);z-index:0;width:100%;height:2px;position:absolute;top:14px;right:50%}.pd-m-step.line-on:before{background:var(--status-success)}.pd-m-step .dot{z-index:1;border:2px solid var(--border-color);background:var(--bg-card);width:30px;height:30px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:relative}.pd-m-step.done .dot{background:var(--status-success);border-color:var(--status-success);color:#fff}.pd-m-step.active .dot{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 0 4px rgba(var(--color-primary-rgb), .18)}.pd-m-step.mfg{cursor:pointer}.pd-m-step .lbl{text-align:center;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;line-height:1.2;overflow:hidden}.pd-m-step.done .lbl{color:var(--status-success)}.pd-m-step.active .lbl{color:var(--accent-primary);font-weight:700}.project-quick-stats.pd-stats{grid-template-columns:repeat(6,1fr)!important;gap:6px!important;margin-top:12px!important}.pd-stats>div{background:var(--bg-secondary);border-radius:10px;grid-column:span 2;min-width:0;padding:8px 4px!important}.pd-stats>div:nth-child(-n+2){grid-column:span 3}.pd-stats>div>div:first-child{overflow-wrap:anywhere;font-size:13px!important}.project-tabs.pd-tabs{scroll-snap-type:none;border-radius:12px;gap:4px!important;margin-bottom:14px!important;padding:4px!important}.project-tabs.pd-tabs .project-tab{border-radius:9px;min-height:38px;flex-direction:row!important;gap:5px!important;min-width:0!important;padding:8px 12px!important;font-size:12px!important}.project-tabs.pd-tabs .project-tab .tab-label,.project-tabs.pd-tabs .project-tab:not(.active) .tab-label{font-weight:600;font-size:12px!important;display:inline!important}.project-tabs.pd-tabs .project-tab:not(.active){color:var(--text-secondary)}}.jr-m-toggle{display:none!important}@media (max-width:768px){.jr-head h1{font-size:17px!important}.jr-head-actions{scrollbar-width:none;width:100%;padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.jr-head-actions::-webkit-scrollbar{display:none}.jr-head-actions>.btn{flex-shrink:0;font-size:13px;min-height:38px!important;padding:6px 12px!important}.jr-head-actions>.btn-primary{order:-1}.stats-grid.jr-stats{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important}.jr-stats .stat-card{border-radius:12px!important;gap:8px!important;padding:10px!important}.jr-stats .stat-icon{border-radius:9px!important;width:32px!important;min-width:32px!important;height:32px!important;font-size:16px!important}.jr-stats .stat-value{font-size:14px!important}.jr-stats .stat-label{font-size:10px!important}.filter-bar.jr-filter-bar{grid-template-columns:1fr 1fr;gap:8px!important;padding:10px!important;display:grid!important}.jr-filter-bar>*{order:5;width:100%;min-width:0!important}.jr-filter-bar select,.jr-filter-bar input{width:100%;min-width:0!important}.jr-filter-bar>.search-input{order:0;grid-column:1/-1}.jr-filter-bar>.jr-m-toggle{order:1;justify-content:center;display:flex!important}.jr-filter-bar>.jr-print{order:2;justify-content:center}.jr-filter-bar>.jr-count{text-align:center;order:3;grid-column:1/-1}.jr-filter-bar>.jr-clear{color:var(--status-danger);order:6;grid-column:1/-1;justify-content:center}.jr-filter-bar>div:not(.jr-count),.jr-filter-bar>.jr-full{grid-column:1/-1}.jr-filter-bar>div:not(.jr-count)>select{flex:1}.jr-filter-bar:not(.open)>:not(.search-input):not(.jr-m-toggle):not(.jr-print):not(.jr-count){display:none!important}.jr-cards{padding:8px}.jr-card{background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--status-danger);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.jr-card.in{border-left-color:var(--status-success)}.jr-card:active{background:var(--bg-card-hover)}.jr-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.jr-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.jr-card-top .badge{flex-shrink:0;font-size:10px}.jr-card-meta{color:var(--text-muted);font-size:12px}.jr-card-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.jr-card-src{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.jr-card-amt{flex-direction:column;flex-shrink:0;align-items:flex-end;font-size:16px;font-weight:800;display:flex}}
