:root{color-scheme:light;--bg: #f6f2e8;--bg-strong: #efe6d3;--panel: rgba(255, 252, 246, .92);--panel-strong: #fff9ee;--ink: #1d2731;--muted: #5d6774;--line: rgba(29, 39, 49, .12);--accent: #c8553d;--accent-soft: rgba(200, 85, 61, .14);--shadow: 0 24px 60px rgba(29, 39, 49, .12);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;font-family:Aptos,BIZ UDPGothic,Yu Gothic UI,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background:radial-gradient(circle at top left,rgba(217,143,43,.22),transparent 30%),radial-gradient(circle at bottom right,rgba(74,124,89,.18),transparent 26%),linear-gradient(180deg,#f9f5ed,#f1e6d6)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--muted)}.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.side-nav{padding:2rem 1.4rem;border-right:1px solid var(--line);background:linear-gradient(180deg,#1b2530f5,#273543f0);color:#f8efe1}.side-nav-brand{display:flex;gap:1rem;align-items:center;padding:1rem .8rem 1.6rem}.brand-mark{display:inline-flex;width:48px;height:48px;border-radius:16px;align-items:center;justify-content:center;background:linear-gradient(135deg,#d98f2b,#c8553d);color:#fff;font-weight:700}.side-nav-links{display:grid;gap:.85rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:1rem;border-radius:var(--radius-md);text-decoration:none;color:#f8efe1d1;border:1px solid rgba(255,255,255,.06);transition:transform .12s ease,background .12s ease}.nav-link:hover,.nav-link.active{transform:translate(4px);background:#fff9ee14;color:#fff}.nav-link-label{font-size:1.05rem;font-weight:700}.nav-link-description{font-size:.88rem;color:inherit;opacity:.78}.app-main{padding:1.5rem 1.5rem 3rem}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.topbar-title{margin:0;font-size:clamp(1.7rem,2.6vw,2.6rem)}.topbar-actions{display:flex;gap:.8rem;align-items:center}.identity-card{display:grid;gap:.15rem;padding:.8rem 1rem;border-radius:999px;background:#fff9eea6;border:1px solid var(--line)}.identity-name{font-weight:700}.identity-role{color:var(--muted);font-size:.82rem}.page-stack{display:grid;gap:1.4rem}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.page-header h2,.section-title,.forbidden-card h2,.login-card h1{margin:0}.page-description{max-width:520px;margin:0;color:var(--muted)}.filter-bar,.table-card,.summary-card,.upload-card,.upload-result-card,.forbidden-card,.login-card,.empty-state,.error-state{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow)}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.2rem;border-radius:var(--radius-md)}.upload-card,.upload-result-card{padding:1.2rem 1.3rem;border-radius:var(--radius-md)}.filter-bar label,.login-form label{display:grid;gap:.4rem;color:var(--muted);font-size:.95rem}.filter-bar input,.filter-bar select,.login-form input,.upload-card input,.upload-card select{min-width:180px;padding:.8rem .95rem;border-radius:12px;border:1px solid rgba(29,39,49,.15);background:#ffffffe0}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:4.5rem;min-width:0}.password-toggle{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--muted, #6b7280);padding:.25rem .4rem;box-shadow:none}.upload-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.upload-card label{display:grid;gap:.4rem;color:var(--muted);font-size:.95rem}.worker-preferences-card{display:grid;gap:.85rem;padding:1rem;border-radius:var(--radius-md);background:#fff9eeb8;border:1px solid var(--line)}.worker-preferences-header,.worker-preferences-footer{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.worker-preferences-header p,.worker-preferences-footer{margin:0;color:var(--muted);font-size:.9rem}.worker-preferences-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.worker-preference-item{display:grid;gap:.2rem;padding:.8rem .9rem;border-radius:var(--radius-sm);background:#fffc;border:1px solid var(--line)}.worker-preference-label{font-size:.8rem;color:var(--muted)}.upload-file-field input[type=file]{min-width:0;padding:.75rem}.upload-help,.upload-selected-file,.upload-result-label{color:var(--muted)}.upload-help,.upload-selected-file{margin:.9rem 0 0}.upload-actions{margin-top:1rem;display:flex;justify-content:flex-start}.upload-result-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.upload-result-header h3,.upload-message-block h4{margin:0}.upload-result-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.upload-result-grid>div{display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:14px;background:#ffffff94;border:1px solid rgba(29,39,49,.08)}.upload-result-grid strong{font-size:1.6rem}.upload-message-block{margin-top:1rem;padding:1rem 1.1rem;border-radius:16px}.upload-message-block ul{margin:.65rem 0 0;padding-left:1.2rem}.upload-message-block.warning{background:#d98f2b24;border:1px solid rgba(217,143,43,.18)}.upload-message-block.error{background:#c8553d1a;border:1px solid rgba(200,85,61,.18)}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.summary-card{padding:1.25rem;border-radius:var(--radius-md);border-top:4px solid var(--accent)}.summary-card p{margin:0 0 .8rem;color:var(--muted)}.summary-card strong{font-size:2rem}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.table-card{overflow:hidden;border-radius:var(--radius-lg)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.95rem 1rem;text-align:left;border-bottom:1px solid rgba(29,39,49,.08);vertical-align:top}.data-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#efe6d38c}.status-badge{display:inline-flex;padding:.3rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700}.status-badge.positive{background:#4a7c5924;color:#2f6541}.status-badge.active{background:#1e5fa824;color:#1a4f8a}.status-badge.inactive{background:#dc262624;color:#b91c1c}.status-badge.attention{background:#d98f2b2e;color:#9a5a00}.status-badge.closed,.status-badge.neutral{background:#2a6f9729;color:#1f5572}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.pagination-actions{display:flex;gap:.75rem}.ghost-button,.primary-button{padding:.8rem 1.1rem;border-radius:999px;border:none}.ghost-button{background:#1d273114;color:var(--ink)}.primary-button{background:linear-gradient(135deg,#c8553d,#d98f2b);color:#fff;font-weight:700}.ghost-button:disabled,.primary-button:disabled{opacity:.5;cursor:not-allowed}.empty-state,.error-state,.forbidden-card{padding:1.4rem;border-radius:var(--radius-md)}.error-state{border-color:#c8553d40}.loading-overlay{min-height:220px;display:grid;place-content:center;gap:.9rem;color:var(--muted)}.loading-spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(29,39,49,.12);border-top-color:var(--accent);animation:spin .9s linear infinite}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(100%,460px);padding:2rem;border-radius:32px}.login-copy,.form-error{color:var(--muted)}.form-error{color:#9d2f23}.login-form{display:grid;gap:1rem;margin-top:1.2rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column-grid{grid-template-columns:1fr}.upload-form-grid,.upload-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.side-nav{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}}@media(max-width:640px){.app-main{padding:1rem 1rem 2rem}.topbar,.page-header,.pagination-bar{flex-direction:column;align-items:stretch}.summary-grid,.upload-form-grid,.upload-result-grid{grid-template-columns:1fr}.data-table th,.data-table td{padding:.75rem;font-size:.92rem}}
