:root{--plum-900: #2A1F2E;--plum-800: #3D2F41;--plum-700: #4A2C54;--plum-600: #5C3A70;--plum-500: #7A5488;--plum-100: #E8DDEF;--plum-50: #F4EBF5;--cream-canvas: #F9F5EC;--cream-surface: #FFFCF5;--cream-surface-alt: #F4EEE0;--cream-border: #E8DFD0;--cream-border-strong: #D8CDB8;--gold-600: #C89B5E;--text-primary: #2A1F26;--text-secondary: #4B4455;--text-tertiary: #7A6D70;--text-on-dark: #FAF6EE;--text-on-dark-muted: #C4B0B8;--text-on-dark-dimmer: #8B7383;--color-brand: var(--plum-600);--color-brand-dark: var(--plum-900);--color-brand-light: var(--plum-500);--color-brand-glow: rgba(92, 58, 112, .14);--color-attention: var(--gold-600);--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--white: #ffffff;--color-success: #16a34a;--color-success-light: #dcfce7;--color-success-dark: #166534;--color-warning: #f59e0b;--color-warning-light: #fefce8;--color-warning-dark: #92400e;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-danger-dark: #991b1b;--color-info: #3b82f6;--color-info-light: #eff6ff;--color-info-dark: #1e40af;--green: var(--color-success);--green-mid: #22c55e;--green-light: var(--color-success-light);--green-border: #86efac;--red: var(--color-danger);--red-light: var(--color-danger-light);--red-border: #fca5a5;--amber: var(--color-warning);--amber-light: var(--color-warning-light);--amber-border: #fcd34d;--orange: #ea580c;--orange-light: #fff7ed;--meal-breakfast: #f59e0b;--meal-lunch: #3b82f6;--meal-snack: #22c55e;--meal-supper: #a855f7;--navy: var(--plum-900);--navy-mid: var(--plum-800);--navy-dark: #1F1523;--accent-900: #1F1523;--accent-800: var(--plum-900);--accent-700: var(--plum-800);--accent-600: var(--plum-600);--accent-500: var(--plum-500);--accent-400: #9077A0;--accent-300: #B6A1C4;--accent-200: #D4C4DB;--accent-100: var(--plum-100);--accent-50: var(--plum-50);--accent-glow: var(--color-brand-glow);--accent-glow-lg: rgba(92, 58, 112, .08);--color-brand-pale: var(--plum-100);--surface-page: var(--cream-canvas);--surface-card: var(--cream-surface);--surface-muted: var(--cream-surface-alt);--border-subtle: var(--cream-border);--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, "Consolas", monospace;--font-normal: 400;--font-medium: 500;--text-xs: 10.5px;--text-sm: 11.5px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 21px;--text-2xl: 28px;--text-mono-sm: 10.5px;--text-mono-md: 11.5px;--leading-tight: 1.1;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-label: .08em;--font-semibold: 500;--font-bold: 500;--font-extrabold: 500;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 5px;--radius: 7px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 18px;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(42, 31, 38, .04);--shadow-md: 0 4px 16px rgba(42, 31, 38, .07);--shadow-lg: 0 12px 36px rgba(42, 31, 38, .1);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .18);--shadow-accent: var(--shadow-sm);--shadow-accent-lg: var(--shadow-md);--touch: 48px;--topbar-height: 60px;--sidebar-width-collapsed: 52px;--sidebar-width-expanded: 200px;--sidebar-width: 52px;--admin-rail-width: 172px;--transition: .13s ease;--transition-md: .22s ease;--transition-lg: .32s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 9999}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--plum-900);color:var(--text-on-dark);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:var(--z-fixed);overflow:hidden;transition:width var(--transition-md)}.sidebar-header{display:flex;align-items:center;gap:10px;padding:14px 12px 10px;border-bottom:.5px solid var(--plum-800)}.sidebar-brand-icon{width:28px;height:28px;min-width:28px;background:var(--cream-surface);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.sidebar-brand-icon img{display:block;width:22px;height:22px;object-fit:contain}.sidebar-wordmark{display:none;flex-direction:column;min-width:0}.app-layout.sidebar-expanded .sidebar-wordmark{display:flex}.sidebar-brand-name{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-on-dark);line-height:var(--leading-tight);letter-spacing:0}.sidebar-brand-sub{font-size:9px;color:var(--text-on-dark-dimmer);margin-top:2px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label)}.sidebar-user{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:.5px solid var(--plum-800);transition:background var(--transition)}.sidebar-user:hover,.sidebar-user:focus-visible{background:#ffffff0a;outline:none}.sidebar-user-avatar{width:28px;height:28px;min-width:28px;border-radius:var(--radius-full);background:var(--plum-600);color:var(--text-on-dark);font-size:10.5px;font-weight:var(--font-medium);display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}.sidebar-user-text{display:none;flex-direction:column;min-width:0;gap:2px}.app-layout.sidebar-expanded .sidebar-user-text{display:flex}.sidebar-user-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{display:inline-flex;align-items:center;font-size:var(--text-xs);color:var(--text-on-dark-muted)}.role-badge{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:9.5px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label)}.role-badge.admin{background:#c89b5e38;color:var(--gold-600)}.role-badge.lead{background:#16a34a38;color:#6ee7a8}.role-badge.register{background:#ffffff24;color:var(--text-on-dark)}.sidebar-nav{flex:1;padding:8px var(--space-1);overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.nav-item{display:flex;align-items:center;justify-content:center;gap:10px;width:34px;height:34px;margin:2px auto;padding:0;border-radius:var(--radius-sm);color:var(--text-on-dark-dimmer);background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--font-medium);transition:background var(--transition),color var(--transition);position:relative;white-space:nowrap}.nav-item:hover{background:#ffffff0a;color:var(--text-on-dark-muted)}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-brand-glow);color:var(--text-on-dark)}.nav-item.active{background:var(--plum-600);color:var(--text-on-dark)}.nav-item-label{display:none}.app-layout.sidebar-expanded .nav-item{justify-content:flex-start;width:calc(100% - var(--space-2));margin:1px var(--space-1);padding:0 10px;border-left:2px solid transparent}.app-layout.sidebar-expanded .nav-item.active{border-left-color:var(--gold-600)}.app-layout.sidebar-expanded .nav-item-label{display:inline}.sidebar-collapse-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:8px auto;width:28px;height:28px;padding:0;background:transparent;color:var(--text-on-dark-dimmer);border:.5px solid var(--plum-800);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-xs);cursor:pointer;transition:background var(--transition),color var(--transition)}.sidebar-collapse-toggle:hover:not(:disabled){background:#ffffff0a;color:var(--text-on-dark-muted)}.sidebar-collapse-toggle:disabled{opacity:.35;cursor:not-allowed}.sidebar-collapse-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-brand-glow)}.sidebar-collapse-label{display:none}.app-layout.sidebar-expanded .sidebar-collapse-toggle{width:calc(100% - var(--space-4));margin:10px var(--space-2);justify-content:flex-start;padding:0 10px}.app-layout.sidebar-expanded .sidebar-collapse-label{display:inline}.platform-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--navy);color:var(--white);display:flex;flex-direction:column;padding:var(--space-5) var(--space-4);box-sizing:border-box;position:fixed;left:0;top:0;bottom:0;z-index:var(--z-fixed);overflow-y:auto}.platform-brand{display:flex;align-items:center;gap:10px;padding:var(--space-2) var(--space-2) var(--space-5);border-bottom:1px solid rgba(255,255,255,.1)}.platform-brand-icon{width:40px;height:40px;min-width:40px;background:var(--cream-surface);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.platform-brand-icon img{display:block;width:32px;height:32px;object-fit:contain}.platform-brand-name{font-size:var(--text-md);font-weight:var(--font-extrabold);letter-spacing:.02em}.platform-brand-sub{font-size:var(--text-xs);opacity:.6;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.platform-nav{flex:1;margin-top:var(--space-4);display:flex;flex-direction:column;gap:4px}.platform-nav-item{text-align:left;padding:10px 12px;background:transparent;color:inherit;border:0;border-radius:var(--radius);font-size:var(--text-sm);cursor:pointer;font-family:inherit}.platform-nav-item:hover{background:#ffffff14}.platform-nav-item.active{background:#ffffff1f;font-weight:var(--font-semibold)}.platform-sidebar-footer{padding:var(--space-3) var(--space-2) 0;border-top:1px solid rgba(255,255,255,.1)}.platform-user-email{font-size:var(--text-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-2)}.platform-logout-btn{width:100%;padding:var(--space-2);background:#ffffff0f;color:inherit;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);font-size:var(--text-sm);cursor:pointer;font-family:inherit}.platform-logout-btn:hover{background:#ffffff1f}.platform-page{padding:var(--space-6);max-width:1200px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-head h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--navy);letter-spacing:-.01em}.page-sub{margin:4px 0 0;color:var(--gray-500);font-size:var(--text-sm);max-width:640px}.status{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-bold)}.status-active{background:var(--green-light);color:var(--color-success-dark)}.status-suspended{background:var(--amber-light);color:var(--color-warning-dark)}.status-deleted{background:var(--gray-100);color:var(--gray-500)}.main-content{margin-left:var(--sidebar-width);transition:margin-left var(--transition-md);flex:1;min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page)}.admin-workspace{display:grid;grid-template-columns:var(--admin-rail-width) 1fr;flex:1;min-height:0}.admin-workspace-content{min-width:0;min-height:0;overflow-y:auto}@media (max-width: 900px){.admin-workspace{grid-template-columns:1fr}.admin-workspace .admin-rail{border-right:none;border-bottom:.5px solid var(--cream-border)}}.topbar{background:var(--cream-surface);border-bottom:.5px solid var(--cream-border);padding:0 var(--space-6);height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-sticky)}.topbar-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);letter-spacing:0}.topbar-date{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);font-weight:var(--font-normal)}.page-content{flex:1;padding:var(--space-5);overflow-x:auto}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--surface-page)}.app-loading-logo{width:96px;height:96px;object-fit:contain}.app-loading-text{color:var(--text-tertiary);font-weight:var(--font-normal);font-size:var(--text-sm)}.sidebar-toggle{display:none;background:transparent;border:none;width:40px;height:40px;margin-right:var(--space-3);padding:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:var(--radius-sm);transition:background var(--transition)}.sidebar-toggle:hover{background:var(--cream-surface-alt)}.sidebar-toggle span{display:block;width:20px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:calc(var(--z-fixed) - 1);border:none;padding:0;cursor:pointer}@media (max-width: 1023px){.sidebar{width:240px;min-width:240px;transform:translate(-100%);transition:transform .22s ease}.app-layout.sidebar-open .sidebar{transform:translate(0)}.app-layout.sidebar-open .sidebar-backdrop{display:block}.main-content{margin-left:0}.sidebar-toggle{display:inline-flex}.sidebar .nav-item{justify-content:flex-start;width:calc(100% - var(--space-2));margin:1px var(--space-1);padding:0 10px;border-left:2px solid transparent}.sidebar .nav-item.active{border-left-color:var(--gold-600)}.sidebar .nav-item-label{display:inline}.sidebar .sidebar-wordmark,.sidebar .sidebar-user-text{display:flex}.sidebar-collapse-toggle{display:none}.app-layout.sidebar-open .sidebar-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.app-layout.sidebar-open .sidebar-toggle span:nth-child(2){opacity:0}.app-layout.sidebar-open .sidebar-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}@media print{.sidebar,.platform-sidebar,.topbar,.action-bar,.toast-container{display:none!important}.main-content{margin-left:0!important}}.admin-rail{background:var(--cream-surface-alt);border-right:.5px solid var(--cream-border);padding:var(--space-4) 10px;overflow-y:auto;height:100%}.admin-rail-header{padding:0 6px 10px;border-bottom:.5px solid var(--cream-border);margin-bottom:10px}.admin-rail-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:0}.admin-rail-meta{font-size:10.5px;color:var(--text-tertiary);margin-top:2px}.admin-rail-group{margin-bottom:10px}.admin-rail-group-label{font-size:9.5px;font-weight:var(--font-medium);color:var(--text-tertiary);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:4px 6px 5px;border-bottom:.5px solid var(--cream-border);margin-bottom:4px}.admin-rail-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:5px 8px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-normal);text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.admin-rail-item:hover{background:var(--plum-50)}.admin-rail-item.active{background:var(--plum-600);color:var(--text-on-dark);font-weight:var(--font-medium)}.admin-rail-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-brand-glow)}.admin-rail-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-rail-item-count{font-size:9.5px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.admin-rail-item.active .admin-rail-item-count{color:var(--gold-600)}.admin-rail-item-count.warn{color:var(--color-warning);font-weight:var(--font-medium)}.admin-rail-item.active .admin-rail-item-count.warn{color:var(--gold-600)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header-text{min-width:0}.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:0;margin:0}.page-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin:5px 0 0;font-weight:var(--font-normal);line-height:var(--leading-normal)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.card{background:var(--cream-surface);border-radius:var(--radius-md);border:.5px solid var(--cream-border);overflow:hidden;margin-bottom:var(--space-4)}.card-header{padding:var(--space-3) var(--space-4);border-bottom:.5px solid var(--cream-border);display:flex;align-items:baseline;justify-content:space-between;background:transparent;gap:var(--space-3)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:0;text-transform:none;display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 13px;height:28px;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);border:.5px solid transparent;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-brand-glow)}.btn-xs{height:24px;padding:0 10px;font-size:var(--text-xs)}.btn-sm{height:28px}.btn-md{height:32px;padding:0 14px}.btn-lg{height:40px;padding:0 18px;font-size:var(--text-md)}.btn-primary{background:var(--plum-600);color:var(--text-on-dark)}.btn-primary:hover:not(:disabled){background:var(--plum-900)}.btn-primary:active:not(:disabled){background:var(--plum-900)}.btn-ghost{background:var(--cream-surface);color:var(--text-secondary);border-color:var(--cream-border)}.btn-ghost:hover:not(:disabled){background:var(--cream-surface-alt);color:var(--text-primary)}.btn-navy{background:var(--plum-900);color:var(--text-on-dark)}.btn-navy:hover:not(:disabled){background:var(--plum-600)}.btn-danger{background:var(--color-danger);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn-success{background:var(--color-success);color:var(--white)}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.action-bar{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;padding:var(--space-3) var(--space-4);background:var(--cream-surface-alt);border-top:.5px solid var(--cream-border)}.action-bar-left{flex:1;display:flex;gap:var(--space-2);flex-wrap:wrap}.action-bar-right{display:flex;gap:var(--space-2)}.field-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.field-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:180px}.field-label{font-size:9.5px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary)}.field-input,.field-select,.field-textarea{padding:8px 12px;height:36px;border:.5px solid var(--cream-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);background:var(--cream-surface);outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.field-textarea{height:auto;padding:10px 12px;resize:vertical;min-height:80px;line-height:var(--leading-relaxed)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--plum-600);box-shadow:0 0 0 3px var(--color-brand-glow)}.field-input::placeholder{color:var(--text-tertiary)}.field-error,.field-input.field-error,.field-select.field-error,.field-textarea.field-error,input.field-error,select.field-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-light)!important}.field-error-msg{font-size:var(--text-xs);color:var(--color-danger-dark);margin:2px 0 8px;line-height:var(--leading-tight)}.field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A6D70' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}input[type=checkbox]{width:18px;height:18px;accent-color:var(--plum-600);cursor:pointer;flex-shrink:0}.row-checkbox{width:16px;height:16px;accent-color:var(--plum-600);cursor:pointer}.prod-table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius);overflow-x:auto;scrollbar-color:var(--plum-600) var(--cream-border);scrollbar-width:thin}.prod-table-wrap::-webkit-scrollbar{height:10px}.prod-table-wrap::-webkit-scrollbar-track{background:var(--cream-surface-alt);border-radius:var(--radius-sm)}.prod-table-wrap::-webkit-scrollbar-thumb{background:var(--plum-600);border-radius:var(--radius-sm)}.prod-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--plum-900)}.prod-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:1200px;background:var(--cream-surface)}.prod-table thead tr{background:var(--cream-surface-alt)}.prod-table thead th{padding:9px var(--space-2);color:var(--text-tertiary);font-weight:var(--font-normal);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);text-align:left;white-space:nowrap;border-right:.5px solid var(--cream-border);border-bottom:.5px solid var(--cream-border)}.prod-table thead th:first-child{padding-left:14px}.prod-table .category-row td{background:var(--cream-surface-alt);padding:8px 8px 8px 14px;font-size:9.5px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-label);border-bottom:.5px solid var(--cream-border);border-top:.5px solid var(--cream-border)}.prod-table .item-row td{padding:11px 5px;border-bottom:.5px solid var(--cream-border);vertical-align:middle;color:var(--text-primary)}.prod-table .item-row:hover td{background:var(--plum-50)}.prod-table .item-row td:first-child{padding-left:14px}.table-input{width:100%;padding:6px 10px;border:.5px solid var(--cream-border);border-radius:var(--radius-xs);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--cream-surface);outline:none;transition:border-color var(--transition),box-shadow var(--transition);min-width:60px;min-height:28px}.table-input:focus{border-color:var(--plum-600);box-shadow:0 0 0 2px var(--color-brand-glow)}.table-input[readonly]{background:var(--cream-surface-alt);color:var(--text-tertiary);cursor:default}.table-select{width:100%;padding:6px 28px 6px 10px;border:.5px solid var(--cream-border);border-radius:var(--radius-xs);font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--cream-surface);outline:none;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);min-width:140px;min-height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A6D70' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.table-select:focus{border-color:var(--plum-600);box-shadow:0 0 0 2px var(--color-brand-glow)}.part-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--cream-surface)}.part-table thead tr{background:var(--cream-surface-alt)}.part-table thead th{padding:9px 14px;color:var(--text-tertiary);font-weight:var(--font-normal);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);text-align:center;border-bottom:.5px solid var(--cream-border)}.part-table thead th:first-child{text-align:left}.part-table .sub-header th{background:var(--cream-surface-alt);font-size:9.5px;padding:6px 14px}.part-table tbody tr{border-bottom:.5px solid var(--cream-border)}.part-table tbody tr:hover td{background:var(--plum-50)}.part-table td{padding:11px 14px;text-align:center;color:var(--text-primary);vertical-align:middle}.part-table .row-label{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm);text-align:left}.part-total-cell{font-family:var(--font-mono);font-weight:var(--font-medium);color:var(--plum-600);background:var(--plum-50)!important}.part-actual-row td{background:var(--plum-50)!important;font-weight:var(--font-medium)}.data-table,.history-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--cream-surface)}.data-table thead tr,.history-table thead tr{background:var(--cream-surface-alt)}.data-table thead th,.history-table thead th{padding:9px var(--space-4);color:var(--text-tertiary);font-weight:var(--font-normal);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);text-align:left;white-space:nowrap;border-bottom:.5px solid var(--cream-border)}.data-table thead th.text-right,.history-table thead th.text-right{text-align:right}.data-table tbody tr,.history-table tbody tr{border-bottom:.5px solid var(--cream-border)}.data-table tbody tr:hover td,.history-table tbody tr:hover td{background:var(--plum-50)}.history-table tbody tr:hover td{cursor:pointer}.data-table tbody tr.selected td,.history-table tbody tr.selected td{background:var(--plum-50)}.data-table td,.history-table td{padding:11px var(--space-4);vertical-align:middle;color:var(--text-primary)}.data-table .text-right,.history-table .text-right{text-align:right}.data-table.analytics-variant{font-size:var(--text-sm)}.data-table.analytics-variant thead th{padding:8px 14px;font-size:var(--text-xs)}.data-table.analytics-variant td{padding:9px 14px}.mono-cell{font-family:var(--font-mono);font-size:var(--text-mono-md);color:var(--text-secondary)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--cream-surface)}.admin-table thead tr{background:var(--cream-surface-alt)}.admin-table thead th{padding:8px 16px;text-align:left;font-size:var(--text-xs);font-weight:var(--font-normal);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary);white-space:nowrap;border-bottom:.5px solid var(--cream-border)}.admin-table tbody tr{border-bottom:.5px solid var(--cream-border)}.admin-table tbody tr:hover td{background:var(--plum-50)}.admin-table td{padding:10px 16px;color:var(--text-secondary);vertical-align:middle}.admin-table td.mono,.admin-table .mono{font-family:var(--font-mono);font-size:var(--text-mono-sm);color:var(--text-tertiary)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.stat-card{background:var(--cream-surface);border-radius:var(--radius-md);border:.5px solid var(--cream-border);padding:var(--space-4);transition:border-color var(--transition);position:relative;overflow:hidden}.stat-card:hover{border-color:var(--cream-border-strong)}.stat-label{font-size:9.5px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary)}.stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-medium);color:var(--text-primary);margin-top:4px;letter-spacing:0;line-height:var(--leading-tight)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.admin-list{list-style:none}.admin-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:.5px solid var(--cream-border);font-size:var(--text-sm);gap:var(--space-2)}.admin-list li:last-child{border-bottom:none}.admin-list-item-name{font-weight:var(--font-medium);color:var(--text-primary)}.admin-list-item-meta{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px;font-family:var(--font-mono)}.admin-list-actions{display:flex;gap:var(--space-2);flex-shrink:0}.add-row{display:flex;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:.5px solid var(--cream-border);margin-bottom:var(--space-1)}.add-row input{flex:1;padding:8px 12px;height:36px;border:.5px solid var(--cream-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);background:var(--cream-surface);color:var(--text-primary);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.add-row input:focus{border-color:var(--plum-600);box-shadow:0 0 0 3px var(--color-brand-glow)}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label)}.status-badge.saved{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.pending{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge.error{background:var(--color-danger-light);color:var(--color-danger-dark)}.del-req-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label)}.del-req-badge.pending{background:var(--color-warning-light);color:var(--color-warning-dark)}.del-req-badge.denied{background:var(--color-danger-light);color:var(--color-danger-dark)}.elig-pill{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-medium);letter-spacing:var(--tracking-label);text-transform:uppercase}.elig-pill.elig-free{background:var(--color-success-light);color:var(--color-success-dark)}.elig-pill.elig-reduced{background:var(--color-warning-light);color:var(--color-warning-dark)}.elig-pill.elig-paid{background:var(--color-info-light);color:var(--color-info-dark)}.elig-pill.elig-unknown{background:var(--cream-surface-alt);color:var(--text-tertiary)}.dc-status-pill{text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:10px;font-weight:var(--font-medium);padding:2px var(--space-2);border-radius:var(--radius-full)}.dc-status-parsing{background:var(--cream-surface-alt);color:var(--text-tertiary)}.dc-status-preview{background:var(--color-warning-light);color:var(--color-warning-dark)}.dc-status-applied{background:var(--color-success-light);color:var(--color-success-dark)}.dc-status-rejected{background:var(--cream-surface-alt);color:var(--text-tertiary)}.dc-status-failed{background:var(--color-danger-light);color:var(--color-danger-dark)}.inactive-row{opacity:.5}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--color-danger);color:var(--white);font-size:10px;font-weight:var(--font-medium);margin-left:var(--space-2)}.tab-badge-warn{background:var(--color-warning);color:var(--white)}.import-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}@media (max-width: 768px){.import-methods{grid-template-columns:1fr}}.import-method{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;background:var(--cream-surface);border:.5px solid var(--cream-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:border-color var(--transition),background var(--transition),color var(--transition)}.import-method:hover:not(:disabled){border-color:var(--cream-border-strong);background:var(--cream-surface-alt)}.import-method.active{border-color:var(--plum-600);background:var(--plum-50);color:var(--plum-600)}.import-method .import-method-label{font-weight:var(--font-medium)}.import-method .import-method-sub{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-normal)}.import-method.active .import-method-sub{color:var(--plum-600)}.import-method-soon{opacity:.6}.import-panel{padding:0}.import-panel-muted{background:var(--cream-surface-alt);border:.5px solid var(--cream-border);border-radius:var(--radius-sm);padding:var(--space-4)}.btn-link{background:transparent;border:none;padding:0;color:var(--plum-600);font-weight:var(--font-medium);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--plum-900)}.tabs{display:flex;gap:2px;border-bottom:.5px solid var(--cream-border);margin-bottom:var(--space-4);overflow-x:auto}.tab-btn{padding:0 var(--space-4);height:36px;border:none;background:none;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-.5px;white-space:nowrap;transition:color var(--transition),border-color var(--transition)}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--plum-600);border-bottom-color:var(--plum-600)}.meal-check{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) 0}.meal-check label{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.meal-check-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px var(--space-3);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label)}.meal-check-badge.yes{background:var(--color-success-light);color:var(--color-success-dark)}.meal-check-badge.no{background:var(--color-danger-light);color:var(--color-danger-dark)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px}.toast{background:var(--plum-900);color:var(--text-on-dark);padding:10px var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:var(--font-normal);display:flex;align-items:center;gap:10px;animation:toastIn .2s ease;max-width:340px;border-left:3px solid var(--plum-600)}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-danger)}.toast.info{border-left-color:var(--color-info)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-overlay,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#2a1f2e8c;display:flex;align-items:center;justify-content:center;padding:var(--space-5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--cream-surface);border:.5px solid var(--cream-border);border-radius:var(--radius-xl);padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:modalIn .15s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-5)}.modal label{font-size:9.5px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-label);display:block;margin-bottom:5px}.modal input,.modal select,.modal textarea{width:100%;padding:8px 12px;height:36px;border:.5px solid var(--cream-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);background:var(--cream-surface);color:var(--text-primary);margin-bottom:var(--space-3);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.modal textarea{height:auto;padding:10px 12px;min-height:80px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--plum-600);box-shadow:0 0 0 3px var(--color-brand-glow)}.search-box,.search-box-sm{display:flex;align-items:center;gap:var(--space-2);background:var(--cream-surface);border:.5px solid var(--cream-border);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--text-tertiary);transition:border-color var(--transition),box-shadow var(--transition)}.search-box{flex:1;max-width:360px}.search-box-sm{padding:0 10px}.search-box:focus-within,.search-box-sm:focus-within{border-color:var(--plum-600);box-shadow:0 0 0 3px var(--color-brand-glow)}.search-box input,.search-box-sm input{border:none;background:transparent;outline:none;font-family:inherit;color:var(--text-primary);width:100%}.search-box input{padding:8px 0;font-size:var(--text-sm)}.search-box-sm input{padding:6px 0;font-size:var(--text-sm);width:160px}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:.5px solid var(--cream-border)}.pagination-bar .page-info{font-size:var(--text-sm);color:var(--text-tertiary)}.empty-state{text-align:center;padding:var(--space-12) var(--space-5);color:var(--text-tertiary)}.empty-state p{font-size:var(--text-base);font-weight:var(--font-normal);margin-top:var(--space-3)}.alert-banner{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);display:flex;align-items:center;gap:10px;cursor:pointer;transition:opacity var(--transition)}.alert-banner:hover{opacity:.88}.alert-banner.warning{background:var(--color-warning-light);border:.5px solid var(--color-warning)}.alert-banner-icon{font-size:16px;color:var(--color-warning-dark)}.alert-banner-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-warning-dark)}.alert-banner-cta{margin-left:auto;font-size:var(--text-xs);color:var(--text-tertiary)}.color-swatch{display:inline-block;width:24px;height:24px;border-radius:50%;border:1px solid var(--cream-surface);box-shadow:0 0 0 .5px var(--cream-border);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);vertical-align:middle}.color-swatch:hover{transform:scale(1.12)}.color-swatch.selected{box-shadow:0 0 0 2px var(--plum-600)}@media (max-width: 1024px){.admin-grid{grid-template-columns:1fr}}@media (max-width: 768px){.stats-row{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}@media (max-width: 640px){.stats-row{grid-template-columns:1fr}}.login-screen{min-height:100vh;background:var(--cream-canvas);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.login-card{background:var(--cream-surface);border:.5px solid var(--cream-border);border-radius:var(--radius-lg);padding:44px 38px;width:100%;max-width:440px;box-shadow:var(--shadow-md)}.login-logo{text-align:center;margin-bottom:24px}.login-logo .district-badge{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;margin-bottom:var(--space-3);padding:0;box-shadow:none}.login-logo .district-badge img{display:block;width:72px;height:72px;object-fit:contain}.login-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:0}.login-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1);font-weight:var(--font-normal);line-height:var(--leading-normal)}.login-form{display:flex;flex-direction:column;gap:20px}.login-form label{display:block;font-size:9.5px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-label);margin-bottom:6px}.login-form input{width:100%;padding:8px 12px;height:40px;border:.5px solid var(--cream-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);background:var(--cream-surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.login-form input::placeholder{color:var(--text-tertiary)}.login-form input:focus{border-color:var(--plum-600);box-shadow:0 0 0 3px var(--color-brand-glow)}.login-btn{width:100%;height:40px;padding:0 var(--space-4);background:var(--plum-600);color:var(--text-on-dark);border:.5px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition);margin-top:var(--space-1)}.login-btn:hover:not(:disabled){background:var(--plum-900)}.login-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-brand-glow)}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-error{background:var(--color-danger-light);border:.5px solid var(--color-danger);color:var(--color-danger-dark);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-normal)}.login-hint{margin-top:var(--space-5);padding-top:16px;border-top:.5px solid var(--cream-border);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;line-height:1.6}.login-hint code{font-family:var(--font-mono);background:var(--cream-surface-alt);padding:2px 7px;border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-xs)}.login-back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--space-3);padding:4px 8px;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;text-decoration:none;transition:background var(--transition),color var(--transition)}.login-back-link:hover{background:var(--plum-50);color:var(--plum-600)}.login-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-1) 0 2px;color:var(--gray-400);font-size:12px;font-weight:var(--font-semibold)}.login-divider{color:var(--text-tertiary);font-weight:var(--font-normal)}.login-divider:before,.login-divider:after{content:"";flex:1;height:.5px;background:var(--cream-border)}.google-btn{width:100%;height:40px;background:var(--cream-surface);color:var(--text-secondary);border:.5px solid var(--cream-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition);display:flex;align-items:center;justify-content:center;gap:10px}.google-btn:hover{background:var(--cream-surface-alt)}.google-btn:disabled{opacity:.5;cursor:not-allowed}.cp-back-wrap{padding:12px 20px 0}.cp-back-btn{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:var(--text-sm);padding:4px 0;display:flex;align-items:center;gap:4px;font-family:inherit}.cp-back-btn:hover{color:var(--text-primary)}.cp-back-btn span{font-size:18px}.pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#2a1f2eb3;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-5);overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pdf-container{background:var(--white);width:816px;max-width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.pdf-toolbar{background:var(--plum-900);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between}.pdf-toolbar span{color:var(--text-on-dark-muted);font-size:var(--text-sm);font-weight:var(--font-medium)}.pdf-toolbar-btns{display:flex;gap:var(--space-2)}.pdf-page{padding:var(--space-12) 52px;font-family:var(--font-body);color:var(--text-primary);background:var(--white)}.pdf-header{border-bottom:2px solid var(--plum-900);padding-bottom:var(--space-4);margin-bottom:var(--space-5)}.pdf-district{font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary);font-weight:var(--font-medium)}.pdf-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary);margin-top:2px;letter-spacing:0}.pdf-meta-row{display:flex;gap:var(--space-6);margin-top:10px;flex-wrap:wrap}.pdf-meta-label{font-size:9px;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary);font-weight:var(--font-medium)}.pdf-meta-value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-top:1px}.pdf-section-title{font-size:10px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--plum-600);border-bottom:1px solid var(--plum-100);padding-bottom:5px;margin:var(--space-4) 0 var(--space-3)}.pdf-table{width:100%;border-collapse:collapse;font-size:10px}.pdf-table thead th{background:var(--cream-surface-alt);color:var(--text-tertiary);padding:var(--space-2) 7px;font-size:8.5px;text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--font-medium);text-align:left;border-bottom:.5px solid var(--cream-border)}.pdf-table .cat-row td{background:var(--plum-50);color:var(--plum-600);font-weight:var(--font-medium);font-size:9px;padding:var(--space-1) 7px;text-transform:uppercase;letter-spacing:var(--tracking-label)}.pdf-table tbody td{padding:5px 7px;border-bottom:.5px solid var(--cream-border);font-size:9.5px;color:var(--text-primary)}.pdf-part-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:var(--space-2)}.pdf-part-table thead th{background:var(--cream-surface-alt);color:var(--text-tertiary);padding:var(--space-2) 10px;font-size:9px;text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--font-medium);text-align:left;border-bottom:.5px solid var(--cream-border)}.pdf-part-table tbody td{padding:var(--space-2) 10px;border-bottom:.5px solid var(--cream-border);font-size:10px;color:var(--text-primary)}.pdf-notes-box{border:.5px solid var(--cream-border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:10px;color:var(--text-secondary);line-height:var(--leading-relaxed);min-height:60px;background:var(--cream-surface-alt)}.pdf-compliance-box{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);border:.5px solid transparent}.pdf-compliance-box.ok{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.pdf-compliance-box.no{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger-dark)}.pdf-footer{margin-top:var(--space-6);padding-top:var(--space-3);border-top:.5px solid var(--cream-border);display:flex;justify-content:space-between;font-size:9px;color:var(--text-tertiary);font-weight:var(--font-normal)}@page landscape-letter{size:letter landscape;margin:.4in}@media print{@page{size:letter portrait;margin:.4in}.pdf-page.landscape{page:landscape-letter}html,body{margin:0!important;padding:0!important;background:#fff!important;width:100%!important;overflow:visible!important}body *{visibility:hidden}.pdf-overlay,.pdf-overlay *{visibility:visible!important}.pdf-toolbar{display:none!important}.pdf-overlay{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;padding:0!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:block!important;overflow:visible!important;z-index:auto!important}.pdf-container{box-shadow:none!important;width:100%!important;max-width:100%!important;border-radius:0!important;overflow:visible!important}.sidebar,.topbar,.action-bar,.toast-container{display:none!important}.app-layout{display:block!important}.main-content{margin-left:0!important;display:block!important}.page-content{padding:0!important}.pdf-page{padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pdf-header{padding-bottom:6px!important;margin-bottom:8px!important;border-bottom-width:2px!important}.pdf-title{font-size:15px!important}.pdf-section-title{margin:8px 0 4px!important;padding-bottom:3px!important;font-size:9px!important}.pdf-table thead th{padding:3px 5px!important;font-size:7.5px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pdf-table tbody td{padding:3px 5px!important;font-size:8.5px!important}.pdf-table .cat-row td{padding:2px 5px!important;font-size:8px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pdf-part-table thead th{padding:3px 8px!important;font-size:8px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pdf-part-table tbody td{padding:3px 8px!important;font-size:9px!important}.pdf-notes-box{min-height:30px!important;padding:6px!important;font-size:9px!important}.pdf-footer{margin-top:8px!important;padding-top:4px!important;font-size:8px!important}.pdf-header,.pdf-table tr,.pdf-part-table tr{break-inside:avoid;page-break-inside:avoid}.pdf-table,.pdf-part-table{break-inside:auto!important;page-break-inside:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}::selection{background:var(--color-brand-pale);color:var(--plum-900)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-400)}.text-accent{color:var(--color-brand)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.hidden{display:none}.cursor-pointer{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:var(--gray-200);border-radius:var(--radius-sm);animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-list{display:flex;flex-direction:column}.skeleton-row{display:flex;gap:var(--space-3);padding:14px 16px;border-bottom:1px solid var(--gray-100);align-items:center}.skeleton-cell{height:14px}@media (max-width: 768px){.page-content{padding:var(--space-3)}.topbar{padding:0 var(--space-3)}}@media (max-width: 640px){.field-row{flex-direction:column}.field-group{min-width:100%}}
