:root{--navy:#091d35;--ink:#10251f;--muted:#62716c;--lime:#c9ff4a;--yellow:#ffd426;--mint:#eaf6ea;--paper:#fbfcf8;--line:#d9e2dc;--red:#d44333;--white:#fff;--shadow:0 20px 60px rgba(9,29,53,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,252,248,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:900;letter-spacing:-.6px}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font-weight:500}.links{display:flex;gap:24px;margin-left:auto;color:#4d5c57;font-weight:700;font-size:14px}.links a:hover,.links a.active{color:var(--ink)}.actions{display:flex;gap:10px;align-items:center}.btn{border:1px solid var(--navy);border-radius:12px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer;background:#fff;color:var(--navy);font:inherit;font-weight:800}.btn.primary{background:var(--navy);color:#fff}.btn.lime{background:var(--lime);color:var(--ink);border-color:#a6d931}.btn.full{width:100%}.menu{display:none}.hero{padding:74px 0}.hero-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow{display:flex;align-items:center;gap:9px;color:#52745e;text-transform:uppercase;letter-spacing:2px;font:700 12px/1.2 ui-monospace,monospace}.eyebrow:before{content:"";width:9px;height:9px;background:#62bc70;border-radius:50%;box-shadow:0 0 0 5px #dff1df}h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-4.5px;margin:24px 0}h2{font-size:clamp(34px,4vw,54px);line-height:1.03;letter-spacing:-2.8px;margin:16px 0}h3{font-size:22px;line-height:1.2;margin:0 0 10px}.lead{font-size:20px;color:var(--muted);max-width:690px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.trust{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;color:#53635d;font-size:14px;font-weight:700}.trust span:before{content:"✓";color:#2e944b;margin-right:7px}.hero-panel{background:var(--navy);color:#fff;border-radius:30px;padding:32px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--lime);opacity:.12;right:-100px;top:-100px}.vehicle-card{background:#fff;color:var(--ink);border-radius:22px;padding:22px;position:relative;z-index:1}.vehicle-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.status{padding:7px 10px;border-radius:99px;background:#e5f7e8;color:#277c3c;font-weight:800;font-size:12px}.scan-grid{display:grid;grid-template-columns:1fr 150px;gap:20px;align-items:center;padding-top:22px}.fake-qr{aspect-ratio:1;background:repeating-conic-gradient(#091d35 0 25%,#fff 0 50%) 0/28px 28px;border:12px solid #fff;box-shadow:0 0 0 1px var(--line)}.problem-strip{background:var(--navy);color:#fff;padding:28px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.metric b{display:block;color:var(--lime);font-size:28px}.metric span{font-size:14px;color:#c4d0db}.section{padding:90px 0}.soft{background:var(--mint)}.section-head{max-width:760px;margin-bottom:40px}.grid-3,.grid-4{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.card .icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--lime);font-size:23px;margin-bottom:28px}.card p{color:var(--muted);margin-bottom:0}.steps{counter-reset:step}.step{position:relative;padding-left:70px}.step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:48px;height:48px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;font-weight:900}.usecase{border-left:4px solid var(--yellow)}.banner{background:var(--lime);border:1px solid #a6d931;border-radius:26px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.banner h2{margin:0;max-width:700px}.page-hero{padding:76px 0 54px;background:linear-gradient(135deg,#eff8ea,#f9fcf5)}.page-hero .lead{max-width:780px}.pricing-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}.price{font-size:50px;font-weight:900;letter-spacing:-2px}.price small{font-size:15px;color:var(--muted);font-weight:600}.country-row{display:flex;align-items:end;gap:12px;margin:25px 0}.field{display:grid;gap:7px;width:100%;font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd7d0;border-radius:11px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.note{padding:14px 16px;background:#eff7ef;border-radius:12px;color:#496057;font-size:14px}.warning{background:#fff4d7;color:#6b5313}.result{margin-top:16px;padding:16px;border-radius:12px;background:#eaf6ea;display:none}.result.show{display:block}.dashboard{display:grid;grid-template-columns:240px 1fr;gap:22px}.side{background:var(--navy);color:#fff;border-radius:22px;padding:24px;min-height:520px}.side a{display:block;padding:11px 0;color:#bfcbd6}.dash-main{min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.stat b{font-size:28px;display:block}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;margin-top:18px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:14px}.pill{padding:5px 9px;border-radius:20px;background:#e8f4e9;font-size:12px;font-weight:800}.scan-shell{max-width:590px;margin:40px auto}.quick{display:grid;gap:10px;margin:18px 0}.quick button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;font:inherit;font-weight:750;cursor:pointer}.quick button.selected{border-color:#5d8c62;background:#ecf7ea}.conversation{max-height:260px;overflow:auto;display:grid;gap:8px;margin:16px 0}.bubble{padding:10px 13px;background:#eef2ef;border-radius:12px;max-width:85%}.bubble.owner{justify-self:end;background:var(--navy);color:#fff}.footer{background:#07192f;color:#d5dee7;padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px}.footer a{display:block;color:#aebdca;margin:8px 0}.footer small{display:block;border-top:1px solid #263950;margin-top:40px;padding-top:20px}.hidden{display:none!important}@media(max-width:900px){.links{display:none}.menu{display:inline-flex}.nav{height:68px}.actions .desktop{display:none}.hero-grid,.split{grid-template-columns:1fr;gap:38px}.hero{padding:50px 0}h1{letter-spacing:-3px}.metrics,.grid-4,.stat-grid{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.side{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}.banner{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.wrap{width:min(100% - 24px,1180px)}.brand{font-size:17px}.brand img{width:36px;height:36px}.hero-actions .btn{width:100%}.metrics,.grid-4,.stat-grid,.form-grid{grid-template-columns:1fr}.scan-grid{grid-template-columns:1fr 112px}.section{padding:62px 0}.footer-grid{grid-template-columns:1fr}.page-hero{padding:50px 0}.country-row{align-items:stretch;flex-direction:column}}

/* TagVomo — Professional Portal CSS v2 */
:root{--navy:#041221;--navy-mid:#17334f;--navy-light:#29405b;--lime:#6cb55a;--lime-light:#edf7e9;--amber:#f59e0b;--amber-light:#fffbeb;--danger:#dc2626;--danger-light:#fff1f1;--teal:#0891b2;--teal-light:#ecfeff;--line:#dde3df;--line-light:#edf2ef;--shadow:0 1px 3px rgba(4,18,33,.08),0 4px 16px rgba(4,18,33,.06);--shadow-lg:0 4px 12px rgba(4,18,33,.1),0 12px 40px rgba(4,18,33,.08);--radius:14px;--radius-sm:8px;--muted:#5e7069;--muted-light:#9ab0a8;--font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"Cascadia Code","Fira Code",monospace}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:#f2f5f2;color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:none;background:none}
.portal-body{display:flex;min-height:100vh}
.portal-sidebar{width:264px;min-width:264px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:80;transition:transform .28s cubic-bezier(.4,0,.2,1)}
.portal-sidebar::-webkit-scrollbar{width:4px}
.portal-sidebar::-webkit-scrollbar-thumb{background:#29405b;border-radius:2px}
.portal-main{flex:1;min-width:0;padding:36px 40px}
.ps-brand{display:flex;align-items:center;gap:11px;padding:22px 18px 18px;border-bottom:1px solid var(--navy-light);margin-bottom:6px}
.ps-brand img{width:42px;height:42px;border-radius:10px;flex-shrink:0}
.ps-brand b{font-size:18px;font-weight:900;letter-spacing:-.4px;color:#fff;display:block}
.ps-brand span{display:block;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#7fa0b8}
.ps-user{padding:14px 18px;margin:0 6px 8px;border-bottom:1px solid var(--navy-light)}
.ps-user small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#7fa0b8;margin-bottom:3px}
.ps-user b{font-size:14px;font-weight:800;color:#fff;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-nav{flex:1;padding:4px 8px;overflow-y:auto}
.ps-nav-section{margin-bottom:20px}
.ps-nav-label{font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#4a6880;padding:6px 12px 4px;display:block}
.ps-nav a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:var(--radius-sm);color:#8aabbf;font-weight:700;font-size:14px;transition:background .15s,color .15s;margin:2px 0;cursor:pointer}
.ps-nav a:hover{background:var(--navy-mid);color:#fff}
.ps-nav a.active{background:rgba(108,181,90,.18);color:#6cb55a}
.ps-nav a .nav-icon{font-size:17px;flex-shrink:0;width:22px;text-align:center}
.ps-nav a .nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--danger);color:#fff;font-size:11px;font-weight:900;margin-left:auto}
.ps-footer{padding:14px 18px;border-top:1px solid var(--navy-light);display:flex;flex-direction:column;gap:4px}
.ps-hint{font-size:11px;color:#4a6880;line-height:1.5}
.ps-signout{display:flex;align-items:center;gap:8px;color:#7fa0b8;font-weight:700;font-size:13px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}
.ps-signout:hover{background:var(--navy-mid);color:#fff}
.ps-public{display:flex;align-items:center;gap:8px;color:#7fa0b8;font-weight:700;font-size:13px;padding:8px 12px;border-radius:var(--radius-sm);transition:background .15s,color .15s}
.ps-public:hover{background:var(--navy-mid);color:#fff}

.portal-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.portal-top-bar h1{font-size:34px;font-weight:900;letter-spacing:-1.5px;line-height:1.15}
.portal-top-bar h1 small{display:block;font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:2px}
.portal-top-bar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:800;font-size:14px;cursor:pointer;transition:all .15s;border:1px solid transparent}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.primary:hover{background:var(--navy-mid)}
.btn.outline{background:#fff;color:var(--navy);border-color:var(--line)}
.btn.outline:hover{border-color:var(--navy);background:var(--lime-light)}
.btn.danger{background:var(--danger);color:#fff}
.btn.danger:hover{background:#b91c1c}
.btn.sm{padding:6px 13px;font-size:13px}
.btn.lime{background:var(--lime);color:#fff}
.btn.lime:hover{background:#5a9e49}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;transition:box-shadow .15s}
.stat:hover{box-shadow:var(--shadow)}
.stat span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}
.stat b{font-size:28px;font-weight:900;letter-spacing:-.8px;color:var(--navy);line-height:1}
.stat .stat-sub{font-size:12px;color:var(--muted-light);margin-top:4px;font-weight:600}
.portal-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.portal-card h3{font-size:18px;font-weight:900;letter-spacing:-.5px;margin-bottom:16px}
.portal-card h2{font-size:22px;font-weight:900;letter-spacing:-.8px;margin-bottom:18px}
.portal-card h4{font-size:15px;font-weight:800;margin-bottom:10px;color:var(--navy)}
.portal-card p{color:var(--muted);line-height:1.6}
.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.section-header h2{font-size:20px;font-weight:900;letter-spacing:-.8px}
.portal-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}
.portal-table table{width:100%;border-collapse:collapse}
.portal-table thead th{background:#f7faf8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:12px 16px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}
.portal-table tbody td{padding:13px 16px;border-bottom:1px solid var(--line-light);font-size:14px;vertical-align:middle}
.portal-table tbody tr:last-child td{border-bottom:none}
.portal-table tbody tr:hover{background:#f7faf8}
.portal-table tbody td.empty-cell{padding:40px;text-align:center;color:var(--muted)}
.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:800;text-transform:capitalize}
.pill.green{background:#edf7e9;color:#227039}
.pill.red{background:#fff1f1;color:#a6382d}
.pill.amber{background:#fffbeb;color:#92400e}
.pill.blue{background:#ecfeff;color:#0e7490}
.pill.gray{background:#f3f4f6;color:#374151}
.pill.navy{background:var(--navy-light);color:#fff}
.pill.lime{background:var(--lime-light);color:#227039}

.alert-card{background:#fff1f1;border:1px solid #fca5a5;border-radius:var(--radius);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.alert-card.warning{background:#fffbeb;border-color:#fcd34d}
.alert-card.info{background:#ecfeff;border-color:#a5f3fc}
.alert-card .alert-icon{font-size:22px;flex-shrink:0}
.alert-card .alert-body h4{font-size:14px;font-weight:900;margin-bottom:4px}
.alert-card .alert-body p{font-size:13px;color:var(--muted)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px}
.form-card h3{font-size:17px;font-weight:900;margin-bottom:20px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:16px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.field input,.field select,.field textarea{min-height:46px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:15px;transition:border-color .15s;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy)}
.field textarea{min-height:100px;padding:12px 14px;resize:vertical}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}
.form-note{color:var(--muted);font-size:13px;line-height:1.6;margin-top:14px}
.result{margin-top:12px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;display:none}
.result.show{display:block}
.result.warning{background:#fff1f1;color:#a6382d;border:1px solid #fca5a5}
.result.success{background:#edf7e9;color:#227039;border:1px solid #86efac}
.qr-reader-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.qr-reader-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}
.qr-reader-head h3{font-size:22px;font-weight:900;margin:0 0 4px}.qr-reader-head p{color:var(--muted)}
.qr-reader-grid{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(260px,.9fr);gap:22px}
.qr-camera{position:relative;min-height:340px;background:#061b31;border-radius:18px;overflow:hidden;display:grid;place-items:center;color:#fff}
.qr-camera video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.qr-frame{position:absolute;width:min(60%,280px);aspect-ratio:1;border:3px solid var(--lime);border-radius:24px;box-shadow:0 0 0 999px rgba(4,18,33,.3)}
.qr-camera-copy{position:absolute;bottom:18px;background:rgba(4,18,33,.8);padding:7px 12px;border-radius:99px;font-size:12px;font-weight:800}
.qr-reader-tools{display:flex;flex-direction:column;align-items:stretch;gap:10px}.qr-reader-tools .btn{justify-content:center}.qr-file-label{cursor:pointer}
.qr-security{font-size:12px;color:var(--muted);line-height:1.55;padding:12px;background:#f7faf8;border:1px solid var(--line);border-radius:10px}

.portal-guide{background:linear-gradient(135deg,#fff,#edf7e9);border:1px solid #d6e0da;border-radius:var(--radius);padding:26px;margin-bottom:22px}
.portal-guide h2{font-size:24px;font-weight:900;letter-spacing:-1px;margin-bottom:8px}
.portal-guide p{color:var(--muted);margin-bottom:18px}
.portal-guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.guide-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #c8d9cb;border-radius:var(--radius);background:#fff}
.guide-card .guide-icon{width:42px;height:42px;border-radius:10px;background:var(--lime-light);display:grid;place-items:center;font-size:18px;font-weight:900}
.guide-card b{display:block;font-size:14px;font-weight:800}
.guide-card small{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
.guide-card .guide-arrow{font-size:16px;color:var(--muted-light);font-weight:900}
.portal-kicker{display:inline-block;font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--lime);margin-bottom:6px}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.filter-bar input{flex:1;min-width:200px}
.filter-bar select{min-width:140px}
.search-input-wrap{position:relative;flex:1;min-width:200px}
.search-input-wrap input{width:100%;padding-left:40px}
.search-input-wrap .si-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}
.page-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}

.activity-feed{display:flex;flex-direction:column;gap:2px}
.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-light);font-size:13px}
.activity-item:last-child{border-bottom:none}
.activity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}
.activity-item .activity-time{color:var(--muted-light);white-space:nowrap;font-size:12px;min-width:130px}
.activity-item .activity-text{color:var(--muted)}
.empty-state{padding:60px 40px;text-align:center;color:var(--muted)}
.empty-state .empty-icon{font-size:48px;margin-bottom:14px}
.empty-state h3{font-size:18px;font-weight:900;color:var(--navy);margin-bottom:8px}
.empty-state p{font-size:14px;max-width:360px;margin:0 auto 20px}
.toast-wrap{position:fixed;bottom:28px;right:28px;z-index:200;display:flex;flex-direction:column;gap:8px}
.toast{padding:14px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;box-shadow:var(--shadow-lg);animation:toastIn .25s ease;max-width:320px}
.toast.ok{background:#1a5c28;color:#fff}
.toast.err{background:var(--danger);color:#fff}
@keyframes toastIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.health-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.health-vital{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center}
.health-vital span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);display:block;margin-bottom:4px}
.health-vital b{font-size:26px;font-weight:900;color:var(--danger)}
.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 18px}
.metric-card .metric-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}
.metric-card .metric-value{font-size:36px;font-weight:900;letter-spacing:-1px;color:var(--navy);line-height:1}
.metric-card .metric-sub{font-size:12px;color:var(--muted);margin-top:5px;font-weight:600}
.metric-card.alert .metric-value{color:var(--danger)}
.metric-card.lime .metric-value{color:var(--lime)}


.profile-header{display:flex;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--navy);color:#fff;font-size:28px;font-weight:900;display:grid;place-items:center;flex-shrink:0}
.profile-info h2{font-size:22px;font-weight:900;letter-spacing:-.8px}
.profile-info p{color:var(--muted);font-size:14px}
.profile-row{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-light);font-size:14px}
.profile-row:last-child{border-bottom:none}
.profile-row strong{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.settings-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}
.settings-group-header{padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px;font-weight:900;background:#f7faf8}
.settings-group-body{padding:20px}
.transfer-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:10px;align-items:center}
.transfer-card .tc-meta small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:block;margin-bottom:3px}
.transfer-card .tc-meta p{font-size:14px;font-weight:700}
.transfer-card .tc-meta p+small{font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}
.mobile-top-bar{display:none;position:sticky;top:0;z-index:90;background:var(--navy);padding:14px 18px;align-items:center;justify-content:space-between;gap:12px}
.mobile-top-bar .mt-brand{color:#fff;font-weight:900;font-size:16px}
.mobile-top-bar .mt-brand span{color:var(--lime)}
.mobile-hamburger{min-width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);color:#fff;font-size:22px;background:var(--navy-mid);flex-shrink:0}
.portal-overlay{display:none;position:fixed;inset:0;z-index:79;background:rgba(4,18,33,.55);backdrop-filter:blur(2px)}
.portal-overlay.open{display:block}
.portal-login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.portal-brand-panel{background:var(--navy);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:space-between}
.portal-brand-panel .brand img{width:58px;height:58px}
.portal-brand-panel h1{font-size:58px;letter-spacing:-3px}
.portal-login-panel{display:grid;place-items:center;padding:35px}
.portal-login-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow-lg)}
.role-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:28px}
.role-switch a{display:block;padding:10px 6px;text-align:center;border-radius:var(--radius-sm);font-weight:800;font-size:13px;color:var(--muted);border:1.5px solid var(--line);transition:all .15s}
.role-switch a:hover{border-color:var(--navy);color:var(--navy)}
.role-switch a.active{background:var(--navy);color:#fff;border-color:var(--navy)}

.eyebrow{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--lime);margin-bottom:8px}
#login-title{font-size:26px;font-weight:900;letter-spacing:-1px;margin-bottom:6px}
#login-copy{color:var(--muted);font-size:15px;margin-bottom:24px}
.field{margin-bottom:16px}
.field label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:block;margin-bottom:5px}
.field input{width:100%;min-height:48px;padding:0 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:16px;transition:border-color .15s}
.field input:focus{outline:none;border-color:var(--navy)}
.btn.full{width:100%;justify-content:center}
.form-note.login-note{text-align:center;margin-top:20px;color:var(--muted);font-size:13px}
.skeleton{background:linear-gradient(90deg,#f0f4f1 25%,#e4ebe7 50%,#f0f4f1 75%);background-size:200% 100%;animation:skel 1.4s ease infinite;border-radius:6px}
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sk-stat{height:80px;border-radius:var(--radius)}
.sk-row{height:48px;border-radius:var(--radius-sm);margin-bottom:8px}
.flex-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.divider{height:1px;background:var(--line);margin:20px 0}
.hidden{display:none !important}
.text-muted{color:var(--muted)}
.text-danger{color:var(--danger)}
.text-lime{color:var(--lime)}
.text-sm{font-size:13px}.text-xs{font-size:12px}.fw-bold{font-weight:800}.mono{font-family:var(--font-mono)}
@media(max-width:1100px){.portal-main{padding:28px 24px}.stat-grid{grid-template-columns:repeat(3,1fr)}.metrics-row{grid-template-columns:repeat(2,1fr)}.health-vitals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.portal-sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);z-index:80;box-shadow:var(--shadow-lg)}.portal-sidebar.drawer-open{transform:translateX(0)}.mobile-top-bar{display:flex}.portal-main{padding:22px 16px 40px}.stat-grid{grid-template-columns:repeat(2,1fr)}.metrics-row{grid-template-columns:repeat(2,1fr)}.portal-guide-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.profile-header{flex-wrap:wrap}.transfer-card{grid-template-columns:1fr}}
@media(max-width:650px){.portal-top-bar{flex-wrap:wrap}.portal-top-bar h1{font-size:26px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px 14px}.stat b{font-size:22px}.portal-card{padding:18px;border-radius:12px}.portal-table thead{display:none}.portal-table tbody{display:grid;gap:10px}.portal-table tbody tr{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;display:block;width:100%}.portal-table tbody td{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line-light);font-size:13px}.portal-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);flex-shrink:0}.portal-table tbody td:last-child{border-bottom:none}.portal-login-shell{grid-template-columns:1fr}.portal-brand-panel{display:none}.portal-login-panel{padding:24px 16px;align-items:flex-start}.page-actions{flex-direction:column;align-items:stretch}.filter-bar{flex-direction:column}.filter-bar input,.filter-bar select,.search-input-wrap{width:100%}}
@media(max-width:380px){.stat-grid{grid-template-columns:1fr}.metrics-row{grid-template-columns:1fr}.health-vitals{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.qr-reader-head{flex-direction:column}.qr-reader-grid{grid-template-columns:1fr}.qr-camera{min-height:290px}.qr-reader-card{padding:16px}}

:root{--g-navy:#061b31;--g-navy2:#0c3452;--g-lime:#b9ff3d;--g-bg:#f3f6f4;--g-card:#fff;--g-text:#0a241e;--g-muted:#667870;--g-line:#d8e2dc;--g-primary:#0a3654;--g-green:#238048;--g-danger:#c5362d;--g-radius:16px;--g-shadow:0 18px 48px rgba(6,27,49,.09)}
*,*::before,*::after{box-sizing:border-box}.owner-body{margin:0;min-height:100vh;background:var(--g-bg);color:var(--g-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.owner-body [hidden]{display:none!important}.owner-body a{text-decoration:none}.owner-body button,.owner-body input,.owner-body select,.owner-body textarea{font:inherit}
.owner-login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.owner-login-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#061b31 0%,#102f50 60%,#164b60 100%);color:#fff;padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between}.owner-login-story::after{content:"";position:absolute;width:640px;height:640px;border:110px solid rgba(185,255,61,.06);border-radius:50%;right:-330px;bottom:-350px}.owner-login-story .brand{display:flex;align-items:center;gap:13px;color:#fff;position:relative;z-index:1}.owner-login-story .brand b{font-size:24px;font-weight:900}.owner-login-story .brand b span{display:block;font-size:11px;letter-spacing:1.7px;color:#9fb8ca;text-transform:uppercase}.owner-login-hero{position:relative;z-index:1;max-width:620px}.owner-login-hero .portal-kicker{display:inline-flex;background:rgba(185,255,61,.12);color:var(--g-lime);padding:7px 13px;border-radius:99px;font-size:11px;font-weight:900;letter-spacing:1.7px}.owner-login-hero h1{font-size:clamp(46px,5vw,76px);line-height:.98;letter-spacing:-3.8px;margin:20px 0 22px;color:#fff}.owner-login-hero p{font-size:18px;line-height:1.7;color:#c4d3df;max-width:560px}.owner-trust{display:flex;flex-wrap:wrap;gap:9px;position:relative;z-index:1}.owner-trust span{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:99px;color:#d8e5ed;font-size:12px;font-weight:750}
.owner-login-form{display:grid;place-items:center;background:#eaf0ed;padding:32px}.owner-login-form .portal-login-card{width:min(460px,100%);background:#fff;border:1px solid var(--g-line);border-radius:24px;padding:38px;box-shadow:var(--g-shadow)}.owner-login-form .eyebrow{font-size:11px;font-weight:900;letter-spacing:1.7px;color:var(--g-green);margin-bottom:8px}.owner-login-form h2{font-size:34px;letter-spacing:-1.3px;color:var(--g-text);margin:0 0 6px}.owner-login-form .portal-login-card>p{color:var(--g-muted);margin:0 0 24px}.owner-body .field{display:block;margin-bottom:16px}.owner-body .field>span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--g-muted);margin-bottom:6px}.owner-body .field input,.owner-body .field select,.owner-body .field textarea{display:block;width:100%;min-height:48px;border:1.5px solid var(--g-line);background:#fff;color:var(--g-text);padding:11px 14px;border-radius:10px}.owner-body .field textarea{min-height:96px;resize:vertical}.owner-body .field input:focus,.owner-body .field select:focus,.owner-body .field textarea:focus{outline:0;border-color:var(--g-primary);box-shadow:0 0 0 3px rgba(10,54,84,.1)}.owner-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:850;cursor:pointer}.owner-body .btn.primary{background:var(--g-primary);color:#fff}.owner-body .btn.outline{background:#fff;color:var(--g-primary);border-color:#b9c9c0}.owner-body .btn.danger-outline{background:#fff;color:var(--g-danger);border-color:#efb1ac}.owner-body .btn.full{width:100%}.owner-body .btn.sm{padding:7px 12px;font-size:12px}.form-note{font-size:12px;line-height:1.55;color:var(--g-muted);text-align:center;margin-top:18px}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--g-muted);font-size:12px}.login-divider::before,.login-divider::after{content:"";height:1px;background:var(--g-line);flex:1}.result{display:none;margin-top:12px;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:750}.result.show,.result.error,.result.loading{display:block}.result.success{background:#ebf8ed;color:#1d6c39;border:1px solid #a8dfb4}.result.warning,.result.error{background:#fff0ef;color:#9e2e28;border:1px solid #f0b1ad}.result.loading{background:#edf6fa;color:#135879;border:1px solid #b9dce9}
.owner-shell{display:flex;min-height:100vh;background:var(--g-bg)}.owner-sidebar{position:sticky;top:0;width:278px;min-width:278px;height:100vh;overflow-y:auto;background:var(--g-navy);color:#fff;display:flex;flex-direction:column;z-index:80;transition:transform .25s ease}.owner-sidebar .ps-brand{display:flex;align-items:center;gap:11px;padding:20px;border-bottom:1px solid #20405b;color:#fff}.owner-sidebar .ps-brand b{font-size:18px}.owner-sidebar .ps-brand b span{display:block;color:#7fa0b8;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.qr-switcher{padding:13px 16px;border-bottom:1px solid #20405b}.qr-switcher select{width:100%;height:42px;border:1px solid #35526b;border-radius:9px;background:#0b2944;color:#fff;padding:0 10px}.owner-sidebar .ps-user{padding:16px 20px;border-bottom:1px solid #20405b}.owner-sidebar .ps-user small{display:block;color:#7fa0b8;font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.owner-sidebar .ps-user b{display:block;margin:4px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-sidebar .ps-user .mono{color:#a5bed0;font-size:11px}.owner-sidebar .ps-nav{flex:1;padding:12px 9px;overflow-y:auto}.owner-sidebar .ps-nav-section{margin-bottom:18px}.owner-sidebar .ps-nav-label{display:block;padding:6px 12px;color:#63839c;font-size:9px;font-weight:900;letter-spacing:1.4px}.owner-sidebar .ps-nav a{display:flex;align-items:center;gap:10px;margin:2px 0;padding:9px 11px;border-radius:9px;color:#9ab4c8;font-size:13px;font-weight:780}.owner-sidebar .ps-nav a:hover{background:#0d304e;color:#fff}.owner-sidebar .ps-nav a.active{background:rgba(185,255,61,.13);color:var(--g-lime)}.owner-sidebar .nav-icon{width:20px;text-align:center}.owner-sidebar .nav-count{margin-left:auto;display:grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:#da3731;color:#fff;font-size:10px}.owner-sidebar .ps-footer{padding:13px 17px;border-top:1px solid #20405b}.owner-sidebar .ps-public,.owner-sidebar .ps-signout{display:flex;width:100%;border:0;background:transparent;color:#8faabd;padding:9px 8px;font-size:13px;font-weight:750;cursor:pointer}
.owner-main{flex:1;min-width:0;max-width:1500px;padding:32px clamp(22px,3vw,48px) 50px;color:var(--g-text)}.owner-main .portal-top-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid var(--g-line)}.owner-main .portal-top-bar h1{margin:0;color:var(--g-text);font-size:32px;line-height:1.1;letter-spacing:-1.2px}.owner-main .portal-top-bar-right{display:flex;align-items:center;gap:9px}.owner-body .pill{display:inline-flex;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:850}.owner-body .pill.green,.owner-body .pill.lime{background:#e8f7ea;color:#1f743d}.owner-body .pill.red{background:#fff0ef;color:#a1322b}.owner-body .pill.gray{background:#edf1ef;color:#53645c}.owner-body .pill.blue{background:#e9f5fb;color:#176284}.mobile-top-bar{display:none}
.owner-card{background:var(--g-card);border:1px solid var(--g-line);border-radius:var(--g-radius);margin-bottom:18px;overflow:hidden;box-shadow:0 3px 14px rgba(6,27,49,.03)}.owner-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid #e7ede9}.owner-card .card-header h3{margin:0;color:var(--g-text);font-size:16px}.owner-card .card-body{padding:20px;color:var(--g-text)}.owner-card .card-desc,.muted{color:var(--g-muted)}.card-link{font-size:12px;color:var(--g-primary);font-weight:800}.overview-hero{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,#061b31,#0e4263);color:#fff;border-radius:20px;padding:26px;margin-bottom:18px}.overview-qr-badge{height:170px;border-radius:18px;background:var(--g-lime);color:var(--g-navy);display:grid;place-items:center;text-align:center}.ov-qr-emoji{font-size:48px}.ov-qr-token{font-size:11px;font-weight:850}.overview-hero-right{display:flex;align-items:center;justify-content:space-between;gap:18px}.overview-identity h2{font-size:32px;letter-spacing:-1px;margin:0;color:#fff}.overview-sub{color:#bdd0dc}.overview-pills,.overview-actions{display:flex;gap:8px;flex-wrap:wrap}.overview-stats,.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat-card,.stat{background:#fff;border:1px solid var(--g-line);border-radius:14px;padding:18px}.stat-value,.stat b{font-size:26px;font-weight:900;color:var(--g-text)}.stat-label,.stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--g-muted);font-weight:850}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.overview-grid .full-col{grid-column:1/-1}.activity-row,.doc-row,.alert-row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e8eeea}.activity-row:last-child,.doc-row:last-child,.alert-row:last-child{border-bottom:0}.activity-time,.alert-time{font-size:11px;color:var(--g-muted)}.activity-text small{color:var(--g-muted)}.premium-on,.premium-off{display:flex;justify-content:space-between;gap:14px;align-items:center}.premium-on small,.premium-off small{color:var(--g-muted)}.doc-status{padding:4px 8px;border-radius:99px;font-size:11px;font-weight:850}.doc-status.green{background:#e8f7ea;color:#1f743d}.doc-status.amber{background:#fff8df;color:#956400}.doc-status.red{background:#fff0ef;color:#a1322b}.inbox-tabs{display:flex;gap:8px;margin-bottom:16px}.tab-btn{border:1px solid var(--g-line);background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;color:var(--g-muted)}.tab-btn.active{background:var(--g-primary);color:#fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e8eeea;color:var(--g-text)}.toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--g-primary)}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.feature-list{padding-left:20px;line-height:1.9}.renewal-hero-inner{display:flex;align-items:center;gap:18px}.renewal-badge{width:64px;height:64px;border-radius:18px;background:#e8f7ea;color:var(--g-green);display:grid;place-items:center;font-size:30px}.renewal-price-tag b{font-size:38px}.renewal-price-tag span{color:var(--g-muted)}.docs-list,.activity-list,.qr-grid{display:grid;gap:12px;margin-bottom:18px}.qr-tile{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--g-line);border-radius:14px;padding:16px}.qr-tile-icon{width:50px;height:50px;display:grid;place-items:center;background:#edf5f0;border-radius:13px;font-size:24px}.profile-row,.profile-info .profile-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e8eeea}.profile-row span{color:var(--g-muted)}.security-info p{margin:0 0 12px}.scanner-box .qr-reader-card{box-shadow:none}.empty-state{text-align:center;padding:44px 20px;color:var(--g-muted)}
@media(max-width:1050px){.overview-stats,.stat-grid{grid-template-columns:repeat(2,1fr)}.overview-hero-right{display:block}.overview-actions{margin-top:16px}}
@media(max-width:900px){.owner-login{grid-template-columns:1fr}.owner-login-story{min-height:380px;padding:32px}.owner-login-story .brand{margin-bottom:50px}.owner-login-form{padding:28px 16px}.owner-shell{display:block}.mobile-top-bar{display:flex;position:sticky;top:0;z-index:75;background:var(--g-navy);color:#fff;padding:12px 16px;align-items:center;justify-content:space-between}.mobile-hamburger{border:0;background:#173c59;color:#fff;border-radius:9px;width:42px;height:42px}.owner-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);box-shadow:var(--g-shadow)}.owner-sidebar.drawer-open{transform:translateX(0)}.portal-overlay.open{display:block}.owner-main{padding:22px 16px 40px}.overview-grid{grid-template-columns:1fr}.overview-grid .full-col{grid-column:auto}}
@media(max-width:650px){.owner-login-story{min-height:340px}.owner-login-hero h1{font-size:44px;letter-spacing:-2px}.owner-login-form .portal-login-card{padding:26px 20px}.overview-hero{grid-template-columns:1fr}.overview-qr-badge{height:120px}.overview-hero-right{display:block}.overview-stats,.stat-grid{grid-template-columns:1fr 1fr}.activity-row,.alert-row{grid-template-columns:1fr}.activity-time,.alert-time{order:2}.qr-tile{grid-template-columns:46px 1fr}.qr-tile-action{grid-column:1/-1}.owner-main .portal-top-bar{align-items:flex-start}.profile-row,.profile-info .profile-row{grid-template-columns:1fr;gap:3px}}
@media(max-width:390px){.overview-stats,.stat-grid{grid-template-columns:1fr}.owner-trust span:nth-child(n+3){display:none}}

/* TagVomo — global UI polish. Theme-neutral, additive, low-risk.
   Loaded on every page (injected by site.js, linked in garage.html). */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
img, svg, video { max-width: 100%; height: auto; }
button, a, input, select, textarea, label { -webkit-tap-highlight-color: transparent; }
.btn, button { transition: transform .12s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease; }
.btn:active, button:active { transform: translateY(1px); }
:focus-visible { outline: 2px solid #6366f1; outline-offset: 2px; border-radius: 4px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 0; }
::selection { background: #6366f1; color: #fff; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, .45); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background-color: rgba(100, 116, 139, .65); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* TagVomo — app-shell layer: fixed app-like headers everywhere
   (marketing site, scan, garage, portals) + mobile/WebView hardening.
   Loaded LAST so these rules win ties. WebView-safe: no reliance on
   backdrop-filter for readability, overflow-x uses clip (keeps sticky alive). */

/* --- Sticky header robustness (WebView: ancestor overflow kills sticky) --- */
html, body { overflow-x: clip; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, .btn, a { touch-action: manipulation; }

.site-header,
.mobile-top-bar {
  position: -webkit-sticky;
  position: sticky;
}
/* Marketing header: sticky must live on the WRAPPER ([data-global-header]),
   because sticky only sticks within its parent — the wrapper's parent is the
   body (full height). Negative top = announcement scrolls away, menu pins. */
[data-global-header] {
  position: -webkit-sticky;
  position: sticky;
  top: calc(-1 * var(--announce-h, 0px));
  z-index: 90;
}
.global-header {
  position: static;                   /* wrapper handles sticking */
  background-color: #fafbf7;          /* solid fallback if backdrop-filter unsupported */
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(7, 27, 51, .1);
  box-shadow: 0 6px 22px rgba(7, 27, 51, .05);
  padding-top: env(safe-area-inset-top);
}
.site-header {
  top: 0;
  z-index: 90;
  background-color: #fbfcf8;
  padding-top: env(safe-area-inset-top);
}
.mobile-top-bar {
  top: 0;
  z-index: 95;
  padding-top: calc(10px + env(safe-area-inset-top));
  padding-bottom: 10px;
}

/* --- Open hamburger menu: scroll safely on short/landscape screens --- */
.global-nav.open .navlinks {
  max-height: calc(78vh - 70px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* --- Compact announcement bar on phones --- */
@media (max-width: 700px) {
  .announcement { font-size: 11px; padding-block: 7px; line-height: 1.45; }
  .announcement .wrap { padding-inline: 12px; }
  .global-nav { min-height: 58px; }
  .global-nav .brand { font-size: 16px; }
  .global-nav .brand img { width: 34px; height: 34px; }
}

/* --- Floating language pill above home-indicator / gesture bars --- */
.language-floating { bottom: calc(16px + env(safe-area-inset-bottom)) !important; }

/* --- PWA standalone (installed app): respect notches/gesture bars --- */
@media (display-mode: standalone) {
  body { padding-bottom: env(safe-area-inset-bottom); }
  footer { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}

/* --- Horizontal overflow guard for wide tables/rows on phones --- */
@media (max-width: 700px) {
  .comparison, .spec-grid, .economics, .metrics, .economics-grid { max-width: 100%; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}