:root{--primary-color:#01649d;--primary-hover:#015a8d;--primary-strong:#01466e;--primary-deep:#013c5e;--secondary-color:#616266;--brand-grey:#a5a5a5;--bg-color:#f5f6f7;--card-bg:#fff;--text-strong:#211f1f;--text-main:#373535;--text-muted:#616266;--border-color:#e2e2e3;--success-color:#2e7d32;--warning-color:#fdcb6e;--error-color:#c62828;--pending-color:var(--primary-color);--primary-soft:#e6f0f6;--primary-tint:#f2f7fa;--primary-muted:#d2e3ee;--primary-border:#b3d0e2;--surface-muted:#f9f9fa;--surface-subtle:#efeff0;--danger-soft:#fff5f5;--danger-border:#fed7d7;--danger-strong:#a61b1b;--warning-soft:#fffbeb;--warning-border:#f59e0b;--warning-border-soft:#fde68a;--success-soft:#ecf6ed;--success-border:#b9dcbb;--text-success:#2e7d32;--text-warning:#92400e;--warning-strong:#b45309;--warning-strong-hover:#92400e;--border-strong:#848484;--status-pending-bg:var(--primary-soft);--status-pending-fg:var(--primary-strong);--status-approved-bg:#e8f5e9;--status-approved-fg:#2e7d32;--status-rejected-bg:#ffebee;--status-rejected-fg:#c62828;--status-processing-bg:var(--primary-deep);--status-processing-fg:#fff;--status-rework-bg:#fef3c7;--status-rework-fg:#92400e;--status-neutral-bg:var(--surface-subtle);--status-neutral-fg:#4e4e52;--font-display:"Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", P052, Georgia, serif;--font-sans:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;--mono:var(--font-mono);--text-xs:.75rem;--text-sm:.85rem;--text-base:.95rem;--text-md:1.05rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.8rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--shadow-sm:0 1px 2px #211f1f0d, 0 1px 3px #211f1f0a;--shadow-md:0 4px 12px #211f1f14;--shadow-lg:0 20px 50px #211f1f38;--shadow-primary:0 6px 16px color-mix(in srgb, var(--primary-color) 16%, transparent);--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--focus-ring:0 0 0 4px color-mix(in srgb, var(--primary-color) 18%, transparent);--focus-ring-danger:0 0 0 4px color-mix(in srgb, var(--error-color) 15%, transparent);--backdrop:color-mix(in srgb, var(--text-strong) 50%, transparent);--transition:all .2s ease;--control-height:44px;--z-header:90;--z-overlay:95;--z-drawer:100;--z-skip-link:200;--z-toast:2000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:100%;width:100%;max-width:100vw;margin:0;padding:0}html{scroll-padding-top:86px;overflow-x:hidden}body,#root{overflow-x:clip}#root{width:100%;max-width:100vw;min-height:100vh}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-strong);text-wrap:balance;line-height:1.3}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:var(--text-base);border-radius:var(--radius);transition:var(--transition);border:none;outline:none;justify-content:center;align-items:center;gap:8px;display:inline-flex}:is(a,button,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.primary-btn,.secondary-btn,.danger-btn{min-height:var(--control-height);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.primary-btn{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.primary-btn:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}.secondary-btn{border-color:var(--border-color);color:var(--text-main);background-color:#fff}.secondary-btn:hover{background-color:var(--primary-tint);border-color:var(--primary-color);color:var(--primary-color)}.secondary-btn.is-active,.secondary-btn[aria-pressed=true]{background-color:var(--primary-soft);border-color:var(--primary-color);color:var(--primary-color)}.danger-btn,.primary-btn.is-danger{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.danger-btn:hover,.primary-btn.is-danger:hover{background-color:var(--danger-strong);border-color:var(--danger-strong)}.primary-btn.is-warning{background-color:var(--warning-strong);border-color:var(--warning-strong)}.primary-btn.is-warning:hover{background-color:var(--warning-strong-hover);border-color:var(--warning-strong-hover)}.secondary-btn.is-danger{border-color:var(--danger-border);color:var(--error-color)}.secondary-btn.is-danger:hover{background-color:var(--danger-soft);border-color:var(--error-color);color:var(--error-color)}.secondary-btn.is-warning{background-color:var(--warning-soft);border-color:var(--warning-border);color:var(--text-warning)}.secondary-btn.is-warning:hover{background-color:var(--status-rework-bg);border-color:var(--warning-border);color:var(--text-warning)}:is(.primary-btn,.secondary-btn,.danger-btn,.icon-btn):is(:disabled,[aria-disabled=true]){opacity:.6;cursor:not-allowed;transform:none}:is(.primary-btn,.secondary-btn,.danger-btn,.icon-btn)[aria-busy=true]{cursor:progress}.btn-sm{min-height:36px;font-size:var(--text-sm);padding:6px 12px}.btn-block{width:100%}.icon-btn{width:var(--control-height);height:var(--control-height);border-radius:var(--radius);color:var(--text-muted);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--primary-tint);color:var(--primary-color)}.icon-btn.is-danger{color:var(--error-color)}.icon-btn.is-danger:hover{background:var(--danger-soft);color:var(--error-color)}.icon-btn.btn-sm{width:36px;height:36px;min-height:36px}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.005em;color:var(--text-strong);margin-bottom:6px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:1rem}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);box-sizing:border-box;max-width:100%;margin-bottom:24px;padding:24px}.badge{border-radius:var(--radius-pill);background:var(--status-neutral-bg);color:var(--status-neutral-fg);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:3px 10px;font-weight:700;line-height:1.5;display:inline-block}.badge-active,.badge-pending,.badge-in_progress,.badge-initiated,.badge-scheduled{background:var(--status-pending-bg);color:var(--status-pending-fg)}.badge-completed,.badge-approved{background:var(--status-approved-bg);color:var(--status-approved-fg)}.badge-rejected,.badge-cancelled{background:var(--status-rejected-bg);color:var(--status-rejected-fg)}.badge-processing{background:var(--status-processing-bg);color:var(--status-processing-fg)}.badge-rework,.badge-paused{background:var(--status-rework-bg);color:var(--status-rework-fg)}.badge-skipped,.badge-future,.badge-draft,.badge-expired{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data-table th{text-align:left;background:var(--surface-muted);border-bottom:1px solid var(--border-color);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;padding:12px 16px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);padding:14px 16px;font-size:.9rem}.data-table tbody tr:hover{background-color:var(--primary-tint)}.data-table tr[data-href]{cursor:pointer}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-container-responsive{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;max-width:100%;margin-bottom:1rem;overflow-x:auto}.table-container-responsive:focus-visible{outline-offset:-2px}.spin,.animate-spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){html{scroll-padding-top:72px}.page-title{word-break:break-word;font-size:1.4rem}.page-subtitle{word-break:break-word;margin-bottom:16px;font-size:.9rem}.card{margin-bottom:16px;padding:16px}.data-table th,.data-table td{white-space:nowrap;padding:12px}.primary-btn,.secondary-btn,.danger-btn{max-width:100%;padding:10px 16px}.urgent-banner{gap:12px;padding:14px 16px}.banner-content{flex:1;gap:10px;min-width:0}.banner-text{min-width:0}.banner-text :is(h2,h4){word-break:break-word;font-size:.95rem}.banner-text p{font-size:var(--text-sm);word-break:break-word}.desktop-only-table{display:none!important}}.mobile-only-cards{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:none}@media (width<=768px){.mobile-only-cards{display:flex}}.request-card-mobile{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);color:inherit;cursor:pointer;transition:var(--transition);padding:20px;display:block}.request-card-mobile:hover{border-color:var(--primary-border);box-shadow:var(--shadow-primary)}.request-card-mobile:active{transform:scale(.98)}.request-card-mobile .card-top{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.request-card-mobile .ref-no{color:var(--primary-color);font-weight:700;font-size:var(--text-sm)}.request-card-mobile .req-title{font-weight:700;font-size:var(--text-md);color:var(--text-main);margin-bottom:4px;display:block}.request-card-mobile .req-meta{color:var(--text-muted);font-size:.8rem;display:block}.request-card-mobile .card-footer{border-top:1px solid var(--surface-subtle);margin-top:16px;padding-top:12px}.request-card-mobile .req-stage{font-size:var(--text-sm);color:var(--primary-color);align-items:center;gap:8px;font-weight:600;display:flex}.urgent-banner{border:1px solid var(--primary-color);border-radius:var(--radius);background:var(--primary-color);box-shadow:var(--shadow-sm);color:#fff;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:20px 24px;text-decoration:none;transition:box-shadow .15s,transform .15s;animation:.5s ease-out slideUp;display:flex}.urgent-banner:hover{background:var(--primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.urgent-banner--warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--text-warning)}.urgent-banner--warning:hover{background:var(--warning-soft);box-shadow:0 6px 16px color-mix(in srgb, var(--warning-strong) 15%, transparent)}.banner-content{align-items:center;gap:16px;display:flex}.banner-icon{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.urgent-banner--warning .banner-icon{background:var(--status-rework-bg);color:var(--warning-strong)}.banner-text :is(h2,h4){color:inherit;margin:0;font-size:1.1rem;font-weight:700}.banner-text p{font-size:var(--text-sm);margin:0}.banner-arrow{flex-shrink:0}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr));gap:12px;margin-bottom:24px;display:grid}.mini-metric{border-top:3px solid var(--brand-grey);text-align:center;margin-bottom:0;padding:16px}.mini-metric.highlight{background:var(--primary-tint);border-color:var(--primary-border);border-top-color:var(--primary-color)}.mini-metric .metric-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700;display:block}.mini-metric .metric-value{color:var(--text-strong);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.6rem;font-weight:700;line-height:1.3;display:block}.mini-metric.highlight .metric-value{color:var(--primary-color)}.metric-link{color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.metric-link:hover{box-shadow:var(--shadow-primary);transform:translateY(-1px)}.metric-link:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.pulse-btn{box-shadow:var(--shadow-primary)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:is(.primary-btn,.secondary-btn,.danger-btn,.metric-link,.urgent-banner,.request-card-mobile):is(:hover,:active){transform:none}}.dynamic-form{margin-top:20px}.form-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.form-group.full-width{grid-column:span 2}.form-label{color:var(--text-main);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.required-star{color:var(--error-color)}.form-input,.form-select,.form-textarea{border-radius:var(--radius);border:1.5px solid var(--border-strong);width:100%;transition:var(--transition);color:var(--text-main);background-color:#fff;padding:12px 16px;font-family:inherit;font-size:.95rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.form-textarea{resize:vertical;min-height:120px}.field-desc{color:var(--text-muted);margin-top:4px;font-size:.8rem}.field-hint{color:var(--text-muted);margin:-2px 0 8px;font-size:.85rem}.checkbox-field{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-muted);color:var(--text-main);cursor:pointer;transition:var(--transition);align-items:flex-start;gap:12px;padding:12px 16px;font-size:.9rem;font-weight:600;line-height:1.4;display:flex}.checkbox-field:hover{border-color:var(--primary-border)}.checkbox-field:has(input:checked){border-color:var(--primary-border)}.checkbox-field:has(input:checked){background:var(--primary-soft)}.checkbox-field:has(input:focus-visible){border-color:var(--primary-color);box-shadow:var(--focus-ring)}.checklist-options{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:8px;display:grid}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0;margin:1px 0 0}.form-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:40px;padding-top:24px;display:flex}.submit-btn{background-color:var(--primary-color);color:#fff;border-radius:var(--radius);transition:var(--transition);padding:12px 32px;font-size:1rem;font-weight:600}.submit-btn:hover{background-color:var(--primary-hover);transform:translateY(-1px)}@media (width<=768px){.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:var(--error-color)}.form-input[aria-invalid=true]:focus,.form-textarea[aria-invalid=true]:focus{box-shadow:var(--focus-ring-danger)}.field-meta{align-items:flex-start;gap:12px;margin-top:6px;display:flex}.field-error{color:var(--error-color);font-size:.8rem;font-weight:500}.field-counter{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.form-alert{border-radius:var(--radius);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--error-color);align-items:center;gap:8px;margin-top:24px;padding:12px 16px;font-size:.9rem;font-weight:500;display:flex}.form-file{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);width:100%;color:var(--text-main);cursor:pointer;padding:10px 12px;font-size:.9rem;display:block}.form-file:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.form-file-chosen{color:var(--primary-color);overflow-wrap:anywhere;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;display:flex}.attachments-box{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);margin-top:24px;padding:16px}.attachments-box-title{color:var(--text-main);align-items:center;gap:6px;padding:0 4px;font-size:.9rem;font-weight:700;display:flex}.attachments-box-optional{color:var(--text-muted);font-weight:500}.attachments-box-empty{color:var(--text-muted);font-size:var(--text-sm);margin-top:8px}.file-chips{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.file-chip{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--card-bg);max-width:100%;color:var(--text-main);font-size:var(--text-sm);align-items:center;gap:8px;padding:2px 2px 2px 10px;display:inline-flex}.file-chip svg{color:var(--primary-color);flex-shrink:0}.file-chip .icon-btn svg{color:inherit}.file-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.file-chip-size{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.form-select[aria-invalid=true]{border-color:var(--error-color)}.app-dialog{border:none;border-top:3px solid var(--primary-color);border-radius:var(--radius-lg);background:var(--card-bg);width:min(480px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--text-main);margin:auto;padding:24px}.app-dialog::backdrop{background:var(--backdrop)}.app-dialog-title{font-family:var(--font-display);margin:0 0 8px;font-size:1.25rem;font-weight:700}.app-dialog-text{color:var(--text-muted);margin:0 0 16px;font-size:.9rem;line-height:1.5}.app-dialog-text p{margin:0}.app-dialog-text p+p{margin-top:8px}.app-dialog-list{max-height:240px;color:var(--text-main);margin:8px 0 0;padding-left:20px;overflow-y:auto}.app-dialog-list li+li{margin-top:4px}.app-dialog-list small{color:var(--text-muted)}.app-dialog-text .app-dialog-list+p{margin-top:12px}.app-dialog .field-error{margin-top:6px}.app-dialog-error{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-soft);color:var(--error-color);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.85rem;display:flex}.app-dialog-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.app-dialog-actions [aria-disabled=true]{cursor:progress;opacity:.7}.app-dialog-spinner{animation:.8s linear infinite spin}html:has(dialog[open]:modal){overflow:hidden}.app-modal{border:none;border-top:3px solid var(--primary-color);border-radius:var(--radius-lg);background:var(--card-bg);width:min(560px,100vw - 32px);max-height:min(90dvh,900px);box-shadow:var(--shadow-lg);color:var(--text-main);margin:auto;padding:0;overflow:hidden}.app-modal--sm{width:min(440px,100vw - 32px)}.app-modal--lg{width:min(820px,100vw - 32px)}.app-modal::backdrop{background:var(--backdrop)}.app-modal[open]{flex-direction:column;animation:.2s ease-out app-modal-in;display:flex}.app-modal-frame{min-height:0;max-height:inherit;flex-direction:column;display:flex}.app-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 16px 24px;display:flex}.app-modal-heading{min-width:0;padding-top:8px}.app-modal-title{font-family:var(--font-display);font-size:var(--text-lg);overflow-wrap:anywhere;margin:0;font-weight:700}.app-modal-description{color:var(--text-muted);margin:4px 0 0;font-size:.9rem}.app-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:24px;overflow-y:auto}.app-modal-footer{border-top:1px solid var(--border-color);background:var(--surface-muted);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@media (width<=600px){.app-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.app-modal-header{padding:12px 8px 12px 16px}.app-modal-body{padding:16px}.app-modal-footer{padding:12px 16px}.app-modal-footer>*{flex:auto}}@keyframes app-modal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.result-dialog{text-align:center}.result-dialog-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;display:inline-flex}.result-dialog-icon.is-success{background:var(--status-approved-bg);color:var(--text-success)}.result-dialog-icon.is-error{background:var(--danger-soft);color:var(--error-color)}.result-dialog-icon.is-warning{background:var(--status-rework-bg);color:var(--warning-strong)}.result-dialog-icon.is-info{background:var(--primary-soft);color:var(--primary-color)}.result-dialog .app-dialog-title{margin-bottom:8px}.result-dialog .app-dialog-text{color:var(--text-muted);font-size:var(--text-base)}.result-dialog .app-dialog-actions{justify-content:center}.result-dialog .app-dialog-actions>*{flex:140px}.delegations-page,.reports-page,.admin-portal{max-width:1240px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header-text{flex:320px;min-width:0}.page-header .page-subtitle{margin-bottom:0}.page-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-header .back-link{margin-bottom:8px}@media (width<=768px){.page-header{margin-bottom:16px}}.back-link{border-radius:var(--radius-sm);min-height:32px;color:var(--text-muted);transition:var(--transition);align-items:center;gap:8px;margin-bottom:24px;font-size:.9rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--primary-color)}.form-control{width:100%;min-height:var(--control-height);border:1.5px solid var(--border-strong);border-radius:var(--radius);background-color:var(--card-bg);color:var(--text-main);font-size:var(--text-base);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.form-control[aria-invalid=true]{border-color:var(--error-color)}textarea.form-control{resize:vertical}.form-grid-stackable{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=768px){.form-grid-stackable{grid-template-columns:1fr;gap:16px}}.alert{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-soft);color:var(--error-color);align-items:flex-start;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:500;line-height:1.5;display:flex}.alert svg{flex-shrink:0;margin-top:2px}.alert--info{border-color:var(--primary-border);background:var(--primary-tint);color:var(--primary-color)}.alert--warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--text-warning)}.alert-actions{flex-shrink:0;margin-left:auto}.section-heading{color:var(--text-strong);font-size:var(--text-base);letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;font-weight:700}:is(.section-heading,.list-card-title):after{content:"";background:var(--primary-color);width:32px;height:2px;margin-top:6px;display:block}.inline-status{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.list-card-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.list-card-title{color:var(--text-strong);margin:0;font-size:1rem;font-weight:700}.list-card-count,.list-card-sub{color:var(--text-muted);font-size:var(--text-xs)}.list-card-note{color:var(--text-muted);text-align:center;padding:24px 0}.list-card-ref{color:var(--primary-color);white-space:nowrap;font-weight:600}.list-card-ref:hover{text-underline-offset:2px;text-decoration:underline}.list-card-name{font-weight:600}.list-card-stage{color:var(--primary-color);align-items:center;gap:6px;font-weight:600;display:inline-flex}.list-card-stage svg{flex-shrink:0}.section-flag{border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--status-rejected-fg);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-weight:700;display:inline-flex}.page-sections{flex-direction:column;gap:24px;display:flex}.page-sections>.card{margin-bottom:0}.delegated-section{border-top:2px dashed var(--border-color);padding-top:24px}.is-pill{border-radius:var(--radius-pill)}@media (width<=768px){.stack-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.stack-table,.stack-table tbody,.stack-table tr,.stack-table td{width:100%;display:block}.stack-table tr{border-bottom:1px solid var(--border-color);padding:12px 16px}.data-table.stack-table td{white-space:normal;text-align:left;border:none;padding:4px 0}.stack-table td[data-label]:before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:700;display:block}}.data-table .is-center{text-align:center}.page-status{text-align:center;min-height:100dvh;color:var(--text-muted);background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.page-status--loading{animation:.2s ease-out .3s both page-status-appear}.page-status-spinner{color:var(--primary-color);animation:.9s linear infinite spin}.page-status-card{border:1px solid var(--border-color);background:var(--card-bg);width:100%;max-width:420px;box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.page-status-card h1{font-family:var(--font-display);color:var(--text-strong);font-size:1.3rem}.page-status-icon{color:var(--error-color)}.page-status-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}@keyframes page-status-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-status--loading,.page-status-spinner{animation:none}}.page-status--inline{background:0 0;min-height:min(60vh,28rem)}.page-status-card .page-status-title{color:var(--text-main);font-size:var(--text-lg)}.brand-logo{flex-shrink:0;display:block}img.brand-logo{object-fit:contain;width:auto}.brand-wordmark{height:auto;color:var(--secondary-color);font-family:var(--font-display);text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:inline-flex}.brand-wordmark-name{letter-spacing:.12em;padding-left:.12em;font-size:1.9rem;font-weight:400}.brand-wordmark-sub{border-top:2px solid var(--primary-color);color:var(--secondary-color);letter-spacing:.32em;align-items:center;gap:8px;margin-top:6px;padding-top:6px;padding-left:.32em;font-size:.85rem;display:flex}.brand-wordmark-mark{aspect-ratio:1;border:1px solid var(--primary-border);border-radius:var(--radius);background:var(--primary-soft);color:var(--primary-color);font-family:var(--font-display);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:inline-flex}.sidebar{background:var(--card-bg);border-top:3px solid var(--primary-color);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;width:280px;height:100vh;transition:width .25s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0}.sidebar-header{justify-content:space-between;align-items:center;padding:28px 24px 24px;display:flex}.logo{border-radius:var(--radius);min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.logo:hover .logo-text{color:var(--primary-color)}.logo-mark{height:44px}.logo-full{border-left:1px solid var(--border-color);flex-direction:column;min-width:0;padding-left:12px;display:flex}.mobile-close{margin-right:-10px;display:none}.logo-text{font-family:var(--font-display);color:var(--text-strong);white-space:nowrap;font-size:1.4rem;font-weight:700;line-height:1.15}.logo-sub{color:var(--primary-color)}.logo-org{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:.62rem;font-weight:600}.sidebar-divider{background:var(--border-color);height:1px;margin:0 24px 20px}.sidebar-nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:4px;min-height:0;padding:0 16px;display:flex;overflow:hidden auto}.nav-link{border-radius:var(--radius);color:var(--text-muted);transition:var(--transition);align-items:center;gap:12px;padding:11px 16px;font-weight:500;display:flex;position:relative}.nav-link:hover{background-color:var(--primary-tint);color:var(--primary-color)}.nav-link.active{background-color:var(--primary-soft);color:var(--primary-strong);font-weight:700}.nav-link.active:before{content:"";background:var(--primary-color);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-link:focus-visible{outline-offset:-2px}.pending-badge{background-color:var(--error-color);color:#fff;border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:20px;margin-left:auto;padding:2px 7px;font-size:.7rem;font-weight:700;display:flex}.sidebar-footer{border-top:1px solid var(--border-color);padding:20px 16px}.logout-btn{width:100%;min-height:var(--control-height);border:1px solid var(--border-color);color:var(--text-muted);background-color:var(--card-bg);border-radius:var(--radius);padding:10px 12px;font-weight:600}.logout-btn:hover{border-color:var(--danger-border);background-color:var(--danger-soft);color:var(--error-color)}.sidebar.collapsed{width:76px}.sidebar.collapsed .logo-full{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:24px 12px}.sidebar.collapsed .sidebar-divider{margin:0 14px 18px}.sidebar.collapsed .sidebar-nav{align-items:center;padding:0 10px}.sidebar.collapsed .nav-link{justify-content:center;width:46px;height:46px;padding:12px 0;position:relative}.sidebar.collapsed .nav-link>span:not(.pending-badge){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar.collapsed .nav-link .pending-badge{border:2px solid var(--card-bg);border-radius:50%;width:10px;min-width:10px;height:10px;padding:0;font-size:0;display:block;position:absolute;top:6px;right:6px}.sidebar.collapsed .nav-link.active:before{top:10px;bottom:10px}.sidebar.collapsed .sidebar-footer{padding:18px 10px}.sidebar.collapsed .logout-btn{justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto;padding:12px 0;display:flex}.sidebar.collapsed .logout-btn span{display:none}@media (width>=769px) and (width<=1100px){.sidebar:not(.collapsed){width:240px}.sidebar:not(.collapsed) .sidebar-header{padding-left:20px;padding-right:20px}.sidebar:not(.collapsed) .sidebar-divider{margin-left:20px;margin-right:20px}.sidebar:not(.collapsed) .sidebar-nav{padding:0 12px}}@media (width<=768px){.sidebar{box-shadow:none;width:min(290px,84vw);max-width:84vw;height:100dvh;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.collapsed{width:min(290px,84vw);max-width:84vw}.sidebar.collapsed .logo-full{display:flex}.sidebar.collapsed .sidebar-header{justify-content:space-between;padding:24px}.sidebar.collapsed .sidebar-divider{margin:0 24px 20px}.sidebar.collapsed .sidebar-nav{align-items:stretch;padding:0 16px}.sidebar.collapsed .nav-link{justify-content:flex-start;width:100%;padding:12px 16px}.sidebar.collapsed .nav-link>span:not(.pending-badge){clip-path:none;width:auto;height:auto;position:static;overflow:visible}.sidebar.collapsed .nav-link .pending-badge{border:none;border-radius:20px;width:auto;min-width:20px;height:auto;margin-left:auto;padding:2px 7px;font-size:.7rem;position:static}.sidebar.collapsed .sidebar-footer{padding:20px 16px}.sidebar.collapsed .logout-btn{justify-content:center;width:100%;padding:12px}.sidebar.collapsed .logout-btn span{display:inline}.sidebar.show{box-shadow:var(--shadow-lg);transform:translate(0)}.mobile-close{display:inline-flex}.sidebar-header{padding:24px}}.avatar-image{object-fit:cover;width:100%;height:100%;display:block}.avatar-fallback{background:var(--primary-soft);width:100%;height:100%;color:var(--primary-color);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.layout{width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:clip}.main-content{background-color:var(--bg-color);flex-direction:column;flex:1;width:100%;min-width:0;max-width:100vw;transition:padding .3s;display:flex;overflow-x:clip}.skip-link{z-index:var(--z-skip-link);border-radius:var(--radius);background:var(--primary-color);color:#fff;padding:10px 16px;font-weight:600;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.page-container:focus{outline:none}.mobile-toggle{color:var(--text-main);margin-left:-10px;display:none}.desktop-sidebar-toggle{background:var(--surface-muted);border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;width:40px;height:40px;transition:var(--transition);justify-content:center;align-items:center;display:flex}.desktop-sidebar-toggle:hover{background:var(--primary-tint);color:var(--primary-color);border-color:var(--primary-border)}.sidebar-overlay{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-overlay);display:none;position:fixed;inset:0}.top-header{background:var(--card-bg);border-top:3px solid var(--primary-color);border-bottom:1px solid var(--border-color);height:70px;z-index:var(--z-header);box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:100vw;padding:0 32px;display:flex;position:sticky;top:0}.header-left-group{align-items:center;gap:12px;display:flex}.platform-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;background:var(--surface-subtle);border-radius:var(--radius-sm);white-space:nowrap;padding:4px 12px;font-size:.75rem;font-weight:700}.header-actions{align-items:center;gap:16px;display:flex}.notification-hub{background:var(--surface-muted);color:var(--text-muted);border-radius:var(--radius);width:44px;height:44px;transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notification-hub:hover{background:var(--primary-tint);color:var(--primary-color)}.notification-hub.has-pending{background:var(--primary-soft);color:var(--primary-color)}.notification-hub.has-pending:hover{background:var(--primary-border)}.hub-badge{background:var(--error-color);color:#fff;border:2px solid var(--card-bg);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:.7rem;font-weight:800;display:flex;position:absolute;top:-5px;right:-5px}.header-user{flex-direction:column;align-items:flex-end;display:flex}.header-user-name{color:var(--text-strong);font-size:.9rem;font-weight:700}.header-user-email{color:var(--text-muted);font-size:.75rem}.header-avatar{border:2px solid var(--primary-soft);border-radius:50%;width:40px;height:40px;overflow:hidden}.page-container{box-sizing:border-box;flex:1;width:100%;max-width:100%;padding:32px}@media (width>=769px) and (width<=1100px){.top-header{padding:0 24px}.platform-tag{display:none}.page-container{padding:24px}}@media (width<=768px){html:has(.layout.sidebar-open){overflow:hidden}.top-header{box-sizing:border-box;border-top-width:2px;width:100%;max-width:100vw;height:60px;padding:0 16px}.desktop-only{display:none!important}.mobile-toggle{display:inline-flex}.sidebar-open .sidebar-overlay{display:block}.header-user-email,.platform-tag{display:none}.page-container{box-sizing:border-box;width:100%;max-width:100vw;padding:16px 12px}}.toast-region{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;width:min(400px,100vw - 32px);display:flex;position:fixed;bottom:24px;right:24px}.toast-stack{flex-direction:column;gap:8px;display:flex}.toast{border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:var(--radius);background:var(--card-bg);color:var(--text-main);pointer-events:auto;align-items:flex-start;gap:12px;padding:12px 8px 12px 16px;animation:.2s ease-out toast-in;display:flex;box-shadow:0 10px 30px #211f1f26}.toast--success{border-left-color:var(--text-success)}.toast--error{border-left-color:var(--error-color)}.toast-icon{color:var(--primary-color);flex-shrink:0;margin-top:8px}.toast--success .toast-icon{color:var(--text-success)}.toast--error .toast-icon{color:var(--error-color)}.toast-text{overflow-wrap:anywhere;flex:1;min-width:0;padding:6px 0;font-size:.9rem;line-height:1.45}.toast-title{font-weight:700}.toast-message{color:var(--text-main)}.toast-title+.toast-message{color:var(--text-muted)}.toast-close{flex-shrink:0}@media (width<=600px){.toast-region{width:auto;bottom:16px;left:16px;right:16px}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.login-page{background-color:var(--bg-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%2301649D' d='M0 160Q640 10 1440 96V160Q780 54 0 160Z'/%3E%3C/svg%3E");background-position:bottom;background-repeat:no-repeat;background-size:100% clamp(56px,9vw,120px);justify-content:center;align-items:center;min-height:100dvh;padding:40px 16px 120px;display:flex;position:relative}.login-shell{flex-direction:column;gap:28px;width:100%;max-width:440px;display:flex}.login-brand{text-align:center;flex-direction:column;align-items:center;display:flex}.login-logo{height:112px;margin-bottom:20px}.login-wordmark{font-family:var(--font-display);color:var(--text-strong);font-size:2rem;font-weight:700;line-height:1.2}.login-wordmark span{color:var(--primary-color)}.login-tagline{color:var(--text-muted);margin-top:6px}.login-card{border:1px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-md);flex-direction:column;gap:20px;padding:32px;display:flex}.login-card h2{font-family:var(--font-display);color:var(--text-strong);font-size:1.45rem;font-weight:700;line-height:1.3}.login-lead{color:var(--text-muted);margin-top:4px}.microsoft-button{color:#5e5e5e;background:#fff;border:1px solid #8c8c8c;gap:12px;width:100%;min-height:44px;padding:10px 16px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;font-weight:600}.microsoft-button:hover{background:#f3f3f3}.microsoft-button[aria-disabled=true]{cursor:progress}.microsoft-logo{flex-shrink:0}.login-note{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.5;display:flex}.login-note svg{flex-shrink:0;margin-top:3px}.login-alert{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-soft);color:var(--error-color);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.9rem;font-weight:500;line-height:1.5;display:flex}.login-alert svg{flex-shrink:0;margin-top:2px}.login-alert strong{overflow-wrap:anywhere;font-weight:700}.login-alert-actions{flex-wrap:wrap;gap:4px 20px;margin-top:8px;display:flex}.login-link{color:inherit;text-underline-offset:2px;background:0 0;padding:0;font-size:.9rem;font-weight:700;text-decoration:underline}.login-divider{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:14px;font-size:.75rem;font-weight:700;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;display:grid}.demo-option{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--card-bg);width:100%;height:100%;color:var(--text-main);text-align:left;box-shadow:var(--shadow-sm);justify-content:flex-start;gap:12px;padding:12px}.demo-option:hover{border-color:var(--primary-color);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.demo-option[aria-disabled=true]{cursor:progress}.demo-option[aria-disabled=true]:hover{transform:none}.demo-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.demo-option--admin .demo-icon{background:var(--primary-soft);color:var(--primary-color)}.demo-option--officer .demo-icon{background:var(--surface-subtle);color:var(--secondary-color)}.demo-option--gm .demo-icon{background:color-mix(in srgb, var(--primary-deep) 12%, white);color:var(--primary-deep)}.demo-option--ceo .demo-icon{background:color-mix(in srgb, var(--text-strong) 10%, white);color:var(--text-strong)}.demo-option--test .demo-icon{background:var(--status-rework-bg);color:var(--status-rework-fg)}.demo-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.demo-title{font-size:.95rem;font-weight:700}.demo-label{color:var(--text-muted);font-size:.8rem}.login-spinner{flex-shrink:0;animation:.9s linear infinite spin}.login-footer{text-align:center;color:var(--text-muted);font-size:.85rem}@media (width<=480px){.login-page{padding:32px 16px 88px}.login-logo{height:88px;margin-bottom:16px}.login-shell{gap:24px}.login-wordmark{font-size:1.75rem}.login-card{padding:24px 20px}}@media (width<=340px){.demo-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}.demo-option:hover{transform:none}}
