.auth-page{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4) var(--space-8)}.auth-card{width:100%;max-width:420px;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);box-shadow:0 24px 48px -28px color-mix(in srgb,var(--color-brand-primary) 45%,transparent)}.auth-card__brand{display:flex;justify-content:center;margin-bottom:var(--space-4)}.auth-card__logo{height:40px;width:auto}.auth-eyebrow{margin:0 0 var(--space-1);text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;color:var(--color-brand-secondary)}.auth-heading{margin:0 0 var(--space-2);text-align:center;font-size:1.4rem;line-height:1.3;color:var(--color-text-primary)}.auth-subheading{margin:0 0 var(--space-6);text-align:center;font-size:.9rem;line-height:1.5;color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column}.auth-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4);text-align:left}.auth-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.auth-input{padding:.65rem var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg-subtle);color:var(--color-text-primary);font-family:inherit;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.auth-input::placeholder{color:var(--color-text-secondary);opacity:.75}.auth-input:focus-visible{outline:none;border-color:var(--color-brand-secondary);background-color:var(--color-bg-base);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-secondary) 25%,transparent)}.auth-hint{margin:0;font-size:.78rem;color:var(--color-text-secondary)}.auth-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.auth-alert{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);font-size:.875rem;line-height:1.4;text-align:left}.auth-alert svg{flex:none;width:18px;height:18px;margin-top:1px}.auth-alert--danger{background-color:color-mix(in srgb,var(--color-danger) 12%,var(--color-bg-elevated));border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);color:var(--color-danger)}.auth-alert--success{background-color:color-mix(in srgb,var(--color-success) 12%,var(--color-bg-elevated));border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success)}.auth-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:var(--space-2);padding:.75rem var(--space-4);border:none;border-radius:var(--radius-sm);background-color:var(--color-brand-primary);color:var(--color-text-on-brand);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.auth-submit:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-brand-primary) 88%,black)}.auth-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--color-brand-secondary) 55%,transparent);outline-offset:2px}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-spinner{width:14px;height:14px;margin-right:var(--space-2);border-radius:50%;border:2px solid color-mix(in srgb,var(--color-text-on-brand) 35%,transparent);border-top-color:var(--color-text-on-brand);animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-footer{margin:var(--space-6) 0 0;text-align:center;font-size:.9rem;color:var(--color-text-secondary)}.auth-link{color:var(--color-brand-secondary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:2px;border-radius:var(--radius-sm)}.auth-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);text-align:center}.auth-status__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%}.auth-status__icon svg{width:26px;height:26px}.auth-status__icon--loading{background-color:color-mix(in srgb,var(--color-brand-secondary) 15%,transparent);color:var(--color-brand-secondary)}.auth-status__icon--success{background-color:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.auth-status__icon--error{background-color:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.auth-status__spinner{width:26px;height:26px;border-radius:50%;border:3px solid color-mix(in srgb,var(--color-brand-secondary) 25%,transparent);border-top-color:var(--color-brand-secondary);animation:auth-spin .8s linear infinite}.auth-status__message{margin:0;font-size:.95rem;color:var(--color-text-primary)}@media (max-width: 420px){.auth-card{padding:var(--space-6) var(--space-4)}}.search-select{position:relative;width:100%;max-width:420px}.search-select input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-base);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary)}.search-select input:focus{outline:2px solid var(--color-brand-secondary);outline-offset:1px}.search-select__dropdown{position:absolute;z-index:10;top:calc(100% + var(--space-1));left:0;right:0;margin:0;padding:var(--space-1);list-style:none;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;max-height:280px;overflow-y:auto}.search-select__dropdown li button{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family-base)}.search-select__dropdown li button:hover{background:var(--color-bg-subtle)}.search-select__hint{padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-size:.9rem}.requirements-editor__hint{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--space-3)}.requirements-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.requirements-editor__list label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);cursor:pointer}.requirements-editor__number{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:.85rem}.requirements-editor__hint-inline{color:var(--color-text-secondary);font-size:.85rem;font-style:italic}.history-filters{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-4) 0}.history-filters label{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.history-filters select{min-width:200px;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-primary)}.history-table{width:100%;border-collapse:collapse;margin-top:var(--space-4)}.history-table th,.history-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:.9rem}.history-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-primary);font-size:.85rem;font-weight:600;white-space:nowrap}.history-badge__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary);flex-shrink:0}.history-badge--approved{border-color:var(--color-brand-secondary)}.history-badge--approved .history-badge__dot{background:var(--color-brand-secondary)}.history-badge--rejected{border-color:var(--color-danger)}.history-badge--rejected .history-badge__dot{background:var(--color-danger)}.development-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin:var(--space-4) 0}.development-tabs__tab{padding:var(--space-2) var(--space-4);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:inherit;font-size:.95rem;color:var(--color-text-secondary)}.development-tabs__tab:hover{color:var(--color-text-primary)}.development-tabs__tab:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:2px}.development-tabs__tab[aria-selected=true]{color:var(--color-brand-secondary);border-bottom-color:var(--color-brand-secondary);font-weight:600}.toxicology-table{width:100%;border-collapse:collapse;margin-top:var(--space-4)}.toxicology-table th,.toxicology-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:.9rem}.toxicology-table__actions{display:flex;gap:var(--space-2)}.document-checklist__progress-track{height:8px;border-radius:var(--radius-sm);background:var(--color-bg-subtle);overflow:hidden}.document-checklist__progress-fill{height:100%;background:var(--color-brand-secondary);transition:width .2s ease}.document-checklist__progress-label{margin:var(--space-2) 0 var(--space-4);color:var(--color-text-secondary);font-size:.9rem}.document-checklist__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.document-checklist__item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.document-checklist__number{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:.85rem}.document-checklist__item--approved{border-color:var(--color-success)}.document-checklist__item--rejected{border-color:var(--color-danger)}.document-checklist__item--av_scanning,.document-checklist__item--ready_for_review{border-color:var(--color-brand-tertiary)}.document-checklist__reason{color:var(--color-danger);font-size:.85rem}.component-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);overflow:hidden;transition:border-color .15s ease}.component-card[data-expanded=true]{border-color:var(--color-brand-secondary)}.component-card__header{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-4);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--color-text-primary)}.component-card__header:hover{background:var(--color-bg-subtle)}.component-card__header:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:-2px}.component-card__title{display:flex;flex-direction:column;gap:var(--space-1);min-width:180px}.component-card__name{font-weight:600;font-size:1.05rem;color:var(--color-brand-secondary)}.component-card__code{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:.85rem}.component-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-6);flex:1}.component-card__meta-item{display:flex;flex-direction:column;gap:var(--space-1)}.component-card__meta-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.component-card__meta-value{font-size:.9rem;color:var(--color-text-primary)}.component-card__chevron{font-size:1.2rem;color:var(--color-brand-secondary);line-height:1}.component-card__panel{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border)}.supplier-dashboard{padding:var(--space-8)}.supplier-dashboard__intro{color:var(--color-text-secondary);margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-4)}.supplier-dashboard__error{color:var(--color-danger)}.supplier-dashboard__list{display:flex;flex-direction:column;gap:var(--space-4)}.supplier-dashboard__panel-loading{color:var(--color-text-secondary);padding:var(--space-2) 0}.supplier-dashboard__submit{margin-top:var(--space-4)}.profile-menu{position:relative}.profile-menu__trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);cursor:pointer;font-family:inherit}.profile-menu__trigger:hover,.profile-menu__trigger:focus-visible{background:var(--color-bg-subtle);border-color:var(--color-border)}.profile-menu__trigger:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:2px}.profile-menu__avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-text-on-brand);font-weight:600;flex-shrink:0}.profile-menu__trigger-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}@media (max-width: 640px){.profile-menu__trigger-text{display:none}}.profile-menu__trigger .profile-menu__email{font-size:.85rem;font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu__trigger .profile-menu__role{font-size:.75rem;color:var(--color-text-secondary)}.profile-menu__panel{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:240px;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-dropdown);z-index:20}.profile-menu__identity{display:flex;flex-direction:column;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.profile-menu__identity .profile-menu__email{font-weight:600;color:var(--color-text-primary);word-break:break-all}.profile-menu__identity .profile-menu__role{font-size:.85rem;color:var(--color-text-secondary)}.profile-menu__item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:.9rem;cursor:pointer}.profile-menu__item:hover,.profile-menu__item:focus-visible{background:var(--color-bg-subtle)}.profile-menu__item:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:-2px}.profile-menu__item:disabled{cursor:not-allowed;opacity:.7}.profile-menu__item--danger{color:var(--color-danger)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.app-header__logo{height:40px;width:auto}:root{--font-family-base: "Century Gothic", "Jost", "Poppins", -apple-system, "Segoe UI", sans-serif;--color-brand-primary: #06326b;--color-brand-secondary: #007988;--color-brand-tertiary: #5ec7d1;--color-bg-base: #ffffff;--color-bg-subtle: #f4f7f9;--color-bg-elevated: #ffffff;--color-border: #dce3e8;--color-text-primary: #12202e;--color-text-secondary: #4c5d6b;--color-text-on-brand: #ffffff;--color-success: #1f9d6b;--color-warning: #c98a1b;--color-danger: #c43d3d;--shadow-dropdown: 0 8px 24px rgba(6, 20, 33, .16);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg-base: #0b1620;--color-bg-subtle: #101e2b;--color-bg-elevated: #16283a;--color-border: #24384a;--color-text-primary: #eaf1f5;--color-text-secondary: #a9bac6;--color-text-on-brand: #ffffff;--color-brand-secondary: #2fa9ba;--color-brand-tertiary: #5ec7d1;--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .5)}}[data-theme=dark]{--color-bg-base: #0b1620;--color-bg-subtle: #101e2b;--color-bg-elevated: #16283a;--color-border: #24384a;--color-text-primary: #eaf1f5;--color-text-secondary: #a9bac6;--color-text-on-brand: #ffffff;--color-brand-secondary: #2fa9ba;--color-brand-tertiary: #5ec7d1;--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family-base);background-color:var(--color-bg-base);color:var(--color-text-primary);transition:background-color .15s ease,color .15s ease}
