:root{--bg:#f6f7f9;--surface:#fff;--ink:#17191d;--muted:#69707d;--line:#e6e8ec;--blue:#1a73e8;--blue-dark:#155fbd;--green:#18864b;--red:#d83b35;--yellow:#fbbc04;--radius:14px;--shadow:0 1px 2px rgba(20,25,35,.04),0 12px 32px rgba(20,25,35,.05)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.break{overflow-wrap:anywhere}.right{text-align:right}.top-gap{margin-top:28px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:#687180}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand-mark{width:36px;height:36px;border-radius:11px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;color:#262b33;border:1px solid #d9dde4}.btn.ghost{background:transparent;color:#343941}.btn.danger{background:#fff1f0;color:#a62520;border:1px solid #ffd2cf}.btn.small{padding:7px 10px;font-size:12px}.btn.large{padding:13px 18px}.link-button{border:0;background:none;color:var(--muted);padding:8px 0;cursor:pointer}.alert{max-width:1200px;margin:0 0 18px;border-radius:12px;padding:13px 16px;font-size:14px}.alert.success{background:#eaf8f0;color:#146238;border:1px solid #cdeedb}.alert.error{background:#fff1f0;color:#9d2823;border:1px solid #ffd7d4}.alert ul{margin:6px 0 0;padding-left:18px}
/* public */
.public-body{min-height:100vh;background:#f8fafc}.landing{max-width:1180px;margin:0 auto;padding:28px 32px 80px}.landing header{display:flex;justify-content:space-between;align-items:center}.landing header>div{display:flex;gap:8px}.landing main{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.hero-copy h1{font-size:58px;line-height:1.02;letter-spacing:-.05em;margin:14px 0 24px}.hero-copy p{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px}.hero-card{display:flex;justify-content:center}.mini-card{width:410px;aspect-ratio:85/54;background:#fff;border-radius:22px;border:1px solid #e7e9ed;box-shadow:0 28px 80px rgba(33,44,61,.15);padding:32px;position:relative;overflow:hidden}.mini-card:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%)}.mini-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;color:#727985}.mini-card h2{font-size:30px;line-height:1.05;margin:12px 0 10px}.mini-card h2 em{color:#1a73e8;font-style:normal}.stars{color:#fbbc04;font-size:24px;letter-spacing:4px}.mini-bottom{position:absolute;left:32px;right:32px;bottom:26px;display:flex;align-items:center;gap:9px;font-weight:700;font-size:12px}.tap-icon{font-size:19px;color:#1a73e8;transform:rotate(180deg)}.fake-qr{margin-left:auto;width:70px;height:70px;border:4px solid #111;display:grid;place-items:center;font-weight:900;font-size:12px}.auth-shell,.state-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card,.state-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:34px}.auth-card h1,.state-card h1{font-size:27px;letter-spacing:-.03em;margin:28px 0 8px}.auth-card form,.stack-form{display:grid;gap:16px;margin-top:24px}.auth-card label,.stack-form label,.inline-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#424852}.auth-card input,.stack-form input,.stack-form select,.inline-form input,.inline-form select,.filter-form input,.filter-form select,.manual-fallback input{width:100%;border:1px solid #d8dce3;border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}.auth-card input:focus,.stack-form input:focus,.stack-form select:focus{border-color:#86b7f3;box-shadow:0 0 0 3px rgba(26,115,232,.12)}label.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;font-weight:500!important}.check input{width:auto!important;margin-top:3px}.auth-alt{font-size:13px;color:var(--muted);margin-top:20px}.state-card{text-align:center}.state-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:16px;background:#eaf2ff;color:#175cba;font-size:22px;font-weight:900}.state-icon.warning{background:#fff4db;color:#8c5e00}.state-icon.neutral{background:#f1f2f4;color:#555c67}.state-card p{line-height:1.6;color:var(--muted)}.state-actions{display:grid;gap:9px;margin:24px 0}.state-card small{display:block;color:#8a9099;line-height:1.5}
/* app shell */
.app-body{background:var(--bg);min-height:100vh}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;z-index:50}.brand-sidebar{padding:0 7px}.brand-sidebar>span:last-child{display:grid}.brand-sidebar small{font-size:10px;color:#8a9099;font-weight:600;margin-top:1px}.side-nav{display:grid;gap:4px;margin-top:36px}.side-nav a{padding:10px 12px;border-radius:9px;color:#515966;font-size:14px;font-weight:650}.side-nav a:hover{background:#f5f6f8;color:#20242a}.side-nav a.active{background:#eef4ff;color:#145ebd}.side-footer{margin-top:auto;border-top:1px solid var(--line);padding:17px 8px 0}.side-footer>div{display:grid;gap:2px}.side-footer strong{font-size:12px}.side-footer span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.main-area{min-height:100vh;margin-left:250px}.content{max-width:1320px;margin:0 auto;padding:40px 36px 70px}.mobile-header{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.page-head h1{font-size:32px;letter-spacing:-.035em;margin:5px 0}.page-head p{color:var(--muted);margin:0;line-height:1.5}.head-actions,.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.back-link{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:6px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px 18px;min-height:98px}.metric span{font-size:11px;font-weight:750;color:#737b87;text-transform:uppercase;letter-spacing:.055em}.metric strong{display:block;font-size:27px;margin-top:14px;letter-spacing:-.04em}.panel-section{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;margin-top:20px;box-shadow:0 1px 1px rgba(30,35,45,.02)}.panel-section.compact{padding:18px 20px}.panel-section.narrow{max-width:700px}.panel-section h2{font-size:17px;margin:0 0 16px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.section-head h2{margin:0}.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.empty,.empty-cell{padding:35px;text-align:center;color:var(--muted);font-size:14px}.success-empty{color:#23784a}.batch-list{display:grid}.batch-row{display:grid;grid-template-columns:180px 1fr 1fr auto;align-items:center;gap:22px;padding:16px 0;border-top:1px solid #edf0f3}.batch-row:first-child{border-top:0}.batch-row>div:first-child{display:grid;gap:4px}.batch-row span{font-size:12px;color:var(--muted)}.batch-progress>div:first-child{display:flex;justify-content:space-between;gap:8px}.batch-progress b{font-size:12px}.progress{height:6px;background:#eef0f3;border-radius:999px;margin-top:7px;overflow:hidden}.progress i{display:block;height:100%;background:#1a73e8;border-radius:999px}.workflow-actions{display:flex;gap:8px;flex-wrap:wrap}.workflow-actions form{margin:0}.chip-button{border:1px solid #dfe3e8;background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;color:#4f5762}.inline-form{display:grid;grid-template-columns:1.5fr .6fr auto;gap:12px;align-items:end}.inline-form.wide{grid-template-columns:1fr 1fr .8fr auto}.filter-form{display:grid;grid-template-columns:1fr 220px auto;gap:10px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#7b828e;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;border-bottom:1px solid var(--line);padding:11px 12px}td{padding:13px 12px;border-bottom:1px solid #eef0f2;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status.neutral,.status.inventory{background:#f0f2f4;color:#5f6670}.status.assigned{background:#edf4ff;color:#175cb4}.status.active{background:#e8f7ef;color:#187043}.status.suspended{background:#fff0ef;color:#ac312b}.detail-grid,.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid .panel-section,.history-grid .panel-section{margin-top:0}.card-detail-qr{width:170px;height:170px;background:#fff;padding:6px;margin:0 0 22px}.card-detail-qr svg{width:100%;height:100%}.detail-list{margin:0;display:grid;gap:0}.detail-list>div{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:11px 0;border-top:1px solid #edf0f2}.detail-list dt{font-size:11px;color:#7c838e;font-weight:700}.detail-list dd{margin:0;font-size:13px}.history-item{display:grid;gap:4px;padding:12px 0;border-top:1px solid #edf0f2}.history-item:first-of-type{border-top:0}.history-item span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.history-item small{color:#9aa0a8}.info-box{margin-top:24px;border-radius:11px;background:#f3f7fd;border:1px solid #dce9f9;padding:13px;color:#46617f;font-size:13px;line-height:1.55}.claim-reveal{background:#161a20;color:#fff;border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:18px;margin-bottom:18px}.claim-reveal span{color:#aeb6c1;font-size:12px}.claim-reveal strong{font-size:20px;letter-spacing:.08em}.claim-reveal .btn{margin-left:auto}.reseller-card-row{display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--ink);padding:14px 4px;border-top:1px solid #edf0f2}.reseller-card-row:first-child{border-top:0}.reseller-card-row>div{display:grid;gap:4px}.reseller-card-row span:not(.status),.reseller-card-row small{color:var(--muted);font-size:12px}
/* NFC */
.nfc-workbench{display:grid;grid-template-columns:360px 1fr;gap:20px}.nfc-current,.nfc-actions-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.nfc-current{display:flex;flex-direction:column;align-items:center;text-align:center}.huge-serial{font-size:34px;letter-spacing:-.04em;margin:10px 0}.nfc-qr{width:210px;height:210px;margin:20px 0}.nfc-qr svg{width:100%;height:100%}.nfc-current code{font-size:11px;overflow-wrap:anywhere;color:#616a77}.nfc-actions-panel{display:grid;gap:14px}.step-card{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px;border:1px solid #e8eaee;border-radius:13px}.step-card>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef4ff;color:#1760c1;font-weight:800}.step-card h3,.manual-fallback h3{margin:0 0 6px;font-size:15px}.step-card p,.manual-fallback p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.manual-fallback{background:#f7f8fa;border-radius:13px;padding:17px}.manual-fallback form{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e3e7}.nfc-message{font-size:12px;margin-top:10px;color:var(--muted)}.nfc-message.success{color:#167143}.nfc-message.warning{color:#8b5e00}.nfc-message.error{color:#b52f29}
/* print exact */
.print-body{margin:0;background:#e9ebee;color:#202124}.print-toolbar{max-width:1100px;margin:18px auto;display:flex;align-items:center;gap:18px;padding:14px 18px;background:#fff;border:1px solid #dfe2e6;border-radius:12px}.print-toolbar>div:first-child{display:grid;gap:3px}.print-toolbar span{font-size:12px;color:#707782}.print-warning{font-size:12px;font-weight:800;color:#8b5c00;background:#fff7df;padding:8px 10px;border-radius:8px;margin-left:auto}.letter-sheet{width:215.9mm;height:279.4mm;padding:25.50mm 19.95mm 0;margin:12px auto;background:#fff;display:grid;grid-template-columns:repeat(2,85.09mm);grid-template-rows:repeat(4,54.10mm);column-gap:5.82mm;row-gap:4.00mm;box-sizing:border-box;box-shadow:0 6px 30px rgba(0,0,0,.12);align-content:start;justify-content:start}.cr80-card{width:85mm;height:54mm;position:relative;overflow:hidden;box-sizing:border-box;background:#fff;border:.15mm solid #e6e8eb;font-family:Arial,sans-serif;color:#202124}.card-front{display:flex;padding:4.5mm 4mm 3.5mm}.google-strip{position:absolute;left:0;right:0;top:0;height:1.5mm;display:grid;grid-template-columns:repeat(4,1fr)}.google-strip i:nth-child(1){background:#4285f4}.google-strip i:nth-child(2){background:#ea4335}.google-strip i:nth-child(3){background:#fbbc04}.google-strip i:nth-child(4){background:#34a853}.card-copy{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-top:1.5mm;padding-right:2mm}.card-kicker{font-size:2.2mm;font-weight:700;letter-spacing:.17mm;color:#70757a}.card-copy h3{font-size:4.6mm;line-height:1.08;margin:1.2mm 0 .8mm;font-weight:800}.card-copy h3 b{color:#1a73e8}.print-stars{color:#fbbc04;font-size:4.2mm;letter-spacing:.8mm}.tap-zone{display:flex;align-items:center;gap:1.6mm}.nfc-wave{font-size:6mm;color:#1a73e8;display:inline-block;transform:rotate(180deg);line-height:1}.tap-zone>span:last-child{font-size:2.5mm;display:grid;gap:.25mm}.tap-zone small{font-size:2mm;color:#777}.qr-zone{width:27mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm}.qr-svg{width:23mm;height:23mm;background:#fff}.qr-svg svg{width:23mm;height:23mm;display:block}.qr-zone b{font-size:2mm;color:#5f6368}.qr-zone small{font-size:1.65mm;color:#9aa0a6}.production-url{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.card-back{display:grid;place-items:center;text-align:center}.back-content{position:relative;z-index:2}.back-v{display:grid;place-items:center;width:9mm;height:9mm;margin:0 auto 2mm;background:#202124;color:#fff;border-radius:2.6mm;font-size:4.5mm;font-weight:900}.card-back h3{font-size:5mm;margin:0;font-weight:800}.card-back p{font-size:2.6mm;color:#6e737a;margin:1.3mm 0 2.5mm}.color-line{width:24mm;height:.8mm;border-radius:2mm;background:linear-gradient(90deg,#4285f4,#ea4335,#fbbc04,#34a853);margin:auto}.back-serial{position:absolute;bottom:2.5mm;left:3.5mm;color:#9aa0a6;font-size:1.7mm;z-index:3}.back-orb{position:absolute;border-radius:50%;opacity:.08}.orb-a{width:28mm;height:28mm;background:#4285f4;right:-8mm;bottom:-10mm}.orb-b{width:18mm;height:18mm;background:#ea4335;right:9mm;bottom:-5mm}.orb-c{width:20mm;height:20mm;background:#fbbc04;left:-8mm;top:-8mm}
@page{size:Letter portrait;margin:0}@media print{html,body.print-body{background:#fff;margin:0;padding:0}.no-print{display:none!important}.letter-sheet{margin:0;box-shadow:none;break-after:page;page-break-after:always}.letter-sheet:last-child{break-after:auto;page-break-after:auto}.cr80-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.batch-row{grid-template-columns:140px 1fr 1fr}.batch-row>a{grid-column:1/-1;width:max-content}.nfc-workbench{grid-template-columns:1fr}.nfc-current{max-width:none}.detail-grid,.history-grid{grid-template-columns:1fr}}
@media(max-width:760px){.landing{padding:20px}.landing main{grid-template-columns:1fr;gap:28px;min-height:auto;padding:80px 0}.hero-copy h1{font-size:42px}.hero-card{display:none}.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.16)}.main-area{margin-left:0}.mobile-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.icon-button{border:1px solid var(--line);background:#fff;border-radius:9px;width:38px;height:38px}.content{padding:24px 16px 60px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:27px}.metrics-grid,.reseller-metrics{grid-template-columns:repeat(2,1fr)}.inline-form,.inline-form.wide,.filter-form{grid-template-columns:1fr}.batch-row{grid-template-columns:1fr}.detail-list>div{grid-template-columns:1fr;gap:4px}.claim-reveal{align-items:flex-start;flex-direction:column}.claim-reveal .btn{margin-left:0}.nfc-current,.nfc-actions-panel{padding:18px}.panel-section{padding:17px}.auth-shell,.state-shell{padding:14px}.auth-card,.state-card{padding:25px}.landing header .btn.ghost{display:none}}
/* Vyro master-panel production controls */
.bulk-bar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;align-items:end;margin-bottom:14px;padding:13px;border:1px solid var(--line);background:#f9fafb;border-radius:12px}.bulk-bar label{display:grid;gap:6px;color:#555d68;font-size:12px;font-weight:750}.bulk-bar select{min-height:40px;border:1px solid #d8dce3;border-radius:9px;background:#fff;padding:8px 10px;color:var(--ink)}.table-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}.filter-row{display:flex;gap:9px;align-items:center;margin-bottom:16px}.filter-row input{width:min(440px,100%);border:1px solid #d8dce3;border-radius:10px;padding:10px 12px}.cell-sub{display:block;color:#9298a1;margin-top:3px}.audit-json{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;color:#59606b;background:#f5f6f8;border-radius:6px;padding:4px 6px}.pagination-wrap{margin-top:16px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.bulk-bar{grid-template-columns:1fr}.filter-row{align-items:stretch;flex-direction:column}.filter-row input{width:100%}}
.vyro-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;font-size:12px}.vyro-pagination a,.vyro-pagination span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#3f4650}.vyro-pagination .disabled{color:#a1a6ae;background:#f7f8f9}.vyro-pagination .page-count{border:0;background:transparent;color:var(--muted)}
@media(max-width:760px){.vyro-pagination{justify-content:space-between}.vyro-pagination .page-count{display:none}}
.filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end}.filter-grid label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#656d78}.filter-grid input,.filter-grid select{width:100%;border:1px solid #d8dce3;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink)}.filter-actions{display:flex;gap:7px}.admin-destination-form{padding-top:20px;border-top:1px solid var(--line)}.admin-destination-form h3{font-size:14px;margin:0;color:#303641}
@media(max-width:1120px){.filter-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.filter-grid{grid-template-columns:1fr}.filter-actions{align-items:stretch}.filter-actions .btn{flex:1}}

/* === Vyro v2 branding, marketing and approved product art === */
:root{--vyro-blue:#0b57b7;--vyro-blue-2:#0d64d8;--vyro-navy:#0b1730;--vyro-soft:#eef5ff}
.full{width:100%}.brand-logo-img{width:44px;height:44px;object-fit:cover;border-radius:12px;box-shadow:0 4px 14px rgba(11,87,183,.18)}.vyro-brand{gap:12px}.mobile-vyro-brand img{width:34px;height:34px;border-radius:9px;object-fit:cover}.auth-brand{display:flex;align-items:center;gap:13px;color:var(--ink);margin-bottom:22px}.auth-brand img{width:58px;height:58px;border-radius:15px;object-fit:cover;box-shadow:0 8px 24px rgba(11,87,183,.16)}.auth-brand div{display:grid;gap:2px}.auth-brand strong{font-size:17px}.auth-brand span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.vyro-auth{background:radial-gradient(circle at 20% 10%,#e9f2ff,transparent 34%),#f7f9fc}.state-logo{width:72px;height:72px;border-radius:18px;object-fit:cover;margin:0 auto 12px;box-shadow:0 8px 25px rgba(11,87,183,.15)}.branded-state .state-icon{margin-top:8px}

/* Approved CR80 art */
.approved-card{border:0;background:#fff;border-radius:3.2mm;box-shadow:none}.approved-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}.approved-qr{position:absolute;left:64.12%;top:54.07%;width:25.88%;height:40.74%;z-index:3;background:#fff;border:.22mm solid #e1e9f3;border-radius:1.55mm;padding:.45mm}.approved-qr svg{width:100%;height:100%;display:block}.approved-serial{position:absolute;right:3.0%;bottom:3.1%;z-index:4;font-family:"SFMono-Regular",Consolas,monospace;font-weight:900;font-size:1.68mm;letter-spacing:.03em;color:#fff;background:none;padding:0;text-shadow:0 .18mm .34mm rgba(7,27,63,.25)}.approved-back-serial{color:#071b3f;background:rgba(255,255,255,.94);padding:.35mm .75mm;border-radius:.7mm;text-shadow:none}.master-v53 .approved-card-art{image-rendering:auto}.master-v53 .approved-qr{box-shadow:none}.product-preview-panel{overflow:hidden}.product-preview-pair{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:24px;align-items:start}.product-preview-pair.single{grid-template-columns:minmax(280px,520px);justify-content:center}.product-preview-pair .cr80-card{width:100%;height:auto;aspect-ratio:85/54;border-radius:18px;box-shadow:0 18px 48px rgba(28,39,56,.14)}.product-preview-pair .approved-serial{font-size:10px;right:12px;bottom:9px;padding:2px 5px}.product-preview-pair .approved-qr-cover{border-radius:5px}.claim-card-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.claim-confirm-panel{display:flex;flex-direction:column;justify-content:center}.claim-lock{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e8f7ef;color:#187043;font-size:22px;font-weight:900}.claim-confirm-panel h2{font-size:26px;margin:18px 0 8px}.claim-confirm-panel p{line-height:1.65;color:var(--muted)}.claim-confirm-panel form{margin-top:18px}.claim-url{display:grid;gap:6px;margin-top:20px}.claim-url span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.claim-url code{font-size:12px;overflow-wrap:anywhere}.optimization-badge{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.optimization-badge.good{background:#e7f7ee;color:#16683c}.optimization-badge.fallback{background:#fff5dc;color:#875c00}.google-tip{background:linear-gradient(135deg,#eef5ff,#f8fbff);border:1px solid #dbe9fb;border-radius:13px;padding:14px 16px}.google-tip strong{font-size:12px;color:#155fbd;text-transform:uppercase;letter-spacing:.07em}.google-tip p{margin:5px 0 0;font-size:13px;line-height:1.55;color:#49627f}.form-footnote{display:block;margin-top:16px;color:#858c97;line-height:1.5}

/* Marketing site */
.marketing-site{background:#fff;color:#101828}.marketing-header{max-width:1240px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:10}.marketing-brand{display:flex;align-items:center;gap:12px;color:#101828}.marketing-brand img{width:52px;height:52px;border-radius:14px;object-fit:cover}.marketing-brand span{display:grid;gap:1px}.marketing-brand strong{font-size:16px}.marketing-brand small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#7b8493}.marketing-header nav{display:flex;align-items:center;gap:20px}.marketing-header nav>a:not(.btn){font-size:13px;font-weight:700;color:#4c5565}.marketing-hero{max-width:1240px;margin:0 auto;min-height:690px;padding:72px 28px 86px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.marketing-hero-copy h1{font-size:70px;line-height:.95;letter-spacing:-.06em;margin:13px 0 25px;color:#0b1730}.marketing-hero-copy h1 span{color:var(--vyro-blue)}.marketing-hero-copy>p{font-size:18px;line-height:1.7;color:#687386;max-width:640px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-trust{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:24px;color:#617086;font-size:12px;font-weight:650}.product-render-stack{position:relative;height:480px}.render-card{position:absolute;width:510px;max-width:88%;aspect-ratio:85/54;border-radius:26px;overflow:hidden;box-shadow:0 28px 70px rgba(19,43,74,.19);background:#fff}.render-card img{width:100%;height:100%;object-fit:cover}.render-front{right:6%;top:30px;transform:rotate(4deg);z-index:2}.render-back{left:0;bottom:22px;transform:rotate(-7deg);z-index:1}.company-strip{background:#0d1728;color:#fff;padding:28px max(28px,calc((100vw - 1184px)/2));display:flex;justify-content:space-between;gap:30px;align-items:center}.company-strip>div:first-child{display:grid;gap:5px;max-width:640px}.company-strip strong{font-size:19px}.company-strip span{color:#a9b5c6;font-size:13px;line-height:1.5}.company-badges{display:flex;gap:8px;flex-wrap:wrap}.company-badges span{border:1px solid #2d3b51;border-radius:999px;padding:8px 10px;color:#dce5f2;font-size:11px;font-weight:700}.marketing-section{max-width:1240px;margin:0 auto;padding:100px 28px}.section-intro{max-width:760px}.section-intro h2,.product-copy h2,.delivery-section h2,.reseller-cta h2{font-size:44px;line-height:1.05;letter-spacing:-.045em;margin:10px 0 16px}.section-intro>p,.product-copy>p,.reseller-cta p{font-size:16px;line-height:1.7;color:#697587}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}.process-grid article{border:1px solid #e5e9ef;border-radius:18px;padding:24px;min-height:220px;background:#fbfcfe}.process-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf2ff;color:#155fbd;font-size:11px;font-weight:900}.process-grid h3{font-size:19px;margin:28px 0 8px}.process-grid p{font-size:13px;color:#687386;line-height:1.6}.product-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:54px}.product-copy ul{padding-left:19px;color:#4d5869;line-height:1.9}.product-reference img{width:100%;border-radius:22px;box-shadow:0 20px 60px rgba(22,45,75,.13)}.pricing-section{background:#f8faff;max-width:none;padding-left:max(28px,calc((100vw - 1184px)/2));padding-right:max(28px,calc((100vw - 1184px)/2))}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,420px));gap:16px;margin-top:38px}.price-card{background:#fff;border:1px solid #e2e7ef;border-radius:20px;padding:28px;display:grid;gap:15px}.price-card>span{font-size:12px;color:#687386;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.price-card>strong{font-size:48px;letter-spacing:-.05em;color:#111827}.price-card strong small{font-size:14px;letter-spacing:0;color:#7b8493}.price-card p{margin:0;color:#667085}.price-card.featured{background:#0d5fc2;color:#fff;border-color:#0d5fc2;box-shadow:0 24px 60px rgba(13,95,194,.22)}.price-card.featured>span,.price-card.featured p,.price-card.featured strong,.price-card.featured strong small{color:#fff}.delivery-section{background:linear-gradient(135deg,#0b57b7,#0a438d);color:#fff;padding:70px max(28px,calc((100vw - 1184px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}.delivery-section p{font-size:16px;line-height:1.7;color:#dbe9fb;max-width:760px}.delivery-section .eyebrow{color:#cfe3ff}.btn.light{background:#fff;color:#0b57b7}.reseller-cta{display:flex;align-items:center;justify-content:space-between;gap:40px}.reseller-cta>div{max-width:780px}.marketing-footer{background:#0a1020;color:#dce3ed;padding:48px max(28px,calc((100vw - 1184px)/2));display:grid;grid-template-columns:1.2fr .6fr .9fr;gap:32px}.marketing-footer .marketing-brand{color:#fff}.marketing-footer>div:not(.marketing-brand){display:grid;align-content:start;gap:7px}.marketing-footer>div:not(.marketing-brand) strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#fff}.marketing-footer a,.marketing-footer span{color:#aeb8c7;font-size:12px}.legal-note{grid-column:1/-1;color:#778497;line-height:1.6;border-top:1px solid #202a3b;padding-top:20px}

/* Print override for approved artwork */
@media print{.approved-card{border-radius:3.7mm!important}.approved-card-art{print-color-adjust:exact;-webkit-print-color-adjust:exact}.approved-qr-cover{print-color-adjust:exact;-webkit-print-color-adjust:exact}.approved-serial{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

@media(max-width:1000px){.marketing-hero{grid-template-columns:1fr;min-height:auto}.product-render-stack{height:420px;max-width:650px;width:100%;margin:0 auto}.process-grid{grid-template-columns:repeat(2,1fr)}.product-section{grid-template-columns:1fr}.company-strip,.delivery-section,.reseller-cta{align-items:flex-start;flex-direction:column}.claim-card-grid{grid-template-columns:1fr}.marketing-header nav>a:not(.btn){display:none}}
@media(max-width:760px){.brand-logo-img{width:40px;height:40px}.product-preview-pair{grid-template-columns:1fr;gap:15px}.product-preview-pair .cr80-card{max-width:520px;margin:0 auto}.marketing-header{padding:14px 16px}.marketing-brand img{width:44px;height:44px}.marketing-header nav{gap:8px}.marketing-header nav>.btn{padding:9px 10px;font-size:12px}.marketing-hero{padding:50px 18px 68px;gap:28px}.marketing-hero-copy h1{font-size:48px}.marketing-hero-copy>p{font-size:16px}.product-render-stack{height:300px}.render-card{width:360px;border-radius:19px}.marketing-section{padding:70px 18px}.section-intro h2,.product-copy h2,.delivery-section h2,.reseller-cta h2{font-size:34px}.process-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.delivery-section{padding:56px 18px}.marketing-footer{grid-template-columns:1fr;padding:40px 18px}.legal-note{grid-column:auto}.company-strip{padding:26px 18px}.auth-brand img{width:50px;height:50px}}
.master-hero{background:linear-gradient(135deg,#0b57b7,#083b7d);color:#fff;border-radius:20px;padding:30px 32px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:30px;overflow:hidden;position:relative}.master-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);right:-80px;top:-120px}.master-hero .eyebrow{color:#cfe2ff}.master-hero h1{font-size:38px;letter-spacing:-.045em;margin:6px 0 8px}.master-hero p{margin:0;max-width:660px;color:#d9e8fb;line-height:1.6}.master-hero-actions{display:flex;gap:8px;margin-top:20px}.btn.master-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.master-hero-brand{position:relative;z-index:2;display:grid;justify-items:center;min-width:160px}.master-hero-brand img{width:86px;height:86px;border-radius:20px;object-fit:cover;box-shadow:0 14px 35px rgba(0,0,0,.18)}.master-hero-brand span{font-weight:800;margin-top:8px}.master-hero-brand small{font-size:9px;color:#cfe2ff;text-transform:uppercase;letter-spacing:.08em}.premium-metrics .metric{transition:.18s ease}.premium-metrics .metric:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(21,44,75,.08)}.premium-metrics .metric small{display:block;color:#9aa1ab;font-size:10px;margin-top:4px}.admin-help-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}.admin-help-grid h2{margin:5px 0 7px}.admin-help-grid p{margin:0;color:var(--muted);line-height:1.6}.admin-mini-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.admin-mini-flow span{padding:13px;border-radius:11px;background:#f5f8fc;color:#728096;font-size:10px;font-weight:800}.admin-mini-flow b{display:block;color:#263143;font-size:12px;margin-top:3px}.approved-card-art{object-fit:fill}
@media(max-width:760px){.master-hero{align-items:flex-start;flex-direction:column;padding:24px}.master-hero h1{font-size:31px}.master-hero-brand{display:none}.admin-help-grid{grid-template-columns:1fr}.admin-mini-flow{grid-template-columns:1fr 1fr}}

/* ===== Vyro v5 public marketing ===== */
.v5-site{overflow:hidden}.v5-header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06);max-width:none;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2))}.v5-hero{max-width:1320px;margin:0 auto;padding:70px 28px 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.v5-hero-copy h1{font-size:72px;line-height:.92;letter-spacing:-.065em;margin:14px 0 24px;color:#0b1730}.v5-hero-copy h1 span{color:#0f69df}.v5-hero-copy>p{max-width:650px;font-size:18px;line-height:1.72;color:#687386}.v5-hero-visual{position:relative}.v5-hero-visual:before{content:"";position:absolute;inset:8% 4%;background:radial-gradient(circle at center,rgba(31,113,229,.18),transparent 65%);filter:blur(35px)}.v5-hero-visual img{position:relative;width:100%;border-radius:28px;box-shadow:0 34px 90px rgba(20,45,80,.18);display:block}.whatsapp-btn{background:#20c865!important;color:#fff!important;border-color:#20c865!important;display:inline-flex!important;align-items:center;gap:9px;box-shadow:0 12px 28px rgba(32,200,101,.22)}.whatsapp-btn:hover{background:#18b65a!important;border-color:#18b65a!important}.whatsapp-btn svg{width:27px;height:27px;flex:0 0 auto;color:#20c865}.whatsapp-btn span{display:flex;align-items:baseline;gap:5px}.whatsapp-btn strong{font-weight:900}.v5-company-strip{border-top:1px solid #1e2a3d;border-bottom:1px solid #1e2a3d}.demo-section-v5{padding-top:110px}.demo-intro{max-width:850px}.demo-shell-v5{margin-top:42px;display:grid;grid-template-columns:.72fr .8fr 1.18fr;gap:20px;align-items:stretch}.demo-steps-v5{display:grid;gap:10px}.demo-step-v5{appearance:none;border:1px solid #e3e8f0;background:#fff;border-radius:17px;padding:16px;text-align:left;display:flex;gap:13px;cursor:pointer;transition:.2s ease}.demo-step-v5:hover{transform:translateY(-1px);border-color:#c6d7ee}.demo-step-v5.active{border-color:#0f69df;background:#f1f7ff;box-shadow:0 13px 34px rgba(15,105,223,.1)}.demo-step-v5>b{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:#eaf2ff;color:#0f69df;font-size:11px}.demo-step-v5.active>b{background:#0f69df;color:#fff}.demo-step-v5 span{display:grid;gap:3px}.demo-step-v5 strong{font-size:14px;color:#162033}.demo-step-v5 small{font-size:11px;line-height:1.45;color:#7b8493}.demo-card-stage-v5{border:1px solid #e5eaf1;border-radius:22px;padding:22px;background:radial-gradient(circle at 60% 35%,#f6faff,#edf3fa);display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1200px;min-height:430px}.demo-label-v5{font-size:9px;letter-spacing:.12em;font-weight:900;color:#6f7c90;margin-bottom:18px}.demo-card-3d{width:min(100%,390px);aspect-ratio:85/54;position:relative;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 24px 30px rgba(27,48,77,.22))}.demo-card-3d.flipped{transform:rotateY(180deg)}.demo-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;overflow:hidden;background:#fff}.demo-card-face img{width:100%;height:100%;object-fit:fill;display:block}.demo-back{transform:rotateY(180deg)}.demo-flip{margin-top:24px}.demo-card-stage-v5>small{margin-top:12px;color:#778396;text-align:center;line-height:1.45}.demo-ui-v5{border:1px solid #dfe5ee;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 18px 50px rgba(21,45,76,.09)}.demo-window-bar{height:47px;background:#0d1728;color:#cdd7e4;display:flex;align-items:center;gap:7px;padding:0 15px}.demo-window-bar>span{width:9px;height:9px;border-radius:50%;background:#5e6e85}.demo-window-bar strong{margin-left:8px;font-size:11px;letter-spacing:.02em}.demo-panel-body{padding:22px}.demo-status-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border-bottom:1px solid #edf0f4;padding-bottom:15px;margin-bottom:18px}.demo-status-row span{font-size:10px;color:#7d8796;text-transform:uppercase;font-weight:800}.demo-status-row strong{font-family:monospace;color:#1b283b}.demo-status-row em{font-style:normal;border-radius:999px;padding:5px 8px;background:#eef2f6;color:#6d7785;font-size:9px;font-weight:900}.demo-status-row em.registered{background:#e9f4ff;color:#1466ba}.demo-status-row em.configured{background:#fff6d8;color:#8c6800}.demo-status-row em.active{background:#e7f7ed;color:#14703c}.demo-panel-card{min-height:286px;display:flex;flex-direction:column}.demo-panel-card.hidden{display:none}.demo-panel-card h3{font-size:23px;letter-spacing:-.03em;margin:0 0 8px;color:#142033}.demo-panel-card p{font-size:13px;line-height:1.65;color:#6f7a8b;margin:0 0 18px}.demo-panel-card label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#5f6a7a;text-transform:uppercase;margin:0 0 12px}.demo-panel-card input{width:100%;border:1px solid #dce2eb;background:#fafcff;border-radius:10px;padding:11px 12px;color:#334155;font-size:12px;text-transform:none}.demo-primary-btn{margin-top:auto;border:0;border-radius:11px;padding:12px 14px;background:#0f69df;color:#fff;font-weight:800;cursor:pointer}.demo-success-pill{display:inline-flex;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#e6f7ed;color:#13733e;font-size:10px;font-weight:900}.demo-success-pill.blue{background:#eaf3ff;color:#0c61c8}.demo-phone-v5{width:210px;margin:3px auto 0;border:8px solid #121923;border-radius:27px;background:#fff;overflow:hidden;box-shadow:0 16px 30px rgba(16,24,40,.18)}.demo-phone-top{height:15px;background:#121923;width:68px;border-radius:0 0 9px 9px;margin:0 auto}.demo-google-map{padding:14px;display:grid;justify-items:center;gap:7px}.demo-map-pin{display:grid;place-items:center;width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#4285f4 0 42%,#34a853 42% 62%,#fbbc05 62% 82%,#ea4335 82%);color:transparent;margin:7px 0 2px}.demo-google-map strong{font-size:15px}.demo-google-map small{color:#6f7b8c}.demo-stars{color:#f7b500;letter-spacing:2px}.demo-google-map button{border:0;background:#0f69df;color:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800}.flow-render-section{padding-top:80px}.flow-render-v5{width:100%;display:block;border-radius:26px;margin-top:34px;box-shadow:0 28px 80px rgba(20,43,74,.13)}.product-section-v5{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.product-3d-showcase{height:430px;position:relative;border-radius:26px;background:linear-gradient(135deg,#f3f8ff,#edf2f8);overflow:hidden}.floating-card{position:absolute;width:68%;aspect-ratio:85/54;border-radius:22px;overflow:hidden;box-shadow:0 28px 60px rgba(20,45,78,.2)}.floating-card img{width:100%;height:100%;object-fit:fill}.floating-card.one{left:8%;top:16%;transform:rotate(-7deg);z-index:2}.floating-card.two{right:5%;bottom:12%;transform:rotate(8deg);z-index:1}.product-tech-badge{position:absolute;right:5%;top:7%;z-index:3;background:#0d1728;color:#fff;border-radius:14px;padding:12px 15px;display:grid;box-shadow:0 12px 30px rgba(13,23,40,.18)}.product-tech-badge strong{font-size:13px}.product-tech-badge span{font-size:9px;color:#acb7c6}.v5-pricing .section-intro{max-width:840px}.v5-delivery{background:linear-gradient(135deg,#0b57b7,#083b7d)}.light-whatsapp{background:#20c865!important;border-color:#20c865!important}.v5-reseller-cta{padding-bottom:115px}.whatsapp-float-v5{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:8px;border-radius:999px;background:#20c865;color:#fff;padding:11px 15px 11px 10px;font-size:12px;font-weight:900;box-shadow:0 16px 38px rgba(24,166,82,.3)}.whatsapp-float-v5 svg{width:31px;height:31px;color:#20c865}.cameo-button{background:#6b4fd3!important;color:#fff!important;border-color:#6b4fd3!important}.cameo-head{align-items:center}.cameo-head .eyebrow{display:block;margin-top:10px}.cameo-head-badge{min-width:160px;border-radius:18px;background:linear-gradient(135deg,#6b4fd3,#8b68ec);color:#fff;padding:18px;display:grid;justify-items:center}.cameo-head-badge strong{font-size:36px;line-height:1}.cameo-head-badge span{font-size:11px;font-weight:800;margin-top:5px}.cameo-head-badge small{font-size:9px;opacity:.8;margin-top:3px}.cameo-guide{background:linear-gradient(135deg,#fbfaff,#f6f3ff)}.cameo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cameo-steps article{background:#fff;border:1px solid #e6e1f5;border-radius:14px;padding:17px}.cameo-steps article>span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eee8ff;color:#6746d2;font-size:10px;font-weight:900}.cameo-steps strong{display:block;margin:12px 0 5px;font-size:13px;color:#263045}.cameo-steps p{margin:0;color:#788397;font-size:11px;line-height:1.5}.cameo-notice{margin-top:13px;border-radius:12px;background:#171d2a;color:#fff;padding:13px 15px;display:flex;gap:11px;align-items:flex-start}.cameo-notice strong{font-size:11px;color:#d9ceff;text-transform:uppercase}.cameo-notice span{font-size:11px;line-height:1.55;color:#d6dce6}.cameo-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cameo-specs>div{border:1px solid #e4e8ef;border-radius:13px;padding:15px;display:grid;gap:4px}.cameo-specs span{font-size:9px;text-transform:uppercase;font-weight:900;color:#8a93a2}.cameo-specs strong{font-size:17px;color:#202a3b}.cameo-specs small{font-size:10px;color:#8a93a2}.cameo-downloads{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cameo-letter-preview{width:min(100%,640px);aspect-ratio:215.9/279.4;margin:20px auto 0;background:#fff;border:1px solid #dfe4eb;box-shadow:0 12px 30px rgba(20,39,64,.08);display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content;column-gap:2.7%;row-gap:1.43%;padding:9.13% 9.24% 0;box-sizing:border-box;align-content:start}.cameo-mini-card .cr80-card{width:100%;height:auto;aspect-ratio:84.5/53;border-radius:8px;box-shadow:0 4px 12px rgba(20,39,64,.12)}.cameo-mini-card .approved-serial{font-size:7px;right:6px;bottom:4px}.cameo-mini-card .production-url{display:none}

@media(max-width:1050px){.v5-hero{grid-template-columns:1fr}.v5-hero-visual{max-width:900px}.demo-shell-v5{grid-template-columns:1fr 1fr}.demo-steps-v5{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.product-section-v5{grid-template-columns:1fr}.cameo-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v5-hero{padding:48px 18px 58px}.v5-hero-copy h1{font-size:48px}.v5-hero-copy>p{font-size:16px}.v5-hero-visual img{border-radius:18px}.whatsapp-btn span{font-size:11px}.demo-shell-v5{grid-template-columns:1fr}.demo-steps-v5{grid-template-columns:1fr}.demo-card-stage-v5{min-height:360px}.product-3d-showcase{height:320px}.whatsapp-float-v5 span{display:none}.whatsapp-float-v5{padding:8px}.cameo-steps,.cameo-specs{grid-template-columns:1fr}.cameo-downloads{justify-content:flex-start}.cameo-letter-preview{padding:10.04% 9.24% 0;column-gap:2.7%;row-gap:.82%}.cameo-head-badge{display:none}}

/* Vyro v5.1 polish: production clarity, Silhouette package workflow, marketing demo */
.alert.error{background:#fff0f0;border-color:#f2b7b7;color:#8b1f1f}
.production-flow-card{overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff)}
.production-flow-summary{display:grid;justify-items:end;gap:2px;min-width:120px}.production-flow-summary strong{font-size:28px;color:#0b57b7;letter-spacing:-.04em}.production-flow-summary span{font-size:10px;color:#7c8798;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.production-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:20px}.production-step{position:relative;border:1px solid #e4e9f0;border-radius:16px;padding:15px;background:#fff;display:grid;grid-template-columns:auto 1fr;gap:10px;align-content:start;min-height:162px}.production-step>b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef2f7;color:#6c7787;font-size:11px}.production-step>span{display:grid;gap:3px}.production-step>span strong{font-size:12px;color:#202b3d}.production-step>span small{font-size:10px;color:#8490a0}.production-step.done{border-color:#bfe1cb;background:#f6fcf8}.production-step.done>b{background:#1c9b55;color:#fff}.production-step.current{border-color:#a9caef;background:#f6faff;box-shadow:0 8px 24px rgba(11,87,183,.08)}.production-step.current>b{background:#0b57b7;color:#fff}.production-step.locked{opacity:.68;background:#f7f8fa}.production-step.locked>b{background:#e9ecf0}.step-action{grid-column:1/-1;margin-top:auto;border:0;border-radius:9px;padding:9px 10px;background:#eef3f9;color:#214365;font-size:10px;font-weight:900;cursor:pointer;text-align:center}.step-action:hover:not(:disabled){background:#dcecff}.step-action:disabled{cursor:not-allowed;opacity:.55}.step-action.link{display:block;text-decoration:none}.step-links{grid-column:1/-1;display:flex;gap:6px}.step-links a{border-radius:8px;background:#f3f5f8;padding:7px 9px;font-size:9px;font-weight:900;color:#475569}.step-lock{grid-column:1/-1;border-radius:8px;background:#fff3d5;color:#8b6500;padding:7px 9px;font-size:9px;font-weight:900}

.demo-progress-wrap{display:flex;align-items:center;gap:14px;margin-top:26px}.demo-progress-track{height:7px;background:#e7edf5;border-radius:999px;overflow:hidden;flex:1}.demo-progress-track i{display:block;width:25%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b57b7,#2e80f2);transition:width .35s ease}.demo-reset{border:0;background:transparent;color:#637084;font-weight:800;font-size:11px;cursor:pointer}.demo-reset:hover{color:#0b57b7}.demo-login-mini{border:1px solid #dfe6ef;background:#f9fbfe;border-radius:12px;padding:11px 12px;display:grid;gap:3px;margin-bottom:14px}.demo-login-mini span{font-size:9px;text-transform:uppercase;font-weight:900;color:#8a95a5}.demo-login-mini strong{font-size:12px;color:#28364b}.demo-edit-note{display:block;margin-top:10px;color:#748092;font-size:10px;line-height:1.45}.demo-result{margin-top:12px;border-radius:10px;background:#e8f7ee;color:#176d3d;font-size:10px;font-weight:800;padding:9px 10px;opacity:0;transform:translateY(5px);transition:.22s ease}.demo-result.show{opacity:1;transform:none}.demo-phone-pulse{animation:demoPhonePulse .75s ease}@keyframes demoPhonePulse{0%{transform:scale(1)}45%{transform:scale(1.045);box-shadow:0 20px 44px rgba(15,105,223,.28)}100%{transform:scale(1)}}.v51-company-strip{margin-top:70px}.demo-card-3d{will-change:transform}.demo-card-stage-v5{overflow:hidden}

.cameo-package-btn{background:linear-gradient(135deg,#6b4fd3,#825ef0)!important;color:#fff!important;border-color:#6b4fd3!important;display:grid!important;gap:1px;text-align:left}.cameo-package-btn span{font-size:11px;font-weight:900}.cameo-package-btn small{font-size:8px;opacity:.78}.cameo-page-head{align-items:center}.cameo-package-hint{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:2px 0 15px;padding:10px 12px;border-radius:11px;background:#f8f6ff;border:1px solid #e7e1fb}.cameo-package-hint strong{font-size:9px;color:#5642a7;text-transform:uppercase}.cameo-package-hint span{font-size:9px;color:#6d7482;background:#fff;border:1px solid #ebe7f6;border-radius:999px;padding:5px 8px}

@media(max-width:1150px){.production-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.production-step:last-child{grid-column:1/-1}.cameo-page-head{align-items:flex-start}.cameo-downloads{max-width:480px}}
@media(max-width:760px){.production-flow-summary{justify-items:start}.production-stepper{grid-template-columns:1fr}.production-step:last-child{grid-column:auto}.demo-progress-wrap{margin:18px 0 0}.demo-reset{white-space:nowrap}.v51-company-strip{margin-top:42px}.cameo-downloads{width:100%;justify-content:flex-start}.cameo-package-btn{width:100%}.cameo-package-hint{display:grid}.cameo-package-hint span{width:max-content}.demo-card-stage-v5{min-height:340px}}

/* Vyro v5.4 — multicanal + arte exacto 3.35 × 2.13 in */
.letter-sheet{width:215.9mm;height:279.4mm;padding:25.50mm 19.95mm 0;margin:12px auto;background:#fff;display:grid;grid-template-columns:repeat(2,85.09mm);grid-template-rows:repeat(4,54.10mm);column-gap:5.82mm;row-gap:4.00mm;box-sizing:border-box;box-shadow:0 6px 30px rgba(0,0,0,.12);align-content:start;justify-content:start}
.cr80-card,.v54-card{width:85.09mm;height:54.10mm;position:relative;overflow:hidden;box-sizing:border-box;background:#fff;border:0;border-radius:3.18mm;font-family:Arial,sans-serif;color:#202124}
.v54-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;z-index:1}
.v54-card-qr{position:absolute;left:var(--v54-qr-left,60.54726%);top:var(--v54-qr-top,62.67606%);width:var(--v54-qr-width,10.94527%);aspect-ratio:1/1;background:#fff;z-index:3;display:block;overflow:hidden}
.v54-card-qr svg{display:block;width:100%;height:100%}
.v54-card-serial{position:absolute;right:1.35mm;bottom:1.10mm;z-index:4;font:900 1.05mm/1.2 "SFMono-Regular",Consolas,monospace;letter-spacing:.02em;color:#fff;background:rgba(12,23,41,.62);padding:.28mm .48mm;border-radius:.45mm;text-shadow:0 .1mm .2mm rgba(0,0,0,.3)}
.v54-card-back-serial{background:rgba(0,0,0,.55)}
.product-preview-pair .v54-card{width:100%;height:auto;aspect-ratio:85.09/54.10;border-radius:18px;box-shadow:0 18px 48px rgba(28,39,56,.14)}
.product-preview-pair .v54-card-serial{font-size:7px;right:8px;bottom:7px;padding:2px 4px;border-radius:4px}
.cameo-mini-card .v54-card{width:100%;height:auto;aspect-ratio:85.09/54.10;border-radius:8px;box-shadow:0 4px 12px rgba(20,39,64,.12)}
.cameo-mini-card .v54-card-serial{font-size:5px;right:4px;bottom:3px;padding:1px 3px}
.type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;background:#eef2f6;color:#263143}.type-google_reviews{background:#eef5ff;color:#1464c5}.type-whatsapp{background:#e7f8ee;color:#137442}.type-instagram{background:#fff0f8;color:#a42370}.type-tiktok{background:#eef5f6;color:#101820}
.v54-config-card .type-help{border:1px solid #e1e7ef;background:#f8fafc;border-radius:11px;padding:11px 13px;font-size:12px;line-height:1.5;color:#607086}.v54-config-card textarea,.admin-destination-form textarea{width:100%;resize:vertical;border:1px solid #d8dde5;border-radius:10px;padding:10px 12px;background:#fff}.whatsapp-message-field[hidden],.google-confirm-field[hidden],[data-whatsapp-message][hidden],[data-google-confirm][hidden]{display:none!important}
.google-login-btn{width:100%;margin-top:14px;background:#fff;color:#273142;border:1px solid #d9dee7;box-shadow:0 1px 2px rgba(0,0,0,.04)}.google-login-btn:hover{background:#f8fafc}.google-g{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:900;color:#4285f4;background:#fff;border:1px solid #e4e8ee}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#9aa3af;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e6e9ee;flex:1}
.cameo-exact-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#e8f7ee;color:#176c3f;padding:6px 9px;font-size:10px;font-weight:900}
@media print{.v54-card,.v54-card-art,.v54-card-qr,.v54-card-serial{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Vyro v5.5 — mandatory 2FA, tutorials and iPhone NFC */
.security-auth-card{position:relative;overflow:hidden}.security-auth-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#0b57b7,#20a464,#f6b800)}.wide-auth-card{width:min(680px,100%)}.security-badge{display:inline-flex;margin-top:18px;border-radius:999px;padding:6px 9px;background:#eaf2ff;color:#0b57b7;font-size:9px;font-weight:900;letter-spacing:.08em}.security-badge.success{background:#e7f7ee;color:#16683c}.security-badge.warning{background:#fff4db;color:#8c5e00}.security-lock{display:grid;place-items:center;width:54px;height:54px;margin:24px auto 0;border-radius:17px;background:#eaf2ff;color:#0b57b7;font-size:30px;font-weight:900}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px}.auth-row>a{font-weight:800}.security-note{margin-top:17px;border-radius:11px;padding:12px 13px;background:#f5f8fc;border:1px solid #e4eaf2;display:grid;gap:4px}.security-note strong{font-size:11px;color:#26364d}.security-note span{font-size:10px;line-height:1.5;color:#738096}.totp-setup-grid{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center;margin:24px 0}.totp-qr{background:#fff;border:1px solid #e1e7ef;border-radius:18px;padding:16px;box-shadow:0 14px 35px rgba(19,42,72,.08)}.totp-qr svg{width:100%;height:auto;display:block}.totp-steps{display:grid;gap:10px}.totp-steps>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;border:1px solid #e6eaf0;border-radius:12px;padding:11px;background:#fbfcfe}.totp-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#0b57b7;color:#fff;font-size:11px}.totp-steps span{display:grid;gap:3px}.totp-steps strong{font-size:12px}.totp-steps small{font-size:10px;line-height:1.45;color:#758094}.manual-secret{margin:10px 0 0;border:1px dashed #cfd7e3;border-radius:10px;padding:10px 12px}.manual-secret summary{font-size:11px;font-weight:800;cursor:pointer}.manual-secret p{font-size:10px;color:#727e90}.manual-secret code{display:block;overflow-wrap:anywhere;background:#f4f6f9;padding:8px;border-radius:7px;font-size:11px}.otp-input{text-align:center!important;font-family:"SFMono-Regular",Consolas,monospace!important;font-weight:900!important;font-size:20px!important;letter-spacing:.18em!important}.challenge-help{margin-top:18px;border-top:1px solid #edf0f4;padding-top:14px}.challenge-help summary{cursor:pointer;font-size:11px;font-weight:800;color:#536174}.challenge-help p{font-size:10px;line-height:1.5;color:#7b8798}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.recovery-code-grid code{display:block;text-align:center;padding:11px 8px;border-radius:9px;background:#111827;color:#f8fafc;font-size:12px;letter-spacing:.08em}.security-auth-card .btn.full{margin-top:10px}

.configure-layout-v55{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(440px,1.15fr);gap:18px;align-items:start}.tutorial-panel-v55{position:sticky;top:22px}.card-tutorial-v55[hidden]{display:none!important}.tutorial-hero-v55{position:relative;overflow:hidden;border-radius:18px;padding:22px;min-height:220px;background:linear-gradient(145deg,#0c1830,#12284d);color:#fff;display:grid;grid-template-columns:1fr 160px;gap:20px;align-items:center}.tutorial-hero-v55:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-95px;top:-105px;background:rgba(255,255,255,.06)}.tutorial-google .tutorial-hero-v55{background:linear-gradient(145deg,#0b57b7,#123f87)}.tutorial-whatsapp .tutorial-hero-v55{background:linear-gradient(145deg,#0a6134,#118f50)}.tutorial-instagram .tutorial-hero-v55{background:linear-gradient(145deg,#4a1b77,#a92d78 55%,#d76a32)}.tutorial-tiktok .tutorial-hero-v55{background:linear-gradient(145deg,#101118,#292c36)}.tutorial-platform-chip{display:inline-flex;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tutorial-hero-v55 h3{font-size:24px;letter-spacing:-.035em;margin:12px 0 7px}.tutorial-hero-v55 p{font-size:11px;line-height:1.55;color:rgba(255,255,255,.78);margin:0}.tutorial-phone-v55{position:relative;z-index:2;width:128px;height:210px;border:6px solid #0b1220;border-radius:26px;background:#fff;margin:auto;box-shadow:0 18px 38px rgba(0,0,0,.3);transform:rotate(5deg)}.tutorial-notch{position:absolute;top:0;left:31px;width:56px;height:13px;background:#0b1220;border-radius:0 0 9px 9px}.tutorial-screen{height:100%;border-radius:19px;padding:30px 10px 12px;color:#182235;display:flex;flex-direction:column;align-items:center;gap:9px;background:linear-gradient(#f8fafc,#eef4f9)}.tutorial-app-dot{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0b57b7,#55a2ff);box-shadow:0 8px 18px rgba(11,87,183,.22)}.tutorial-whatsapp .tutorial-app-dot{background:#20c865}.tutorial-instagram .tutorial-app-dot{background:linear-gradient(135deg,#6d2dcc,#d1327b,#f0a130)}.tutorial-tiktok .tutorial-app-dot{background:linear-gradient(135deg,#18e7e0 0 45%,#111 45% 55%,#ff335e 55%)}.tutorial-screen strong{font-size:10px;text-align:center}.tutorial-url-pill{margin-top:6px;border-radius:999px;background:#0b57b7;color:#fff;padding:6px 9px;font-size:8px;font-weight:900}.tutorial-whatsapp .tutorial-url-pill{background:#15964c}.tutorial-instagram .tutorial-url-pill{background:#9f2875}.tutorial-tiktok .tutorial-url-pill{background:#151821}.tutorial-tap-ring{margin-top:auto;width:40px;height:40px;border:2px solid #d6dfeb;border-radius:50%;display:grid;place-items:center;color:#60738b;font-size:20px}.tutorial-steps-v55{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.tutorial-steps-v55>div{border:1px solid #e4e9f0;border-radius:12px;padding:12px;background:#fff;display:grid;grid-template-columns:28px 1fr;gap:8px}.tutorial-steps-v55 b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eaf2ff;color:#0b57b7;font-size:10px}.tutorial-steps-v55 span{display:grid;gap:4px}.tutorial-steps-v55 strong{font-size:10px;color:#2b374a}.tutorial-steps-v55 small{font-size:9px;line-height:1.45;color:#7d8797}.tutorial-video-v55{margin-top:12px;border:1px solid #e4e8ee;border-radius:14px;overflow:hidden;background:#fff}.tutorial-video-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px}.tutorial-video-head>div{display:grid;gap:2px}.tutorial-video-head strong{font-size:11px}.tutorial-video-head small{font-size:9px;color:#7d8795}.tutorial-video-head a{font-size:9px;font-weight:900}.video-frame{aspect-ratio:16/9;background:#111}.video-frame iframe{border:0;width:100%;height:100%;display:block}

.nfc-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.nfc-platform-card{border:1px solid #e0e6ee;border-radius:16px;padding:18px;background:#fff;display:grid;gap:10px}.nfc-platform-card.recommended{border-color:#b8d1f1;background:linear-gradient(135deg,#f7fbff,#eef6ff)}.nfc-platform-card .platform-head{display:flex;align-items:center;gap:11px}.nfc-platform-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#111827;color:#fff;font-size:20px;font-weight:900}.nfc-platform-icon.android{background:#eaf6ee;color:#20723e}.nfc-platform-card h3{margin:0;font-size:15px}.nfc-platform-card p{margin:0;color:#748094;font-size:10px;line-height:1.55}.ios-session-box{border-radius:14px;background:#0d1728;color:#fff;padding:14px;display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center}.ios-session-box[hidden]{display:none}.ios-session-qr{background:#fff;border-radius:10px;padding:8px}.ios-session-qr svg{width:100%;height:auto;display:block}.ios-session-meta{display:grid;gap:7px}.ios-session-meta strong{font-size:12px}.ios-session-meta small{font-size:9px;color:#abb7c8;line-height:1.45}.ios-session-meta .btn{width:max-content}.device-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;background:#eef2f7;color:#5a687b}.device-pill.ios{background:#eaf2ff;color:#0b57b7}.device-pill.android{background:#e7f7ee;color:#17633b}

@media(max-width:1000px){.configure-layout-v55{grid-template-columns:1fr}.tutorial-panel-v55{position:static}.nfc-platform-grid{grid-template-columns:1fr}}
@media(max-width:680px){.totp-setup-grid{grid-template-columns:1fr}.totp-qr{max-width:260px;margin:auto}.recovery-code-grid{grid-template-columns:1fr}.tutorial-hero-v55{grid-template-columns:1fr;min-height:unset}.tutorial-phone-v55{display:none}.tutorial-steps-v55{grid-template-columns:1fr}.ios-session-box{grid-template-columns:1fr}.ios-session-qr{max-width:180px}.auth-row{align-items:flex-start;flex-direction:column}}

/* Vyro v5.5.2 — iPhone NFC sin cuenta Apple Developer */
.nfc-platform-grid-v552{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start}.nfc-platform-grid-v552>.nfc-platform-card{align-content:start}.iphone-now-card{gap:15px!important;overflow:hidden;position:relative}.iphone-now-card:after{content:"";position:absolute;right:-60px;top:-80px;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.12),rgba(37,99,235,0) 70%);pointer-events:none}.nfc-platform-icon.ios-text{font-size:11px;letter-spacing:-.02em}.iphone-lead{max-width:760px!important;font-size:12px!important}.iphone-current-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:13px 14px;border:1px solid #d9e6f5;border-radius:13px;background:rgba(255,255,255,.84)}.iphone-current-card>div{display:grid;gap:3px}.iphone-current-card strong{font-size:18px;letter-spacing:-.02em}.iphone-current-card code{min-width:0;padding:10px 12px;border-radius:9px;background:#0f172a;color:#e8eef8;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.mini-label{font-size:8px;font-weight:900;letter-spacing:.13em;color:#64748b}.iphone-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.iphone-primary-actions .btn{width:100%;text-align:center}.ios-guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ios-guide-step{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:12px;border:1px solid #e4eaf2;border-radius:12px;background:#fff}.ios-guide-step>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#111827;color:#fff;font-size:10px;font-weight:900}.ios-guide-step div{display:grid;gap:4px}.ios-guide-step strong{font-size:11px}.ios-guide-step small{font-size:9px;line-height:1.5;color:#6f7b8d}.iphone-verification-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:2px}.iphone-confirm-form,.iphone-verify-form,.iphone-verify-locked,.iphone-programmed-ok{display:grid;gap:10px;padding:13px;border-radius:13px;background:#f8fafc;border:1px solid #e6eaf0;align-content:start}.iphone-confirm-form .check{font-size:10px!important;line-height:1.45}.iphone-verify-form label{display:grid;gap:6px;font-size:10px;font-weight:800}.iphone-verify-form input{width:100%;border:1px solid #d6dce5;border-radius:9px;padding:10px 11px;background:#fff}.iphone-verify-form small,.iphone-programmed-ok small,.iphone-verify-locked small{font-size:9px;line-height:1.45;color:#748094}.iphone-programmed-ok,.iphone-verify-locked{grid-template-columns:30px 1fr;gap:10px}.iphone-programmed-ok>span,.iphone-verify-locked>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:900}.iphone-programmed-ok>span{background:#e7f7ee;color:#17633b}.iphone-verify-locked>span{background:#eef2f7;color:#64748b}.iphone-programmed-ok>div,.iphone-verify-locked>div{display:grid;gap:4px}.iphone-programmed-ok strong,.iphone-verify-locked strong{font-size:10px}.android-now-card{align-self:start}.native-writer-future{margin:0 0 18px;border:1px solid #e5e9ef;border-radius:14px;background:#fff;overflow:hidden}.native-writer-future summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;cursor:pointer;list-style:none}.native-writer-future summary::-webkit-details-marker{display:none}.native-writer-future summary span{font-size:11px;font-weight:800}.native-writer-future summary small{font-size:9px;color:#7c8798}.native-writer-body{display:grid;gap:10px;padding:0 16px 16px;border-top:1px solid #edf0f4}.native-writer-body>p{margin:13px 0 0;color:#748094;font-size:10px;line-height:1.55}.native-writer-body>.btn{width:max-content}.iphone-now-card.is-iphone{box-shadow:0 14px 38px rgba(37,99,235,.11)}
@media(max-width:1000px){.nfc-platform-grid-v552{grid-template-columns:1fr}.ios-guide-steps{grid-template-columns:1fr}.iphone-verification-grid{grid-template-columns:1fr}.iphone-current-card{grid-template-columns:1fr}.iphone-primary-actions{grid-template-columns:1fr}.native-writer-future summary{align-items:flex-start;flex-direction:column;gap:3px}}

/* Vyro v5.8 — acrylic production + safe trim allowance */
.v58-acrylic-sheet{padding:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important;align-content:center!important;justify-content:center!important}
.v58-acrylic-art{width:100mm;height:150mm;position:relative;overflow:hidden;background:#fff;box-sizing:border-box;font-family:Arial,sans-serif;color:#102744}
.v58-acrylic-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;z-index:1}
.v58-acrylic-qr{position:absolute;left:var(--v58-acr-qr-left,68%);top:var(--v58-acr-qr-top,56%);width:var(--v58-acr-qr-width,19.2%);aspect-ratio:1;background:#fff;z-index:3;display:block;overflow:hidden}
.v58-acrylic-qr svg{display:block;width:100%;height:100%}
.v58-acrylic-serial{position:absolute;right:2.5mm;bottom:2.3mm;z-index:4;font:900 1.8mm/1.2 "SFMono-Regular",Consolas,monospace;color:#102744;background:rgba(255,255,255,.92);padding:.45mm .8mm;border-radius:.8mm}
.v58-cameo-preview.acrylic-preview{display:grid;place-items:center;padding:0;grid-template-columns:1fr;grid-template-rows:1fr;gap:0}
.v58-cameo-preview.acrylic-preview .cameo-mini-card{width:46.32%;height:auto;aspect-ratio:2/3}
.v58-cameo-preview.acrylic-preview .v58-acrylic-art{width:100%;height:auto;aspect-ratio:2/3;box-shadow:0 6px 18px rgba(20,39,64,.13)}
.v58-cameo-preview.acrylic-preview .v58-acrylic-serial{font-size:5px;right:4px;bottom:4px;padding:1px 3px}
.v58-cameo-preview.card-preview{grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content;column-gap:2.7%;row-gap:1.43%;padding:9.13% 9.24% 0;align-content:start;place-items:unset}
@media print{.v58-acrylic-art,.v58-acrylic-image,.v58-acrylic-qr,.v58-acrylic-serial{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* Vyro v5.8 — autenticación clara y accesible */
.v58-auth-card{width:min(470px,100%)}.v58-field{position:relative}.v58-password-wrap{position:relative}.v58-password-wrap input{padding-right:78px!important}.v58-password-wrap button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:8px;background:#eef4fc;color:#0b57b7;padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer}.v58-field-error{display:block;color:#b42318!important;font-weight:700!important;line-height:1.4}.v58-caps{display:block;color:#986300!important;background:#fff7df;padding:6px 8px;border-radius:7px}.v58-password-rules{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:-7px}.v58-password-rules span{padding:6px 8px;border-radius:8px;background:#f3f5f8;color:#7b8794;font-size:9px;font-weight:800}.v58-password-rules span:before{content:'○ ';}.v58-password-rules span.ok{background:#eaf8ef;color:#14733d}.v58-password-rules span.ok:before{content:'✓ '}

/* v5.8.6 — master Carta geometry shared by frente/reverso/corte */
.v586-master-sheet{padding:var(--v586-margin-top,25.5mm) var(--v586-margin-x,19.95mm) 0!important;column-gap:var(--v586-gap-x,5.82mm)!important;row-gap:var(--v586-gap-y,4mm)!important}
