:root{
  --navy:#07265f;--navy2:#0b3a87;--blue:#1268d6;--gold:#f5b400;--gold2:#ffcf45;
  --green:#169447;--red:#ef4a3c;--ink:#0e1c35;--muted:#6f7b91;--line:#dfe7f2;
  --bg:#f4f8ff;--white:#fff;--shadow:0 18px 50px rgba(15,48,97,.14);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.container{width:min(1180px,calc(100% - 32px));margin:auto}.narrow-container{max-width:850px}.hidden{display:none!important}.navy-text{color:var(--navy)!important}

/* buttons */
.btn{border:0;border-radius:14px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s;min-height:44px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff;box-shadow:0 10px 24px rgba(18,104,214,.22)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy)}.btn-light{background:#edf4ff;color:var(--navy)}.btn-danger{background:#fff0ef;color:#b72f25;border:1px solid #ffd4cf}.btn-outline{background:#fff;color:var(--navy);border:1px solid #c9d8ec}.btn-sm{padding:9px 12px;border-radius:11px;font-size:13px;min-height:38px}.full-btn{width:100%}

/* public navigation */
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,38,95,.08)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy);min-width:0}.brand img{width:44px;height:44px;object-fit:contain}.brand span{white-space:nowrap}.navlinks{display:flex;gap:8px;align-items:center}.navlinks>a:not(.btn){padding:10px 14px;border-radius:12px;color:#385071;font-weight:700}.navlinks>a:not(.btn):hover{background:#eef4ff;color:var(--navy)}.mobile-menu-btn{display:none;border:1px solid #d3deed;background:#fff;color:var(--navy);width:44px;height:44px;border-radius:12px;font-size:22px;font-weight:900}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#fbfdff 44%,#eaf5ff 100%)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 12%,rgba(255,193,0,.20),transparent 22%),radial-gradient(circle at 88% 72%,rgba(22,104,214,.12),transparent 30%),linear-gradient(158deg,transparent 60%,rgba(7,38,95,.045) 60.2%,transparent 61%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:38px;padding:62px 0 58px;min-height:570px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:6px;background:#eaf2ff;border:1px solid #d7e6ff;color:var(--navy2);font-weight:900;padding:8px 12px;border-radius:999px;font-size:13px;max-width:100%}.hero h1{font-size:clamp(48px,6vw,78px);line-height:.94;margin:18px 0 14px;color:var(--navy);letter-spacing:-2.6px}.hero h1>span:first-child{color:var(--gold)}.tagline{font-size:20px;line-height:1.5;color:#50627f;max-width:680px}.event-strip{margin:28px 0;display:grid;grid-template-columns:1fr 1.18fr;gap:12px}.event-chip{background:#fff;border:1px solid #dbe7f6;box-shadow:0 10px 24px rgba(13,56,118,.08);border-radius:17px;padding:15px 16px;display:flex;gap:13px;align-items:flex-start;min-width:0}.event-icon{width:42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:19px;flex:0 0 auto}.event-chip b{display:block;color:var(--navy);font-size:16px;line-height:1.3}.event-chip span{display:block;color:#6c7890;font-size:13px;margin-top:3px;line-height:1.4}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-media{height:470px;border-radius:34px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(220,238,255,.76));border:1px solid rgba(157,190,229,.55);box-shadow:0 30px 70px rgba(7,38,95,.12)}.hero-media:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 65% 30%,rgba(255,192,0,.26),transparent 25%),radial-gradient(circle at 30% 75%,rgba(18,104,214,.22),transparent 30%);filter:blur(6px)}.hero-media picture{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center}.hero-media img{width:100%;height:100%;object-fit:contain;display:block}.hero-media-note{position:absolute;z-index:2;right:16px;bottom:16px;background:rgba(7,38,95,.84);color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}

/* public sections */
.section{padding:62px 0}.section-title{text-align:center;max-width:760px;margin:0 auto 32px}.section-title h2{font-size:34px;margin:0 0 8px;color:var(--navy)}.section-title p{margin:0;color:var(--muted);line-height:1.6}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program-card{background:#fff;border-radius:22px;padding:26px;border:1px solid var(--line);box-shadow:0 12px 32px rgba(12,43,91,.08);min-height:360px}.program-card.green{border-top:7px solid var(--green)}.program-card.gold{border-top:7px solid var(--gold)}.program-card.red{border-top:7px solid var(--red)}.program-logo{font-size:26px;font-weight:1000;letter-spacing:2px;margin-bottom:18px}.green .program-logo{color:var(--green)}.gold .program-logo{color:#d89c00}.red .program-logo{color:var(--red)}.program-card ul{padding:0;margin:0;list-style:none}.program-card li{padding:10px 0 10px 28px;position:relative;line-height:1.35}.program-card li:before{content:"✓";position:absolute;left:0;top:10px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:1000}.green li:before{background:var(--green)}.gold li:before{background:var(--gold)}.red li:before{background:var(--red)}
.registration-section{background:#edf4ff}.walkin-public-notice{max-width:860px;margin:0 auto 22px;background:linear-gradient(135deg,#fff5d4,#fff);border:1px solid #f0cf63;border-radius:18px;padding:15px 18px;color:#644800;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center}.walkin-public-notice strong{color:#7a5700}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-wrap{display:grid;grid-template-columns:1fr .72fr;gap:22px}.form-card{padding:28px}.form-card h2,.check-card h2{margin:0 0 8px;color:var(--navy)}.form-card p,.check-card p{margin:0 0 22px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#3f5270}.field label small{font-weight:600;color:#8a97aa}.field input,.field select,.field textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid #ccd9ea;border-radius:13px;background:#fbfdff;outline:none;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6ba2e8;box-shadow:0 0 0 4px #eaf3ff}.field textarea{min-height:90px;resize:vertical}.required{color:#e34b3f}.form-actions{margin-top:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.side-info{padding:26px;position:relative;overflow:hidden;background:linear-gradient(165deg,#07265f,#0c499c);color:#fff}.side-info:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-100px;background:rgba(255,193,0,.2)}.side-info h3{font-size:24px;margin:0 0 12px}.side-info p{color:#dbe8ff;line-height:1.55}.mini-list{display:grid;gap:12px;margin-top:25px}.mini{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:14px;border-radius:14px}.mini b{display:block}.mini small{color:#dce7ff}.qr-note{font-size:12px;color:#6b7890;margin-top:10px}.success{padding:28px;text-align:center}.success-icon{width:70px;height:70px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e7f8ee;color:#16894a;font-size:34px}.success h2{color:var(--navy)}.reference{font-size:27px;font-weight:1000;letter-spacing:1.5px;color:var(--navy);padding:14px;background:#f1f6ff;border-radius:15px;margin:15px auto;max-width:420px;overflow-wrap:anywhere}.qr-box{display:grid;place-items:center;min-height:250px}.qr-box canvas,.qr-box img{padding:12px;background:#fff;border:1px solid #dbe4ef;border-radius:14px;max-width:100%;height:auto!important}.success-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:20px auto;max-width:650px}.summary-item{background:#f7faff;border-radius:12px;padding:12px;overflow-wrap:anywhere}.summary-item span{display:block;font-size:12px;color:#7a879a}.summary-item b{display:block;margin-top:3px;color:#213552}.check-submit{margin-top:16px}.check-result{margin-top:20px}
.footer{background:#061f4c;color:#dfe9fb;padding:32px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer strong{color:#fff}
.toast{position:fixed;right:22px;bottom:22px;z-index:150;background:#102c59;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;max-width:min(420px,calc(100vw - 28px))}.toast.show{transform:translateY(0);opacity:1}

/* admin */
.admin-body{background:#eef3f9}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#e2efff,transparent 34%),radial-gradient(circle at 90% 90%,#fff3c8,transparent 30%),#f6f9fe}.login-card{width:min(440px,100%);padding:30px}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}.login-logo img{width:56px}.login-logo b{font-size:20px;color:var(--navy)}.login-card h2{color:var(--navy);margin:0}.login-card>p{color:var(--muted)}.demo-creds{background:#f1f6ff;border:1px dashed #9bb7df;border-radius:12px;padding:12px;margin:15px 0;color:#4c6384;font-size:13px}.login-field{margin-top:12px}.secondary-login-btn{margin-top:8px}.login-card>.btn-primary{margin-top:16px}.admin-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:#061f4c;color:#fff;padding:20px 14px;position:sticky;top:0;height:100vh;z-index:80}.side-brand{display:flex;align-items:center;gap:10px;padding:5px 8px 20px}.side-brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.side-brand b{font-size:15px}.side-brand>div>div{font-size:11px;color:#9fb6d8}.sidebar-close{display:none;margin-left:auto;border:0;background:rgba(255,255,255,.1);color:#fff;width:38px;height:38px;border-radius:10px;font-size:26px}.side-nav{display:grid;gap:6px}.side-nav button{border:0;background:transparent;color:#c9d9f2;text-align:left;padding:12px 13px;border-radius:11px;font-weight:700;min-height:44px}.side-nav button:hover,.side-nav button.active{background:#123a75;color:#fff}.side-bottom{position:absolute;left:14px;right:14px;bottom:18px}.sidebar-backdrop{display:none}.admin-main{min-width:0}.admin-top{height:70px;background:#fff;border-bottom:1px solid #dfe7f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.admin-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.admin-top h1{font-size:20px;margin:0;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-menu-btn{display:none;border:1px solid #d2deec;background:#fff;color:var(--navy);width:42px;height:42px;border-radius:11px;font-size:21px}.admin-content{padding:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:19px}.stat span{font-size:13px;color:#718198;font-weight:700}.stat strong{display:block;font-size:32px;color:var(--navy);margin-top:6px}.stat small{color:#6f7c92}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px;flex-wrap:wrap}.toolbar h2{margin:0;color:var(--navy);font-size:22px}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.search{min-width:250px;padding:10px 12px;border:1px solid #d1dce9;border-radius:12px}.table-wrap{overflow:auto;background:#fff;border:1px solid #dce5ef;border-radius:16px;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{padding:13px 14px;border-bottom:1px solid #edf1f6;text-align:left;font-size:13px}.table th{background:#f8faff;color:#53657f;position:sticky;top:0}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.status.present{background:#e6f8ee;color:#168348}.status.registered{background:#eaf2ff;color:#1f5fae}.status.walkin{background:#fff4d9;color:#a36a00}.status.duplicate{background:#ffeded;color:#b6352b}.scanner-grid{display:grid;grid-template-columns:1fr .75fr;gap:18px}.scanner-box,.scan-result{padding:22px}.scan-result h3{margin-top:0;color:var(--navy)}.qr-reader{margin-top:12px;min-height:360px;border-radius:18px;overflow:hidden;background:#07152f;display:grid;place-items:center;color:#bcd0ed}.qr-reader>div{max-width:100%}.qr-reader video{object-fit:cover}.reader-placeholder{padding:30px;text-align:center}.scanner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.scanner-box hr{border:0;border-top:1px solid #e2e9f1;margin:18px 0}.manual-verify-btn{margin-top:10px}.result-state{padding:15px;border-radius:14px;background:#f5f8fd;margin-top:14px;overflow-wrap:anywhere}.result-state.good{background:#eaf9f0;border:1px solid #bfe9d0}.result-state.warn{background:#fff4df;border:1px solid #f0d29b}.result-state.bad{background:#fff0ef;border:1px solid #f5c2bd}.admin-note{font-size:12px;color:#6d7a90;line-height:1.45}.walkin-tools-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;align-items:start}.self-walkin-card,.walkin-card{padding:22px}.self-walkin-card h3,.walkin-card h3{margin:10px 0 6px;color:var(--navy)}.self-walkin-card>p{color:var(--muted);line-height:1.55}.pill{display:inline-flex;background:#e8f2ff;color:#0b58b3;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;letter-spacing:.5px}.muted-pill{background:#f1f3f6;color:#657184}.compact-qr{min-height:230px}.walkin-qr-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.inline-warning{margin-top:12px;padding:11px;border-radius:11px;background:#fff4df;border:1px solid #f0d29b;color:#7a5700;font-size:12px;line-height:1.45}.settings-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:15px;align-items:start}.settings-card{padding:22px}.media-settings{margin-top:22px;padding-top:20px;border-top:1px solid #e1e9f3}.media-settings h3{margin:0 0 6px;color:var(--navy)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.upload-box{border:1px solid #d9e4f0;background:#f8fbff;border-radius:15px;padding:14px;display:flex;flex-direction:column;gap:9px;min-width:0}.upload-box>label{font-size:13px;font-weight:900;color:#334d70}.upload-box>label span{font-weight:600;color:#8492a7}.upload-box input[type=file]{max-width:100%;font-size:12px}.upload-box small{color:#7a879a}.upload-thumb{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px dashed #c4d5e8;border-radius:12px}.save-settings-btn{margin-top:18px}.preview-card{padding:22px;background:linear-gradient(135deg,#07265f,#1268d6);color:#fff;position:sticky;top:88px}.preview-card>span{font-size:12px;color:#c7dbff}.settings-preview-media{margin:12px 0;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.1);aspect-ratio:4/3}.settings-preview-media img{width:100%;height:100%;object-fit:contain}.preview-card h2{margin:0 0 10px}.preview-card p{color:#dce8fb}.preview-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.preview-info div{background:rgba(255,255,255,.1);border-radius:12px;padding:12px}.preview-card #previewCertificate{color:#ffd65a;font-weight:900;margin-top:18px}.admin-section{display:none}.admin-section.active{display:block}

/* tablet + mobile */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding-top:42px}.hero-copy{max-width:820px;margin:auto}.hero-media{height:min(520px,70vw);max-width:820px;width:100%;margin:auto}.program-grid,.form-wrap{grid-template-columns:1fr}.side-info{order:2}.stats{grid-template-columns:1fr 1fr}.scanner-grid,.settings-grid,.walkin-tools-grid{grid-template-columns:1fr}.preview-card{position:static}.admin-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:min(300px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .24s ease;box-shadow:20px 0 50px rgba(0,0,0,.25);overflow-y:auto}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(4,18,43,.55);z-index:70;opacity:0;pointer-events:none;transition:.2s}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.side-bottom{position:static;margin-top:24px}.admin-menu-btn{display:grid;place-items:center}.admin-top{padding:0 14px}.admin-content{padding:18px}.upload-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  html{scroll-padding-top:72px}.container{width:min(100% - 22px,1180px)}.mobile-menu-btn{display:grid;place-items:center}.nav{min-height:66px}.brand img{width:40px;height:40px}.brand span{font-size:14px}.navlinks{position:absolute;left:11px;right:11px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dce6f2;border-radius:17px;padding:10px;box-shadow:0 18px 45px rgba(10,37,75,.18)}.navlinks.open{display:flex}.navlinks>a{width:100%;justify-content:flex-start}.navlinks>a:not(.btn){padding:13px 14px}.hero-grid{padding:34px 0 40px;gap:26px}.hero h1{font-size:clamp(44px,12vw,64px);letter-spacing:-1.8px}.tagline{font-size:17px}.event-strip{grid-template-columns:1fr}.hero-actions .btn{flex:1 1 170px}.hero-media{height:auto;aspect-ratio:4/3;border-radius:25px}.hero-media-note{font-size:10px;right:10px;bottom:10px}.section{padding:48px 0}.section-title h2{font-size:30px}.field-grid,.summary-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card,.side-info,.success{padding:20px}.program-card{min-height:auto}.upload-grid{grid-template-columns:1fr}.toolbar-actions{width:100%}.search{min-width:0;width:100%}.view-public-btn{font-size:0;width:42px;padding:0}.view-public-btn:after{content:"↗";font-size:18px}.qr-reader{min-height:300px}.walkin-public-notice{align-items:flex-start;flex-direction:column;text-align:left}.walkin-public-notice span{line-height:1.45}
}
@media(max-width:560px){
  .container{width:min(100% - 16px,1180px)}.brand span{max-width:150px;overflow:hidden;text-overflow:ellipsis}.eyebrow{font-size:11px;padding:7px 10px}.hero h1{font-size:clamp(39px,13vw,54px);line-height:.98;margin-top:14px}.tagline{font-size:15px}.event-chip{padding:13px}.event-chip b{font-size:15px}.event-chip span{font-size:12px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}.hero-media{aspect-ratio:1/1}.hero-media-note{display:none}.section-title{margin-bottom:22px}.section-title h2{font-size:27px}.program-card{padding:20px}.program-logo{font-size:22px}.form-actions,.success-actions,.scanner-actions,.walkin-qr-actions{display:grid;grid-template-columns:1fr;width:100%}.form-actions .btn,.success-actions .btn,.scanner-actions .btn,.walkin-qr-actions .btn{width:100%}.side-info{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat strong{font-size:27px}.admin-content{padding:12px}.admin-top{height:62px}.admin-top h1{font-size:17px}.toolbar{margin-top:14px}.toolbar h2{font-size:20px}.scanner-box,.scan-result,.self-walkin-card,.walkin-card,.settings-card,.preview-card{padding:16px}.qr-reader{min-height:270px}.preview-info{grid-template-columns:1fr}.toast{right:10px;bottom:10px}.login-shell{padding:12px}.login-card{padding:22px}.footer-row{align-items:flex-start;flex-direction:column}.compact-qr{min-height:210px}
}
@media(max-width:390px){.brand span{display:none}.stats{grid-template-columns:1fr}.hero h1{font-size:41px}.reference{font-size:21px}.section{padding:42px 0}}
@media print{.topbar,.hero,.section-title,.side-info,.footer,.no-print{display:none!important}.section{padding:0}.form-wrap{display:block}.card{box-shadow:none;border:0}.success{display:block!important}.success-actions{display:none}.success{padding:0}.qr-box{min-height:auto}}

/* V3 — E-Certificate module */
.status.cert-generated{background:#e6f8ee;color:#168348}
.status.cert-pending{background:#fff4d9;color:#9a6500}
.status.cert-failed{background:#ffeded;color:#b6352b}
.cert-stats{margin-top:12px}
.cert-quick-filter{padding:16px;display:grid;grid-template-columns:1.4fr .8fr;gap:12px;align-items:end;margin:16px 0 12px}
.cert-quick-filter .field{margin:0}
.cert-search-field input{width:100%}
.cert-table{min-width:980px}
.cert-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.certificate-settings-heading{margin-top:34px}
.certificate-settings-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}
.certificate-placeholder-help{margin:20px 0;padding:15px;border-radius:14px;background:#f6f9fd;border:1px solid #dfe9f4;color:#425978}
.placeholder-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.placeholder-chips code,.signature-placeholder-note code{background:#edf4ff;color:#074eaa;border:1px solid #d4e5fb;padding:5px 7px;border-radius:8px;font-size:11px}
.signatory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.signatory-card{border:1px solid #dce6f1;border-radius:15px;padding:14px;background:#fbfdff;min-width:0}
.signatory-card .field{margin-top:10px}
.signatory-card input[type=file]{max-width:100%;font-size:11px}
.signature-thumb{display:block;width:100%;height:95px;object-fit:contain;background:#fff;border:1px dashed #bfd0e4;border-radius:11px;margin:10px 0}
.signature-thumb.empty{background:linear-gradient(135deg,#fbfdff,#f1f5fa)}
.signature-placeholder-note{margin-top:15px;padding:12px 14px;background:#fff8e7;border:1px solid #f1d895;border-radius:12px;color:#6e550a;font-size:12px;line-height:1.7}
.cert-template-preview{padding:20px;position:sticky;top:88px;overflow:hidden}
.cert-template-preview>span{font-size:11px;font-weight:900;color:#7c8ba1;letter-spacing:.6px}
.cert-template-preview>img{width:100%;margin:12px 0;border-radius:12px;border:1px solid #dbe4ef;box-shadow:0 10px 28px rgba(25,48,80,.12)}
.cert-template-preview h3{margin:4px 0 7px;color:var(--navy)}
.cert-template-preview p{margin:0;color:#65768e;line-height:1.55;font-size:13px}
.cert-demo-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:15px;padding:12px;border-radius:12px;background:#f1f6fd;color:#28466d;font-size:11px}
.public-cert-ready,.public-cert-waiting{margin-top:18px;border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.public-cert-ready{background:#edf9f2;border:1px solid #bde8ce}
.public-cert-ready>div{display:grid;gap:3px}.public-cert-ready span,.public-cert-waiting span{font-size:12px;color:#5e7188}
.public-cert-waiting{background:#fff8e7;border:1px solid #efd89a;display:grid;justify-content:stretch}

@media(max-width:1100px){
  .certificate-settings-grid{grid-template-columns:1fr}
  .cert-template-preview{position:static}
  .signatory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .cert-quick-filter{grid-template-columns:1fr}
  .signatory-grid{grid-template-columns:1fr}
  .public-cert-ready{align-items:stretch;flex-direction:column}
  .public-cert-ready .btn{width:100%}
}
@media(max-width:560px){
  .cert-stats{grid-template-columns:1fr 1fr}
  .certificate-settings-grid .settings-card{padding:15px}
  .signatory-card{padding:12px}
  .cert-template-preview{padding:14px}
}
@media(max-width:390px){.cert-stats{grid-template-columns:1fr}}

.optional-label{font-size:.78em;font-weight:600;color:#7b879a;margin-left:4px}

.name-cert-note{margin-top:8px;padding:10px 12px;border:1px solid #f1d27a;background:#fff9e8;border-radius:10px;color:#6d5310;font-size:.86rem;line-height:1.45}
.name-cert-note strong{color:#8a6300}
@media(max-width:600px){.name-cert-note{font-size:.82rem;padding:9px 10px}}
