:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b;background:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;--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;--radius-card: 12px;--radius-control: 8px;--content-width: 1100px;--motion-fast: .15s ease-out}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(37,99,235,.34);outline-offset:3px}.site-header{position:sticky;z-index:20;top:0;width:100%;background:var(--color-primary);color:#fff;box-shadow:0 1px 5px #0f172a26}.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(100% - 48px,1200px);min-height:60px;margin:0 auto;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:20px;font-weight:700;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:7px;font-family:Georgia,Times New Roman,serif;font-size:19px;line-height:1}.primary-nav{display:flex;align-items:stretch;align-self:stretch;gap:30px}.nav-link{display:inline-flex;align-items:center;border-bottom:3px solid transparent;color:#ffffffe0;font-weight:500;text-decoration:none;transition:border-color var(--motion-fast),color var(--motion-fast)}.nav-link:hover,.nav-link.is-active{border-bottom-color:#fff;color:#fff}.header-action{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:38px;padding:6px 12px;border:1px solid rgba(255,255,255,.72);border-radius:7px;background:transparent;color:#fff;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast)}.header-action:hover{background:#fff;color:var(--color-primary)}.main-content{min-height:calc(100vh - 60px)}.landing-hero{position:relative;display:flex;min-height:400px;align-items:center;justify-content:center;overflow:hidden;padding:60px 24px;background:var(--color-primary);color:#fff;text-align:center}.landing-hero:after{position:absolute;right:max(4vw,24px);bottom:34px;left:max(4vw,24px);height:1px;background:#ffffff3d;content:""}.landing-hero-content{display:flex;width:min(100%,850px);flex-direction:column;align-items:center}.landing-eyebrow{color:#ffffffc7}.landing-hero h1{margin:18px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:400;line-height:1.1;letter-spacing:-.035em}.landing-subtitle{max-width:620px;margin:0 0 28px;color:#ffffffe0;font-size:18px}.button-light{min-width:220px;background:#fff;color:var(--color-primary)}.button-light:hover{background:#eff6ff}.hero-index{position:absolute;z-index:1;right:max(4vw,24px);bottom:18px;display:flex;align-items:center;gap:12px;color:#ffffffc2;font-size:10px;font-weight:600;letter-spacing:.12em}.hero-index span{width:34px;height:1px;background:#ffffffa6}.themes-section{padding:74px 24px 82px;background:var(--color-bg)}.section-heading{max-width:680px;margin:0 auto 36px;text-align:center}.section-heading h2,.next-step h2{margin:8px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400;line-height:1.2}.section-heading>p:last-child{margin:0;color:var(--color-text-muted)}.theme-grid{display:grid;width:min(100%,1000px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:0 auto}.theme-card{min-height:205px;padding:22px 24px 24px;border:1px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius-card);background:var(--color-card)}.theme-card-topline{display:flex;align-items:center;justify-content:space-between;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.08em}.theme-card-topline svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.theme-card h3{margin:18px 0 6px;font-size:19px;font-weight:600;line-height:1.3}.theme-card p{margin:0;color:var(--color-text-muted);font-size:14px;line-height:1.6}.next-step{display:flex;align-items:center;justify-content:space-between;width:min(100% - 48px,1000px);margin:0 auto;padding:36px 0 46px;border-top:1px solid var(--color-border);gap:24px}.next-step h2{margin-bottom:0;font-size:26px}.route-placeholder{display:flex;min-height:480px;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px;text-align:center}.route-placeholder h1{max-width:800px;margin:10px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,6vw,4rem);font-weight:400;line-height:1.1;letter-spacing:-.035em}.route-placeholder p:not(.eyebrow){max-width:580px;color:var(--color-text-muted)}.eyebrow{margin:0;color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.12em}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-control);font-weight:600;text-decoration:none;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.button-primary{background:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-hover)}.form-page{display:flex;flex-direction:column;align-items:center;padding:54px 20px 42px}.form-intro{width:min(100%,600px);margin-bottom:22px;text-align:center}.form-intro h1{margin:8px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:400;line-height:1.2}.form-intro>p:last-child{margin:0;color:var(--color-text-muted)}.interest-card{display:flex;width:min(100%,600px);flex-direction:column;gap:20px;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card)}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{font-size:14px;font-weight:600}.form-field label span{color:var(--color-danger)}.form-field input,.form-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:#fff;color:var(--color-text);font-size:16px}.form-field input:focus,.form-field select:focus{border-color:var(--color-primary)}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:var(--color-danger)}.field-error{margin:0;color:#b91c1c;font-size:13px}.form-success,.form-alert{padding:12px 14px;border:1px solid;border-radius:7px;font-size:14px}.form-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.form-alert{border-color:#fecaca;background:#fef2f2;color:#991b1b}.submit-button{width:100%;min-height:48px;border:0;cursor:pointer}.form-privacy-note{margin:-7px 0 0;color:var(--color-text-muted);font-size:12px;text-align:center}.back-link{margin-top:22px;color:var(--color-primary);font-size:14px;font-weight:600;text-decoration:none}.back-link:hover{color:var(--color-primary-hover);text-decoration:underline}.admin-login-page{display:flex;flex-direction:column;align-items:center;padding:70px 20px}.admin-login-intro{width:min(100%,460px);margin-bottom:24px;text-align:center}.admin-login-intro h1,.dashboard-heading h1{margin:8px 0;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;line-height:1.2}.admin-login-intro>p:last-child{margin:0;color:var(--color-text-muted)}.admin-login-card{display:flex;width:min(100%,460px);flex-direction:column;gap:20px;padding:30px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card)}.demo-boundary{margin:0;color:var(--color-text-muted);font-size:13px}.admin-login-button{width:100%;border:0;cursor:pointer}.admin-login-error{margin:-10px 0 0;color:#b91c1c;font-size:13px}.dashboard-page{width:min(100% - 48px,1100px);margin:0 auto;padding:48px 0 72px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard-heading h1{font-size:30px}.button-danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff;cursor:pointer}.button-danger:hover{border-color:#b91c1c;background:#b91c1c}.dashboard-page>.demo-boundary{margin-top:8px}.empty-state{margin:36px 0 0;padding:34px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);color:var(--color-text-muted);text-align:center}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.summary-card{min-height:108px;padding:18px 20px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card)}.summary-card p{margin:0 0 6px;color:var(--color-text-muted);font-size:14px}.summary-card strong{display:block;color:var(--color-text);font-size:29px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.table-card{margin-top:24px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card)}.table-card .empty-state{margin:0;border:0;border-radius:0;background:transparent}.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.submissions-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.submissions-table th{padding:13px 16px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600}.submissions-table td{padding:13px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:14px}.submissions-table tbody tr:last-child td{border-bottom:0}.submissions-table tbody tr:hover{background:var(--color-primary-light)}.department-badge{display:inline-block;padding:3px 8px;border-radius:5px;background:var(--color-primary-light);color:#1d4ed8;font-size:12px;font-weight:600}.review-actions{color:var(--color-text-muted);font-size:13px}.dashboard-error{margin-top:28px;padding:18px 20px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b}.row-actions{display:flex;gap:7px}.row-action-edit,.row-action-delete{min-height:30px;padding:4px 9px;border:1px solid var(--color-primary);border-radius:5px;background:transparent;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast)}.row-action-edit:hover{background:var(--color-primary);color:#fff}.row-action-delete{border-color:var(--color-danger);color:var(--color-danger)}.row-action-delete:hover{background:var(--color-danger);color:#fff}.row-action-edit:focus-visible,.row-action-delete:focus-visible,.button:focus-visible,.dialog-close:focus-visible{outline:3px solid rgba(37,99,235,.5);outline-offset:3px}.modal-backdrop,.confirm-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:24px;background:#0f172a8f}.edit-dialog,.confirm-dialog{width:min(100%,500px);max-height:min(90vh,780px);overflow-y:auto;padding:30px 32px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-card);box-shadow:0 16px 48px #0f172a38}.edit-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.edit-dialog-heading h2,.confirm-dialog h2{margin:6px 0 0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400}.dialog-close{width:36px;height:36px;border:1px solid var(--color-border);border-radius:6px;background:#fff;color:var(--color-text-muted);font-size:23px;line-height:1;cursor:pointer}.dialog-close:hover{color:var(--color-text)}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-form input[readonly]{background:var(--color-bg);color:var(--color-text-muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.button-secondary{border-color:var(--color-border);background:#fff;color:var(--color-text);cursor:pointer}.button-secondary:hover{background:var(--color-row-alt)}.confirm-dialog>p{color:var(--color-text-muted)}.confirm-dialog .dashboard-error{margin-top:12px}@media(max-width:767px){.header-inner{width:calc(100% - 28px);min-height:58px;gap:10px}.brand{gap:7px;font-size:17px}.brand-mark{width:27px;height:27px}.primary-nav{gap:clamp(8px,2.7vw,18px)}.nav-link{font-size:13px}.header-action{min-width:auto;min-height:34px;padding:5px 8px;font-size:12px}.route-placeholder{min-height:420px;padding:54px 20px}.landing-hero{min-height:360px;padding:40px 20px}.landing-hero h1{max-width:440px;margin-top:14px;font-size:28px}.landing-subtitle{max-width:430px;font-size:15px}.themes-section{padding:52px 20px 58px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:27px}.theme-grid{grid-template-columns:1fr;gap:14px}.theme-card{min-height:0}.next-step{width:calc(100% - 40px);flex-direction:column;align-items:flex-start;padding:28px 0 38px}.next-step h2{font-size:23px}.form-page{padding:38px 20px 34px}.form-intro h1{font-size:30px}.interest-card{gap:17px;padding:20px}.admin-login-page{padding:48px 20px}.admin-login-card{padding:22px 20px}.dashboard-page{width:calc(100% - 40px);padding-top:34px}.dashboard-heading{align-items:flex-start}.dashboard-heading h1{font-size:25px}.summary-grid{grid-template-columns:1fr;gap:12px}.summary-card{min-height:0;padding:15px 18px}.table-card{margin-top:18px}.submissions-table th,.submissions-table td{padding:11px 13px}.modal-backdrop,.confirm-backdrop{align-items:start;padding:18px 12px}.edit-dialog,.confirm-dialog{padding:22px 20px}.dialog-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
