:root{--blue:#06a6ff;--blue-dark:#0078bd;--orange:#fb5a00;--yellow:#f3c80f;--ink:#071b39;--text:#30425e;--muted:#71809a;--line:#dce6f0;--paper:#f2f6fa;--white:#fff;--green:#079455;--red:#d92d20;--shadow:0 18px 55px #14274514}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{transition:all .18s}.verify-page{min-height:100vh}.verify-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(20px,5vw,78px);display:flex}.verify-header img{width:168px;display:block}.verify-header nav{align-items:center;gap:24px;display:flex}.verify-header nav a{color:var(--text);font-size:14px;font-weight:750;text-decoration:none}.verify-header nav a:hover{color:var(--blue-dark)}.verify-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 90% 10%,#06a6ff21,#0000 30%),linear-gradient(135deg,#fff 0%,#f7fbff 100%);grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(30px,7vw,100px);padding:clamp(48px,7vw,96px) clamp(20px,7vw,110px);display:grid}.hero-copy>span,.admin-hero>div>span,.admin-login section>span{color:var(--blue-dark);letter-spacing:.18em;font-size:12px;font-weight:900}.hero-copy h1{max-width:780px;color:var(--ink);letter-spacing:-.055em;text-wrap:balance;margin:12px 0 18px;font-size:clamp(2.6rem,5.4vw,5rem);line-height:.98}.hero-copy p{max-width:680px;color:var(--muted);margin:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.7}.verify-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:30px}.verify-form label{color:var(--ink);margin-bottom:10px;font-size:14px;font-weight:800;display:block}.verify-form>div{gap:10px;display:flex}.verify-form input{min-width:0;height:54px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border:1px solid #cbd8e6;border-radius:14px;outline:none;flex:1;padding:0 16px;font-weight:700}.verify-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #06a6ff1f}.verify-form button,.document-button,.admin-login form button,.admin-login section>a:not(.public-link),.admin-filters>button:first-of-type{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;border:0;border-radius:14px;font-weight:850;text-decoration:none;box-shadow:0 10px 22px #06a6ff38}.verify-form button{padding:0 22px}.verify-form button:disabled{opacity:.6}.verify-form small{color:var(--muted);margin-top:12px;line-height:1.5;display:block}.trust-grid,.certificate-result,.verification-message,.verify-footer{width:min(1280px,100% - 40px);margin-inline:auto}.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:56px 0;display:grid}.trust-grid article{border:1px solid var(--line);background:#fff;border-radius:22px;padding:28px}.trust-grid b{width:42px;height:42px;color:var(--blue-dark);background:#eaf8ff;border-radius:14px;place-items:center;display:grid}.trust-grid h2{color:var(--ink);margin:20px 0 8px;font-size:20px}.trust-grid p{color:var(--muted);margin:0;line-height:1.6}.certificate-result{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px;margin-top:42px;margin-bottom:42px;overflow:hidden}.certificate-status{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:26px 30px;display:flex}.certificate-status>span{color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:28px;font-weight:900;display:grid}.certificate-result.valid .certificate-status{background:#ecfdf3}.certificate-result.valid .certificate-status>span{background:var(--green)}.certificate-result.revoked .certificate-status{background:#fff1f1}.certificate-result.revoked .certificate-status>span{background:var(--red)}.certificate-status small{color:var(--muted);letter-spacing:.16em;font-size:10px;font-weight:900}.certificate-status h2{color:var(--ink);margin:4px 0;font-size:28px}.certificate-status p{color:var(--muted);margin:0}.certificate-body{grid-template-columns:minmax(0,1fr) 280px;gap:34px;padding:32px;display:grid}.certificate-details dl{background:var(--line);border:1px solid var(--line);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.certificate-details dl>div{background:#fff;padding:18px}.certificate-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:850}.certificate-details dd{color:var(--ink);margin:0;font-weight:750;line-height:1.45}.certificate-code{word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue-dark)!important}.qr-card{border:1px solid var(--line);text-align:center;background:#f9fbfd;border-radius:20px;align-self:start;padding:22px}.qr-card img{width:100%;max-width:240px;margin:auto;display:block}.qr-card strong{color:var(--ink);margin-top:10px;display:block}.qr-card span{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5;display:block}.document-button{margin-top:18px;padding:13px 18px;display:inline-flex}.revocation-note{color:#8d221b;background:#fff3f2;border:1px solid #ffcbc7;border-radius:16px;margin-top:18px;padding:18px}.revocation-note p{margin:7px 0}.verification-message{text-align:center;background:#fff3f2;border:1px solid #ffc8c2;border-radius:22px;margin-top:42px;padding:34px}.verification-message strong{color:#971d16;font-size:24px}.verification-message p{color:#9a423c}.verification-message button{color:#8d221b;background:#fff;border:1px solid #e8a49f;border-radius:12px;padding:10px 15px}.verify-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:32px 0 42px;font-size:13px;display:flex}.admin-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.admin-login{background:radial-gradient(circle at 15% 10%,#06a6ff24,#0000 28%),#eef4f9;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login>section{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fff;border-radius:26px;padding:42px}.admin-login img{width:180px;margin-bottom:25px}.admin-login h1{color:var(--ink);letter-spacing:-.04em;margin:10px 0;font-size:38px;line-height:1.05}.admin-login p{color:var(--muted);line-height:1.6}.admin-login section>a:not(.public-link){justify-content:center;margin:24px 0 16px;padding:15px;display:flex}.admin-login form{gap:14px;display:grid}.admin-login form label{color:var(--ink);gap:7px;font-size:13px;font-weight:800;display:grid}.admin-login form input{border:1px solid var(--line);border-radius:13px;height:50px;padding:0 13px}.admin-login form button{height:50px}.public-link{color:var(--blue-dark);text-align:center;margin-top:18px;font-weight:700;text-decoration:none;display:block}.verify-admin{min-height:100vh;padding-bottom:50px}.verify-admin>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(18px,4vw,60px);display:flex}.verify-admin>header>a img{width:158px}.verify-admin>header>div{align-items:center;gap:10px;display:flex}.verify-admin>header>div>span{background:var(--ink);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:850;display:grid;overflow:hidden}.verify-admin>header>div>span img{object-fit:cover;width:100%;height:100%}.verify-admin>header p{margin:0;display:grid}.verify-admin>header p strong{color:var(--ink);font-size:13px}.verify-admin>header p small{color:var(--muted)}.verify-admin>header button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;margin-left:10px;padding:9px 12px}.admin-hero,.admin-metrics,.admin-filters,.admin-table,.admin-error{width:min(1420px,100% - 40px);margin-inline:auto}.admin-hero{border:1px solid var(--line);background:#fff;border-radius:23px;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:30px 32px;display:flex;box-shadow:0 10px 34px #1427450a}.admin-hero h1{color:var(--ink);letter-spacing:-.04em;margin:8px 0;font-size:36px}.admin-hero p{color:var(--muted);margin:0}.admin-hero>a{background:var(--blue);color:#fff;border-radius:13px;padding:13px 18px;font-weight:850;text-decoration:none}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.admin-metrics article{border:1px solid var(--line);background:#fff;border-radius:19px;padding:22px}.admin-metrics article span{color:var(--muted);font-size:13px}.admin-metrics article strong{color:var(--ink);margin-top:8px;font-size:32px;display:block}.admin-metrics .valid{background:#ecfdf3;border-color:#a6efc6}.admin-metrics .revoked{background:#fff1f1;border-color:#fecdca}.admin-filters{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:minmax(260px,1fr) 240px auto auto;align-items:end;gap:12px;margin-top:18px;padding:18px;display:grid}.admin-filters label{gap:6px;display:grid}.admin-filters label span{color:var(--ink);font-size:12px;font-weight:800}.admin-filters input,.admin-filters select{background:#fff;border:1px solid #cbd8e6;border-radius:12px;height:46px;padding:0 13px}.admin-filters button{border-radius:12px;height:46px;padding:0 17px;font-weight:800}.admin-filters .secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.admin-error{color:#9c241c;background:#fff3f2;border:1px solid #ffc8c2;border-radius:14px;margin-top:16px;padding:14px 17px}.admin-table{border:1px solid var(--line);background:#fff;border-radius:21px;margin-top:18px;overflow:hidden}.admin-table>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:18px 20px;display:flex}.admin-table>header strong{color:var(--ink)}.admin-table>header span{color:var(--muted);font-size:13px}.table-scroll{overflow:auto}.admin-table table{border-collapse:collapse;width:100%;min-width:980px}.admin-table th{color:#6c7c92;text-align:left;letter-spacing:.12em;text-transform:uppercase;background:#f7f9fc;padding:13px 17px;font-size:10px}.admin-table td{border-top:1px solid #edf1f5;padding:16px 17px;font-size:13px}.admin-table td>strong{color:var(--blue-dark);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.primary{display:grid}.primary strong{color:var(--ink)}.primary small{color:var(--muted);margin-top:3px}.admin-status{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;display:inline-flex}.admin-status.issued{color:#087443;background:#e8f8ef}.admin-status.revoked{color:#a32820;background:#fff0ee}.actions{flex-wrap:wrap;gap:7px;display:flex}.actions a,.actions button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800;text-decoration:none}.actions a{color:var(--blue-dark);border-color:#9edcff}.actions .danger{color:#bc2c23;border-color:#ffc8c2}.admin-empty{text-align:center;color:var(--muted);gap:7px;padding:60px 20px;display:grid}.admin-empty strong{color:var(--ink);font-size:19px}.admin-modal{z-index:50;background:#040f1fad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal>section{background:#fff;border-radius:22px;width:min(700px,100%);max-height:90vh;overflow:auto}.admin-modal header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px;display:flex}.admin-modal header span{color:var(--blue-dark);letter-spacing:.14em;font-size:10px;font-weight:900}.admin-modal h2{color:var(--ink);margin:5px 0 0}.admin-modal header button{background:#f0f4f8;border:0;border-radius:50%;width:38px;height:38px;font-size:23px}.admin-modal dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:24px;display:grid}.admin-modal dl>div{border:1px solid var(--line);border-radius:14px;padding:15px}.admin-modal dt{color:var(--muted);font-size:11px}.admin-modal dd{color:var(--ink);margin:6px 0 0;font-weight:750}.admin-modal aside{background:#fff3f2;border:1px solid #ffc8c2;border-radius:14px;margin:0 24px 24px;padding:16px}.admin-modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:18px 24px;display:flex}.admin-modal footer a,.admin-modal footer button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;padding:10px 13px;font-weight:750;text-decoration:none}@media (max-width:900px){.verify-header nav a:not(:last-child){display:none}.verify-hero,.certificate-body{grid-template-columns:1fr}.qr-card{width:min(300px,100%);margin:auto}.admin-filters{grid-template-columns:1fr 1fr}.admin-filters>button{width:100%}.admin-table table{min-width:0}.admin-table thead{display:none}.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table tr{border-top:1px solid var(--line);padding:12px 16px}.admin-table tr:first-child{border-top:0}.admin-table td{border:0;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px;padding:9px 0;display:grid}.admin-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.actions{justify-content:flex-start}}@media (max-width:640px){.verify-header{height:70px}.verify-header img{width:142px}.verify-header nav{gap:10px}.verify-header nav a{font-size:12px}.verify-hero{padding:42px 18px}.hero-copy h1{font-size:2.65rem}.verify-form{padding:20px}.verify-form>div{display:grid}.verify-form button{height:50px}.trust-grid{grid-template-columns:1fr;padding:28px 0}.certificate-result{width:calc(100% - 24px);margin-top:24px}.certificate-status{align-items:flex-start;padding:20px}.certificate-status>span{width:44px;height:44px}.certificate-status h2{font-size:23px}.certificate-body{padding:18px}.certificate-details dl{grid-template-columns:1fr}.verify-footer{gap:5px;width:calc(100% - 28px);display:grid}.admin-login>section{padding:28px 22px}.admin-login h1{font-size:32px}.verify-admin>header{padding:0 14px}.verify-admin>header>a img{width:138px}.verify-admin>header p,.verify-admin>header>div>button{display:none}.admin-hero,.admin-metrics,.admin-filters,.admin-table,.admin-error{width:calc(100% - 24px)}.admin-hero{padding:24px;display:grid}.admin-hero h1{font-size:31px}.admin-hero>a{text-align:center}.admin-metrics,.admin-filters{grid-template-columns:1fr}.admin-table td{grid-template-columns:95px minmax(0,1fr)}.admin-modal{padding:10px}.admin-modal dl{grid-template-columns:1fr;padding:18px}.admin-modal footer{display:grid}.admin-modal footer>*{text-align:center}}
