:root{
  --main:#09268a;--main-2:#1237b4;--main-3:#5e78d7;--bg:#000;--panel:#080b14;
  --panel-2:#0d1220;--line:#233057;--text:#fff;--muted:#c1c8df;--soft:#eef2ff;
  --danger:#ff7777;--good:#54d890;--warn:#ffd66b;--shadow:0 18px 60px rgba(0,0,0,.45);
  color-scheme:dark
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,rgba(9,38,138,.22),transparent 320px),var(--bg);color:var(--text);font-family:Garamond,"Cormorant Garamond",Georgia,serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.035),transparent 42%);opacity:.75}
button,input,select,textarea{font:inherit}
.screen{display:none}.screen.active{display:block}
.login-panel{width:min(560px,calc(100% - 32px));margin:9vh auto;padding:28px;border:1px solid var(--line);border-radius:8px;background:rgba(8,11,20,.93);box-shadow:var(--shadow)}
.brand-lockup{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.brand-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--main);border:2px solid var(--main-3);font-size:1.45rem;font-weight:700}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px}.brand-lockup p{color:var(--muted);margin:0}
.form-grid{display:grid;gap:14px}.form-grid label{display:grid;gap:6px;color:var(--muted)}
input,select,textarea{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:11px 12px}
textarea{min-height:130px;resize:vertical}
button{border:0;border-radius:7px;padding:10px 14px;cursor:pointer}
.primary{background:var(--main);color:#fff}.primary:hover{background:var(--main-2)}
.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}
.danger{background:#4c1515;color:#fff}.link-button{background:transparent;color:var(--main-3);padding-left:0;margin-top:12px}
.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px max(20px,calc((100vw - 1120px)/2));background:rgba(0,0,0,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.topbar strong{display:block;font-size:1.2rem}.topbar span{display:block;color:var(--muted);font-size:.92rem;margin-top:2px}
.content{width:min(1120px,100%);margin:0 auto;padding:22px 18px 80px}
.nav-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.nav-tabs button{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.nav-tabs button.active{background:var(--main);color:#fff}
.panel{background:rgba(8,11,20,.9);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px;box-shadow:0 8px 28px rgba(0,0,0,.24)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.metric{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.metric strong{display:block;font-size:1.8rem}.metric span{color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h2{margin:0}
.message{padding:12px 14px;border-radius:7px;margin-bottom:14px;border:1px solid var(--line);background:var(--panel-2)}.message.good{border-color:var(--good)}.message.error{border-color:var(--danger)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted)}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.82rem;border:1px solid var(--line)}.badge.good{color:var(--good)}.badge.missing{color:var(--warn)}
.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}
.readonly{opacity:.82}
.radio-row{display:flex;gap:18px;flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:7px;color:var(--text)}.radio-row input{width:auto}
.certify{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important}.certify input{width:auto;margin-top:4px}
@media(max-width:640px){.topbar{padding:12px 14px}.content{padding:16px 12px 76px}.login-panel{padding:20px}.brand-mark{width:58px;height:58px}.section-head{align-items:flex-start;flex-direction:column}}

/* Print-friendly submitted/missing report ledger */
@media print {
  body{background:#fff!important;color:#111!important;font-family:Georgia,serif}
  body:before,.topbar,.nav-tabs,button,.message,#dashboardView,#reportView,#committeesView,#meetingsView,#usersView{display:none!important}
  .content{width:100%;padding:0}.panel{background:#fff!important;color:#111!important;border:0;box-shadow:none;padding:0}
  #submissionsView{display:block!important}th,td{color:#111!important;border-bottom:1px solid #bbb;font-size:10pt}
  .badge{color:#111!important;border:1px solid #888}select{display:none}
  table{width:100%}tr{break-inside:avoid}
}
