:root{color-scheme:light;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(37, 99, 235, .1);--color-bg: #f1f5f9;--color-card: #ffffff;--color-text: #1e293b;--color-text-muted: #64748b;--color-success: #16a34a;--color-danger: #dc2626;--color-warning: #f59e0b;--color-border: #e2e8f0;--color-row-alt: #f8fafc;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-15: 60px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text);background:var(--color-bg);font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}h1,h2,h3,p{margin:0}h2{font-size:28px;line-height:1.25;font-weight:700}a:focus-visible,button:focus-visible{outline:3px solid var(--color-text);outline-offset:4px}.site-header a:focus-visible,.site-header button:focus-visible,.hero a:focus-visible{outline-color:var(--color-card)}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:20;padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-card);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:10;height:60px;color:var(--color-card);background:var(--color-primary);box-shadow:0 2px 4px #0000001a}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);max-width:1100px;height:100%;margin:0 auto;padding:0 var(--space-6)}.logo{font-size:22px;font-weight:700;text-decoration:none}.main-nav{display:flex;align-items:center;gap:var(--space-6);height:100%}.nav-link{display:inline-flex;align-items:center;height:100%;border-bottom:3px solid transparent;padding-top:3px;font-size:16px;font-weight:500;text-decoration:none}.nav-link[aria-current=page],.nav-link:hover{border-bottom-color:var(--color-card)}.session-control{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:var(--space-1) var(--space-3);border-radius:8px;font-size:14px;font-weight:500;text-decoration:none}.login-link{border:1px solid var(--color-card)}.login-link:hover{background:var(--color-primary-hover)}.logout-button{border:1px solid var(--color-danger);color:var(--color-card);background:var(--color-danger)}.hero{display:grid;place-items:center;min-height:400px;padding:var(--space-15) var(--space-6);color:var(--color-card);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));text-align:center}.hero-content{max-width:760px}.hero h1{font-size:42px;line-height:1.2;font-weight:700}.hero-subtitle{max-width:680px;margin:var(--space-6) auto var(--space-8);font-size:18px;opacity:.9}.cta-link{display:inline-flex;align-items:center;justify-content:center;min-width:220px;height:50px;padding:0 var(--space-6);border:1px solid var(--color-card);border-radius:8px;color:var(--color-card);background:var(--color-primary);font-size:16px;font-weight:500;text-decoration:none;transition:background-color .15s ease-out}.cta-link:hover{background:var(--color-primary-hover)}.features-section{padding:var(--space-15) var(--space-6) 0;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);max-width:1000px;margin:var(--space-8) auto 0}.feature-card{padding:var(--space-6);border-top:4px solid var(--color-primary);border-radius:12px;background:var(--color-card);box-shadow:0 2px 8px #00000014;text-align:center}.feature-icon{display:block;margin-bottom:var(--space-3);font-size:36px;line-height:1.3}.feature-card h3{margin-bottom:var(--space-3);font-size:20px;line-height:1.3;font-weight:700}.feature-card p{color:var(--color-text-muted);font-size:14px}.bottom-cta{padding:var(--space-10) var(--space-6);background:var(--color-bg);text-align:center}.bottom-cta h2{margin-bottom:var(--space-6)}@media (max-width: 767px){.header-inner{gap:var(--space-2);padding:0 var(--space-3)}.main-nav{gap:var(--space-3)}.nav-link{font-size:14px}.session-control{padding:var(--space-1) var(--space-2);font-size:13px}.hero{padding:var(--space-10) var(--space-5)}.hero h1{font-size:28px}.features-section{padding:var(--space-10) var(--space-5) 0}.feature-grid{grid-template-columns:minmax(0,1fr)}}.auth-page{padding:var(--space-10) var(--space-5)}.auth-card{max-width:480px;margin:0 auto}.auth-card h1{font-size:28px;line-height:1.25;text-align:center}.auth-hint{margin-top:var(--space-5);text-align:center}.auth-disclaimer{margin:var(--space-3) 0 var(--space-6);color:var(--color-text-muted);font-size:14px;text-align:center}.auth-session-status{margin-top:var(--space-6);text-align:center}.auth-storage-error{max-width:600px;margin:var(--space-5) auto;padding:var(--space-3) var(--space-5);color:var(--color-danger);overflow-wrap:anywhere}.apply-page{padding:var(--space-10) var(--space-5)}.apply-container{max-width:600px;margin:0 auto}.apply-container h1{font-size:28px;line-height:1.25;text-align:center}.apply-subtitle{margin:var(--space-3) 0 var(--space-8);color:var(--color-text-muted);text-align:center}.submission-form{padding:var(--space-8);border-radius:12px;background:var(--color-card);box-shadow:0 2px 12px #00000014}.submission-field{margin-bottom:var(--space-5)}.submission-field label{display:block;margin-bottom:var(--space-2);font-size:14px;font-weight:500}.submission-field input,.submission-field select{width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);background:var(--color-card);font:inherit;font-size:16px}.submission-field input:focus,.submission-field select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.submission-field [aria-invalid=true]{border-color:var(--color-danger)}.submission-field input[readonly]{background:var(--color-row-alt)}.field-error{margin-top:var(--space-2);color:var(--color-danger);font-size:13px}.submission-success,.submission-storage-error{margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);border-left:4px solid;border-radius:8px;overflow-wrap:anywhere}.submission-success{border-color:var(--color-success);color:var(--color-text);background:color-mix(in srgb,var(--color-success) 12%,var(--color-card))}.submission-storage-error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-row-alt)}.submission-button{width:100%;height:48px;border:0;border-radius:8px;color:var(--color-card);background:var(--color-primary);font-size:16px;font-weight:500;transition:background-color .15s ease-out}.submission-button:hover{background:var(--color-primary-hover)}.back-home-link{display:block;width:fit-content;margin:var(--space-6) auto 0;color:var(--color-primary)}@media (max-width: 767px){.submission-form{padding:var(--space-5)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.dashboard-page{max-width:1100px;margin:0 auto;padding:var(--space-10) var(--space-5)}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-8)}.dashboard-heading h1{font-size:28px;line-height:1.25}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin:0 0 var(--space-8)}.stat-card{padding:var(--space-5);border-left:4px solid var(--color-primary);border-radius:8px;background:var(--color-card);box-shadow:0 2px 8px #00000014}.stat-departments{border-left-color:var(--color-success)}.stat-latest{border-left-color:var(--color-warning)}.stat-card dt{color:var(--color-text-muted);font-size:14px}.stat-card dd{margin:var(--space-2) 0 0;font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-table-card{overflow:hidden;border-radius:12px;background:var(--color-card);box-shadow:0 2px 8px #00000014}.table-scroll{overflow-x:auto}.table-scroll:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.submissions-table{width:100%;min-width:950px;border-collapse:collapse;font-size:14px;text-align:left}.submissions-table th,.submissions-table td{padding:var(--space-3) var(--space-4);overflow-wrap:anywhere}.submissions-table th{color:var(--color-card);background:var(--color-primary);font-weight:700;white-space:nowrap}.submissions-table tbody tr{background:var(--color-card)}.submissions-table tbody tr:nth-child(2n){background:var(--color-row-alt)}.submissions-table tbody tr:hover{background:#2563eb0d}.department-badge{display:inline-block;padding:2px 10px;border-radius:12px;color:var(--color-card);background:var(--color-primary);font-size:12px;font-weight:500;white-space:nowrap}.row-actions{display:flex;gap:var(--space-2)}.row-actions button{height:30px;padding:0 var(--space-2);border:1px solid;border-radius:6px;background:transparent;font-size:14px;font-weight:500}.row-edit{color:var(--color-primary);border-color:var(--color-primary)}.row-delete{color:var(--color-danger);border-color:var(--color-danger)}.row-edit:hover{color:var(--color-card);background:var(--color-primary)}.row-delete:hover{color:var(--color-card);background:var(--color-danger)}.dashboard-empty{padding:var(--space-10) var(--space-5);text-align:center}.edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#00000080}.edit-dialog{width:100%;max-width:500px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.edit-dialog h2{margin-bottom:var(--space-6)}.edit-actions{display:flex;align-items:center;gap:var(--space-3)}.cancel-button{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);background:var(--color-card);font-size:14px;font-weight:500}.cancel-button:hover{background:var(--color-row-alt)}.dashboard-page .submission-storage-error .cancel-button{margin-top:var(--space-3)}@media (max-width: 767px){.dashboard-stats{grid-template-columns:minmax(0,1fr)}.dashboard-heading{align-items:flex-start}.edit-overlay{padding:max(var(--space-3),env(safe-area-inset-top)) var(--space-3) max(var(--space-3),env(safe-area-inset-bottom))}}
