:root{--color-brand-50: #eef4ff;--color-brand-100: #dbe6ff;--color-brand-200: #bfd3ff;--color-brand-300: #93b4ff;--color-brand-400: #608bfc;--color-brand-500: #3b63f6;--color-brand-600: #2547eb;--color-brand-700: #1d35d8;--color-brand-800: #1d2dae;--color-brand-900: #1e2b8a;--color-brand: var(--color-brand-600);--color-brand-strong: var(--color-brand-700);--color-brand-contrast: #ffffff;--color-ink-900: #0f172a;--color-ink-800: #1e293b;--color-ink-700: #334155;--color-ink-600: #475569;--color-ink-500: #64748b;--color-ink-400: #94a3b8;--color-ink-300: #cbd5e1;--color-ink-200: #e2e8f0;--color-ink-100: #eef1f6;--color-ink-50: #f7f9fc;--color-canvas: #f4f6fa;--color-surface: #ffffff;--color-border: #e3e8ef;--color-border-strong: #cbd5e1;--color-success-50: #ecfdf5;--color-success-100: #d1fae5;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-600: #d97706;--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--font-sans: "Inter", "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-wide: .08em;--tracking-wider: .14em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .12);--shadow-focus: 0 0 0 3px rgba(37, 71, 235, .18);--shadow-danger-focus: 0 0 0 3px rgba(220, 38, 38, .16);--topbar-height: 64px;--content-max-width: 1180px;--content-padding-x: var(--space-8);--z-topbar: 100;--z-dropdown: 200;--z-modal: 300;--z-toast: 400;--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .28s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink-800);background-color:var(--color-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}img,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}button:disabled{cursor:not-allowed}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--color-ink-900);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}ul,ol{padding:0;list-style:none}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}::selection{background:var(--color-brand-200);color:var(--color-ink-900)}.page{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:28px 0 56px}.page__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.page__title{font-size:clamp(24px,2.4vw,30px);font-weight:750;letter-spacing:-.03em;line-height:1.2}.page__subtitle{margin-top:8px;color:var(--color-ink-500);font-size:14px;line-height:1.55;max-width:62ch}.page__actions{display:flex;align-items:center;gap:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--sm{gap:var(--space-2)}.stack--lg{gap:var(--space-6)}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.divider{height:1px;background:var(--color-border);border:0}.muted{color:var(--color-ink-500)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wide-only{display:block}.narrow-only{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.6}.btn--primary{background:#2563eb;color:var(--color-brand-contrast);box-shadow:0 2px 6px #2563eb2e}.btn--primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 10px #2563eb3d}.btn--primary:active:not(:disabled){transform:translateY(1px)}.btn--secondary{background:var(--color-surface);color:#243a62;border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-ink-50);color:var(--color-ink-900);border-color:#b9c5d3}.btn--ghost{background:transparent;color:var(--color-ink-600)}.btn--ghost:hover:not(:disabled){background:var(--color-ink-100);color:var(--color-ink-900)}.btn--danger{background:var(--color-danger-600);color:#fff}.btn--danger:hover:not(:disabled){background:var(--color-danger-700)}.btn--block{width:100%}.btn--lg{min-height:44px;padding:0 var(--space-6);font-size:var(--text-md)}.btn--sm{min-height:34px;padding:0 var(--space-3);font-size:12px}.btn--icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md);color:var(--color-ink-500)}.btn--icon:hover:not(:disabled){background:var(--color-ink-100);color:var(--color-ink-800)}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .64s linear infinite}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-700)}.field__required{color:var(--color-danger-600);margin-left:2px}.field__hint{font-size:var(--text-xs);color:var(--color-ink-500)}.field__error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-danger-600)}.input,.select,.textarea{width:100%;height:40px;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-ink-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.textarea{height:auto;min-height:112px;padding:var(--space-3);line-height:var(--leading-normal);resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.input::placeholder,.textarea::placeholder{color:var(--color-ink-400)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--color-ink-400)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--shadow-focus)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-ink-100);color:var(--color-ink-500);cursor:not-allowed}.input--invalid,.select--invalid,.textarea--invalid{border-color:var(--color-danger-500)}.input--invalid:focus,.select--invalid:focus,.textarea--invalid:focus{box-shadow:var(--shadow-danger-focus)}.input--readonly{background:var(--color-ink-50)}.input-group{position:relative;display:flex;align-items:center}.input-group__prefix{position:absolute;left:var(--space-3);color:var(--color-ink-500);font-weight:var(--weight-medium);pointer-events:none}.input-group__prefix+.input{padding-left:var(--space-8)}.input-group__suffix{position:absolute;right:var(--space-3);color:var(--color-ink-500);pointer-events:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.form-grid--single{grid-template-columns:minmax(0,1fr)}.field--full{grid-column:1 / -1}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-2)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-snug)}.alert__icon{flex:0 0 auto;margin-top:1px}.alert__body{flex:1 1 auto;min-width:0}.alert__title{font-weight:var(--weight-semibold);margin-bottom:2px}.alert--error{background:var(--color-danger-50);border-color:var(--color-danger-100);color:var(--color-danger-700)}.alert--success{background:var(--color-success-50);border-color:var(--color-success-100);color:var(--color-success-700)}.alert--warning{background:var(--color-warning-50);border-color:var(--color-warning-100);color:var(--color-warning-600)}.alert--info{background:var(--color-info-50);border-color:var(--color-info-100);color:var(--color-info-700)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 2px #0f1f3d0a}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.card__title{font-size:17px;font-weight:750;letter-spacing:-.02em;line-height:1.2}.card__subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-ink-500)}.card__body{padding:var(--space-6)}.card__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-ink-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 2px #0f1f3d0a}.stat-card__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:#eff4ff;color:#2563eb}.stat-card__icon--success{background:var(--color-success-50);color:var(--color-success-600)}.stat-card__icon--warning{background:var(--color-warning-50);color:var(--color-warning-600)}.stat-card__icon--info{background:var(--color-info-50);color:var(--color-info-600)}.stat-card__body{min-width:0}.stat-card__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-500)}.stat-card__value{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-ink-900);line-height:1.2}.stat-card__meta{font-size:var(--text-xs);color:var(--color-ink-500)}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.quick-action{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 2px #0f1f3d0a;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.quick-action:hover{text-decoration:none;border-color:#c7dafd;box-shadow:0 1px 2px #0f1f3d0a}.quick-action__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:#eff4ff;color:#2563eb}.quick-action__title{font-size:13px;font-weight:700;color:var(--color-ink-900)}.quick-action__desc{margin-top:2px;font-size:11px;color:var(--color-ink-500);line-height:var(--leading-snug)}.quick-action__arrow{margin-left:auto;align-self:center;color:var(--color-ink-400)}.table-wrap{width:100%;overflow-x:auto}.table{min-width:720px;font-size:13px}.table thead th{height:40px;padding:0 20px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#94a3b8;background:#f8fafc;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:nowrap}.table tbody td{padding:14px 20px;border-bottom:1px solid #eef2f6;color:#243a62;font-size:13px;font-weight:500;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:#f9fbff}.table tbody tr.table__row--clickable{cursor:pointer}.table tbody tr.table__row--clickable:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.table__id{font-weight:700;color:#0f1f3d;white-space:nowrap}.table__primary{font-weight:var(--weight-medium);color:var(--color-ink-900)}.table__secondary{font-size:var(--text-xs);color:var(--color-ink-500)}.table__amount{font-weight:var(--weight-semibold);color:var(--color-ink-900);white-space:nowrap}.table__action{text-align:right;white-space:nowrap}.table__action-link{border:0;background:none;padding:0;font:inherit;cursor:pointer}.table__action-link--danger{color:var(--color-danger-600)}.table__action-link--danger:hover:not(:disabled){color:var(--color-danger-700)}.badge{display:inline-flex;min-height:24px;padding:4px 9px;align-items:center;gap:5px;border:1px solid transparent;border-radius:99px;font-size:10px;font-weight:750;line-height:1;white-space:nowrap}.badge svg{flex:0 0 auto}.badge--dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge--submitted{border-color:#dbe6f8;background:#f3f7ff;color:#3b5f9f}.badge--under_review,.badge--underreview{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.badge--approved{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.badge--rejected{border-color:#fecaca;background:#fff5f5;color:#b42318}.badge--cancelled,.badge--canceled{border-color:#dde3ea;background:#f1f5f9;color:#5b6b7f}.badge--paid{border-color:#c7dafd;background:#eff4ff;color:#1d4ed8}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-ink-50);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);transition:background-color var(--transition-base),border-color var(--transition-base);cursor:pointer}.dropzone:hover,.dropzone--active{background:var(--color-brand-50);border-color:var(--color-brand)}.dropzone--invalid{background:var(--color-danger-50);border-color:var(--color-danger-500)}.dropzone__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-xs)}.dropzone__title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-ink-800)}.dropzone__hint{font-size:var(--text-xs);color:var(--color-ink-500)}.file-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.file-item__icon{color:var(--color-danger-600);flex:0 0 auto}.file-item__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item__meta{font-size:var(--text-xs);color:var(--color-ink-500);white-space:nowrap}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell{text-transform:capitalize}.app-shell input,.app-shell textarea,.app-shell select,.app-shell [contenteditable=true],.app-shell code,.app-shell pre,.app-shell .text-transform-none{text-transform:none}.topbar{position:sticky;top:0;z-index:var(--z-topbar);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1200px,calc(100% - 48px));min-height:66px;margin:0 auto}.topbar__brand{display:flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none}.topbar__brand:hover{text-decoration:none}.topbar__meta{display:flex;align-items:center;gap:var(--space-4)}.topbar__divider{width:1px;height:28px;background:var(--color-border)}.topbar__nav{display:flex;align-items:center;gap:var(--space-1)}.topbar__link{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-ink-600);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.topbar__link:hover{background:var(--color-ink-100);color:var(--color-ink-900);text-decoration:none}.topbar__link--active{background:var(--color-brand-50);color:var(--color-brand-700)}.user-chip{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#f8fafc}.user-chip__avatar{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:#eff4ff;color:#1d4ed8;font-size:11px;font-weight:800;letter-spacing:.02em}.user-chip__name{font-size:13px;font-weight:650;color:#0f1f3d;line-height:1.2;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip__role{font-size:10px;color:var(--color-ink-500);text-transform:uppercase;letter-spacing:.09em}.app-main{flex:1 1 auto}.app-shell__notice:not(:empty){padding:var(--space-2) var(--content-padding-x) 0}.app-temporary-notice{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-border, var(--color-warning-300, #f0c36d));border-left:4px solid var(--color-warning-500, #b8860b);border-radius:var(--radius-md, 8px);background:var(--color-warning-100, #fdf3d8);color:var(--color-ink-700, #4a3a10);font-size:var(--text-sm, .875rem);line-height:1.5}.app-temporary-notice__remedy{color:var(--color-ink-500, #6b6b6b)}.app-footer{padding:var(--space-6) var(--content-padding-x);border-top:1px solid var(--color-border);background:var(--color-surface);text-align:center;font-size:var(--text-xs);color:var(--color-ink-500)}.login{position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow:hidden;background:#f1f4f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login__atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login__atmosphere span{position:absolute;display:block;border:1px solid #e2e9f3;border-radius:50%}.login__atmosphere span:nth-child(1){top:-240px;left:-160px;width:570px;height:570px}.login__atmosphere span:nth-child(2){right:-210px;bottom:-260px;width:660px;height:660px;border-color:#dde7f3}.login__atmosphere span:nth-child(3){top:50%;right:12%;width:9px;height:9px;border:0;background:#c3d7f7;box-shadow:0 0 0 8px #eaf1ff,0 0 0 16px #f2f6fd}.login__main{position:relative;z-index:1;display:flex;width:min(100% - 40px,480px);margin:48px auto;align-items:center;flex-direction:column}.login__lockup{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:23px}.login__lockup-divider{width:1px;height:24px;flex:0 0 1px;background:var(--color-border)}.login__lockup-title{color:var(--color-ink-900);font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.login__card{width:100%;padding:34px 36px 28px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 10px 26px #0f1f3d12}.login__heading{margin-bottom:24px}.login__title{color:var(--color-ink-900);font-size:28px;font-weight:750;letter-spacing:-.035em;line-height:1.15}.login__subtitle{margin-top:8px;color:var(--color-ink-500);font-size:12px;line-height:1.55}.login__form{display:flex;flex-direction:column;gap:18px;margin-top:20px}.login__form .field{gap:7px}.login__form .field__label{font-size:12px;font-weight:700;color:var(--color-ink-900)}.login__form .input{height:44px;padding:0 12px;border-color:var(--color-border-strong);border-radius:10px;background:var(--color-surface);font-size:13px;color:var(--color-ink-900)}.login__form .input::placeholder{color:#a9b4c2}.login__form .input-group__prefix{color:#94a3b8}.login__form .input-group__prefix+.input{padding-left:40px}.login__form .input:focus,.login__form .input-group:focus-within .input{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1c}.login__form .input--invalid{border-color:#ef9a9a}.login__form .input--invalid:focus{border-color:#ef9a9a;box-shadow:0 0 0 3px #b91c1c1f}.login__form>.btn{min-height:44px;height:44px;padding:0 16px;border-radius:10px;background:#2563eb;font-size:13px;font-weight:700;box-shadow:0 2px 6px #2563eb2e}.login__form>.btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 10px #2563eb3d}.login__hint{display:flex;align-items:flex-start;gap:9px;margin-top:22px;padding:12px 14px;background:var(--color-info-50);border:1px solid var(--color-info-100);border-radius:10px;font-size:10px;line-height:1.5;color:var(--color-info-700)}.login__hint code{font-family:var(--font-mono);font-weight:700}.login__caption{margin-top:18px;color:var(--color-ink-400);font-size:10px;font-weight:600;letter-spacing:.02em;text-align:center}.dashboard__hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.search{position:relative;flex:1 1 380px;max-width:480px}.search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-ink-400);pointer-events:none}.search__input{width:100%;height:44px;padding:0 var(--space-4) 0 var(--space-10);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-base);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search__input:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--shadow-focus)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-heading__title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.section-heading__link{font-size:var(--text-sm);font-weight:var(--weight-medium)}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--color-brand-100);border-top-color:var(--color-brand);animation:spin .7s linear infinite}.spinner--lg{width:34px;height:34px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-ink-500)}.empty-state{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px;text-align:center}.empty-state__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border-radius:50%;background:#eff4ff;color:#2563eb}.empty-state__title{font-size:16px;font-weight:750;letter-spacing:-.02em;color:#0f1f3d}.empty-state__text{max-width:46ch;margin-top:8px;font-size:12px;line-height:1.6;color:var(--color-ink-500)}.skeleton{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-ink-100) 25%,var(--color-ink-200) 37%,var(--color-ink-100) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}.skeleton-row{height:46px;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6)}.detail-grid__item{min-width:0}.detail-grid__label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-500)}.detail-grid__value{margin-top:var(--space-1);color:var(--color-ink-900)}.detail-grid__item--full{grid-column:1 / -1}@media (max-width: 1024px){.stat-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){:root{--content-padding-x: var(--space-5)}.login__main{width:calc(100% - 28px);margin:28px auto}.login__card{padding:26px 20px 22px}.login__title{font-size:23px}}@media (max-width: 720px){.page{padding:var(--space-6) var(--content-padding-x) var(--space-12)}.page__header{align-items:flex-start}.stat-grid,.quick-grid,.form-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.topbar__nav,.user-chip__body{display:none}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.wide-only{display:none}.narrow-only{display:flex}}.queue-select-shell{position:relative;display:flex;align-items:center}.queue-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:36px;min-width:150px;padding:0 30px 0 12px;border:1px solid var(--color-border-strong);border-radius:9px;outline:0;background:var(--color-surface);color:var(--color-ink-800);font-size:13px;line-height:1;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.queue-select:hover:not(:disabled){border-color:var(--color-ink-400)}.queue-select:focus{border-color:var(--color-info-600);box-shadow:0 0 0 3px #2563eb1c}.queue-select:disabled{background:var(--color-canvas);color:var(--color-ink-400);cursor:not-allowed}.queue-select-shell>svg{position:absolute;right:10px;pointer-events:none;color:var(--color-ink-400)}.queue-cell-note{display:flex;margin-top:3px;align-items:center;gap:4px;font-size:11.5px;color:var(--color-ink-400);white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px 16px;background:#0f1f3d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(480px,100%);max-height:calc(93vh - 16px);overflow:auto;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);outline:0}.modal__header{position:relative;margin-bottom:18px}.modal__header>.btn--icon{position:absolute;top:0;right:0;color:var(--color-ink-400)}.modal__kicker{display:block;color:var(--color-info-600);font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}.modal__title{margin-top:4px;padding-right:28px;font-size:1.15rem;line-height:1.35;color:var(--color-ink-800)}.modal__subtitle{margin-top:6px;padding-right:24px;font-size:.88rem;color:var(--color-ink-500)}.modal__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media (max-width: 560px){.modal__footer{align-items:stretch;flex-direction:column-reverse}.modal__footer .btn{width:100%}}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-2)}.required-mark{color:var(--color-info-600);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.character-count{color:var(--color-ink-400);font-size:10px;font-variant-numeric:tabular-nums}
