:root{font-family:Inter,Arial,sans-serif;color:var(--ui-ink,#253041);background:var(--ui-canvas,#f5f6f8);font-synthesis:none;--red:var(--ui-red,#c51d2b);--muted:var(--ui-muted,#5f6b7b);--line:var(--ui-line,#e3e7ed)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:1px solid transparent;border-radius:var(--ui-radius-control,12px);background:var(--red);color:#fff;min-height:44px;padding:10px 17px;font-size:14px;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;border-color:#cbd3de;color:#283548}button.quiet{background:transparent;color:#465366}a{color:#a21c28;text-underline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}:focus-visible{outline:3px solid var(--ui-focus,#b51c2b);outline-offset:3px}[hidden]{display:none!important}.admin-header{height:76px;padding:12px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;color:#414c5b;font-size:14px;font-weight:600}.brand img{object-fit:contain}.admin-header>a:last-child{font-size:13px;color:#576273}main{max-width:1440px;padding:28px 28px 40px;margin:auto}h1{font-size:clamp(26px,2.5vw,32px);letter-spacing:-.035em;line-height:1.2;margin:10px 0 12px}h2{font-size:19px;line-height:1.4;margin:0 0 8px}h3{font-size:15px;margin:18px 0 10px}p{font-size:14px;line-height:1.65;margin:8px 0 16px;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--red)}.login-panel{max-width:480px;margin:6vh auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:var(--ui-radius-card,20px);box-shadow:var(--ui-shadow);display:flex;flex-direction:column;gap:15px}.login-panel p{margin:0}.login-panel>a{text-align:center;font-size:13px}.login-panel .muted{font-size:12px}.workspace-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.workspace-heading p{max-width:760px}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabs{display:flex;flex-direction:column;gap:8px;margin:0;padding:20px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--ui-radius-card,20px);box-shadow:var(--ui-shadow)}.tabs button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:12px;padding:12px;white-space:normal;line-height:1.5}.tabs button[aria-current=page]{color:var(--red);border-color:#f3dce0;background:var(--ui-red-soft,#fff0f2)}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.summary>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-content:start;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--ui-radius-card,20px);padding:18px;box-shadow:var(--ui-shadow)}.summary strong{display:block;font-size:28px;margin:0;grid-column:1;line-height:1.3;letter-spacing:-.035em}.summary span{font-size:13px;color:var(--muted);grid-column:1/-1;line-height:1.5}.panel{background:#fff;border:1px solid var(--line);padding:24px;border-radius:var(--ui-radius-card,20px);box-shadow:var(--ui-shadow);margin-bottom:20px;min-width:0}.panel-heading p{margin-bottom:0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;padding-bottom:24px;border-bottom:1px solid var(--line)}label{display:flex;flex-direction:column;gap:8px;color:#424e60;font-size:14px;font-weight:500;min-width:0}input,select,textarea{width:100%;min-width:0;border:1px solid #ccd4df;background:var(--ui-soft,#f8f9fb);color:#27364b;border-radius:12px;padding:11px;font-size:16px;min-height:44px}textarea{resize:vertical;min-height:90px}input:read-only{background:#f1f3f6}.checkbox{flex-direction:row;align-items:center;gap:9px;font-size:13px;line-height:1.5}.checkbox input{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--red)}.badge{display:inline-block;font-size:12px;padding:5px 8px;border:1px solid #dde3eb;border-radius:6px;background:#f6f8fb;color:#526072;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.badge.valid{background:#ecf7f0;color:#286542;border-color:#cde5d5}.badge.warning{background:#fff5e8;color:#865015;border-color:#f0ddc4}.registration-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.3fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #e7ebf0}.registration-row:last-child{border-bottom:0}.registration-row strong{font-size:14px;display:block;overflow-wrap:anywhere}.registration-row small{font-size:12px;color:var(--muted);display:block;line-height:1.7;overflow-wrap:anywhere}.status-stack{display:flex;gap:5px;flex-wrap:wrap}.registration-title{display:flex;gap:10px;align-items:center;min-width:0}.empty{padding:30px;text-align:center;background:#fafbfc;border:1px dashed var(--line);border-radius:10px}.notice{padding:12px 15px;border:1px solid #d6e0f1;background:#eff4fc;border-radius:9px;color:#30496c;font-size:13px;line-height:1.7}.notice.error{border-color:#efcbd0;background:#fff1f2;color:#a12535}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.grant{background:#f7f8fa;border:1px solid var(--line);padding:16px;border-radius:10px;margin-bottom:12px;display:grid;gap:14px}.check-options{display:flex;flex-wrap:wrap;gap:10px 16px}.check-options label{font-weight:400}dialog{border:1px solid var(--line);border-radius:20px;max-width:780px;width:calc(100% - 36px);max-height:90dvh;padding:25px;color:#263142;box-shadow:var(--ui-shadow-dialog)}dialog::backdrop{background:#17233780}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dialog-heading h2{overflow-wrap:anywhere}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.facts div{background:#f7f8fa;padding:12px;border-radius:8px;min-width:0}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:6px 0 0;font-size:13px;overflow-wrap:anywhere}.document-row,.person-row,.proposal{padding:12px 0;border-bottom:1px solid #e4e8ef;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.document-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.document-row button{font-size:12px}.review-box{background:#f7f8fa;border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:24px}.audit{padding-left:18px;font-size:12px;color:var(--muted);line-height:1.8}.admin-footer{text-align:center;padding:24px;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-70px;left:10px}.skip:focus{top:10px;background:#fff;padding:14px;z-index:20}.participant-panel{margin:22px 0}.participant-panel h2{font-size:20px}.participant-panel .panel{padding:20px}.participant-panel p{font-family:Inter,Arial,sans-serif}.admin-page .error-text{color:#a12535}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-child{grid-column:1/-1}.workspace-heading{align-items:flex-start}.summary{gap:10px}.summary>div{padding:16px}.registration-row{gap:12px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr) auto}}
@media(max-width:600px){main{padding:26px 18px}.admin-header{padding:12px 18px}.brand{gap:8px}.brand span{display:none}.workspace-heading{display:block}.workspace-heading .button-row{margin:16px 0}.workspace-heading .button-row>button{padding-inline:10px}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary strong{font-size:24px}.panel{padding:18px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.registration-row{grid-template-columns:minmax(0,1fr) auto;padding:18px 0;gap:10px}.registration-title{grid-column:1/-1}.registration-row .status-stack{grid-column:1/-1;grid-row:3}.registration-row>button{grid-column:2;grid-row:2}.registration-row>div:nth-child(2){grid-column:1}.form-grid{grid-template-columns:1fr}.facts{gap:8px}.login-panel{padding:25px;margin:3vh auto}.document-row{align-items:flex-start}.grant{padding:12px}dialog{padding:18px}.notice{overflow-wrap:anywhere}}
.admin-header .brand .logo-frame{display:flex;width:76px;height:44px;overflow:hidden;align-items:center;justify-content:center;flex:0 0 76px}.logo-frame img{transform:scale(2.4)}
#documentDialog{width:min(1100px,calc(100% - 24px));height:92dvh;max-height:92dvh;padding:18px;overflow:hidden}#documentDialog[open]{display:flex;flex-direction:column;gap:10px}#documentDialog .dialog-heading{margin:0;flex:0 0 auto}#documentTitle{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}#documentClose{flex-shrink:0}#documentState{margin:0;font-size:12px;flex:0 0 auto}#documentPreviewBody{flex:1;min-height:0;overflow:auto;background:#edf0f4;border-radius:10px;display:grid;place-items:center}#documentPreviewBody img{display:block;max-width:100%;max-height:100%;object-fit:contain}#documentPreviewBody iframe{display:block;width:100%;height:100%;border:0;min-height:220px}#documentRetry{align-self:flex-start}@media(max-width:600px){#documentDialog{padding:12px;height:94dvh;max-height:94dvh}#documentTitle{font-size:14px}}
#documentDialog{max-width:1100px}
.admin-document-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;margin:8px 0;max-width:100%}
.admin-document-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #cbd3de;border-radius:12px;background:#fff;color:#283548;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.admin-document-actions a:first-child{background:var(--red);border-color:var(--red);color:#fff}
.admin-document-actions a:hover{filter:brightness(.96)}
.admin-document-actions a:focus-visible{outline:3px solid var(--ui-focus,#b51c2b);outline-offset:3px}
#documentPreviewBody:empty{display:none}
.formation-summary{border:1px solid #dfe4eb;border-radius:10px;padding:16px;background:#fafbfc;overflow-wrap:anywhere}.formation-summary h3{margin:0}.formation-summary ol{padding-left:22px;font-size:13px;line-height:1.8}.formation-summary .facts{margin:12px 0}@media(max-width:1000px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.formation-summary{padding:12px}.formation-summary .facts{grid-template-columns:minmax(0,1fr)}}
/* Admin-only navigation layout. Other participant pages using this sheet stay unchanged. */
.admin-page #dashboard:not([hidden]){display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:28px;align-items:start}
.admin-page #dashboard>.workspace-heading,.admin-page #dashboard>#notice,.admin-page #dashboard>section{grid-column:2;min-width:0}
.admin-page #dashboard>.workspace-heading{grid-row:1;margin-bottom:24px;align-items:flex-start}
.admin-page #dashboard>.tabs{grid-column:1;grid-row:1/span 5;position:sticky;top:24px;min-height:360px}
.admin-page #identity{font-size:13px;overflow-wrap:anywhere;line-height:1.7;margin-bottom:0}
.admin-nav-brand{display:flex;align-items:center;gap:8px;padding:0 10px 20px;text-decoration:none;color:var(--ui-ink);border-bottom:1px solid var(--line);margin-bottom:12px;font-size:14px;font-weight:650}
.admin-nav-brand .logo-frame{display:grid;place-items:center;overflow:hidden;width:62px;height:38px;flex:none}
.admin-nav-brand img{width:62px;height:38px;object-fit:contain}
.admin-nav-label{font-size:12px;color:var(--muted);padding:0 12px 6px}
.tabs svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7}
.summary svg{grid-column:2;grid-row:1;width:38px;height:38px;padding:9px;border-radius:12px;color:#526591;background:#eef1fa;stroke:currentColor;fill:none;stroke-width:1.7}
.summary>div:nth-child(2) svg{background:#fff4e5;color:#936024}
.summary>div:nth-child(3) svg{background:#eaf5ef;color:#367153}
.summary>div:nth-child(4) svg{background:#fff0f2;color:#a32639}
#adminMenuToggle{display:none}
#adminNavDialog{width:min(300px,calc(100vw - 32px));height:100dvh;max-height:100dvh;margin:0 auto 0 0;padding:16px;border-radius:0 20px 20px 0;overflow:auto}
#adminNavDialog .tabs{border:0;box-shadow:none;padding:10px 0}
#adminNavDialog .dialog-heading{position:sticky;top:-16px;background:#fff;z-index:1;padding:12px 0}
#adminNavDialog::backdrop{background:#17233780;backdrop-filter:none}
.admin-page .registration-row:hover{background:var(--ui-soft)}
.admin-page .tabs button:hover{background:var(--ui-soft)}
.admin-page .tabs button[aria-current=page]:hover{background:var(--ui-red-soft)}
@media(max-width:1100px){.admin-page #dashboard:not([hidden]){grid-template-columns:200px minmax(0,1fr);column-gap:20px}.admin-page .summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.admin-page #dashboard:not([hidden]){display:block}.admin-page #dashboard>.tabs{position:static;margin-bottom:20px}.admin-page .tabs{min-height:0}#adminMenuToggle{display:inline-flex;align-items:center;gap:8px}.admin-page .workspace-heading{margin-bottom:24px}.admin-page .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-page main{padding:24px 16px}.admin-page .summary>div{padding:16px 14px}.admin-page .summary strong{font-size:26px}.admin-page .summary svg{width:34px;height:34px;padding:8px}.admin-page .panel{padding:18px}.admin-page .filters{gap:14px}.admin-page .filters select{font-size:14px}.admin-page .filters label:first-child{grid-column:1/-1}.admin-page .badge{font-size:12px}.admin-page #identity{font-size:13px}}
@media(prefers-reduced-motion:reduce){.admin-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.registration-control{margin:1rem 0;display:grid;gap:.75rem;max-width:100%;}
.registration-control label,.registration-control .control-dates{display:grid;gap:.4rem;min-width:0;}
.registration-control .control-dates{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}
.registration-control .control-dates small{grid-column:1/-1;}
.registration-control input,.registration-control select{max-width:100%;}
.registration-control button{justify-self:start;}
