@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap');
:root { --navy:#285185; --navy-dark:#173d6c; --blue:#8fc9ea; --gold:#f6c94e; --cream:#fff9ee; --ink:#17332f; --muted:#687773; --line:#dce4e1; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:"DM Sans",sans-serif; color:var(--ink); background:#edf1f0; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); }
.eyebrow { margin:0 0 8px; color:var(--navy); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
h1 { margin-bottom:8px; font:400 clamp(2.2rem,5vw,3.8rem)/1.05 "DM Serif Display",serif; }
.login-panel { width:min(460px,calc(100% - 30px)); margin:8vh auto; padding:42px; background:var(--white); border-radius:24px; box-shadow:0 24px 70px rgba(23,61,108,.12); }
.login-panel > img { width:180px; margin-bottom:40px; }
.login-panel > p:not(.eyebrow) { color:var(--muted); }
.login-panel form { display:grid; gap:14px; margin-top:28px; }
.login-panel label { font-size:.82rem; font-weight:700; }
.home-link { display:inline-flex; align-items:center; margin-top:8px; color:var(--navy-dark); font-size:.88rem; font-weight:700; text-decoration:none; }
.home-link:hover { text-decoration:underline; }
.login-panel input,.toolbar input,.toolbar select,.detail select,.detail textarea { width:100%; padding:12px 14px; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:9px; }
dialog { width:min(460px,calc(100% - 30px)); padding:36px; border:0; border-radius:22px; box-shadow:0 24px 70px rgba(23,61,108,.2); }
dialog::backdrop { background:rgba(10,35,65,.55); }
dialog form { display:grid; gap:14px; }
.dialog-content { display:grid; gap:14px; }
.dialog-intro { color:var(--muted); }
.email-options { display:grid; gap:10px; }
.email-options a { display:grid; gap:3px; padding:16px; color:var(--ink); background:#f6fafc; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.email-options a:hover,.email-options a:focus-visible { border-color:var(--navy); background:#edf5fa; }
.email-options span { color:var(--muted); font-size:.8rem; }
.dialog-close { justify-self:end; border:0; background:transparent; font-size:1.8rem; cursor:pointer; }
.identity-button,.save-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; margin-top:8px; padding:0 18px; color:#fff; background:var(--navy); border:0; border-radius:9px; font-weight:700; text-decoration:none; }
.identity-button:hover,.save-button:hover { background:var(--navy-dark); }
.form-message { min-height:22px; color:#a13e31; font-size:.84rem; }
.admin-shell { min-height:100vh; }
.admin-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; padding:12px max(24px,calc((100% - 1420px)/2)); color:#fff; background:var(--navy-dark); }
.admin-header div { display:flex; align-items:center; gap:18px; font-weight:700; }
.admin-header .admin-identity { gap:12px; font-size:.78rem; }
.admin-header img { width:150px; padding:5px 8px; background:#fff; border-radius:7px; }
.quiet-button { padding:10px 14px; color:inherit; background:transparent; border:1px solid currentColor; border-radius:8px; font-weight:700; }
.admin-header a.quiet-button { text-decoration:none; }
.admin-summary { display:flex; justify-content:space-between; gap:40px; align-items:end; padding:48px max(24px,calc((100% - 1420px)/2)) 34px; background:var(--cream); }
.summary-cards { display:flex; gap:10px; }
.summary-cards article { min-width:118px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.summary-cards strong,.summary-cards span { display:block; }
.summary-cards strong { font-size:1.8rem; line-height:1; }
.summary-cards span { margin-top:5px; color:var(--muted); font-size:.75rem; }
.toolbar { display:grid; grid-template-columns:minmax(240px,1fr) 190px 170px auto; gap:10px; padding:18px max(24px,calc((100% - 1420px)/2)); background:#fff; border-block:1px solid var(--line); }
.toolbar .quiet-button { color:var(--navy); }
.workspace { width:min(1420px,calc(100% - 48px)); min-height:650px; margin:24px auto 48px; display:grid; grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr); background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.queue { max-height:calc(100vh - 180px); overflow:auto; border-right:1px solid var(--line); }
.submission { width:100%; display:grid; grid-template-columns:1fr auto; gap:8px; padding:19px 20px; text-align:left; color:var(--ink); background:#fff; border:0; border-bottom:1px solid var(--line); }
.submission:hover,.submission.selected { background:#edf5fa; }
.submission strong,.submission span { display:block; }
.submission-name { margin-bottom:3px; font-size:.98rem; }
.submission-meta,.submission-date { color:var(--muted); font-size:.76rem; }
.badge { align-self:start; padding:4px 8px; border-radius:999px; font-size:.66rem; font-weight:700; text-transform:uppercase; }
.badge.application { color:#693528; background:#f8d2c7; }
.badge.inquiry { color:#164866; background:#d8effb; }
.status-dot { display:inline-block !important; width:7px; height:7px; margin-right:5px; background:var(--gold); border-radius:50%; }
.empty-state,.detail-placeholder { padding:70px 30px; text-align:center; color:var(--muted); }
.detail { min-width:0; padding:34px; overflow:auto; }
.detail-placeholder span { display:grid; place-items:center; width:55px; height:55px; margin:0 auto 18px; color:var(--navy-dark); background:var(--gold); border-radius:50%; font-size:1.4rem; }
.detail-top { display:flex; justify-content:space-between; gap:20px; align-items:start; padding-bottom:24px; border-bottom:1px solid var(--line); }
.detail-top h2 { margin:5px 0; font:400 2rem/1.1 "DM Serif Display",serif; }
.detail-top p { margin:0; color:var(--muted); font-size:.82rem; }
.resume-button { flex:none; padding:10px 13px; color:#fff; background:var(--navy); border-radius:8px; font-size:.78rem; font-weight:700; text-decoration:none; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; padding:28px 0; }
.detail-field.full { grid-column:1/-1; }
.detail-field span { display:block; margin-bottom:4px; color:var(--muted); font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.detail-field p,.detail-field a { margin:0; color:var(--ink); overflow-wrap:anywhere; }
.detail-message { white-space:pre-wrap; }
.workflow { display:grid; gap:16px; padding-top:24px; border-top:1px solid var(--line); }
.workflow label { display:grid; gap:6px; font-size:.76rem; font-weight:700; }
.workflow textarea { min-height:125px; resize:vertical; }
.workflow-actions { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.save-button { min-width:150px; padding:0 20px; }
.save-status { margin:0; color:var(--muted); font-size:.8rem; }
.activity { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.activity h3 { margin:0 0 16px; font-size:1rem; }
.activity article { position:relative; display:grid; grid-template-columns:12px 1fr; gap:10px; padding:0 0 18px; }
.activity article i { width:9px; height:9px; margin-top:5px; background:var(--blue); border:2px solid var(--navy); border-radius:50%; }
.activity article strong,.activity article span { display:block; }
.activity article strong { font-size:.82rem; }
.activity article span,.activity-empty { margin:3px 0 0; color:var(--muted); font-size:.76rem; }
@media (max-width:900px) { .admin-summary { display:block; } .summary-cards { margin-top:25px; } .toolbar { grid-template-columns:1fr 1fr; } .workspace { grid-template-columns:1fr; } .queue { max-height:430px; border-right:0; border-bottom:1px solid var(--line); } }
@media (max-width:560px) { .login-panel { padding:30px 24px; } .admin-summary { padding-inline:16px; } .summary-cards { overflow:auto; } .toolbar { grid-template-columns:1fr; padding-inline:16px; } .workspace { width:calc(100% - 20px); } .detail { padding:24px 18px; } .detail-grid { grid-template-columns:1fr; } .detail-field.full { grid-column:1; } }
@media (max-width:700px) { .admin-header { align-items:flex-start; } .admin-header .admin-identity { flex-wrap:wrap; justify-content:flex-end; } #admin-email { width:100%; text-align:right; } }

/* Keep inactive screens and authentication steps out of layout and keyboard order. */
[hidden] { display: none !important; }
[hidden]{display:none!important}
:focus-visible{outline:3px solid #b75f3a;outline-offset:4px}
button:disabled{opacity:.65;cursor:wait}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
