:root{font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;line-height:1.5;color:#182638;background:#f4f6f8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
.needs-auth .workspace,.needs-auth .record-register,.needs-auth .admin,.needs-auth .record-detail{display:none!important}
.login-panel{max-width:680px;margin:28px auto 60px;text-align:center;padding:36px}
.login-panel h2{font-family:'Source Serif 4',Georgia,serif;color:#173b68;font-size:1.8rem;margin:0 0 8px}
.login-panel p{color:#3e5267;line-height:1.55}
.login-button{display:inline-block;margin-top:9px;background:#173b68;border:1px solid #173b68;border-radius:3px;padding:11px 18px;color:#fff;font-weight:700;text-decoration:none}
.login-button:hover{background:#245b8c}
.login-panel form{max-width:370px;margin:20px auto 0;text-align:left}
.login-panel form .login-button{width:100%;cursor:pointer}
.admin-login{font-size:.86rem;margin-top:23px}
.admin-login a{color:#1a6095;font-weight:700}
.session-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#edf4fa;border:1px solid #d0dfe9;border-radius:3px;padding:10px 15px;margin:0 0 18px;color:#173b68;font-weight:600}
body{margin:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}

.masthead{background:#fff;border-top:5px solid #173b68;border-bottom:1px solid #d9e1e8}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding:17px 0 19px}
.brand-kicker{color:#af6438;font-size:.74rem;letter-spacing:.12em;font-weight:700}
.brand strong{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(1.85rem,3vw,2.45rem);font-weight:700;letter-spacing:-.035em;line-height:1.2;color:#173b68;margin:5px 0}
.brand-affiliation{color:#3e4e5e;font-size:.98rem;font-weight:600}
.brand small{color:#596a78;font-size:.83rem;margin-top:3px}

.page-intro{background:linear-gradient(105deg,#e7eff8 0%,#f0f5fa 70%,#f8f9fa 100%);border:1px solid #dbe5ef;border-left:5px solid #346a9d;border-radius:4px;margin:25px 0 23px;padding:23px 29px}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.12em;color:#a55c35;margin:0 0 4px}
.page-intro h1{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(2.1rem,3.4vw,2.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.18;color:#173b68;margin:0 0 5px}
.page-intro p:last-child{color:#3e5267;font-size:1rem;line-height:1.55;max-width:820px;margin:0}

.workspace{display:grid;grid-template-columns:206px minmax(0,1fr);gap:23px;align-items:start}
.workspace>*{min-width:0}
.report-nav{position:sticky;top:18px}
.nav-inner{background:#fff;border:1px solid #dbe2e9;border-radius:4px;overflow:hidden}
.nav-heading{display:block;padding:17px 17px 9px;color:#173b68;font-family:'Source Serif 4',Georgia,serif;font-size:1.1rem}
.report-nav nav{display:flex;flex-direction:column;padding:0 8px 10px}
.report-nav nav a{display:flex;align-items:center;gap:9px;min-height:39px;padding:8px 10px;color:#33485d;text-decoration:none;font-size:.88rem;font-weight:600;border-left:3px solid transparent}
.report-nav nav a span{font-size:.76rem;color:#6d7c8b;font-weight:700}
.report-nav nav a:hover,.report-nav nav a:focus-visible{background:#edf3f8;outline:0}
.report-nav nav a.active{color:#173b68;background:#e6eef6;border-left-color:#346a9d}

.card{scroll-margin-top:18px;background:#fff;border:1px solid #dbe2e9;border-radius:4px;padding:27px 30px;margin-bottom:19px}
.section-title{display:flex;align-items:start;gap:15px;border-bottom:1px solid #e2e7ec;padding-bottom:18px;margin-bottom:21px}
.number{flex:none;display:grid;place-items:center;min-width:36px;height:36px;padding:0 4px;background:#173b68;color:#fff;font-size:.82rem;font-weight:700;border-radius:3px}
.section-title h2{font-family:'Source Serif 4',Georgia,serif;color:#173b68;font-size:1.55rem;font-weight:700;line-height:1.18;margin:1px 0 3px}
.section-title p{color:#526475;font-size:.94rem;line-height:1.45;margin:0}
.grid{display:grid;gap:19px 21px}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.wide{grid-column:1/-1}
label{display:block;color:#20384f;font-size:.93rem;font-weight:700;line-height:1.4}
label b{color:#a64c3a}
input:not([type=checkbox]),select,textarea{display:block;width:100%;min-height:46px;margin-top:7px;padding:10px 12px;background:#fff;border:1px solid #adbcc9;border-radius:4px;color:#182638;box-shadow:none;transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):hover,select:hover,textarea:hover{border-color:#6889a8}
input:not([type=checkbox]):focus,select:focus,textarea:focus{outline:0;border-color:#24679e;box-shadow:0 0 0 3px #2c75af2b}
input::placeholder,textarea::placeholder{color:#738392}
textarea{resize:vertical;line-height:1.5}
input[type=file]{padding:9px;min-height:53px;background:#f7f9fb}
input[type=file]::file-selector-button{border:1px solid #a9bed0;border-radius:3px;background:#e5eef5;color:#173b68;padding:7px 10px;margin-right:10px;font-weight:700;cursor:pointer}
button:focus-visible,summary:focus-visible{outline:3px solid #3176aa;outline-offset:2px}
.duration-preview{border-left:4px solid #376f9d;background:#edf4fa;color:#173b68;padding:10px 13px;font-weight:600;font-size:.93rem}
.duration-preview.invalid{border-left-color:#b74335;background:#fff0ee;color:#8d2e24}
.team-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.team-group{min-width:0;border:1px solid #d0dce6;border-top:3px solid #5b85aa;background:#f8fafc;padding:14px}
.team-heading{min-height:66px;margin-bottom:11px}
.team-heading strong{display:block;font-family:'Source Serif 4',Georgia,serif;color:#173b68;font-size:1.14rem}
.team-heading span{display:block;color:#536679;font-size:.85rem;line-height:1.35;margin-top:2px}
.team-entry{padding:12px;margin-bottom:11px;background:#fff}
.team-entry .repeat-head{margin-bottom:8px}
.team-entry .repeat-head strong{font-size:1rem}
.team-entry .grid{grid-template-columns:1fr;gap:11px}
.team-entry label{font-size:.84rem}
.team-entry input:not([type=checkbox]){min-height:39px;margin-top:4px;padding:7px 9px}
.team-group .secondary{width:100%;padding:8px 10px}
.field-hint{margin:-10px 0 0;color:#536679;font-size:.86rem}
.secondary{border:1px solid #346a9d;border-radius:3px;background:#fff;color:#173b68;padding:9px 14px;font-size:.9rem;font-weight:700}
.secondary:hover{background:#edf4fa}
.repeat{border:1px solid #cbd8e3;border-radius:3px;background:#f8fafc;padding:20px;margin-bottom:15px}
.repeat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.repeat-head strong{font-family:'Source Serif 4',Georgia,serif;color:#173b68;font-size:1.15rem}
.subsection{border-top:1px solid #dce5ec;margin-top:27px;padding-top:22px}
.subsection h3,.contributors-block h4{font-family:'Source Serif 4',Georgia,serif;color:#173b68;line-height:1.25;margin:0 0 4px}
.subsection h3{font-size:1.24rem}
.subsection p{color:#526475;font-size:.92rem;margin:0 0 16px}
.session-entry{background:#f8fafc}
.contributors-block{border-top:1px solid #dce5ec;margin-top:20px;padding-top:16px}
.contributors-block h4{font-size:1.08rem;margin-bottom:12px}
.contributors-block .person-entry{background:#fff;padding:16px}
.remove{border:0;background:transparent;color:#a43829;text-decoration:underline;text-underline-offset:3px;font-size:.85rem;font-weight:700;padding:6px}
.upload-note{color:#365369;background:#edf4fa;border-left:4px solid #346a9d;padding:10px 13px;margin-bottom:20px;font-size:.91rem;line-height:1.5}
.location{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;border:1px solid #cbd8e3;border-radius:3px;background:#f8fafc;padding:16px}
.location strong{color:#173b68}
.location p{font-weight:400;color:#4e6478;font-size:.88rem;line-height:1.45;margin:3px 0 0;max-width:480px}
.location #locationStatus{width:100%;margin:0;color:#173b68}
.check{display:flex;align-items:start;gap:11px;margin-top:24px;color:#2e4051;font-weight:500;line-height:1.5}
.check input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#173b68}
.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.actions button,.admin button{border:1px solid #173b68;border-radius:3px;background:#173b68;color:#fff;padding:11px 17px;font-size:.94rem;font-weight:700}
.actions button:hover,.admin button:hover{background:#245b8c}
.actions button span{margin-left:8px}
.actions p{margin:0;color:#173b68;font-size:.93rem;font-weight:600}
.submit-card{border-top:4px solid #346a9d}
.record-register,.record-detail{max-width:931px;margin-left:auto}
.register-tools{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:15px}
.register-tools label{flex:1;min-width:240px}
.record-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #e2e7ec}
.record-row>div{min-width:0}
.record-row strong{display:block;color:#173b68;overflow-wrap:anywhere}
.record-row span{display:block;color:#526475;font-size:.88rem;margin-top:3px;text-transform:capitalize}
.record-row button{flex:none}
.record-detail h2,.record-detail h3{font-family:'Source Serif 4',Georgia,serif;color:#173b68}
.record-detail p{color:#3e5267;line-height:1.5}
.record-detail a{color:#1a6095;font-weight:700}
.record-detail li{margin:6px 0}
.review-note{background:#edf4fa;border-left:4px solid #346a9d;padding:11px 13px}
#reviewControls{border-top:1px solid #dbe2e9;margin-top:24px;padding-top:20px}
#reviewControls .actions{margin-top:12px}
#registerStatus,#adminRegisterStatus,#reviewStatus{color:#365369;font-size:.91rem}
.existing-files:not(:empty){background:#eef6f2;border-left:4px solid #34765b;color:#23503c;padding:10px 13px;margin-bottom:16px}
.actions button.secondary,.admin button.secondary{background:#fff;color:#173b68}
.actions button.secondary:hover,.admin button.secondary:hover{background:#edf4fa}
.admin{max-width:931px;margin:10px 0 55px auto;padding:17px 20px;border:1px solid #dbe2e9;border-radius:4px;background:#fff}
.admin summary{cursor:pointer;color:#173b68;font-size:.91rem;font-weight:700}
.admin p{color:#4e6478;line-height:1.5}
.admin label{max-width:420px}
.admin button{margin-top:14px}
footer{background:#173b68;color:#e4ebf1;text-align:center;padding:21px 0;font-size:.85rem}
@media(max-width:930px){.workspace{grid-template-columns:minmax(0,1fr)}.report-nav{position:static}.nav-heading{padding:12px 15px 3px}.report-nav nav{flex-direction:row;flex-wrap:wrap;padding:4px 8px 9px}.report-nav nav a{min-height:35px;padding:7px 10px}.admin{max-width:none}}
@media(max-width:800px){.team-fields{grid-template-columns:1fr}.team-heading{min-height:0}.team-group .secondary{width:auto}}
@media(max-width:640px){.wrap{width:min(100% - 26px,1160px)}.brand{padding:15px 0}.brand-kicker{font-size:.64rem}.brand strong{font-size:1.75rem}.brand-affiliation{font-size:.79rem}.brand small{font-size:.71rem;line-height:1.3}.page-intro{margin:15px 0;padding:17px 18px}.page-intro h1{font-size:2.15rem}.page-intro p:last-child{font-size:.88rem}.report-nav nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.report-nav nav::-webkit-scrollbar{display:none}.report-nav nav a{flex:none;white-space:nowrap}.card{padding:20px 17px}.section-title{gap:11px}.section-title h2{font-size:1.38rem}.section-title p{font-size:.85rem}.number{min-width:32px;height:32px}.two{grid-template-columns:1fr}.wide{grid-column:auto}.location{display:block}.location button{margin-top:11px}}
@media(max-width:640px){.record-row{align-items:start;flex-direction:column}.record-row button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
