:root{--primary: #1A56DB;--color-primary: var(--primary);--primary-hover: #1E40AF;--color-primary-hover: var(--primary-hover);--primary-light: #EFF6FF;--color-primary-light: var(--primary-light);--secondary: #6B7280;--color-secondary: var(--secondary);--neutral: #F8F9FC;--color-neutral: var(--neutral);--surface: #FFFFFF;--color-surface: var(--surface);--danger: #C53030;--color-danger: var(--danger);--danger-light: #FEE2E2;--color-danger-light: var(--danger-light);--danger-hover: #A32626;--color-danger-hover: var(--danger-hover);--error-bg: var(--danger-light);--error-text: var(--danger);--success: #16A34A;--color-success: var(--success);--success-light: #DCFCE7;--color-success-light: var(--success-light);--success-text: var(--success);--warning: #D97706;--color-warning: var(--warning);--warning-light: #FEF3C7;--color-warning-light: var(--warning-light);--warning-text: var(--warning);--border: #E5E7EB;--color-border: var(--border);--border-strong: #D1D5DB;--color-border-strong: var(--border-strong);--text: #111827;--color-text: var(--text);--text-secondary: #6B7280;--color-text-secondary: var(--text-secondary);--text-tertiary: #9CA3AF;--color-text-tertiary: var(--text-tertiary);--text-muted: #D1D5DB;--color-text-muted: var(--text-muted);--sidebar-bg: #0F1623;--color-sidebar: var(--sidebar-bg);--color-sidebar-bg: var(--sidebar-bg);--sidebar-border: #1F2937;--color-sidebar-border: var(--sidebar-border);--sidebar-text: #9CA3AF;--color-sidebar-text: var(--sidebar-text);--sidebar-text-hover: #D1D5DB;--color-sidebar-text-hover: var(--sidebar-text-hover);--sidebar-text-active: #FFFFFF;--color-sidebar-text-active: var(--sidebar-text-active);--sidebar-hover-bg: #1D2432;--color-sidebar-hover-bg: var(--sidebar-hover-bg);--sidebar-active-bg: #1D2432;--color-sidebar-active-bg: var(--sidebar-active-bg);--sidebar-active-border: #2563EB;--color-sidebar-active-border: var(--sidebar-active-border);--status-active-bg: #DCFCE7;--color-status-active-bg: var(--status-active-bg);--status-active-text: #15803D;--color-status-active-text: var(--status-active-text);--status-draft-bg: #F3F4F6;--color-status-draft-bg: var(--status-draft-bg);--status-draft-text: #4B5563;--color-status-draft-text: var(--status-draft-text);--status-archived-bg: #FEE2E2;--color-status-archived-bg: var(--status-archived-bg);--status-archived-text: #B91C1C;--color-status-archived-text: var(--status-archived-text);--table-row-danger-bg: #FEF2F2;--color-table-row-danger-bg: var(--table-row-danger-bg);--focus-ring-color: var(--primary);--focus-ring-width: 2px;--focus-ring-offset: 1px;--scrim: rgba(0, 0, 0, .48);--color-scrim: var(--scrim);--font-family-sans: Inter, system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Mono", Consolas, monospace;--font-h1-family: var(--font-family-sans);--font-h1-size: 20px;--font-h1-weight: 700;--font-h1-line-height: 1.25;--font-h1-letter-spacing: -.01em;--font-h2-family: var(--font-family-sans);--font-h2-size: 16px;--font-h2-weight: 600;--font-h2-line-height: 1.3;--font-h2-letter-spacing: -.005em;--font-h3-family: var(--font-family-sans);--font-h3-size: 14px;--font-h3-weight: 600;--font-h3-line-height: 1.35;--font-h3-letter-spacing: 0;--font-body-md-family: var(--font-family-sans);--font-body-md-size: 13px;--font-body-md-weight: 400;--font-body-md-line-height: 1.5;--font-body-md-letter-spacing: 0;--font-body-sm-family: var(--font-family-sans);--font-body-sm-size: 12px;--font-body-sm-weight: 400;--font-body-sm-line-height: 1.5;--font-body-sm-letter-spacing: 0;--font-label-family: var(--font-family-sans);--font-label-size: 11px;--font-label-weight: 700;--font-label-line-height: 1.2;--font-label-letter-spacing: .07em;--font-label-transform: uppercase;--font-mono-family: var(--font-family-mono);--font-mono-size: 12px;--font-mono-weight: 400;--font-mono-line-height: 1.5;--font-mono-letter-spacing: .01em;--font-mono-feature-settings: "tnum" 1;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--rounded-sm: 4px;--rounded-md: 6px;--rounded-lg: 8px;--rounded-xl: 10px;--rounded-full: 9999px;--shadow-0: none;--shadow-1: 0 1px 3px rgba(0, 0, 0, .08);--shadow-2: 0 8px 32px rgba(0, 0, 0, .16);--elevation-0: var(--shadow-0);--elevation-1: var(--shadow-1);--elevation-2: var(--shadow-2);--z-base: 0;--z-raised: 10;--z-sticky: 90;--z-status: 90;--z-topbar: 100;--z-modal: 200;--z-tooltip: 300;--component-height: 36px;--component-height-sm: 28px;--component-height-lg: 44px;--row-height: 36px;--topbar-height: 56px;--sidebar-width: 240px;--sidebar-width-collapsed: 60px;--btn-padding-x: 16px;--btn-padding-x-sm: 14px;--input-padding-x: 12px;--form-section-padding: 20px;--content-padding: var(--spacing-xl);--status-bar-padding: 10px 0;--sidebar-item-padding: 0 12px;--form-grid-cols: 1fr 1fr;--form-grid-gap: var(--spacing-lg);--content-gutter: var(--spacing-xl);--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px;--border-width: 1px;--border-style: solid;--border-default: var(--border-width) var(--border-style) var(--border);--border-strong-default: var(--border-width) var(--border-style) var(--border-strong);--border-sidebar: var(--border-width) var(--border-style) var(--sidebar-border);--sidebar-active-indicator-width: 3px;--sidebar-active-indicator-color: var(--sidebar-active-border);--transition-fast: .1s ease-out;--transition-base: .15s ease-out;--transition-slow: .25s ease-out;--transition-color: color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base);--transition-opacity: opacity var(--transition-base);--transition-shadow: box-shadow var(--transition-base);--transition-transform: transform var(--transition-base);--bp-xs: 0px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--badge-padding: 2px 10px;--badge-radius: var(--rounded-full);--badge-font-size: var(--font-body-sm-size);--badge-font-weight: var(--font-body-sm-weight);--badge-line-height: var(--font-body-sm-line-height);--table-header-bg: var(--surface);--table-header-text: var(--text-secondary);--table-row-bg: var(--surface);--table-row-text: var(--text);--table-row-hover-bg: var(--neutral);--table-row-selected-bg: var(--primary-light);--input-bg: var(--surface);--input-text: var(--text);--input-placeholder: var(--text-muted);--input-border: var(--border);--input-focus-border: var(--primary);--input-error-border: var(--danger);--input-disabled-bg: var(--neutral);--input-disabled-opacity: .5;--btn-primary-bg: var(--primary);--btn-primary-text: #FFFFFF;--btn-primary-hover-bg: var(--primary-hover);--btn-primary-radius: var(--rounded-md);--btn-secondary-bg: var(--surface);--btn-secondary-text: var(--text);--btn-secondary-border: var(--border);--btn-secondary-hover-bg: var(--neutral);--btn-secondary-radius: var(--rounded-md);--btn-danger-bg: var(--danger);--btn-danger-text: #FFFFFF;--btn-danger-hover-bg: var(--danger-hover);--btn-danger-radius: var(--rounded-md);--topbar-bg: var(--surface);--topbar-text: var(--text);--topbar-border: var(--border);--status-bar-bg: var(--surface);--status-bar-text: var(--text);--status-bar-border: var(--border);--form-section-bg: var(--surface);--form-section-text: var(--text);--form-section-border: var(--border);--form-section-radius: var(--rounded-lg);--form-section-shadow: var(--shadow-1);--login-card-width: 400px;--login-card-padding: var(--spacing-2xl);--login-card-radius: var(--rounded-xl);--login-card-bg: var(--surface);--login-card-border: var(--border);--login-card-shadow: var(--shadow-1);--modal-bg: var(--surface);--modal-border: var(--border);--modal-radius: var(--rounded-lg);--modal-shadow: var(--shadow-2);--modal-padding: var(--spacing-xl);--tooltip-bg: var(--text);--tooltip-text: #FFFFFF;--tooltip-radius: var(--rounded-sm);--tooltip-padding: 4px 8px;--tooltip-font-size: var(--font-body-sm-size);--dropdown-bg: var(--surface);--dropdown-border: var(--border);--dropdown-radius: var(--rounded-md);--dropdown-shadow: var(--shadow-1);--dropdown-item-hover-bg: var(--neutral);--dropdown-item-text: var(--text);--checkbox-size: 16px;--checkbox-radius: var(--rounded-sm);--checkbox-border: var(--border-strong);--checkbox-checked-bg: var(--primary);--checkbox-checked-border: var(--primary);--checkbox-checked-icon: #FFFFFF;--toast-bg: var(--text);--toast-text: #FFFFFF;--toast-success-bg: var(--success);--toast-error-bg: var(--danger);--toast-warning-bg: var(--warning);--toast-radius: var(--rounded-md);--toast-shadow: var(--shadow-2);--toast-padding: var(--spacing-sm) var(--spacing-md);--pagination-text: var(--text-secondary);--pagination-active-bg: var(--primary-light);--pagination-active-text: var(--primary);--pagination-hover-bg: var(--neutral);--pagination-radius: var(--rounded-sm);--chip-bg: var(--surface);--chip-border: var(--border);--chip-text: var(--text-secondary);--chip-radius: var(--rounded-sm);--chip-hover-bg: var(--neutral);--chip-active-bg: var(--primary-light);--chip-active-border: var(--primary);--chip-active-text: var(--primary);--search-max-width: 480px;--search-bg: var(--neutral);--search-border: var(--border);--search-radius: var(--rounded-md);--search-text: var(--text);--search-placeholder: var(--text-muted);--avatar-size-sm: 24px;--avatar-size-md: 32px;--avatar-size-lg: 40px;--avatar-radius: var(--rounded-full);--avatar-bg: var(--primary-light);--avatar-text: var(--primary);--skeleton-bg: var(--neutral);--skeleton-shine: rgba(255, 255, 255, .6);--skeleton-radius: var(--rounded-sm);--divider-color: var(--border);--divider-strong-color: var(--border-strong);--thumbnail-size: 32px;--thumbnail-radius: var(--rounded-sm);--thumbnail-bg: var(--neutral);--bulk-bar-bg: var(--primary-light);--bulk-bar-text: var(--text);--bulk-bar-border: var(--primary);--bulk-bar-height: 40px;--command-bar-bg: var(--surface);--command-bar-border: var(--border);--command-bar-padding: 10px var(--spacing-xl);--command-bar-gap: var(--spacing-xl);--disabled-opacity: .5;--hc-border: ButtonBorder;--hc-text: ButtonText}.rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);height:var(--component-height);padding:0 var(--btn-padding-x);font-family:var(--font-body-md-family);font-size:var(--font-body-md-size);font-weight:500;line-height:var(--font-body-md-line-height);white-space:nowrap;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:var(--transition-color);outline:none}.rp-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.rp-btn:disabled,.rp-btn[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:not-allowed;pointer-events:none}.rp-btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);border-radius:var(--btn-primary-radius)}.rp-btn-primary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-bg)}.rp-btn-ghost{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);border-radius:var(--btn-secondary-radius);padding:0 var(--btn-padding-x-sm)}.rp-btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--btn-secondary-hover-bg)}.rp-btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-bg);border-radius:var(--btn-danger-radius)}.rp-btn-danger:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--btn-danger-hover-bg);border-color:var(--btn-danger-hover-bg)}.rp-btn--loading{pointer-events:none;opacity:.75;position:relative}.rp-badge{display:inline-flex;align-items:center;padding:var(--badge-padding);border-radius:var(--badge-radius);font-family:var(--font-body-sm-family);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:var(--badge-line-height);white-space:nowrap}.rp-badge--in-stock{background-color:var(--status-active-bg);color:var(--status-active-text)}.rp-badge--low-stock{background-color:var(--warning-light);color:var(--warning-text)}.rp-badge--out-stock{background-color:var(--danger-light);color:var(--error-text)}.rp-badge--draft{background-color:var(--status-draft-bg);color:var(--status-draft-text)}.rp-badge--active{background-color:var(--status-active-bg);color:var(--status-active-text)}.rp-badge--archived{background-color:var(--status-archived-bg);color:var(--status-archived-text)}.rp-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rp-field__label{font-family:var(--font-label-family);font-size:var(--font-label-size);font-weight:var(--font-label-weight);line-height:var(--font-label-line-height);letter-spacing:var(--font-label-letter-spacing);text-transform:var(--font-label-transform);color:var(--text-secondary)}.rp-field__label--required:after{content:" *";color:var(--error-text)}.rp-field__input{display:block;width:100%;height:var(--component-height);padding:0 var(--input-padding-x);font-family:var(--font-body-md-family);font-size:var(--font-body-md-size);font-weight:var(--font-body-md-weight);line-height:var(--font-body-md-line-height);color:var(--input-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--rounded-md);outline:none;transition:var(--transition-color);box-sizing:border-box}.rp-field__input::placeholder{color:var(--input-placeholder)}.rp-field__input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb,var(--primary) 20%,transparent)}.rp-field__input:disabled{background-color:var(--input-disabled-bg);opacity:var(--input-disabled-opacity);cursor:not-allowed}.rp-field__input--error{border-color:var(--input-error-border)}.rp-field__input--error:focus{border-color:var(--input-error-border);box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb,var(--danger) 20%,transparent)}.rp-field__input--mono{font-family:var(--font-mono-family);font-size:var(--font-mono-size);letter-spacing:var(--font-mono-letter-spacing);font-feature-settings:var(--font-mono-feature-settings)}.rp-field__error{font-family:var(--font-body-sm-family);font-size:var(--font-body-sm-size);color:var(--error-text);margin-top:var(--spacing-xs)}.rp-field__helper{font-family:var(--font-body-sm-family);font-size:var(--font-body-sm-size);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.rp-field__textarea{display:block;width:100%;min-height:calc(var(--component-height) * 3);padding:var(--spacing-sm) var(--input-padding-x);font-family:var(--font-body-md-family);font-size:var(--font-body-md-size);color:var(--input-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--rounded-md);resize:vertical;outline:none;transition:var(--transition-color);box-sizing:border-box}.rp-field__textarea::placeholder{color:var(--input-placeholder)}.rp-field__textarea:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb,var(--primary) 20%,transparent)}.rp-group__label{font-family:var(--font-label-family);font-size:var(--font-label-size);font-weight:var(--font-label-weight);line-height:var(--font-label-line-height);letter-spacing:var(--font-label-letter-spacing);text-transform:var(--font-label-transform);color:var(--text-secondary);margin-bottom:var(--spacing-md);display:block}.rp-form-actions{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--command-bar-bg);border-top:1px solid var(--command-bar-border);padding:var(--command-bar-padding);position:sticky;bottom:0;z-index:var(--z-sticky)}.rp-form-actions__spacer{flex:1}.rp-form-actions .rp-btn-danger{margin-left:var(--spacing-xl)}.rp-sidebar__item{display:flex;align-items:center;gap:var(--spacing-sm);height:var(--row-height);padding:var(--sidebar-item-padding);font-family:var(--font-body-md-family);font-size:var(--font-body-md-size);font-weight:var(--font-body-md-weight);line-height:var(--font-body-md-line-height);color:var(--sidebar-text);text-decoration:none;border-radius:0;border-left:3px solid transparent;cursor:pointer;transition:var(--transition-color);white-space:nowrap;overflow:hidden}.rp-sidebar__item:hover{background-color:var(--sidebar-hover-bg);color:var(--sidebar-text-hover)}.rp-sidebar__item--active{background-color:var(--sidebar-active-bg);color:var(--sidebar-text-active);border-left-color:var(--sidebar-active-indicator-color);font-weight:500}.rp-sidebar__item--active:hover{background-color:var(--sidebar-active-bg);color:var(--sidebar-text-active)}.rp-sidebar__section-label{display:block;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-label-family);font-size:var(--font-label-size);font-weight:var(--font-label-weight);letter-spacing:var(--font-label-letter-spacing);text-transform:var(--font-label-transform);color:var(--sidebar-text);pointer-events:none;-webkit-user-select:none;user-select:none}.rp-table-header{background-color:var(--table-header-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-raised)}.rp-table-header th{height:var(--row-height);padding:0 var(--spacing-sm);font-family:var(--font-label-family);font-size:var(--font-label-size);font-weight:var(--font-label-weight);line-height:var(--font-label-line-height);letter-spacing:var(--font-label-letter-spacing);text-transform:var(--font-label-transform);color:var(--table-header-text);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.rp-table-header th[aria-sort]{cursor:pointer}.rp-table-header th[aria-sort]:hover{color:var(--text)}.rp-table-row{height:var(--row-height);background-color:var(--table-row-bg);border-bottom:1px solid var(--border);transition:background-color var(--transition-fast);cursor:pointer}.rp-table-row td{height:var(--row-height);padding:0 var(--spacing-sm);font-family:var(--font-body-md-family);font-size:var(--font-body-md-size);font-weight:var(--font-body-md-weight);color:var(--table-row-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.rp-table-row:hover{background-color:var(--table-row-hover-bg)}.rp-table-row--selected{background-color:var(--table-row-selected-bg)}.rp-table-row--zero-stock{background-color:var(--table-row-danger-bg)}.rp-table-row--zero-stock:hover{background-color:var(--table-row-danger-bg);filter:brightness(.97)}.rp-table-row td.rp-cell--mono{font-family:var(--font-mono-family);font-size:var(--font-mono-size);letter-spacing:var(--font-mono-letter-spacing);font-feature-settings:var(--font-mono-feature-settings)}.rp-table-row .rp-row-actions{opacity:0;transition:opacity var(--transition-fast)}.rp-table-row:hover .rp-row-actions{opacity:1}.rp-form-section{background-color:var(--form-section-bg);border:1px solid var(--form-section-border);border-radius:var(--form-section-radius);padding:var(--form-section-padding);box-shadow:var(--form-section-shadow);margin-bottom:var(--spacing-lg)}.rp-form-section__grid{display:grid;grid-template-columns:var(--form-grid-cols);gap:var(--form-grid-gap)}.rp-form-section__field--full{grid-column:1 / -1}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--text-base: var(--font-body-md-size);--secondary: var(--text-secondary);--error: var(--danger)}html,body,#app{height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--text);line-height:var(--leading-normal);font-size:var(--text-base)}a{color:inherit;text-decoration:none}input,button{font:inherit}.app-layout{display:flex;flex-direction:row;height:100%;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden;transition:width .2s ease;z-index:90}.app-sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar-section{padding:20px 12px 4px}.sidebar-section__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-text)}.sidebar-section--collapsed .sidebar-section__label{display:none}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:0 12px;height:36px;cursor:pointer;color:var(--sidebar-text);font-size:13px;border-left:3px solid transparent;transition:background .1s,color .1s;text-decoration:none;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-hover)}.sidebar-nav-item--active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);border-left-color:var(--sidebar-active-border);font-weight:500}.sidebar-nav-item__icon{font-size:16px;flex-shrink:0;width:16px;text-align:center}.sidebar-nav-item__label{flex:1;overflow:hidden;text-overflow:ellipsis}.app-sidebar--collapsed .sidebar-nav-item__label{display:none}.sidebar-collapse-btn{margin-top:auto;padding:12px;background:none;border:none;border-top:1px solid rgba(255,255,255,.06);color:var(--sidebar-text);cursor:pointer;font-size:14px;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar-collapse-btn:hover{color:var(--sidebar-text-hover)}.sidebar-collapse-btn__label{font-size:11px}.app-sidebar--collapsed .sidebar-collapse-btn__label{display:none}.app-header{height:var(--topbar-height);background:var(--surface);color:var(--text);display:flex;align-items:center;padding:0 1.25rem;flex-shrink:0;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;gap:1rem}.app-header__hamburger{background:none;border:none;cursor:pointer;padding:6px;border-radius:4px;color:var(--text-secondary);font-size:18px;line-height:1;flex-shrink:0}.app-header__hamburger:hover{background:var(--background)}.app-header__logo{font-size:.95rem;font-weight:700;color:var(--text);flex-shrink:0}.app-header__search{flex:1;max-width:480px;margin:0 auto;position:relative}.app-header__search input{width:100%;height:32px;padding:0 .75rem 0 2rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:12px;outline:none}.app-header__search input:focus{border-color:var(--primary)}.app-header__search-icon{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:13px;pointer-events:none}.app-header__right{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.app-header__avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;cursor:pointer}.app-header__username{font-size:12px;color:var(--text-secondary)}.app-header__logout{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius);cursor:pointer;font-size:12px}.app-header__logout:hover{border-color:var(--text-secondary);color:var(--text)}.module-header{height:var(--module-header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0;padding:0 1rem;flex-shrink:0;box-shadow:var(--shadow)}.module-header__back{font-size:.875rem;font-weight:600;color:var(--primary);padding:0 1rem 0 0;border-right:1px solid var(--border);margin-right:.75rem;white-space:nowrap}.module-header__tabs{display:flex;align-items:stretch;height:100%;gap:0}.module-header__tab{display:flex;align-items:center;padding:0 1rem;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.module-header__tab:hover{color:var(--text)}.module-header__tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.app-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.app-content--module{padding:0}.breadcrumb{display:flex;align-items:center;gap:4px;padding:.75rem 1.5rem 0;font-size:12px;color:var(--text-secondary);flex-shrink:0}.breadcrumb__sep{color:var(--text-tertiary);font-size:11px;-webkit-user-select:none;user-select:none}.breadcrumb__link{color:var(--text-secondary);text-decoration:none;transition:color .1s}.breadcrumb__link:hover{color:var(--primary)}.breadcrumb__current{color:var(--text);font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-dialog{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:460px;overflow:hidden}.modal-header{padding:1.25rem 1.5rem 0}.modal-title{font-size:15px;font-weight:700;color:var(--text)}.modal-body{padding:.75rem 1.5rem 1.25rem;color:var(--text-secondary);font-size:13px;line-height:1.6}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.home-cards-container{padding:2rem}.home-greeting{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:1.5rem}.home-section{margin-bottom:2rem}.home-section__header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.home-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.home-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s}.home-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-1px)}.home-card__icon{width:36px;height:36px;background:var(--primary-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:18px}.home-card__label{font-size:13px;font-weight:600;color:var(--text)}.home-card__count{font-size:11px;color:var(--text-secondary)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:2rem;background:var(--background)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:2rem}.login-brand__icon{width:36px;height:36px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700}.login-brand__name{font-size:1.1rem;font-weight:700;color:var(--text)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:2rem 2.5rem;width:100%;max-width:400px}.login-card__title{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.login-card__subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:12px;font-weight:600;color:var(--text-secondary)}.form-field input{height:40px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text);font-size:13px;outline:none;transition:border-color .15s}.form-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.login-error{font-size:12px;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:8px 12px}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:0 14px;height:34px;border-radius:var(--radius);font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--background)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{height:28px;padding:0 10px;font-size:11px}.btn-warning{background:var(--warning);color:var(--text-on-primary)}.btn-warning:hover:not(:disabled){opacity:.85}.btn-create{background:var(--primary);color:var(--text-on-primary);padding:.4rem 1rem;font-size:.875rem}.btn-link{background:transparent;border:none;color:var(--primary);padding:.1rem .25rem;cursor:pointer;text-decoration:underline}.btn-link:hover:not(:disabled){opacity:.85}.btn-link:disabled{opacity:.5;cursor:not-allowed}.loading{color:var(--text-secondary);font-size:.875rem;padding:1rem 0}.error{color:var(--error);font-size:.875rem}.placeholder-content{color:var(--text-secondary);font-size:.9rem;padding:2rem 0}.loading-screen,.error-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1rem;color:var(--text-secondary)}.records-badge--active,.badge--active{background:var(--status-active-bg);color:var(--status-active-text)}.records-badge--draft,.badge--draft{background:var(--status-draft-bg);color:var(--status-draft-text)}.records-badge--archived,.badge--archived{background:var(--status-archived-bg);color:var(--status-archived-text)}.records-badge--lowstock,.records-badge--low_stock{background:var(--status-lowstock-bg);color:var(--status-lowstock-text)}.records-filter-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:0;padding:0 1rem;background:var(--surface)}.records-filter-tab{padding:.6rem 1rem;font-size:12px;font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}.records-filter-tab:hover{color:var(--text)}.records-filter-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.records-bulk-bar{display:flex;align-items:center;gap:.75rem;padding:0 var(--space-4);height:44px;background:var(--bulk-bar-bg);color:var(--bulk-bar-text);flex-shrink:0}.records-bulk-bar__count{font-size:12px;font-weight:600;margin-right:.5rem}.records-bulk-bar .btn-bulk{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;padding:4px 12px;border-radius:var(--radius);font-size:12px;cursor:pointer}.records-bulk-bar .btn-bulk:hover{background:#ffffff40}.records-bulk-bar .btn-bulk--danger{background:#ef444433;border-color:#ef444466}.records-bulk-bar .btn-bulk--danger:hover{background:#ef44444d}.records-bulk-bar__clear{margin-left:auto;background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:18px;line-height:1;padding:4px}.records-bulk-bar__clear:hover{color:#fff}.records-list{display:flex;flex-direction:column;height:100%}.records-toolbar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.records-count{font-size:12px;color:var(--text-secondary)}.records-table-wrap{flex:1;overflow:auto}.records-table{width:100%;border-collapse:collapse;font-size:13px}.records-table thead tr{background:var(--background);border-bottom:1px solid var(--border)}.records-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.records-table td{padding:0 12px;height:36px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.records-table tbody tr:last-child td{border-bottom:none}.records-row{cursor:pointer;transition:background .1s}.records-row:hover{background:var(--background)}.records-row.row-danger{background:var(--row-danger-bg)}.records-row.row-danger:hover{background:var(--row-danger-bg-hover)}.bg-red-50{background-color:var(--row-danger-bg)}.text-red-700{color:var(--row-danger-text)}.opacity-50{opacity:.5}.line-through{text-decoration:line-through}.records-select-col{width:40px;padding:10px 8px!important;text-align:center}.records-select-col input[type=checkbox]{cursor:pointer}.records-selection-count{font-size:.875rem;color:var(--text-muted, #666);margin-right:.25rem}.records-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text-secondary);flex-shrink:0}.records-pagination__info{font-size:.875rem;color:var(--text-secondary)}.records-form{display:flex;flex-direction:column;min-height:100%}.form-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.form-actions-right{display:flex;gap:.5rem}.form-title{font-size:1.1rem;font-weight:700;color:var(--text);padding:.75rem 1.5rem 0}.form-body{padding:1.5rem;flex:1}.form-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem;flex-wrap:wrap}.form-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 2rem;margin-top:1rem}.form-separator{border:none;border-top:1px solid var(--border);margin:1rem 0}.form-group{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.form-group--active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-group--cols>.form-group__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.form-group__header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.form-group__title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);flex:1}.form-group__body{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group--single .form-group__body{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.875rem}.form-field--nolabel{margin-bottom:.5rem}.form-field__label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-field__value{font-size:13px;color:var(--text);min-height:1.75rem;display:flex;align-items:center}.form-notebook{margin-top:1.5rem}.notebook-tabs{display:flex;border-bottom:1px solid var(--border)}.notebook-tab{padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.notebook-tab:hover{color:var(--text)}.notebook-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.notebook-content{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius)}.notebook-page{padding:1.25rem 1.5rem}.status-bar{display:flex;align-items:center}.status-step{padding:.3rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--background);border:1px solid var(--border);border-right:none}.status-step:first-child{border-radius:var(--radius) 0 0 var(--radius)}.status-step:last-child{border-right:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0}.status-step--done{background:var(--primary-light);color:var(--primary)}.status-step--active{background:var(--primary);color:#fff;font-weight:600}.badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--error{background:var(--danger-bg);color:var(--danger)}.badge--muted{background:var(--status-draft-bg);color:var(--status-draft-text)}.badge--neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.widget-input,.widget-select,.widget-textarea{padding:.4rem .65rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text);font:inherit;font-size:.9rem;outline:none;width:100%;transition:border-color .15s}.widget-input:focus,.widget-select:focus,.widget-textarea:focus{border-color:var(--primary)}.widget-textarea{min-height:6rem;resize:vertical}.widget-monetary{font-variant-numeric:tabular-nums}.widget-text{font-size:.9rem;color:var(--text)}.widget-text--pre{white-space:pre-wrap;word-break:break-word}.widget-image{max-width:96px;max-height:96px;border-radius:var(--radius);object-fit:cover}.widget-checkbox{width:1rem;height:1rem;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:480px;max-width:640px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #e0e0e0)}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600;text-transform:capitalize}.modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem;color:var(--text-muted, #666)}.modal-close:hover{color:var(--text)}.modal-body{padding:1rem;overflow-y:auto;flex:1 1 auto}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border, #e0e0e0);background:var(--background-subtle)}.form-history{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1rem}.form-history__toggle{background:none;border:none;font-weight:600;cursor:pointer;padding:.5rem 0;color:var(--text-secondary);font-size:.875rem}.form-history__toggle:hover{color:var(--text)}.form-history__list{margin-top:.5rem}.form-history__entry{padding:.75rem 0;border-bottom:1px solid var(--border)}.form-history__meta{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}.form-history__event{font-weight:600;font-size:.875rem}.form-history__by{color:var(--text-secondary);font-size:.8rem}.form-history__time{color:var(--text-secondary);font-size:.8rem;margin-left:auto}.form-history__empty{color:var(--text-secondary);font-size:.875rem;padding:.5rem 0}.export-modal{min-width:520px}.export-scope{padding:.5rem .75rem;background:var(--background-subtle);border-radius:4px;margin-bottom:1rem;font-size:.9rem}.export-fields{margin-bottom:1rem}.export-fields-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.5rem}.export-fields-actions{display:flex;align-items:center;gap:.25rem}.export-fields-actions .separator{width:1px;height:12px;background:var(--border, #e0e0e0)}.export-field-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto;border:1px solid var(--border, #e0e0e0);border-radius:4px}.export-field-list li{padding:.35rem .5rem;border-bottom:1px solid var(--border, #f0f0f0)}.export-field-list li:last-child{border-bottom:none}.export-field-list label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.export-field-list .field-label{flex:1}.export-field-list .field-type{font-size:.75rem;color:var(--text-muted, #888);text-transform:uppercase}.export-field-list .field-required{color:var(--danger);font-weight:700;margin-left:.25rem}.export-format{display:flex;gap:1rem;margin-top:.75rem;font-size:.9rem}.export-format label{display:flex;align-items:center;gap:.25rem;cursor:pointer}.export-format label.disabled{opacity:.4;cursor:not-allowed}.records-table--grouped .records-group-header{background:var(--background);cursor:pointer}.records-group-toggle{margin-right:.5rem}.records-group-count{color:var(--text-secondary);font-weight:400}.records-group-agg{color:var(--text-secondary);font-size:.85rem;margin-left:.5rem}.records-group-col{width:2rem}.records-sort-indicator{margin-left:.25rem;opacity:.6}.records-col-picker-wrap{position:relative}.records-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}
