:root{color-scheme:dark;--bg:#171717;--card:#222;--text:#f3efed;--muted:#aba4a8;--line:#ffffff17;--silver:#e5dce9;--pink:#e878b1;--mint:#aed7bd;--amber:#e8cc96;--red:#eda4a4;font-family:Montserrat,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 8% 12%,#6b324615,transparent 45%),var(--bg);color:var(--text)}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}a:hover{color:#f3cce1}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--pink);outline-offset:4px}input:focus-visible{outline:2px solid #b49dc5;outline-offset:1px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(32px,4vw,54px)}h2{font-size:25px}h3{font-size:18px}p+p{margin-top:12px}.shell{width:min(1140px,calc(100% - 64px));margin-inline:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:33px;letter-spacing:-2px;line-height:1}.brand span{color:var(--pink)}.header-caption{font-size:9px;color:#8e868d;letter-spacing:.15em;margin-right:auto}.language{border:1px solid #ffffff30;color:var(--silver);padding:8px 13px;background:none;border-radius:7px;font-size:11px}.eyebrow,.card-kicker{font-size:10px;font-weight:600;color:#b2a8b8;letter-spacing:.16em}.muted{color:var(--muted);font-size:13px;line-height:1.9;margin-top:13px}.public-main{display:grid;grid-template-columns:1fr 1fr;gap:50px 80px;padding-top:75px}.hero-intro{padding-top:34px}.hero-intro h1{margin-top:22px;line-height:1.15;font-weight:500}.silver-text{background:linear-gradient(100deg,#bed1dc,#e7c0d7,#dad8bb);background-clip:text;-webkit-background-clip:text;color:transparent}.intro{font-size:15px;max-width:400px;margin-top:26px}.trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:32px;color:#a5b6ad;font-size:10px}.trust-row span::before{content:'✓';margin-right:6px;color:#b5d4c0}.card{border:1px solid var(--line);background:linear-gradient(140deg,#252525,#202020);border-radius:15px;padding:30px}.verification-card h2{margin-top:18px}.verification-card>.muted{font-size:12px}.scan-actions{display:flex;gap:10px;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--silver);color:#241f27;border:1px solid transparent;border-radius:8px;padding:13px 19px;font-size:12px;line-height:1.5;font-weight:650;white-space:normal;text-align:center}.button:hover{background:#f7f1fa;color:#241f27}.button.secondary{background:#ffffff0b;border-color:#ffffff28;color:#e4d9e8}.button.secondary:hover{background:#ffffff13}.button.ghost{background:transparent;border-color:var(--line);color:#c1b5c6}.button.small{padding:7px 12px}.scan-actions .button{flex:1;font-size:11px;padding-inline:9px}.scan-actions .button>span:first-child{font-size:17px}form{margin-top:19px}label{font-size:11px;font-weight:500;display:block;margin-top:17px;margin-bottom:8px;color:#e1d7e3}input:not([type=checkbox]){width:100%;min-width:0;height:47px;border:1px solid #5b515e;border-radius:7px;background:#18171a;color:#f1eaf3;padding:10px 12px;font-size:13px}input::placeholder{color:#796f7e;opacity:1}input[type=checkbox]{width:17px;height:17px;accent-color:#bfa4c8;flex:none}#code-input,#pin-input{font-family:monospace;letter-spacing:.7px}#pin-input{letter-spacing:4px}small,.input-hint{display:block;font-size:10px;color:#998f9e;line-height:1.8;margin-top:7px}.verify-button{width:100%;margin-top:21px}#scanner-message:empty{display:none}.scanner{position:relative;margin-top:18px;border-radius:10px;overflow:hidden;background:#111;padding-bottom:16px}.scanner video{width:100%;height:250px;object-fit:cover;display:block}.scanner-frame{position:absolute;width:160px;height:160px;border:2px solid #e9d5e8;border-radius:12px;left:50%;top:45px;transform:translateX(-50%);box-shadow:0 0 0 1000px #0002;pointer-events:none}.scanner p{text-align:center;font-size:11px;color:#d1c6d4;padding:11px 15px 0}.scanner .button{display:flex;width:calc(100% - 28px);margin:12px auto 0;font-size:11px;padding:8px}.notice{padding:15px 18px;border-radius:9px;background:#ffffff05;border:1px solid var(--line);font-size:12px;line-height:1.9;margin:20px 0;color:#c7bdca}.notice.danger{background:#d7797909;border-color:#e9a2a238;color:#f1b3b3}.notice.success{background:#aed7bd09;border-color:#aed7bd38;color:#bdddc7}.notice.warning{background:#e8cc9609;border-color:#e8cc9638;color:#e3cfa8}.result{border:1px solid #aed7bd3b;border-radius:11px;background:#aed7bd07;margin-top:23px;padding:21px;scroll-margin-top:30px;outline:none}.result.warning{border-color:#e8cc963b;background:#e8cc9607}.result.danger{border-color:#eda4a43b;background:#eda4a407}.result .eyebrow{font-size:8px;color:var(--mint)}.result.warning .eyebrow{color:var(--amber)}.result.danger .eyebrow{color:var(--red)}.result h3{font-size:20px;margin-top:12px}.result>p{color:#bbb1bf;font-size:12px;margin-top:11px;line-height:1.85}.record-details{margin:18px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:11px}.record-details>div{display:flex;justify-content:space-between;gap:18px;margin-top:8px}.record-details dt{color:#a99fad}.record-details dd{margin:0;color:#e9e2eb;text-align:right;max-width:68%;overflow-wrap:anywhere}.result .result-note{font-size:10px;color:#a89eaa}.text-link{display:inline-block;background:none;border:none;color:#d6bfdc;font-size:11px;padding:0}.result .text-link{margin-top:18px}.steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:8px}.steps article{border:1px solid var(--line);border-radius:11px;padding:25px;background:#ffffff02}.steps article>span{font-size:11px;color:#a194a6}.steps h3{font-size:16px;letter-spacing:-.02em;margin-top:18px}.steps p{font-size:12px;color:#9d929f;margin-top:12px;line-height:1.9}.help-section{grid-column:1/-1;border-top:1px solid var(--line);padding:35px 0 15px}.help-section h2{font-size:24px;margin-bottom:20px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;color:#d8cedc;font-size:13px;padding:17px 0}details>p{font-size:12px;color:#a99bab;line-height:1.9;padding-bottom:20px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding:25px 0 35px;font-size:10px;color:#857b8b}.setup-shell,.login-shell{width:min(780px,calc(100% - 40px));margin:55px auto}.setup-shell>h1,.login-shell>h1{margin-top:14px;font-size:34px}.login-shell{max-width:480px}.login-shell .card{margin-top:25px}.login-shell .button{margin-top:23px;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}.form-grid>.button{margin-top:25px}.checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.check{font-size:10px;padding:6px 10px;border:1px solid var(--line);border-radius:6px}.check.ok{color:var(--mint)}.check.bad{color:var(--red)}.admin-main{padding-top:45px}.admin-main>.card{margin-top:25px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.admin-heading h1{font-size:34px;margin-top:12px}.admin-heading form{margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.metrics>div{border:1px solid var(--line);border-radius:10px;background:#ffffff02;padding:19px}.metrics span{font-size:11px;color:var(--muted);display:block}.metrics strong{font-weight:500;font-size:30px;display:block;margin-top:5px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-title h2{margin-top:6px}.pill{font-size:9px;letter-spacing:.06em;padding:5px 9px;border:1px solid #ffffff20;border-radius:5px;white-space:nowrap}.pill.active{color:var(--mint);border-color:#aed7bd40}.pill.inactive{color:var(--amber);border-color:#e8cc9640}.pill.revoked{color:var(--red);border-color:#eda4a440}.table-wrap{overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:13px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{font-weight:500;color:#a999b0;font-size:10px}td{color:#d3c7d9}td code{font-size:10px;overflow-wrap:anywhere}td .text-link{display:block;margin-top:6px;font-size:10px}td form{margin:0}td .text-link.danger-text{color:#dca4ac}.export-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.checkbox{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.8;width:100%;margin:10px 0 5px}.admin-main .card>h3{margin-top:35px;font-size:18px}.admin-main .card>.record-details{max-width:560px}.danger-zone{margin-top:35px}.danger-zone summary{color:#dba3ab}.danger-button{background:#492e35;color:#f0c1c8;border-color:#9c656f}.danger-button:hover{background:#633b46;color:#ffdde1}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:20px}.print-main{padding-top:30px}.print-main h1{font-size:29px}.label-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}.proof-label{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #bbb;border-radius:7px;padding:12px;background:#fff;color:#111;min-width:0;break-inside:avoid}.label-copy{width:47%;display:flex;align-items:flex-start;flex-direction:column;gap:6px}.label-copy strong{font-size:19px;font-weight:800;letter-spacing:-1px;line-height:1}.label-copy>span{font-size:7px;font-weight:700}.label-copy small{font-size:5px;line-height:1.4;color:#222;margin:0}.label-copy code{font-size:7px;overflow-wrap:anywhere;line-height:1.5}.print-qr{width:50%;aspect-ratio:1}.print-qr svg{width:100%;height:100%;display:block;shape-rendering:crispEdges}@media(max-width:900px){.public-main{gap:35px}.hero-intro h1{font-size:40px}.card{padding:24px}.intro{font-size:13px}.header-caption{display:none}.label-sheet{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{width:calc(100% - 36px)}.header{height:80px}.brand{font-size:28px}.public-main{grid-template-columns:1fr;padding-top:36px;gap:30px}.hero-intro{padding-top:0}.hero-intro h1{font-size:42px}.hero-intro .intro{max-width:500px}.trust-row{margin-top:22px;gap:8px 13px;font-size:9px}.steps{grid-template-columns:1fr;gap:12px}.steps article{padding:21px}.steps h3{margin-top:12px}.help-section{padding-top:27px}.verification-card h2{font-size:25px}.setup-shell,.login-shell{margin-top:36px}.form-grid{grid-template-columns:1fr}.wide{grid-column:1}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:27px}.metrics{gap:8px}.metrics>div{padding:13px}.metrics span{font-size:9px}.metrics strong{font-size:25px}.section-title h2{font-size:20px}.section-title{align-items:flex-start}.table-wrap{margin-inline:-10px}.notice{font-size:11px}.label-sheet{grid-template-columns:1fr 1fr;gap:8px}.proof-label{padding:8px;gap:4px}.label-copy strong{font-size:14px}.label-copy code{font-size:5px}.label-copy>span{font-size:5px}.print-main h1{font-size:25px}.footer{margin-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@page{size:A4;margin:10mm}@media print{:root{color-scheme:light}body{background:#fff;color:#000}.header,.footer,.no-print{display:none!important}.shell{width:auto;max-width:none;margin:0}.print-main{padding:0}.label-sheet{display:grid;grid-template-columns:repeat(3,60mm);gap:3mm 5mm;margin:0}.proof-label{width:60mm;height:32mm;padding:2mm;border:.2mm solid #aaa;border-radius:1mm;break-inside:avoid;page-break-inside:avoid}.print-qr{width:27mm;height:27mm;flex:none}.label-copy{gap:1mm;width:26mm}.label-copy strong{font-size:11pt}.label-copy>span{font-size:4.4pt}.label-copy small{font-size:3.5pt}.label-copy code{font-size:4.7pt;line-height:1.5}}

/* 1.1: visible printed PIN and prominent confirmation message. */
.genuine-banner{margin:22px 0;padding:25px 19px;border:1px solid #a3d9b856;border-radius:12px;background:linear-gradient(145deg,#193e2e,#1c2b24);text-align:center;overflow-wrap:anywhere}
.genuine-check{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 auto 15px;background:#b5e5c4;color:#163323;border-radius:50%;font-size:28px;font-weight:700;line-height:1}
.genuine-banner h4{margin:0;color:#e7fff0;font-size:clamp(25px,3vw,34px);font-weight:750;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.genuine-banner p{margin:14px 0 0;color:#b8dcc5;font-size:9px;line-height:1.7;letter-spacing:.12em;font-weight:600}
.label-copy strong{max-width:100%;overflow-wrap:anywhere}
.label-copy .label-pin{font-size:11px;font-weight:650;letter-spacing:.45px;white-space:nowrap}
.label-pin b{font-family:monospace;font-weight:700}
@media(max-width:700px){.genuine-banner{padding:23px 16px}.genuine-banner h4{font-size:27px}.label-copy .label-pin{font-size:9px}}
@media print{.label-copy .label-pin{font-size:7.5pt;letter-spacing:.15mm}}

/* 1.2: original fixed artwork, with only QR, PIN and serial replaced. */
@font-face{font-family:TombaccoLabel;src:url('fonts/Montserrat-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:TombaccoLabel;src:url('fonts/Montserrat-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:block}
.custom-label-sheet{display:grid;grid-template-columns:repeat(auto-fill,49mm);gap:18px;justify-content:start;margin-top:30px;overflow-x:auto;padding:2px}
.label-artwork{position:relative;isolation:isolate;width:49mm;height:19mm;flex:none;background:#fff url('label-template.php') 0 0/100% 100% no-repeat;color:#000;box-shadow:0 0 0 1px #bbb;overflow:hidden;font-family:TombaccoLabel,Arial,sans-serif;line-height:1;letter-spacing:0;break-inside:avoid}
.label-qr-mask{position:absolute;left:0;top:0;width:19.01mm;height:19mm;background:#fff}
.label-qr-mask .print-qr{position:absolute;left:.35mm;top:.25mm;width:18.5mm;height:18.5mm}
.label-pin-value{position:absolute;left:27.4569mm;top:6.2768mm;width:21.1207mm;height:3.7321mm;background:#fff;padding-left:.6759mm;padding-top:.33mm;white-space:nowrap;font-size:8.3pt;font-weight:700}
.label-serial-value{position:absolute;left:19.0086mm;top:10.0938mm;width:29.569mm;height:4.8348mm;background:#fff;padding-left:.4224mm;padding-top:.25mm;font-size:5.7pt;font-weight:400;line-height:2.375mm}
.label-serial-value>span{display:block;white-space:nowrap}
@page tombacco-label{size:49mm 19mm;margin:0}
@media print{.custom-label-sheet{display:block;margin:0;padding:0;overflow:visible}.label-artwork{page:tombacco-label;box-shadow:none;margin:0;break-after:page;page-break-after:always}.label-artwork:last-child{break-after:auto;page-break-after:auto}body:has(.custom-label-sheet){margin:0}}
