:root{--navy:#07172e;--navy2:#102746;--blue:#1765b5;--cyan:#24b5ec;--gold:#e4a31b;--ink:#13223a;--muted:#66758a;--line:#e2e8f0;--paper:#fff;--wash:#f4f7fb;--green:#177a57;--red:#b42318;--shadow:0 24px 70px rgba(7,23,46,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--wash)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,22px);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:var(--navy);color:#fff;font:800 12px Manrope,sans-serif;letter-spacing:-.5px;border:2px solid #e7b43f;box-shadow:inset 0 0 0 3px var(--navy)}.brand b{display:block;font:800 12px Manrope,sans-serif;letter-spacing:.06em;color:var(--navy)}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#768398;margin-top:5px}.admin-link{font-size:12px;font-weight:700;color:#506178}.admin-link span{color:var(--gold);margin-left:5px}.portal-layout{max-width:1160px;margin:72px auto 66px;padding:0 24px;display:grid;grid-template-columns:1.05fr .85fr;gap:86px;align-items:center}.eyebrow,.card-kicker{font:800 10px Manrope,sans-serif;letter-spacing:.18em;color:#42749f}.eyebrow{display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;border-radius:50%;background:#1aa579;box-shadow:0 0 0 4px #d9f6e9}.hero-copy h1,.admin-intro h1{font:800 clamp(36px,4.3vw,57px)/1.1 Manrope,sans-serif;letter-spacing:-.055em;color:var(--navy);margin:23px 0 19px}.hero-copy h1 em,.admin-intro h1 em{font-style:normal;color:#1474bc}.hero-copy>p,.admin-intro>p{max-width:510px;color:#64738a;font-size:15px;line-height:1.85;margin:0}.event-chip{display:flex;align-items:center;gap:13px;margin:30px 0;padding:15px 17px;border:1px solid #e4e9f1;background:#fff;border-radius:14px;max-width:450px}.chip-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff5d9;color:#bd8310;font-size:20px}.event-chip b,.event-chip small{display:block}.event-chip b{font-size:13px}.event-chip small{font-size:11px;color:var(--muted);margin-top:5px}.trust-list{display:grid;gap:12px;color:#5b6a7d;font-size:12px}.trust-list span{display:flex;align-items:center;gap:10px}.trust-list i{font-style:normal;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e1f6ed;color:var(--green);font-size:11px;font-weight:800}.lookup-card,.admin-card{background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:31px;box-shadow:var(--shadow)}.lookup-card h2,.admin-card h2{font:800 23px Manrope,sans-serif;letter-spacing:-.035em;color:var(--navy);margin:12px 0 7px}.muted{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 24px}.verify-form{display:grid;gap:9px}.verify-form label,.input-label{font-size:11px;font-weight:700;color:#38485f;margin-top:7px}.verify-form input,.text-input{width:100%;height:47px;border:1px solid #dce3ec;border-radius:10px;background:#fff;padding:0 13px;outline:none;color:var(--ink);font-size:13px}.verify-form input:focus,.text-input:focus{border-color:#4a9bd5;box-shadow:0 0 0 3px #e4f3ff}.btn-primary,.btn-secondary,.btn-quiet{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:10px;min-height:46px;padding:0 17px;font-size:12px;font-weight:800;transition:transform .15s,box-shadow .15s}.btn-primary{color:#fff;background:var(--navy);box-shadow:0 8px 20px #07172e1c}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 11px 24px #07172e30}.btn-secondary{color:var(--navy);background:#edf3f9;border:1px solid #dce5ee}.btn-secondary:hover{background:#e2edf7}.btn-primary.full{width:100%;margin-top:14px}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.privacy-note{display:flex;gap:10px;padding-top:18px;margin-top:20px;border-top:1px solid #edf0f5;color:#78869a;font-size:10px;line-height:1.6}.lock-icon{color:#b18419;font-size:16px}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:23px max(5vw,22px);border-top:1px solid var(--line);background:#fff;color:#8490a0;font-size:10px;letter-spacing:.04em}.certificate-section{max-width:1120px;margin:0 auto 75px;padding:30px 24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-heading h2{font:800 24px Manrope,sans-serif;color:var(--navy);margin:8px 0}.section-heading p{margin:0}.verified-pill{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#e5f7ee;color:#19744f;font-size:10px;font-weight:800;white-space:nowrap}.verified-pill i{font-style:normal}.certificate-frame{position:relative;border:1px solid #e4e8ef;border-radius:9px;background:#f5f7fa;padding:12px;min-height:240px;display:grid;place-items:center;overflow:hidden}.certificate-frame canvas{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain}.certificate-loading{position:absolute;z-index:2;background:#ffffffd9;border-radius:8px;padding:12px 16px;font-size:12px;color:var(--muted)}.download-row{display:flex;align-items:center;gap:10px;margin-top:19px}.download-copy{margin-right:auto}.download-copy b,.download-copy small{display:block}.download-copy b{font-size:13px}.download-copy small{font-size:11px;color:var(--muted);margin-top:4px}.small-print{font-size:10px;color:#8994a4;line-height:1.7;margin:17px 0 0}.hidden{display:none!important}.notice{padding:12px 13px;margin-top:13px;border-radius:9px;font-size:11px;line-height:1.6}.notice.error{background:#fff0ef;color:var(--red);border:1px solid #f8d5d2}.notice.success{background:#eaf8f1;color:#166b4b;border:1px solid #c8eedc}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:white;padding:12px 16px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;box-shadow:0 10px 35px #07172e2e}.toast.show{opacity:1;transform:translate(-50%,0)}.admin-wrap{max-width:1050px;margin:54px auto 70px;padding:0 24px}.admin-intro{margin-bottom:30px}.admin-intro h1{font-size:43px;margin:15px 0 10px}.admin-intro>p{max-width:650px}.login-card{max-width:480px}.setup-note,.caution{padding:12px 13px;border-radius:9px;background:#fff8e7;color:#80601b;font-size:10px;line-height:1.7;margin-top:16px}.setup-note b{display:block;margin-bottom:3px}.setup-note code,.admin-card code{background:#f1f4f8;padding:2px 5px;border-radius:4px;color:#253b5b}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.stat-card span,.stat-card small{display:block}.stat-card span{font-size:9px;font-weight:800;letter-spacing:.1em;color:#75849a}.stat-card b{display:block;font:800 29px Manrope,sans-serif;color:var(--navy);margin:8px 0}.stat-card small{font-size:10px;color:#8591a2}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{padding:25px;box-shadow:0 8px 30px #07172e08}.admin-card h2{font-size:19px}.admin-card .muted{margin-bottom:17px}.file-drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;border:1px dashed #b8c8d8;border-radius:12px;padding:23px 12px;background:#f9fbfd;cursor:pointer}.file-drop input{display:none}.file-icon{display:grid;place-items:center;width:34px;height:34px;background:#e6f3ff;border-radius:10px;color:#1466aa;font-size:20px}.file-drop b{font-size:12px}.file-drop small{font-size:10px;color:var(--muted)}.small-note{font-size:10px;color:#8290a2;margin:10px 0}.template-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #edf0f5}.template-row>div b,.template-row>div small{display:block}.template-row>div b{font-size:11px}.template-row>div small{font-size:10px;color:#8491a1;margin-top:5px}.mini-upload{font-size:10px;font-weight:800;padding:9px 11px;border:1px solid #dce5ee;border-radius:8px;white-space:nowrap;cursor:pointer}.mini-upload input{display:none}.settings-card{grid-column:1/-1}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 20px;border-bottom:1px solid #edf0f5;margin-bottom:17px}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:12px}.toggle-row small{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px;max-width:520px}.toggle-row input{width:42px;height:22px;accent-color:#146eb2;flex-shrink:0}.settings-card .input-label{display:block;margin-bottom:7px}.settings-card .text-input{max-width:320px;display:block;margin-bottom:12px}.btn-quiet{margin-top:18px;background:transparent;color:#65748a;border:1px solid #dce3ec}.admin-body{min-height:100vh}.admin-body .site-footer{margin-top:60px}@media(max-width:850px){.portal-layout{grid-template-columns:1fr;gap:32px;margin:42px auto}.hero-copy h1{font-size:43px}.hero-copy>p{font-size:14px}.lookup-card{max-width:600px}.admin-grid{grid-template-columns:1fr}.settings-card{grid-column:auto}.admin-intro h1{font-size:37px}}@media(max-width:560px){.site-header{height:72px;padding:0 17px}.brand-icon{width:39px;height:39px}.brand b{font-size:10px}.brand small{font-size:8px}.admin-link{font-size:10px}.portal-layout{padding:0 17px;margin:35px auto 42px}.hero-copy h1{font-size:37px}.hero-copy>p{font-size:13px}.lookup-card{padding:23px 19px}.certificate-section{padding:20px 13px;margin:0 10px 45px}.section-heading{align-items:flex-start;flex-direction:column}.download-row{flex-wrap:wrap}.download-copy{flex-basis:100%;margin-bottom:4px}.download-row button{flex:1;min-width:130px}.site-footer{padding:20px 17px;flex-direction:column}.admin-wrap{padding:0 14px;margin-top:35px}.admin-intro h1{font-size:34px}.admin-card{padding:20px 17px}.stats-grid{gap:8px}.stat-card{padding:13px 10px}.stat-card span{font-size:8px}.stat-card b{font-size:23px}.stat-card small{font-size:9px}}

/* Global editorial polish — YCW Certificate Portal */
:root{--navy:#101b32;--navy2:#182a49;--blue:#4169e1;--cyan:#58c8d8;--gold:#e9b949;--ink:#17243b;--muted:#69768b;--wash:#f5f6f8;--line:#e4e7ed;--shadow:0 28px 80px rgba(16,27,50,.11)}
body.portal-body{background:radial-gradient(ellipse at 8% 8%,rgba(88,200,216,.12),transparent 34%),radial-gradient(ellipse at 92% 22%,rgba(233,185,73,.12),transparent 30%),#f7f8fa}
.site-header{height:88px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,231,237,.85);position:relative;z-index:3}
.brand-icon{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#101b32,#294365);border:1px solid #e9b949;box-shadow:0 7px 20px rgba(16,27,50,.16),inset 0 0 0 3px #101b32;font-size:13px}
.brand b{letter-spacing:.075em}.brand small{letter-spacing:.16em}
.admin-link{padding:11px 15px;border:1px solid #e4e7ed;border-radius:999px;background:#fff;transition:.2s}.admin-link:hover{border-color:#b9c8dc;background:#f8fafc}
.portal-layout{max-width:1240px;margin:76px auto 80px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr);gap:clamp(42px,7vw,100px)}
.eyebrow,.card-kicker{letter-spacing:.16em}.eyebrow{padding:9px 12px;border:1px solid rgba(65,105,225,.15);border-radius:999px;background:rgba(255,255,255,.76);width:max-content;color:#3554a5}
.live-dot{background:#21a67a;box-shadow:0 0 0 5px #e0f6ec}
.hero-copy h1{font-size:clamp(43px,5.1vw,70px);line-height:1.03;letter-spacing:-.065em;margin:27px 0 22px}.hero-copy h1 em{background:linear-gradient(100deg,#4169e1,#1a9fb3 72%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{font-size:16px;line-height:1.9;max-width:550px;color:#5f6d82}
.event-chip{border-radius:17px;padding:17px 18px;box-shadow:0 12px 32px rgba(16,27,50,.045);max-width:470px}.chip-icon{background:#fff6df;color:#9b7015;border:1px solid #f4e5b7}.event-chip b{font-size:13px}.event-chip small{font-size:11px}
.trust-list{gap:13px;font-size:12px}.trust-list i{width:21px;height:21px;background:#e1f6ed;color:#167650}
.lookup-card{padding:clamp(25px,3.2vw,38px);border-radius:24px;border:1px solid rgba(228,231,237,.9);box-shadow:0 30px 90px rgba(16,27,50,.12);position:relative;overflow:hidden}.lookup-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4169e1,#58c8d8,#e9b949)}
.lookup-card h2{font-size:27px;letter-spacing:-.05em;margin-top:15px}.muted{font-size:13px;line-height:1.75}
.verify-form{gap:10px}.verify-form label,.input-label{font-size:12px;color:#34435b}.verify-form input,.text-input{height:52px;border-radius:12px;padding:0 15px;font-size:14px;background:#fbfcfe;border-color:#dfe5ed;transition:border-color .18s,box-shadow .18s,background .18s}.verify-form input:focus,.text-input:focus{background:#fff;border-color:#6e91eb;box-shadow:0 0 0 4px rgba(65,105,225,.12)}
.btn-primary,.btn-secondary,.btn-quiet{min-height:50px;border-radius:12px;font-size:12px;letter-spacing:.01em}.btn-primary{background:linear-gradient(120deg,#152542,#203b63);box-shadow:0 10px 24px rgba(16,27,50,.18)}.btn-primary:hover{box-shadow:0 14px 30px rgba(16,27,50,.24)}.btn-secondary{background:#f1f5fb;border-color:#dfe6f0}.privacy-note{font-size:11px;color:#738096;line-height:1.75}.lock-icon{color:#4169e1}
.site-footer{background:rgba(255,255,255,.88);font-size:10px;letter-spacing:.07em}.certificate-section{border-radius:22px;box-shadow:0 24px 75px rgba(16,27,50,.09)}.certificate-frame{border-radius:13px;background:linear-gradient(135deg,#f3f5f8,#fff);padding:16px}.verified-pill{padding:10px 14px;background:#e8f7ef}.toast{border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}
.admin-body{background:radial-gradient(ellipse at 90% 0%,rgba(65,105,225,.08),transparent 32%),#f6f7f9}.admin-wrap{max-width:1160px;margin:62px auto 80px}.admin-intro h1{font-size:clamp(38px,4.5vw,58px);letter-spacing:-.06em}.admin-intro h1 em{background:linear-gradient(100deg,#4169e1,#1a9fb3);-webkit-background-clip:text;background-clip:text;color:transparent}.admin-card,.stat-card{border-radius:18px;border-color:#e5e8ef;box-shadow:0 14px 44px rgba(16,27,50,.045)}.stat-card{padding:22px}.stat-card b{font-size:34px;letter-spacing:-.06em}.admin-card{padding:28px}.file-drop{border-color:#b9c8dc;background:linear-gradient(145deg,#fbfcfe,#f4f7fb);border-radius:14px;transition:.2s}.file-drop:hover{border-color:#4169e1;background:#f3f7ff}.file-icon{background:#e8efff;color:#3554a5}.mini-upload{border-radius:10px;background:#fff}.setup-note,.caution{border-radius:12px;line-height:1.8}.settings-card .text-input{max-width:360px}.toggle-row input{accent-color:#4169e1}
@media(max-width:850px){.site-header{height:76px}.portal-layout{grid-template-columns:1fr;gap:30px;margin:45px auto 52px;max-width:720px}.hero-copy h1{font-size:clamp(40px,8vw,56px)}.hero-copy>p{font-size:14px}.lookup-card{max-width:100%}.admin-wrap{margin-top:42px}}
@media(max-width:560px){.site-header{height:70px;padding:0 15px}.brand{gap:9px}.brand-icon{width:38px;height:38px;border-radius:12px}.brand b{font-size:9px;letter-spacing:.04em}.brand small{font-size:7px;letter-spacing:.11em}.admin-link{padding:9px 10px;font-size:9px}.portal-layout{margin:35px auto 42px;padding:0 16px}.hero-copy h1{font-size:39px;line-height:1.06;margin:23px 0 17px}.hero-copy>p{font-size:13px;line-height:1.8}.event-chip{margin:23px 0;padding:13px}.lookup-card{padding:25px 19px;border-radius:20px}.lookup-card h2{font-size:24px}.verify-form input{height:50px}.site-footer{gap:10px}.admin-wrap{padding:0 13px;margin-top:32px}.admin-intro h1{font-size:36px}.admin-card{padding:21px 16px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:13px 9px;border-radius:12px}.stat-card b{font-size:24px}.stat-card span{font-size:7px;letter-spacing:.05em}.stat-card small{font-size:8px}.template-row{align-items:flex-start}.mini-upload{font-size:9px;padding:9px 8px}}


/* YCW brand refinement: use the supplied official medallion logo. */
.brand-logo{display:block;width:52px;height:52px;object-fit:contain;border-radius:50%;flex:0 0 auto;filter:drop-shadow(0 5px 10px rgba(16,27,50,.12))}
.brand{gap:13px}.brand b{font-size:11px;letter-spacing:.055em}.brand small{font-size:9px;letter-spacing:.14em}
.site-header{padding-inline:clamp(18px,5vw,76px)}
@media(max-width:560px){.brand-logo{width:42px;height:42px}.brand{gap:8px}.brand b{font-size:8.5px;letter-spacing:.025em}.brand small{font-size:6.5px;letter-spacing:.075em}.site-header{padding:0 12px}.admin-link{padding:8px 9px}}
