:root{
  --purple:#7d16c9;--purple-2:#9c25e4;--purple-deep:#25103f;--purple-ink:#1f1035;
  --teal:#13c7c0;--teal-soft:#dff9f7;--bg:#f8f8fd;--surface:#fff;--line:#eadcf2;
  --muted:#746a82;--text:#1e1528;--danger:#e84f6a;--success:#13b98e;--shadow:0 24px 70px rgba(59,24,84,.10);
  --radius:26px;--sidebar:250px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.hidden{display:none!important}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--purple);font-weight:800;font-size:12px}.muted{color:var(--muted)}.teal{color:var(--teal)}.purple{color:var(--purple)}
.btn{border:0;border-radius:14px;min-height:48px;padding:0 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple-2));box-shadow:0 14px 30px rgba(125,22,201,.18)}.btn-outline{background:#fff;border:1px solid #d9b8eb;color:var(--purple)}.btn-soft{background:#f4eafd;color:var(--purple)}.btn-danger{background:#fff0f3;color:var(--danger);border:1px solid #ffd0da}.btn-block{width:100%}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle}.icon-lg{width:30px;height:30px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 40px rgba(72,36,96,.05)}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:750}.input,.select,.textarea{width:100%;border:1px solid #dfd0e8;border-radius:14px;background:#fff;min-height:48px;padding:0 14px;outline:none;color:var(--text)}.textarea{padding:12px;min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#bd71df;box-shadow:0 0 0 4px #f4e9fb}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.status-pill.good{background:#daf8f0;color:#06785f}.status-dot{width:9px;height:9px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(19,199,192,.12)}
/* public navigation */
.public-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,218,239,.85)}.public-nav{height:82px;display:flex;align-items:center;gap:34px}.brand{width:112px;flex:0 0 auto}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}.nav-link{font-weight:700;font-size:14px;color:#574c63;position:relative;padding:28px 0}.nav-link.active,.nav-link:hover{color:var(--purple)}.nav-link.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:18px;background:linear-gradient(90deg,var(--purple),var(--teal))}.nav-actions{display:flex;align-items:center;gap:12px}.demo-pill{border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--purple);font-weight:800;font-size:12px}.system-state{display:flex;align-items:center;gap:8px;color:#6a6076;font-size:12px}
/* landing */
.hero{background:radial-gradient(circle at 80% 20%,rgba(19,199,192,.12),transparent 32%),linear-gradient(180deg,#fff 0,#f7fbff 100%);padding:86px 0 72px}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.hero-copy h1{font-size:clamp(54px,6vw,78px);line-height:1.02;margin:22px 0 24px;letter-spacing:-.055em;max-width:620px}.hero-copy p{font-size:19px;color:#4d415a;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .btn{min-width:210px}.scanner-visual{min-height:470px;border-radius:30px;padding:30px;background:linear-gradient(145deg,#2c103f,#541481 55%,#24577a);position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(45,16,70,.24);color:#fff}.scanner-visual:before,.scanner-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);width:320px;height:320px;left:50%;top:52%;transform:translate(-50%,-50%)}.scanner-visual:after{width:245px;height:245px;border-color:rgba(19,199,192,.4)}.scanner-title{font-size:20px;font-weight:850;position:relative;z-index:2}.scanner-help{position:absolute;right:24px;top:24px;background:rgba(255,255,255,.12);border-radius:999px;padding:9px 13px;font-size:12px;z-index:2}.hero-hand{position:absolute;z-index:2;left:50%;bottom:-34px;transform:translateX(-50%);height:390px;width:auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.16))}.scan-ring{position:absolute;z-index:3;width:280px;height:280px;left:50%;top:54%;transform:translate(-50%,-50%);border:4px solid var(--teal);border-radius:50%;box-shadow:0 0 30px rgba(19,199,192,.25)}.scan-line{position:absolute;z-index:4;height:2px;width:72%;left:14%;top:56%;background:linear-gradient(90deg,transparent,var(--teal),transparent);box-shadow:0 0 14px var(--teal)}.corner{position:absolute;width:34px;height:34px;border-color:#fff;opacity:.9;z-index:4}.c1{left:50px;top:92px;border-left:3px solid;border-top:3px solid;border-radius:9px 0 0}.c2{right:50px;top:92px;border-right:3px solid;border-top:3px solid;border-radius:0 9px 0 0}.c3{left:50px;bottom:66px;border-left:3px solid;border-bottom:3px solid;border-radius:0 0 0 9px}.c4{right:50px;bottom:66px;border-right:3px solid;border-bottom:3px solid;border-radius:0 0 9px}
.steps{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.step{padding:24px 28px;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center}.step+.step{border-left:1px solid var(--line)}.step-number{position:absolute;margin-top:-46px;font-size:11px;color:#b288ca;font-weight:800}.step-icon{width:44px;height:44px;border-radius:50%;background:#f5e6fc;color:var(--purple);display:grid;place-items:center}.step:nth-child(2) .step-icon,.step:nth-child(3) .step-icon{color:var(--teal)}.step h3{font-size:14px;margin:0 0 3px}.step p{font-size:12px;color:var(--muted);margin:0}.platform{padding:74px 0 78px}.section-title{text-align:center;margin-bottom:32px}.section-title h2{font-size:38px;letter-spacing:-.04em;margin:0 0 6px}.section-title p{margin:0;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{padding:28px 24px;min-height:190px}.feature-icon{width:46px;height:46px;border-radius:14px;background:#f5e6fc;color:var(--purple);display:grid;place-items:center;margin-bottom:26px}.feature:nth-child(2) .feature-icon,.feature:nth-child(3) .feature-icon{color:var(--teal);background:#eafcfb}.feature h3{font-size:16px;margin:0 0 8px}.feature p{font-size:13px;color:var(--muted);margin:0}.trust{margin:0 auto 70px;width:min(var(--max),calc(100% - 44px));border-radius:22px;padding:30px;background:linear-gradient(110deg,#3b145a,#8f31cb 55%,#2d8db0);color:#fff}.trust h3{margin:0 0 5px;font-size:23px}.trust p{margin:0;font-size:13px;opacity:.9}.footer{border-top:1px solid var(--line);padding:28px 0 44px}.footer-inner{display:flex;align-items:center;justify-content:space-between;color:#756b80;font-size:12px}.footer .brand{width:92px}
/* auth */
.auth-page{min-height:calc(100vh - 82px);background:radial-gradient(circle at 90% 12%,rgba(19,199,192,.12),transparent 28%),radial-gradient(circle at 4% 90%,rgba(153,37,228,.08),transparent 34%);padding:62px 0}.auth-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;max-width:1060px;margin:auto}.auth-intro{padding:20px}.auth-intro h1{font-size:48px;line-height:1.05;letter-spacing:-.045em;margin:15px 0}.auth-intro p{font-size:18px;color:#5e5369;max-width:420px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow);max-width:520px;margin-left:auto;width:100%}.auth-logo{width:116px;margin:0 auto 10px}.auth-card h2{text-align:center;font-size:30px;margin:0}.auth-card>.muted{text-align:center;display:block;margin:5px auto 22px;font-size:13px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f6f2f8;padding:4px;border-radius:14px;margin-bottom:24px}.segmented button{border:0;background:transparent;border-radius:11px;min-height:42px;color:#726778;font-weight:750}.segmented button.active{background:#fff;color:var(--purple);box-shadow:0 4px 12px rgba(63,32,83,.08)}.palm-prompt{text-align:center;padding:12px 0 10px}.palm-prompt-icon{width:150px;height:150px;border-radius:50%;margin:0 auto 18px;border:1px solid var(--line);background:linear-gradient(135deg,#f6f1ff,#ecfbff);display:grid;place-items:center;color:var(--teal)}.palm-prompt-icon .icon{width:58px;height:58px}.palm-prompt h3{font-size:21px;margin:0 0 5px}.palm-prompt p{margin:0 0 24px;color:var(--muted);font-size:13px}.form-stack{display:grid;gap:15px}.auth-note{margin-top:12px;border:1px solid var(--line);border-radius:13px;padding:12px;color:#786d82;background:#faf8fc;font-size:12px}
/* app shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr;background:#fbfafd}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column}.sidebar .brand{width:104px;margin:0 12px 46px}.side-nav{display:grid;gap:8px}.side-link{height:50px;border:0;background:transparent;border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:13px;text-align:left;color:#30253d;font-weight:760}.side-link .icon{color:var(--purple)}.side-link[data-route="palms"] .icon,.side-link[data-route="pay"] .icon{color:var(--teal)}.side-link.active{background:#efe0fa;color:var(--purple);box-shadow:inset 4px 0 0 var(--purple)}.side-footer{margin-top:auto;display:grid;gap:8px}.logout{color:#493c54}.app-main{min-width:0}.app-topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:flex-end;padding:0 34px;position:sticky;top:0;z-index:20}.app-content{width:min(1100px,calc(100% - 64px));margin:0 auto;padding:62px 0 80px}.page-head{margin-bottom:24px}.page-head h1{font-size:40px;line-height:1.05;letter-spacing:-.04em;margin:8px 0 6px}.page-head p{margin:0;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:22px}.identity-card{padding:30px}.identity-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.identity-person{display:flex;align-items:center;gap:14px}.avatar{width:66px;height:66px;border-radius:22px;background:linear-gradient(135deg,#f5eaff,#effbff);display:grid;place-items:center;color:var(--purple)}.identity-person h2{font-size:28px;margin:0}.identity-person .status-pill{margin-top:5px}.identity-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}.meta-cell{padding:18px}.meta-cell:nth-child(even){border-left:1px solid var(--line)}.meta-cell:nth-child(n+3){border-top:1px solid var(--line)}.meta-label{color:#7b6d84;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.meta-value{margin-top:4px;font-weight:800;word-break:break-word}.bio-card{min-height:360px;border-radius:24px;padding:26px;background:linear-gradient(155deg,#36104e,#611887 52%,#291034);color:#fff;position:relative;overflow:hidden}.bio-card:after{content:"";width:250px;height:250px;border-radius:50%;border:2px solid rgba(19,199,192,.45);position:absolute;left:50%;top:56%;transform:translate(-50%,-50%)}.bio-card-head{display:flex;gap:14px;align-items:center;position:relative;z-index:2}.verify-badge{width:50px;height:50px;border-radius:50%;background:var(--teal);display:grid;place-items:center;font-size:26px;font-weight:900}.bio-card h3{font-size:22px;margin:0}.bio-card p{margin:2px 0 0;opacity:.8}.bio-hand{position:absolute;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;left:50%;top:56%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(154,47,220,.65),rgba(255,255,255,.08));z-index:2;color:#fff}.bio-hand .icon{width:62px;height:62px}.bio-label{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);border:1px solid rgba(19,199,192,.6);border-radius:999px;background:rgba(255,255,255,.08);padding:8px 16px;font-size:12px;z-index:2}.quick-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-card{padding:20px;display:flex;align-items:center;gap:16px;min-height:96px}.quick-card .quick-icon{width:48px;height:48px;border-radius:15px;background:#f7ecfc;color:var(--purple);display:grid;place-items:center}.quick-card:nth-child(2) .quick-icon,.quick-card:nth-child(3) .quick-icon{color:var(--teal);background:#ebfbfa}.quick-card strong{display:block}.quick-card span{color:var(--muted);font-size:12px}.quick-card .arrow{margin-left:auto;color:var(--purple);font-size:20px}
.panel-card{padding:30px}.profile-row{display:grid;grid-template-columns:52px 180px 1fr 24px;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.profile-row:first-of-type{border-top:0}.row-icon{width:44px;height:44px;border-radius:14px;background:#f7ecfc;color:var(--purple);display:grid;place-items:center}.profile-row label{font-size:13px;font-weight:800}.profile-row .value{color:#5f536b;word-break:break-word}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-head h2{margin:0;font-size:22px}.palms-list{display:grid;gap:14px}.palm-item{padding:22px;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:16px}.palm-icon{width:52px;height:52px;border-radius:17px;background:#ebfbfa;color:var(--teal);display:grid;place-items:center}.palm-item h3{margin:0}.palm-item p{margin:3px 0 0;color:var(--muted);font-size:13px}.activity-list{display:grid}.activity-item{display:grid;grid-template-columns:48px 140px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.activity-item:first-child{border-top:0}.activity-time{color:#7f7187;font-size:13px}.activity-title{font-weight:800}.activity-sub{font-size:12px;color:var(--muted)}.activity-state{background:#dff9f2;color:#087961;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.empty{padding:36px;text-align:center;color:var(--muted)}
.pay-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.balance-card{background:linear-gradient(135deg,#48116d,#9725df 58%,#327aab);border-radius:26px;color:#fff;min-height:330px;padding:34px;position:relative;overflow:hidden}.balance-card:after{content:"";width:260px;height:260px;background:rgba(255,255,255,.12);border-radius:50%;position:absolute;right:-80px;bottom:-130px}.balance-label{font-weight:800}.balance-amount{font-size:50px;font-weight:900;letter-spacing:-.04em;margin-top:34px}.balance-note{opacity:.75;margin-top:4px}.pay-actions{position:absolute;left:20px;right:20px;bottom:20px;background:#fff;color:var(--text);border-radius:19px;padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:2}.pay-action{border:0;background:transparent;border-radius:13px;padding:10px 4px;font-weight:750;font-size:11px}.pay-action .icon{display:block;margin:0 auto 6px;color:var(--purple)}.pay-menu{padding:0;overflow:hidden}.pay-option{height:96px;padding:0 22px;border:0;background:#fff;width:100%;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:14px;text-align:left;border-top:1px solid var(--line)}.pay-option:first-child{border-top:0}.pay-option .row-icon{color:var(--purple)}.pay-option strong{display:block}.pay-option small{color:var(--muted)}
/* scanner */
.scan-page{padding-bottom:30px}.scan-card{max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.scan-heading{text-align:center;margin-bottom:18px}.scan-heading h2{font-size:28px;margin:0}.camera-wrap{position:relative;background:#15121c;border-radius:24px;overflow:hidden;aspect-ratio:4/3}.camera-wrap video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}.camera-wrap.rear video{transform:none}.scan-overlay{position:absolute;inset:0;pointer-events:none}.scan-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62%;height:70%;border-radius:32px}.scan-frame:before,.scan-frame:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:32px;background:linear-gradient(90deg,var(--teal),var(--purple)) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:.85}.scan-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(19,199,192,.25),transparent 70%);left:50%;top:50%;transform:translate(-50%,-50%)}.scan-status{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(30,15,43,.82);backdrop-filter:blur(8px);border-radius:14px;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:13px}.scan-status .status-dot{flex:0 0 auto}.scan-tools{display:flex;justify-content:center;gap:10px;margin-top:16px}.scan-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.guide-chip{background:#f8f5fa;border-radius:13px;padding:12px;text-align:center;font-size:12px;color:#655a70}.progress-dots{display:flex;justify-content:center;gap:7px;margin:16px 0}.progress-dots span{width:7px;height:7px;border-radius:50%;background:#decbe8}.progress-dots span.active{width:22px;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--teal))}
/* enroll / thesis */
.wizard{max-width:880px}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.wizard-step{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:#786d82}.wizard-step b{width:25px;height:25px;border-radius:50%;background:#f2e5f9;color:var(--purple);display:grid;place-items:center}.wizard-step.active{border-color:#c874e7;color:var(--purple)}.wizard-step.active b{background:var(--teal);color:#fff}.consent{display:flex;gap:10px;align-items:flex-start;border:1px solid #c9ece9;background:#f2fffe;border-radius:14px;padding:13px;font-size:12px;color:#51465a}.consent input{margin-top:2px}.research-card{max-width:850px}.research-intro{display:grid;grid-template-columns:80px 1fr;gap:20px;align-items:center}.research-badge{width:72px;height:72px;border-radius:22px;background:#f0e6fa;color:var(--purple);display:grid;place-items:center}.attempts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.attempt{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:#fff}.attempt.done{background:#ecfcf8;border-color:#bdebe0}.attempt strong{font-size:21px;display:block}.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* modal + toast */
.modal-backdrop{position:fixed;inset:0;background:rgba(23,12,31,.5);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(520px,100%);background:#fff;border-radius:24px;border:1px solid var(--line);padding:26px;box-shadow:0 30px 90px rgba(20,9,31,.25)}.modal h2{margin:0 0 8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toast-root{position:fixed;right:20px;top:20px;bottom:auto;z-index:150;display:grid;gap:10px;pointer-events:none}.toast{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:start;gap:11px;background:#22132c;color:#fff;border-radius:16px;padding:13px 12px 13px 13px;box-shadow:0 18px 50px rgba(20,9,31,.2);min-width:280px;max-width:390px;pointer-events:auto;opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .18s ease,transform .18s ease}.toast.visible{opacity:1;transform:none}.toast.leaving{opacity:0;transform:translateY(-8px) scale(.98)}.toast.success{background:#0c725f}.toast.error{background:#9c2643}.toast-icon{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center}.toast-icon .icon{width:21px;height:21px}.toast-copy{min-width:0}.toast-copy strong{display:block;font-size:13px;line-height:1.2;margin:1px 0 4px}.toast-copy span{display:block;font-size:12px;line-height:1.42;overflow-wrap:anywhere}.toast-close{width:30px;height:30px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer}.toast-close .icon{width:16px;height:16px}.toast-close:hover{background:rgba(255,255,255,.18)}
.mobile-bar{display:none}
@media(max-width:980px){
  :root{--max:900px}.nav-links{display:none}.system-state{display:none}.hero{padding-top:52px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-copy{text-align:center}.hero-copy h1{font-size:58px;margin-inline:auto}.hero-actions{justify-content:center}.scanner-visual{max-width:620px;width:100%;margin:auto}.feature-grid{grid-template-columns:1fr 1fr}.app-shell{display:block}.sidebar{display:none}.app-topbar{height:64px;padding:0 18px}.app-content{width:min(100% - 32px,760px);padding:34px 0 100px}.mobile-bar{position:fixed;z-index:40;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:66px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 15px 40px rgba(48,18,69,.16);border-radius:22px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px}.mobile-link{border:0;background:transparent;color:#776b81;border-radius:15px;display:grid;place-items:center;font-size:10px;font-weight:800}.mobile-link .icon{width:19px;height:19px}.mobile-link.active{background:#f1e5fa;color:var(--purple)}.dashboard-grid,.pay-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.bio-card{min-height:320px}.auth-grid{grid-template-columns:1fr}.auth-intro{text-align:center}.auth-intro p{margin-inline:auto}.auth-card{margin:auto}.profile-row{grid-template-columns:48px 130px 1fr 16px}.activity-item{grid-template-columns:42px 90px 1fr}.activity-state{display:none}.wizard-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  body{font-size:14px}.container{width:calc(100% - 28px)}.public-nav{height:68px}.public-nav .brand{width:90px}.nav-actions .demo-pill{display:none}.nav-actions .btn{min-height:40px;padding:0 14px}.hero{padding:38px 0 44px}.hero-grid{gap:28px}.hero-copy h1{font-size:45px}.hero-copy p{font-size:16px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.scanner-visual{min-height:380px;padding:22px}.hero-hand{height:305px}.scan-ring{width:220px;height:220px}.steps{grid-template-columns:1fr}.step+.step{border-left:0;border-top:1px solid var(--line)}.feature-grid{grid-template-columns:1fr}.section-title h2{font-size:31px}.trust{width:calc(100% - 28px)}.footer-inner{gap:18px;align-items:flex-start}.auth-page{padding:28px 0}.auth-grid{gap:22px}.auth-intro{padding:0}.auth-intro h1{font-size:38px}.auth-card{padding:22px;border-radius:23px}.app-content{width:calc(100% - 28px);padding-top:26px}.page-head h1{font-size:32px}.identity-card,.panel-card{padding:20px}.identity-head{align-items:flex-start}.identity-head>.btn{display:none}.identity-person h2{font-size:24px}.avatar{width:54px;height:54px}.identity-meta{grid-template-columns:1fr}.meta-cell:nth-child(even){border-left:0}.meta-cell:nth-child(n+2){border-top:1px solid var(--line)}.bio-card{min-height:300px}.quick-card{min-height:78px}.profile-row{grid-template-columns:44px 1fr 18px}.profile-row label{grid-column:2}.profile-row .value{grid-column:2}.profile-row>span:last-child{grid-column:3;grid-row:1/3}.palm-item{grid-template-columns:48px 1fr}.palm-item>.btn{grid-column:1/-1}.pay-actions{grid-template-columns:repeat(2,1fr);position:relative;left:auto;right:auto;bottom:auto;margin-top:40px}.balance-card{min-height:420px}.balance-amount{font-size:42px}.scan-card{padding:14px;border-radius:22px}.camera-wrap{aspect-ratio:3/4}.scan-guide{grid-template-columns:1fr}.wizard-steps{grid-template-columns:1fr 1fr}.survey-grid{grid-template-columns:1fr}.attempts{grid-template-columns:repeat(5,1fr);gap:5px}.attempt{padding:10px 5px}.research-intro{grid-template-columns:56px 1fr}.research-badge{width:54px;height:54px}.modal{padding:20px}.grid-2{grid-template-columns:1fr}
}

/* v3.0.2 interaction + visual polish */
.mobile-logout{display:none;border:1px solid var(--line);background:#fff;color:#5d5068;border-radius:999px;min-height:38px;padding:0 13px;align-items:center;gap:7px;font-weight:800}
.mobile-logout .icon{width:17px;height:17px;color:var(--danger)}
.camera-wrap{transition:filter .2s ease,box-shadow .2s ease}
.camera-wrap.captured video{filter:grayscale(1) brightness(.55);transition:filter .18s ease}
.camera-wrap.captured .scan-frame,.camera-wrap.captured .scan-glow{opacity:.18}
.camera-wrap.captured .scan-status{background:rgba(28,28,32,.9)}
.camera-wrap.captured .scan-status .status-dot{background:#a8adb3;box-shadow:0 0 0 5px rgba(168,173,179,.13)}
.capture-confirm{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);min-width:245px;padding:20px 24px;border-radius:22px;background:rgba(24,23,29,.86);backdrop-filter:blur(14px);color:#fff;text-align:center;opacity:0;transition:.2s ease}
.capture-confirm strong,.capture-confirm span{display:block}.capture-confirm strong{font-size:18px;margin-top:8px}.capture-confirm span{font-size:12px;opacity:.75;margin-top:2px}.capture-check{width:48px;height:48px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#8d9299;color:#fff;font-size:26px;font-weight:900}
.camera-wrap.captured .capture-confirm{opacity:1;transform:translate(-50%,-50%) scale(1)}
.camera-wrap.captured .scan-line{opacity:0}
.recognition-result{text-align:center}.recognition-check{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:linear-gradient(135deg,var(--teal),#21a9bc);color:#fff;font-size:38px;font-weight:900;box-shadow:0 16px 35px rgba(19,199,192,.22)}.recognition-result h2{font-size:34px;margin:8px 0}.recognition-result p{max-width:380px;margin:0 auto 20px}.recognition-score{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:15px;background:#f6f4f8;margin:0 0 18px;color:#716678}.recognition-score strong{color:var(--purple);font-size:18px}
.scan-card{max-width:800px;padding:28px}.scan-heading{max-width:560px;margin:0 auto 20px}.scan-heading h2{font-size:32px;letter-spacing:-.03em}.camera-wrap{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 18px 45px rgba(32,16,44,.12)}.scan-frame{width:58%;height:72%}.scan-tools .btn{min-width:145px}.guide-chip{border:1px solid #eee5f3;background:#fbf9fc}
@media(max-width:980px){.app-topbar{justify-content:space-between}.mobile-logout{display:inline-flex}.app-topbar:before{content:'VEINA';font-weight:900;letter-spacing:.08em;color:var(--purple);font-size:13px}.app-topbar .status-pill{margin-left:auto;margin-right:10px}}
@media(max-width:640px){.app-topbar .status-pill{font-size:0;padding:8px}.app-topbar .status-pill .status-dot{margin:0}.mobile-logout span{display:none}.mobile-logout{width:38px;padding:0;justify-content:center}.scan-heading h2{font-size:27px}.scan-card{padding:13px}.scan-tools{display:grid;grid-template-columns:1fr 1fr}.scan-tools .btn{min-width:0}.scan-tools #manualCapture{grid-column:1/-1}.capture-confirm{min-width:210px;padding:17px}.camera-wrap.captured .scan-status{opacity:.22}}
/* v3.0.3 · integridad de palmas */
.palm-warning{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;padding:16px 18px;border:1px solid #f1c9d4;background:#fff7f9;border-radius:18px;color:#6d3343}.palm-warning strong{white-space:nowrap}.palm-warning span{color:#7a6170}.palm-item.duplicate{border-color:#efb8c7;background:#fffafb}.duplicate-tag{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff0f3;color:#bd3d5b;font-size:10px;vertical-align:middle}@media(max-width:640px){.palm-warning{display:grid}.palm-warning strong{white-space:normal}}
/* v3.0.3 · integridad de palmas */
.palm-warning{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;padding:16px 18px;border:1px solid #f1c9d4;background:#fff7f9;border-radius:18px;color:#6d3343}.palm-warning strong{white-space:nowrap}.palm-warning span{color:#7a6170}.palm-item.duplicate{border-color:#efb8c7;background:#fffafb}.duplicate-tag{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff0f3;color:#bd3d5b;font-size:10px;vertical-align:middle}@media(max-width:640px){.palm-warning{display:grid}.palm-warning strong{white-space:normal}}

/* ============================================================
   VEINA 3.1.0 · Prototype visual alignment
   Pure presentation layer: API, biometrics and DB flows unchanged.
   ============================================================ */
:root{
  --bg:#fbf9fd;--surface:#fff;--line:#eadff0;--muted:#756c7e;--text:#1d1427;
  --purple:#8616d4;--purple-2:#a725e6;--purple-deep:#40105f;--teal:#12c8c2;
  --radius:24px;--sidebar:238px;--max:1220px;
}
body{background:linear-gradient(180deg,#fcfbfe 0%,#faf8fd 100%);font-weight:450}
.card{box-shadow:0 10px 32px rgba(71,34,91,.035)}
.btn{border-radius:13px;letter-spacing:-.01em}.btn-primary{box-shadow:0 12px 28px rgba(134,22,212,.16)}
.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:850}

/* Public site */
.public-nav{height:76px}.public-nav .brand{width:104px}.nav-links{gap:30px}.nav-link{font-size:13px;padding:25px 0}.nav-link.active:after{bottom:16px}
.hero{padding:80px 0 68px}.hero-grid{grid-template-columns:.92fr 1.08fr;gap:76px}.hero-copy h1{font-size:68px;max-width:540px;margin:20px 0 24px}.hero-copy p{font-size:17px;line-height:1.65}.scanner-visual{min-height:448px;border-radius:28px}.steps{margin-top:50px}.platform{padding:68px 0 74px}.section-title h2{font-size:36px}.feature{min-height:180px;border-radius:22px}.trust{margin-bottom:62px}

/* Auth */
.auth-page{min-height:calc(100vh - 76px);padding:64px 0;background:radial-gradient(circle at 86% 18%,rgba(18,200,194,.10),transparent 28%),radial-gradient(circle at 7% 78%,rgba(134,22,212,.055),transparent 31%),#fbfaff}.auth-grid{grid-template-columns:.9fr 1.1fr;gap:86px}.auth-intro h1{font-size:46px}.auth-card{max-width:500px;padding:36px;border-radius:26px;box-shadow:0 24px 70px rgba(63,26,83,.08)}.auth-logo{width:108px}.palm-prompt-icon{width:138px;height:138px}.segmented{margin-bottom:20px}

/* Desktop app */
.sidebar{padding:24px 14px;border-right-color:#ece3f1}.sidebar .brand{width:96px;margin:0 12px 54px}.side-nav{gap:7px}.side-link{height:48px;padding:0 14px;border-radius:13px;font-size:14px;font-weight:700}.side-link.active{background:linear-gradient(90deg,#f0e1fb,#ead8f8);box-shadow:inset 3px 0 0 var(--purple)}
.app-topbar{height:62px;padding:0 28px;background:rgba(255,255,255,.82)}.app-topbar .status-pill{padding:7px 11px}.app-content{width:min(1040px,calc(100% - 72px));padding:58px 0 88px}.page-head{margin-bottom:22px}.page-head h1{font-size:38px;margin:7px 0 4px}.page-head p{font-size:14px}.dashboard-grid{grid-template-columns:1.34fr .86fr;gap:20px}.identity-card{padding:28px}.identity-head{margin-bottom:22px}.avatar{width:60px;height:60px;border-radius:19px}.identity-person h2{font-size:25px}.identity-person .status-pill{padding:6px 10px}.identity-meta{border-radius:16px}.meta-cell{padding:16px 17px}.meta-label{font-size:10px}.meta-value{font-size:14px}.bio-card{min-height:338px;border-radius:22px;padding:25px;background:linear-gradient(145deg,#3d0f58 0%,#67138b 58%,#2d1648 100%);box-shadow:0 18px 40px rgba(52,15,74,.11)}.bio-card:after{width:230px;height:230px}.bio-card h3{font-size:20px}.bio-hand{width:104px;height:104px}.bio-hand .icon{width:55px;height:55px}.bio-label{bottom:24px}.quick-grid{gap:14px}.quick-card{min-height:88px;padding:17px 19px;border-radius:20px}.quick-card .quick-icon{width:45px;height:45px}.panel-card{padding:27px;border-radius:22px}.panel-head h2{font-size:21px}.profile-row{grid-template-columns:48px 175px 1fr 20px;padding:14px 0}.row-icon{width:42px;height:42px}.palm-item{padding:19px;border-radius:17px}.activity-item{padding:15px 0}.activity-title{text-transform:none}.activity-state{padding:6px 10px}

/* Give inner screens the same measured prototype canvas */
@media(min-width:981px){
  .app-content>.page-head,.app-content>.dashboard-grid,.app-content>.card,.app-content>.palm-warning,.app-content>.pay-grid{max-width:1020px;margin-left:auto;margin-right:auto}
  .app-content>.card+.card{margin-left:auto!important;margin-right:auto!important}
  .activity-list{min-height:120px}
}

/* Tablet / mobile application */
@media(max-width:980px){
  body{background:#fbf9fd}.app-main{min-height:100vh}.app-topbar{height:72px;padding:0 22px;border-bottom:1px solid #eadff0;background:rgba(255,255,255,.94)}
  .app-topbar:before{content:'VEINA';font-size:14px;letter-spacing:.18em;font-weight:900;color:var(--purple)}
  .app-topbar .status-pill{margin-left:auto;margin-right:12px}.app-content{width:min(100% - 40px,720px);padding:44px 0 calc(122px + env(safe-area-inset-bottom))}
  .page-head{margin-bottom:28px}.page-head h1{font-size:38px}.page-head p{font-size:16px}
  .dashboard-grid{gap:18px}.identity-card,.panel-card{padding:26px}.bio-card{min-height:360px}.quick-grid{gap:14px}.quick-card{min-height:92px}
  .mobile-bar{left:20px;right:20px;bottom:max(16px,env(safe-area-inset-bottom));height:74px;padding:7px;border-radius:24px;box-shadow:0 18px 50px rgba(50,19,69,.17)}
  .mobile-link{font-size:11px;gap:2px}.mobile-link .icon{width:21px;height:21px}
}

@media(max-width:640px){
  :root{--radius:22px}
  .public-nav{height:72px}.public-nav .brand{width:96px}.nav-actions .btn{border-radius:14px}.hero{padding:42px 0 48px}.hero-copy h1{font-size:44px;line-height:1.03;letter-spacing:-.05em}.hero-copy p{font-size:16px;line-height:1.55}.scanner-visual{min-height:365px;border-radius:24px}.platform{padding:54px 0}.feature{min-height:auto}.trust{padding:24px}
  .auth-page{padding:34px 0 46px}.auth-grid{gap:28px}.auth-intro{padding:0 4px}.auth-intro .eyebrow{text-align:center}.auth-intro h1{font-size:39px;text-align:center}.auth-intro p{font-size:17px;line-height:1.55;text-align:center}.auth-card{padding:24px 20px;border-radius:25px}.auth-logo{width:104px}.auth-card h2{font-size:29px}.palm-prompt-icon{width:132px;height:132px}
  .app-topbar{height:70px;padding:0 24px}.app-content{width:calc(100% - 32px);padding-top:42px;padding-bottom:calc(126px + env(safe-area-inset-bottom))}.page-head{margin-bottom:26px}.page-head h1{font-size:36px;line-height:1.04;letter-spacing:-.045em}.page-head p{font-size:15.5px;line-height:1.45}.page-head .eyebrow{font-size:12px}
  .identity-card,.panel-card{padding:22px;border-radius:24px}.identity-person{gap:12px}.identity-person h2{font-size:25px}.avatar{width:58px;height:58px}.identity-meta{margin-top:18px;border-radius:18px}.meta-cell{padding:18px 16px}.meta-label{font-size:11px;letter-spacing:.11em}.meta-value{font-size:15px}.bio-card{min-height:335px;border-radius:24px;padding:24px}.bio-card h3{font-size:22px}.bio-card:after{width:220px;height:220px}.bio-hand{width:108px;height:108px}.quick-card{padding:19px 20px;min-height:96px;border-radius:22px}.quick-card strong{font-size:16px}.quick-card span{font-size:13px}
  .panel-head{align-items:center}.panel-head h2{font-size:22px}.profile-row{padding:18px 0;row-gap:3px}.profile-row label{font-size:14px}.profile-row .value{font-size:15px}.row-icon{width:46px;height:46px}.palm-item{padding:20px;border-radius:20px;gap:14px}.palm-item h3{font-size:18px}.palm-item p{font-size:13px}.palm-item>.btn{min-height:48px;margin-top:4px}.activity-item{grid-template-columns:46px 1fr!important;gap:10px 14px;padding:17px 0}.activity-time{grid-column:2;font-size:13px}.activity-item>div:nth-child(3){grid-column:2}.activity-title{font-size:16px}.activity-sub{font-size:13px}.activity-state{display:none}
  .mobile-bar{left:14px;right:14px;height:72px;bottom:max(12px,env(safe-area-inset-bottom));border-radius:23px}.mobile-link{font-size:10px}.mobile-link.active{background:#f0e1fa}.mobile-link .icon{width:20px;height:20px}
  .scan-card{padding:12px;border-radius:24px}.camera-wrap{border-radius:21px}.scan-guide{gap:9px}.guide-chip{min-height:50px;border-radius:15px}.scan-tools{gap:9px}.scan-tools .btn{min-height:50px}.capture-confirm{border-radius:20px}.capture-confirm strong{font-size:19px}
}

/* narrow phones: avoid oversized blocks and keep bottom navigation from covering content */
@media(max-width:390px){
  .app-content{width:calc(100% - 24px)}.page-head h1{font-size:33px}.identity-card,.panel-card{padding:18px}.bio-card{min-height:310px}.mobile-bar{left:10px;right:10px}.mobile-link{font-size:9px}.public-nav .brand{width:86px}
}

/* ============================================================
   VEINA 3.2.0 · HOME DESKTOP rebuilt from approved prototype
   Desktop-only visual layer. App/auth/biometrics remain untouched.
   ============================================================ */
@media (min-width:981px){
  .home-desktop{background:#fff}
  .home-desktop~.home-footer{background:#fff}
  .public-header{background:rgba(255,255,255,.97);border-bottom:1px solid #eee7f3;position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
  .public-nav{height:82px;width:min(1420px,calc(100% - 64px));max-width:none;gap:28px}
  .public-nav .brand{width:116px;flex:none}.nav-links{gap:27px;margin-left:auto}.nav-link{font-size:12px;font-weight:650;color:#55486a;padding:30px 0}.nav-link.active{color:#5e1dc7}.nav-link.active:after{height:2px;bottom:20px;background:#7e20df}
  .nav-actions{gap:12px;margin-left:12px}.system-state{font-size:9px;white-space:nowrap}.status-dot{width:9px;height:9px}.demo-pill{font-size:11px;padding:8px 13px}.nav-login{min-height:42px;border-radius:13px;padding:0 22px;background:linear-gradient(135deg,#8a1ee2,#6f23cc);box-shadow:0 9px 24px rgba(118,29,206,.18)}

  .home-hero{position:relative;overflow:hidden;padding:70px 0 48px;background:radial-gradient(circle at 16% 62%,rgba(255,220,236,.75),transparent 28%),radial-gradient(circle at 75% 12%,rgba(206,240,255,.75),transparent 31%),linear-gradient(180deg,#fbfeff 0%,#fbf8ff 62%,#fff 100%)}
  .home-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;opacity:.18;background:linear-gradient(150deg,transparent 0 16%,#8172d1 16.3% 17%,transparent 17.3% 27%,#6f5dc4 27.4% 28.2%,transparent 28.5% 40%,#5d50ae 40.4% 41.4%,transparent 41.8%);clip-path:polygon(0 75%,8% 63%,15% 71%,23% 49%,29% 67%,37% 39%,44% 61%,53% 31%,61% 59%,70% 37%,79% 66%,88% 43%,100% 69%,100% 100%,0 100%)}
  .home-hero>.container{position:relative;z-index:2;width:min(1420px,calc(100% - 80px));max-width:none}
  .home-hero .hero-grid{grid-template-columns:1fr 1.08fr;gap:86px;align-items:center}
  .home-hero .hero-copy{padding-left:10px}.home-hero .eyebrow{font-size:12px;letter-spacing:.3em;margin-bottom:24px}.home-hero .hero-copy h1{font-size:70px;line-height:1.02;letter-spacing:-.052em;margin:0 0 20px;max-width:610px;color:#1d1233}.home-hero .hero-copy p{font-size:19px;line-height:1.45;color:#423750;margin:0 0 30px}.home-hero .hero-actions{display:flex;gap:16px}.home-hero .hero-actions .btn{height:54px;min-width:215px;border-radius:13px;font-size:14px;justify-content:center}.home-hero .hero-actions .btn-outline{background:#fff;border:1.5px solid #8c25dc;color:#6720b5}.home-hero .hero-actions .icon{width:20px;height:20px}
  .hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:620px;margin-top:34px;gap:10px}.hero-benefits>div{text-align:center;display:grid;justify-items:center;color:#5f536b}.hero-benefits .icon{width:27px;height:27px;color:#7d1fe0;margin-bottom:6px}.hero-benefits b{font-size:12px;color:#281a38}.hero-benefits span{font-size:9px;margin-top:2px}

  .prototype-scanner{min-height:560px;border-radius:22px;padding:0;overflow:hidden;background:radial-gradient(circle at 58% 44%,rgba(45,224,240,.24),transparent 24%),linear-gradient(145deg,#6e8bc3 0%,#324e91 38%,#162f61 100%);box-shadow:0 25px 70px rgba(45,59,111,.22)}
  .prototype-scanner:before{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(160deg,transparent 0 10%,rgba(19,34,73,.9) 10.5% 16%,transparent 16.5% 28%,rgba(27,42,83,.9) 28.5% 35%,transparent 35.5% 45%,rgba(18,33,66,.96) 45.5% 100%);opacity:.72}
  .prototype-scanner .hero-hand{height:490px;bottom:-42px;left:53%;z-index:4;filter:drop-shadow(0 16px 28px rgba(0,0,0,.2))}.prototype-scanner .scan-ring{width:370px;height:370px;border:4px solid #6ef8ff;box-shadow:0 0 22px rgba(92,241,255,.7),inset 0 0 20px rgba(77,233,255,.15);z-index:3}.prototype-scanner .scan-ring.inner{width:315px;height:315px;border-width:1px;opacity:.65}.prototype-scanner .scan-line{width:390px;height:2px;background:linear-gradient(90deg,transparent,#64f5ff,transparent);z-index:5;box-shadow:0 0 16px #52f1ff}.prototype-scanner .corner{width:36px;height:36px;border-width:4px;z-index:6}.prototype-scanner .c1,.prototype-scanner .c2{top:75px}.prototype-scanner .c3,.prototype-scanner .c4{bottom:74px}.prototype-scanner .c1,.prototype-scanner .c3{left:58px}.prototype-scanner .c2,.prototype-scanner .c4{right:58px}
  .ai-chip{position:absolute;right:18px;top:18px;z-index:8;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:10px 14px;display:flex;gap:9px;align-items:center;color:#7120cc;box-shadow:0 8px 24px rgba(21,29,70,.14)}.ai-chip .icon{width:22px;height:22px;color:#14c8c1}.ai-chip span{display:grid;line-height:1.15}.ai-chip b{font-size:12px}.ai-chip small{font-size:9px;color:#5d5570;margin-top:3px}.identity-float{position:absolute;left:18px;bottom:18px;z-index:8;color:#fff;background:rgba(27,29,73,.56);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);border-radius:15px;padding:14px 18px;min-width:140px;display:grid;line-height:1.25;box-shadow:0 10px 25px rgba(0,0,0,.16)}.identity-float span{font-size:13px}.identity-float b{font-size:15px}

  .home-platform{padding:52px 0 34px;background:#fff}.home-platform>.container{width:min(1420px,calc(100% - 80px));max-width:none}.home-platform .section-title{margin-bottom:34px}.home-platform .section-title h2{font-size:34px}.home-platform .section-title p{font-size:13px}.home-platform .feature-grid{gap:20px}.home-platform .feature{position:relative;text-align:left;border:1px solid #eadff1;background:#fff;padding:22px 20px;min-height:154px;border-radius:15px;box-shadow:0 8px 25px rgba(68,31,91,.035);display:block;width:100%;color:inherit}.home-platform .feature:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(80,32,110,.08)}.home-platform .feature-icon{width:44px;height:44px;margin-bottom:16px;border-radius:50%}.home-platform .feature h3{font-size:15px}.home-platform .feature p{font-size:12px;line-height:1.45;max-width:210px}.home-platform .feature i{position:absolute;right:18px;bottom:17px;font-size:28px;font-style:normal;color:#8c1fe0}

  .home-trust{width:min(1420px,calc(100% - 80px));max-width:none;margin:0 auto 38px;min-height:116px;padding:28px 38px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(26,77,142,.96),rgba(116,70,165,.88),rgba(225,170,207,.82)),linear-gradient(160deg,#1e4d85,#ad74b8);border-radius:14px;overflow:hidden;position:relative}.home-trust:after{content:"";position:absolute;left:35%;right:0;bottom:0;height:70%;background:linear-gradient(155deg,transparent 0 24%,rgba(255,255,255,.14) 24.5% 26%,transparent 26.5% 39%,rgba(255,255,255,.12) 39.5% 42%,transparent 42.5%);clip-path:polygon(0 100%,12% 60%,22% 77%,34% 38%,44% 75%,58% 44%,70% 73%,83% 48%,100% 74%,100% 100%)}.home-trust>div,.home-trust .trust-btn{position:relative;z-index:2}.home-trust h3{font-size:24px}.home-trust p{font-size:13px}.trust-btn{background:#fff;color:#6720b5;border-radius:999px;min-width:170px;justify-content:center}

  .home-footer{padding:0;border-top:0}.footer-main{width:min(1420px,calc(100% - 80px));max-width:none;min-height:112px;display:grid;grid-template-columns:170px 1fr 190px;align-items:center;gap:30px}.footer-main .brand{width:105px}.footer-main nav{height:54px;border-left:1px solid #e7deed;border-right:1px solid #e7deed;display:flex;align-items:center;justify-content:center;gap:38px}.footer-main nav a{font-size:11px;color:#675a75}.footer-place{display:flex;justify-content:flex-end;align-items:center;gap:14px;color:#675a75;font-size:11px}.footer-place strong{font-weight:500}.footer-place span{font-size:22px}.footer-bottom{height:42px;background:#172237;color:#fff;padding:0 max(40px,calc((100vw - 1420px)/2));display:flex;align-items:center;justify-content:space-between;font-size:10px}.footer-bottom b{color:#9d32e5}
}

/* ============================================================
   VEINA 3.2.1 · HOME DESKTOP prototype fidelity pass
   Visual-only. No API, camera, session or database changes.
   ============================================================ */
@media (min-width:981px){
  .public-header{position:relative;height:76px;box-shadow:0 1px 0 rgba(60,31,84,.05)}
  .public-nav{height:76px;width:min(1460px,calc(100% - 54px));gap:24px}
  .public-nav .brand{width:105px}
  .nav-links{gap:30px}
  .nav-link{font-size:11px;font-weight:600;padding:27px 0}
  .nav-link.active:after{bottom:16px}
  .nav-actions{gap:10px;margin-left:8px}
  .system-state{font-size:8px}.demo-pill{font-size:10px;padding:7px 12px}
  .nav-login{min-height:40px;padding:0 22px;font-size:12px}

  .home-hero{padding:42px 0 34px;min-height:560px;background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,250,255,.94) 37%,rgba(237,248,255,.77) 67%,rgba(242,250,255,.72) 100%),
    url('/assets/torres-del-paine.jpg') center 53%/cover no-repeat}
  .home-hero:after{height:36%;opacity:.10}
  .home-hero>.container{width:min(1460px,calc(100% - 64px))}
  .home-hero .hero-grid{grid-template-columns:.88fr 1.12fr;gap:64px;align-items:center}
  .home-hero .hero-copy{padding-left:8px;padding-top:4px}
  .home-hero .eyebrow{font-size:10px;letter-spacing:.31em;margin-bottom:18px}
  .home-hero .hero-copy h1{font-size:60px;line-height:1.01;max-width:550px;margin-bottom:17px}
  .home-hero .hero-copy p{font-size:16px;line-height:1.48;margin-bottom:22px}
  .home-hero .hero-actions{gap:12px}
  .home-hero .hero-actions .btn{height:46px;min-width:190px;border-radius:11px;font-size:12px}
  .hero-benefits{max-width:540px;margin-top:23px;gap:6px}
  .hero-benefits .icon{width:24px;height:24px;margin-bottom:5px}
  .hero-benefits b{font-size:11px}.hero-benefits span{font-size:8px}

  .prototype-scanner{min-height:470px;border-radius:20px;background:
    linear-gradient(145deg,rgba(58,92,161,.68),rgba(27,57,117,.78) 50%,rgba(12,37,82,.92)),
    url('/assets/torres-del-paine.jpg') center 55%/cover no-repeat;
    box-shadow:0 24px 60px rgba(31,52,101,.22)}
  .prototype-scanner:before{height:34%;opacity:.30}
  .prototype-scanner .hero-hand{height:414px;bottom:-36px;left:54%}
  .prototype-scanner .scan-ring{width:315px;height:315px;border-width:3px}
  .prototype-scanner .scan-ring.inner{width:270px;height:270px}
  .prototype-scanner .scan-line{width:340px}
  .prototype-scanner .corner{width:31px;height:31px}
  .prototype-scanner .c1,.prototype-scanner .c2{top:65px}.prototype-scanner .c3,.prototype-scanner .c4{bottom:61px}
  .prototype-scanner .c1,.prototype-scanner .c3{left:48px}.prototype-scanner .c2,.prototype-scanner .c4{right:48px}
  .ai-chip{right:14px;top:14px;padding:8px 12px;border-radius:13px}.ai-chip .icon{width:19px;height:19px}.ai-chip b{font-size:10px}.ai-chip small{font-size:8px}
  .identity-float{left:16px;bottom:16px;padding:11px 14px;min-width:124px;border-radius:13px}.identity-float span{font-size:11px}.identity-float b{font-size:13px}

  .home-platform{padding:38px 0 28px}
  .home-platform>.container{width:min(1460px,calc(100% - 64px))}
  .home-platform .section-title{margin-bottom:26px}
  .home-platform .section-title h2{font-size:31px;margin-bottom:5px}
  .home-platform .section-title p{font-size:11px}
  .home-platform .feature-grid{gap:16px}
  .home-platform .feature{min-height:132px;padding:18px 18px;border-radius:13px}
  .home-platform .feature-icon{width:38px;height:38px;margin-bottom:12px}
  .home-platform .feature-icon .icon{width:19px;height:19px}
  .home-platform .feature h3{font-size:13px;margin-bottom:6px}
  .home-platform .feature p{font-size:10px;line-height:1.4;max-width:195px}
  .home-platform .feature i{font-size:24px;right:15px;bottom:13px}

  .home-trust{width:min(1460px,calc(100% - 64px));min-height:98px;margin-bottom:28px;padding:22px 32px;border-radius:13px;background:
    linear-gradient(90deg,rgba(25,75,142,.93),rgba(111,61,164,.79) 56%,rgba(220,151,201,.65)),
    url('/assets/torres-del-paine.jpg') center 57%/cover no-repeat}
  .home-trust:after{display:none}.home-trust h3{font-size:20px}.home-trust p{font-size:11px}.trust-btn{min-width:155px;height:42px;font-size:11px}

  .footer-main{width:min(1460px,calc(100% - 64px));min-height:92px;grid-template-columns:150px 1fr 180px}
  .footer-main .brand{width:92px}.footer-main nav{height:46px;gap:34px}.footer-main nav a,.footer-place{font-size:10px}.footer-place span{font-size:19px}
  .footer-bottom{height:36px;font-size:9px;padding:0 max(32px,calc((100vw - 1460px)/2))}
}

@media (min-width:981px) and (max-height:850px){
  .home-hero{padding-top:32px;padding-bottom:27px;min-height:510px}
  .prototype-scanner{min-height:430px}
  .prototype-scanner .hero-hand{height:385px}
  .prototype-scanner .scan-ring{width:290px;height:290px}
  .prototype-scanner .scan-ring.inner{width:248px;height:248px}
  .home-hero .hero-copy h1{font-size:56px}
  .hero-benefits{margin-top:18px}
}


/* ============================================================
   VEINA 3.2.2 · HOME DESKTOP final fidelity / notebook pass
   Visual-only: biometrics, APIs, sessions and DB untouched.
   ============================================================ */
@media (min-width:981px){
  .public-nav .brand{width:98px}
  .nav-link{font-weight:560;color:#5b5068}
  .demo-pill{font-weight:750;background:#fff}
  .nav-login{min-height:39px;border-radius:12px;box-shadow:0 8px 20px rgba(118,29,206,.14)}

  .home-hero{background:
    linear-gradient(90deg,rgba(255,255,255,.995) 0%,rgba(255,252,255,.97) 34%,rgba(245,249,255,.84) 55%,rgba(232,246,255,.68) 100%),
    url('/assets/torres-del-paine.jpg') center 53%/cover no-repeat}
  .home-hero .eyebrow{margin-bottom:21px}
  .home-hero .hero-copy p{margin-bottom:20px}
  .home-hero .hero-actions .btn-primary{background:linear-gradient(135deg,#7919d7,#a61ee8);box-shadow:0 10px 24px rgba(130,29,213,.16)}
  .hero-benefits{max-width:500px;margin-top:20px;gap:3px}
  .hero-benefits .icon{width:26px;height:26px}
  .hero-benefits b{font-size:11.5px}.hero-benefits span{font-size:8.5px}

  .prototype-scanner{background:
    radial-gradient(circle at 55% 46%,rgba(65,231,242,.10),transparent 27%),
    linear-gradient(145deg,rgba(54,87,151,.52),rgba(24,55,112,.66) 52%,rgba(11,35,79,.80)),
    url('/assets/torres-del-paine.jpg') center 55%/cover no-repeat}
  .prototype-scanner .scan-ring{border-width:2.5px;box-shadow:0 0 17px rgba(92,241,255,.72),inset 0 0 13px rgba(77,233,255,.12)}
  .prototype-scanner .scan-ring.inner{border-width:1px;opacity:.52}
  .prototype-scanner .scan-line{height:1px;box-shadow:0 0 11px #52f1ff}
  .ai-chip{background:rgba(255,255,255,.82);padding:7px 10px;border-radius:12px;box-shadow:0 7px 18px rgba(21,29,70,.11)}
  .identity-float{background:rgba(20,28,69,.48);border-color:rgba(255,255,255,.28)}

  .home-platform{padding-top:32px}
  .home-platform .section-title{margin-bottom:22px}
  .home-platform .feature{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;padding:17px 18px;min-height:126px}
  .home-platform .feature:hover{transform:translateY(-3px);border-color:#dfc9ef;box-shadow:0 14px 30px rgba(80,32,110,.075)}
  .home-platform .feature-icon{width:40px;height:40px;margin-bottom:10px}
  .home-platform .feature i{right:16px;bottom:14px;font-size:22px}
}

/* Notebook / short desktop: preserve the design, recover vertical space. */
@media (min-width:981px) and (max-height:920px){
  .public-header,.public-nav{height:68px}
  .public-nav .brand{width:88px}
  .nav-link{padding:23px 0;font-size:10.5px}.nav-link.active:after{bottom:12px}
  .nav-login{min-height:36px;padding:0 19px}.demo-pill{padding:6px 11px}

  .home-hero{padding:27px 0 22px;min-height:0}
  .home-hero>.container{width:min(1460px,calc(100% - 58px))}
  .home-hero .hero-grid{gap:52px}
  .home-hero .eyebrow{margin-bottom:15px}
  .home-hero .hero-copy h1{font-size:52px;max-width:510px;margin-bottom:14px}
  .home-hero .hero-copy p{font-size:14.5px;line-height:1.42;margin-bottom:17px}
  .home-hero .hero-actions .btn{height:43px;min-width:182px}
  .hero-benefits{margin-top:15px;max-width:490px}
  .hero-benefits .icon{width:22px;height:22px;margin-bottom:3px}

  .prototype-scanner{min-height:390px}
  .prototype-scanner .hero-hand{height:350px;bottom:-31px}
  .prototype-scanner .scan-ring{width:266px;height:266px}
  .prototype-scanner .scan-ring.inner{width:226px;height:226px}
  .prototype-scanner .scan-line{width:300px}
  .prototype-scanner .c1,.prototype-scanner .c2{top:52px}.prototype-scanner .c3,.prototype-scanner .c4{bottom:50px}
  .prototype-scanner .c1,.prototype-scanner .c3{left:42px}.prototype-scanner .c2,.prototype-scanner .c4{right:42px}
  .ai-chip{right:12px;top:12px}.identity-float{left:13px;bottom:13px;padding:9px 12px}

  .home-platform{padding-top:27px}
  .home-platform .section-title{margin-bottom:20px}
  .home-platform .section-title h2{font-size:29px}
}

/* ============================================================
   VEINA 3.3.0 · PRIVATE DESKTOP PROTOTYPE REBUILD
   Dashboard, profile, palms, activity, pay and enrolled-palm scan.
   ============================================================ */
@media (min-width:981px){
  :root{--sidebar:196px}
  .app-shell{background:linear-gradient(180deg,#fff 0,#fbfaff 100%)}
  .sidebar{padding:12px 12px 18px;overflow:hidden}
  .sidebar-brand{height:94px;display:flex;align-items:flex-start;justify-content:center}
  .sidebar .brand{width:88px;margin:0}
  .side-nav{gap:4px}.side-link{height:42px;font-size:13px;border-radius:11px;padding:0 13px}.side-link .icon{width:18px;height:18px}
  .side-footer{margin-top:auto}.sidebar-place{margin-top:auto;height:150px;margin-left:-12px;margin-right:-12px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(35,35,70,.08)),url('/assets/torres-del-paine.jpg') center/cover no-repeat;position:relative}.sidebar-place:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.16) 36%,rgba(18,27,54,.28) 100%)}.sidebar-place-copy{position:absolute;z-index:2;left:18px;bottom:12px;color:#fff;font-size:10px;display:flex;align-items:center;gap:6px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.sidebar-place-copy .icon{width:13px}
  .side-footer{margin-top:4px}.side-footer .side-link{height:38px}
  .app-topbar{height:54px;padding:0 22px;border-bottom:1px solid #eee4f2}.topbar-route{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);font-weight:850}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.system-state.compact{font-size:10px}.demo-pill{padding:5px 10px;font-size:10px}.user-chip{height:36px;min-width:112px;padding:0 10px 0 5px;border:1px solid var(--line);background:#fff;border-radius:999px;display:flex;align-items:center;gap:8px;font-size:11px}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;display:grid;place-items:center;font-weight:900}.mobile-logout{display:none}
  .app-content{width:min(1120px,calc(100% - 50px));padding:30px 0 42px}.page-head{margin-bottom:14px}.page-head h1{font-size:34px;line-height:1.02;margin:6px 0 3px;letter-spacing:-.045em}.page-head p{margin:0;font-size:13px}.dash-head{margin-bottom:12px}.verified-mini{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--teal);color:#fff;font-size:11px;font-weight:900}
  .dashboard-grid.dashboard-proto{display:grid;grid-template-columns:1.34fr 1fr;grid-template-areas:"identity bio" "quick protect" "activity side";gap:12px 14px;align-items:stretch}.identity-card-proto{grid-area:identity}.bio-card-proto{grid-area:bio}.quick-section{grid-area:quick}.dash-activity-card{grid-area:activity}.dash-side-stack{grid-area:side;display:grid;gap:12px;grid-template-rows:auto 1fr}.identity-protect-card{grid-area:protect}
  .identity-card-proto{padding:18px;border-radius:18px}.identity-head{margin-bottom:13px}.identity-person{gap:12px}.identity-person h2{font-size:21px}.identity-person .avatar{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,#fff,#f5e9fb);color:var(--purple)}.btn-sm{min-height:38px;padding:0 14px;font-size:11px}.identity-meta-proto{display:grid;grid-template-columns:1fr 1fr;border:0;gap:8px;background:transparent}.identity-meta-proto .meta-cell{border:1px solid var(--line)!important;border-radius:12px;padding:9px 10px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center}.meta-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.meta-icon .icon{width:17px}.purple-bg{background:#f6ebfc;color:var(--purple)}.teal-bg{background:#e9fbfa;color:var(--teal)}.meta-label{font-size:9px;letter-spacing:.03em;text-transform:none;color:#786e82}.meta-value{font-size:12px;margin-top:1px}
  .bio-card-proto{min-height:246px;padding:18px 18px 14px;border-radius:18px;background:linear-gradient(135deg,#45105f 0%,#6b168d 53%,#2f164b 100%)}.bio-card-proto:after{width:180px;height:180px}.bio-card-head{gap:10px}.verify-badge{width:42px;height:42px;font-size:22px}.bio-card-proto h3{font-size:17px}.bio-card-proto p{font-size:11px}.bio-core{position:absolute;width:150px;height:150px;left:46%;top:56%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(18,200,194,.7);box-shadow:0 0 26px rgba(18,200,194,.15)}.bio-card-proto .bio-hand{width:74px;height:74px;top:50%;left:50%}.bio-card-proto .bio-hand .icon{width:39px;height:39px}.bio-corner{position:absolute;width:20px;height:20px;border-color:#fff}.b1{left:17px;top:17px;border-left:2px solid;border-top:2px solid}.b2{right:17px;top:17px;border-right:2px solid;border-top:2px solid}.b3{left:17px;bottom:17px;border-left:2px solid;border-bottom:2px solid}.b4{right:17px;bottom:17px;border-right:2px solid;border-bottom:2px solid}.bio-card-proto .bio-label{bottom:12px;padding:5px 11px;font-size:10px}.bio-benefits{position:absolute;right:16px;top:68px;display:grid;gap:9px;width:95px}.bio-benefits span{display:grid;grid-template-columns:18px 1fr;column-gap:6px;color:#fff}.bio-benefits .icon{width:16px;height:16px;grid-row:1/3}.bio-benefits b{font-size:10px}.bio-benefits small{font-size:8px;opacity:.72}
  .quick-section h3{font-size:13px;margin:0 0 6px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:9px}.quick-card{min-height:58px;padding:9px 12px;border-radius:14px;gap:9px}.quick-card .quick-icon{width:34px;height:34px;border-radius:11px}.quick-card .quick-icon .icon{width:17px}.quick-card strong{font-size:11px}.quick-card span{font-size:9px}.quick-card .arrow{font-size:16px}
  .identity-protect-card{min-height:75px;border:1px solid #e9def0;border-radius:14px;background:linear-gradient(100deg,#fbf9ff,#f6efff);display:grid;grid-template-columns:50px 1fr;align-items:center;padding:10px 14px;gap:10px;position:relative;overflow:hidden}.identity-protect-card:after{content:"";position:absolute;right:-8px;bottom:-40px;width:145px;height:105px;background:url('/assets/torres-del-paine.jpg') center/cover;border-radius:50% 0 0 0;opacity:.18}.protect-icon{width:46px;height:46px;color:var(--purple);display:grid;place-items:center}.identity-protect-card b{font-size:11px;color:#5d1682}.identity-protect-card p{font-size:9px;margin:2px 0;color:#675b73;max-width:220px}.link-btn{border:0;background:transparent;color:var(--purple);font-size:9px;font-weight:850;padding:0;position:relative;z-index:2}
  .dash-activity-card{padding:12px 14px;border-radius:15px}.panel-head.compact{margin-bottom:6px}.panel-head.compact h2{font-size:13px;display:flex;align-items:center;gap:7px}.panel-head.compact .icon{width:17px}.dashboard-activity .activity-item{grid-template-columns:32px 105px 1fr 90px;padding:7px 0}.dashboard-activity .row-icon{width:28px;height:28px;border-radius:9px}.dashboard-activity .row-icon .icon{width:14px}.dashboard-activity .activity-time{font-size:9px}.dashboard-activity .activity-title{font-size:10px}.dashboard-activity .activity-sub{font-size:8px}.dashboard-activity .activity-state{font-size:8px;padding:4px 7px}
  .patagonia-card{border-radius:15px;min-height:135px;background:linear-gradient(90deg,rgba(31,24,74,.84),rgba(72,46,115,.42)),url('/assets/torres-del-paine.jpg') center/cover;color:#fff;position:relative;overflow:hidden;padding:23px 18px}.patagonia-card>div{position:relative;z-index:2}.patagonia-card span{font-size:18px;line-height:1.12;display:block}.patagonia-card small{font-size:8px;display:block;margin-top:20px}.patagonia-card img{position:absolute;right:20px;bottom:15px;width:80px;filter:brightness(0) invert(1);opacity:.92}
  .profile-proto,.identity-panel-proto{padding:18px 20px;border-radius:18px}.profile-proto .panel-head{margin-bottom:12px}.profile-proto .identity-person .avatar{width:48px;height:48px;border-radius:50%}.profile-proto .identity-person h2{font-size:18px}.section-kicker{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--purple);font-weight:900;border-bottom:1px solid var(--line);padding:0 0 7px;margin:8px 0 0}.profile-compact-grid{display:grid}.profile-compact-row{min-height:52px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:6px 0}.profile-compact-row:last-child{border-bottom:0}.profile-compact-row .row-icon{width:34px;height:34px;border-radius:10px}.profile-compact-row label{font-size:10px;font-weight:800}.profile-compact-row .value{font-size:11px;color:#5e5369}.identity-panel-proto{margin-top:12px!important}.copy-mini{border:0;background:#f2e9fb;color:var(--purple);width:30px;height:30px;border-radius:9px;display:grid;place-items:center}.copy-mini .icon{width:15px}.manage-palms-strip{width:100%;height:34px;border:0;border-radius:10px;background:#ddfaf5;color:#0b8870;font-weight:800;font-size:10px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px}
  .palms-proto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.palm-proto-card,.palm-add-card{min-height:128px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:16px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;position:relative}.palm-proto-card .palm-icon{width:48px;height:48px;border-radius:50%}.palm-copy h3{font-size:14px;margin:0}.palm-copy p{font-size:10px;margin:3px 0 0;color:var(--muted)}.palm-proto-card .status-pill{font-size:9px;padding:4px 7px;align-self:start}.palm-menu-delete{position:absolute;right:12px;bottom:12px;width:30px;height:30px;border:0;border-radius:9px;background:#fff0f3;color:var(--danger);display:grid;place-items:center}.palm-menu-delete .icon{width:14px}.palm-add-card{grid-template-columns:52px 1fr;text-align:left;color:var(--purple);border-style:dashed}.palm-add-card .add-circle{width:48px;height:48px;border:2px solid #d9b7eb;border-radius:50%;display:grid;place-items:center}.palm-add-card strong{font-size:13px;display:block}.palm-add-card span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.palm-config,.palm-about{margin-top:12px!important;padding:15px 17px;border-radius:16px}.config-row{display:flex;justify-content:space-between;align-items:center;padding-top:8px}.config-row div{display:grid}.config-row b{font-size:10px}.config-row small{font-size:8px;color:var(--muted)}.config-row>span{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:9px}.palm-about h3{font-size:13px;margin:0 0 7px}.palm-about p{font-size:9px;margin:5px 0;color:#665b70;display:flex;gap:7px}.palm-about .icon{width:13px;color:var(--purple)}
  .activity-proto{padding:16px 18px;border-radius:18px}.activity-table-head{display:grid;grid-template-columns:110px 1.2fr 1fr 92px;gap:12px;background:#faf7fc;border-radius:9px;padding:7px 42px 7px 44px;font-size:8px;color:#796d82}.activity-proto .activity-item{grid-template-columns:32px 110px 1.2fr 1fr 92px;gap:12px;padding:9px 0}.activity-proto .row-icon{width:29px;height:29px;border-radius:9px}.activity-proto .activity-time{font-size:9px}.activity-proto .activity-item>div:nth-child(3){grid-column:3}.activity-proto .activity-title{font-size:10px}.activity-proto .activity-sub{font-size:8px}.activity-proto .activity-state{font-size:8px;padding:4px 6px}
  .pay-proto-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"balance quick" "transactions quick";gap:12px}.balance-proto{grid-area:balance;min-height:195px;border-radius:18px;padding:20px;background:linear-gradient(135deg,#50106d,#8e1eda 65%,#557bb7)}.balance-proto .balance-label{font-size:12px}.balance-proto .balance-amount{font-size:38px;margin-top:14px}.balance-proto .balance-amount span{font-size:11px}.pay-actions-proto{position:relative;left:auto;right:auto;bottom:auto;margin-top:22px;grid-template-columns:repeat(4,1fr);padding:8px;border-radius:14px}.pay-actions-proto .pay-action{font-size:8px;gap:4px}.pay-actions-proto .icon{width:16px}.quick-pay-card{grid-area:quick;padding:14px 16px;border-radius:18px}.quick-pay-card h2{font-size:14px;margin:0 0 8px}.quick-pay-card .pay-option{min-height:63px;padding:9px 3px}.quick-pay-card .row-icon{width:35px;height:35px}.quick-pay-card strong{font-size:10px}.quick-pay-card small{font-size:8px}.transactions-proto{grid-area:transactions;padding:12px 15px;border-radius:16px}.transactions-proto h2{font-size:12px}.transaction-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:9px}.transaction-row span{color:var(--muted)}.demo-positive strong{color:#0a9c79}.demo-note{margin-top:12px!important;padding:12px 16px!important;display:flex;align-items:center;gap:12px}.demo-note .eyebrow{margin:0}.demo-note b{font-size:10px}.demo-note span{font-size:9px;color:var(--muted)}
  .scan-app-card{padding:18px 22px;border-radius:18px}.scan-flow-head{text-align:left}.scan-flow-head h1{font-size:28px;margin:5px 0}.scan-flow-head p{font-size:11px;color:var(--muted);margin:0}.scan-steps-inline{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 16px;position:relative}.scan-steps-inline:before{content:"";position:absolute;left:12%;right:12%;top:13px;height:2px;background:#e4d5ec}.scan-steps-inline span{position:relative;z-index:2;text-align:center;font-size:9px;color:#786c80;display:grid;justify-items:center;gap:3px}.scan-steps-inline b{width:26px;height:26px;border-radius:50%;background:#f0e7f6;display:grid;place-items:center}.scan-steps-inline .active b{background:var(--purple);color:#fff}.scan-steps-inline .done b{background:#e9fbf7;color:#0a8c72}.scan-workspace{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.scan-instructions h3,.scan-preview h3{font-size:13px;margin:0 0 4px}.scan-instructions>p{font-size:10px;color:var(--muted);margin:0 0 12px}.scan-hand-illustration{width:150px;height:150px;border-radius:50%;margin:8px auto 16px;display:grid;place-items:center;color:var(--teal);background:radial-gradient(circle,#fff 35%,#e9fbf7 70%,#dff8f5);box-shadow:0 10px 25px rgba(18,200,194,.1)}.scan-hand-illustration .icon-lg{width:70px;height:70px}.scan-tips{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;gap:6px}.scan-tips b{font-size:10px;margin-bottom:2px}.scan-tips span{font-size:9px;color:#5f5569}.scan-preview .camera-wrap{aspect-ratio:16/10;max-height:310px;border-radius:15px}.scan-preview .scan-guide{margin-top:8px}.scan-preview .guide-chip{min-height:32px;font-size:8px;border-radius:9px}.scan-tools-proto{display:flex;justify-content:space-between;margin-top:14px}.scan-tools-proto .btn{min-height:40px;font-size:10px}.scan-tools-proto #manualCapture{margin-left:auto;min-width:150px}
}

@media (min-width:981px) and (max-height:850px){
  .app-content{padding-top:20px}.page-head h1{font-size:31px}.bio-card-proto{min-height:225px}.sidebar-place{height:120px}.patagonia-card{min-height:118px;padding-top:16px}.dash-activity-card{padding-top:10px;padding-bottom:10px}.dashboard-activity .activity-item{padding:6px 0}
}

/* VEINA 3.3.1 · desktop palm registration flow */
@media (min-width:981px){
  .palm-choice-screen,.register-status-screen{max-width:900px!important;margin:0 auto;padding:22px 28px 26px!important;min-height:0}
  .palm-choice-screen .scan-flow-head h1,.register-status-screen .scan-flow-head h1{font-size:30px}
  .palm-choice-intro{margin:18px 0 12px;text-align:center}.palm-choice-intro h3{font-size:18px;margin:0 0 5px}.palm-choice-intro p{font-size:11px;color:var(--muted);margin:0}
  .palm-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px;margin:0 auto}
  .palm-choice-card{min-height:150px;border:1px solid #e5d6ed;border-radius:18px;background:#fff;padding:20px;display:grid;grid-template-columns:64px 1fr;align-items:center;gap:16px;text-align:left;position:relative;cursor:pointer;transition:.18s ease;color:#21152c}
  .palm-choice-card:hover:not(.disabled){border-color:#b66de0;box-shadow:0 12px 28px rgba(127,27,185,.09);transform:translateY(-2px)}
  .palm-choice-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e8fbf8;color:var(--teal)}.palm-choice-icon .icon{width:34px;height:34px}
  .palm-choice-card strong{display:block;font-size:16px;margin-bottom:5px}.palm-choice-card span{font-size:10px;color:var(--muted)}.palm-choice-state{position:absolute;right:18px;bottom:16px!important;color:var(--purple)!important;font-weight:800}
  .palm-choice-card.disabled{opacity:.55;cursor:not-allowed;background:#faf8fb}.palm-choice-card.disabled .palm-choice-state{color:#738078!important}
  .palm-choice-note{max-width:720px;margin:14px auto 0;padding:11px 14px;border-radius:12px;background:#f4fffd;color:#4d6470;font-size:10px;display:flex;align-items:center;gap:9px}.palm-choice-note .icon{width:16px;color:var(--teal)}
  .palm-choice-screen .scan-tools{max-width:720px;margin:16px auto 0}
  .register-status-body{max-width:650px;margin:24px auto 4px;text-align:center}.register-status-body h2{font-size:21px;margin:13px 0 5px}.register-status-body>p{font-size:11px;color:var(--muted);margin:0 auto 16px;max-width:460px}
  .verify-orbit{width:150px;height:150px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:conic-gradient(var(--purple) 0 28%,#e7d7f2 28% 100%);position:relative}.verify-orbit:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.verify-orbit-core{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#f5edfb;color:var(--purple);font-size:42px;font-weight:900}.verify-orbit-core .icon{width:38px;height:38px}.verify-orbit.is-loading{animation:veinaVerify 1.5s linear infinite}.verify-orbit.is-done{background:conic-gradient(#13b99d 0 100%,#e7d7f2 0)}.verify-orbit.is-done .verify-orbit-core{background:#e8fbf6;color:#0aa688}
  @keyframes veinaVerify{to{transform:rotate(360deg)}}
  .verify-orbit.is-loading .verify-orbit-core{transform:rotate(0)}
  .verify-checks{max-width:390px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.verify-checks span{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:10px;color:#3f765f}.verify-checks .checking{color:var(--purple);font-weight:800}
  .complete-palm-chip{display:inline-flex;align-items:center;gap:8px;background:#e8fbf6;color:#078f77;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:800;margin-bottom:18px}.complete-palm-chip .icon{width:17px}.register-status-body .btn{min-width:190px}
  /* slightly tighter desktop pages on notebook/monitor */
  .activity-proto,.profile-proto,.identity-panel-proto{max-width:940px!important}.activity-proto{padding:20px 22px}.profile-proto,.identity-panel-proto{padding:20px 22px}.profile-compact-row{min-height:48px}.app-content{padding-bottom:34px}
}

/* VEINA 3.4.0 · private desktop visual system */
@media (min-width:981px){
  :root{--sidebar:190px}
  .sidebar{padding:18px 12px 16px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fcfaff 100%)}
  .sidebar .brand{width:98px;margin:0 auto 28px}.side-nav{gap:5px}.side-link{height:45px;border-radius:12px;padding:0 13px;font-size:13px}.sidebar-place{margin-left:-12px;margin-right:-12px;height:132px}.side-footer{margin-left:-12px;margin-right:-12px;padding:0 12px}.logout{height:48px}
  .app-topbar{height:58px;padding:0 24px}.topbar-route{font-size:11px;letter-spacing:.12em}.topbar-actions{gap:9px}.system-state.compact{font-size:9px}.user-chip{min-height:38px;padding:0 10px}.user-avatar{width:28px;height:28px}.demo-pill{font-size:10px}
  .app-content{width:min(1160px,calc(100% - 44px));padding:28px 0 38px}.page-head{margin-bottom:14px}.page-head h1{font-size:34px}.page-head p{font-size:12px}.eyebrow{font-size:10px;letter-spacing:.18em}
  .card,.panel-card{box-shadow:0 8px 28px rgba(52,22,72,.035);border-color:#eadff0}.btn{border-radius:11px}
  .dashboard-grid.dashboard-proto{grid-template-columns:1.38fr 1fr;gap:12px 14px}.identity-card-proto{padding:20px 22px}.identity-card-proto .identity-head{margin-bottom:14px}.identity-card-proto .avatar{width:52px;height:52px}.identity-card-proto .identity-person h2{font-size:20px}.identity-card-proto .meta-cell{padding:11px 12px}.identity-card-proto .meta-value{font-size:12px}.bio-card-proto{min-height:245px;padding:18px 20px}.bio-card-proto h3{font-size:17px}.bio-card-proto .verify-badge{width:43px;height:43px}.bio-card-proto:after{width:190px;height:190px}.bio-card-proto .bio-hand{width:88px;height:88px}.bio-card-proto .bio-hand .icon{width:47px;height:47px}.bio-benefits{right:16px;gap:10px}.quick-section h2{font-size:14px}.quick-grid{gap:10px}.quick-card{min-height:70px;padding:12px 14px;border-radius:15px}.quick-card .quick-icon{width:38px;height:38px}.quick-card strong{font-size:11px}.quick-card span{font-size:9px}.identity-protect-card{min-height:82px}.dash-activity-card{padding:12px 14px;border-radius:16px}.dashboard-activity .activity-item{padding:6px 0}.patagonia-card{min-height:116px}
  .profile-proto,.identity-panel-proto{max-width:980px!important;padding:18px 20px!important}.profile-proto .panel-head{margin-bottom:10px}.profile-proto .identity-person h2{font-size:19px}.profile-proto .avatar{width:48px;height:48px}.profile-compact-row{min-height:43px!important;padding:7px 0}.profile-compact-row .row-icon{width:32px;height:32px}.identity-panel-proto{margin-top:10px!important}.manage-palms-strip{min-height:34px}
  .palms-proto-grid,.palm-config,.palm-about{max-width:980px;margin-left:auto!important;margin-right:auto!important}.palm-proto-card,.palm-add-card{min-height:112px;padding:14px 16px}.palm-config,.palm-about{margin-top:10px!important}
  .activity-proto{max-width:1040px!important;padding:15px 18px!important}.activity-proto .panel-head{margin-bottom:10px}.activity-proto .activity-item{padding:7px 0}.activity-table-head{padding-top:6px;padding-bottom:6px}
  .pay-proto-grid,.demo-note{max-width:1040px;margin-left:auto!important;margin-right:auto!important}.balance-proto{min-height:180px;padding:18px}.balance-proto .balance-amount{font-size:35px;margin-top:10px}.pay-actions-proto{margin-top:16px}.quick-pay-card{padding:12px 15px}.quick-pay-card .pay-option{min-height:55px}.transactions-proto{padding:10px 14px}.transaction-row{padding:6px 0}
  .research-card{max-width:900px!important;padding:22px 24px!important}.research-intro{grid-template-columns:64px 1fr;gap:16px}.research-badge{width:58px;height:58px;border-radius:17px}.research-intro h2{font-size:20px}.research-intro p{font-size:11px}.research-card>div:last-child{margin-top:16px!important}
  .scan-app-card{max-width:980px!important;margin-left:auto!important;margin-right:auto!important;padding:18px 22px}.scan-workspace{grid-template-columns:.72fr 1.28fr}.scan-hand-illustration{width:132px;height:132px}.scan-preview .camera-wrap{max-height:285px}.palm-choice-screen,.register-status-screen{max-width:920px!important}
}
@media (min-width:981px) and (max-height:800px){
  .app-content{padding-top:18px;padding-bottom:24px}.page-head{margin-bottom:10px}.page-head h1{font-size:30px}.sidebar .brand{margin-bottom:18px}.side-link{height:41px}.sidebar-place{height:108px}.bio-card-proto{min-height:218px}.identity-card-proto{padding:16px 18px}.identity-card-proto .meta-cell{padding:9px 10px}.quick-card{min-height:62px}.patagonia-card{min-height:98px}.scan-preview .camera-wrap{max-height:245px}.scan-hand-illustration{width:115px;height:115px}.palm-choice-card{min-height:128px}.register-status-body{margin-top:14px}
}


/* ============================================================
   VEINA 3.4.1 · private desktop fidelity refinement
   Typography, density and dashboard composition only.
   ============================================================ */
@media (min-width:981px){
  /* typography: closer to approved prototype, less heavy */
  body{font-weight:400;letter-spacing:0}
  .app-main,.app-content{font-weight:400}
  .topbar-route,.eyebrow,.section-kicker{font-weight:700}
  .side-link{font-weight:600;font-size:12.5px}
  .user-chip b{font-weight:600;font-size:12px}.user-chip{gap:8px;padding-right:13px}
  .demo-pill{font-weight:700}
  .page-head h1,.dash-head h1{font-weight:700;letter-spacing:-.035em}
  .page-head p,.dash-head p{font-weight:400;color:#776d80}
  .identity-person h2,.panel-head h2,.bio-card-proto h3,.quick-section h3,
  .dash-activity-card h2,.palm-proto-card h3,.research-intro h2{font-weight:650}
  .meta-label,.profile-compact-row label,.activity-table-head,.section-kicker{font-weight:650}
  .meta-value,.quick-card strong,.activity-title,.config-row b,.palm-choice-card strong{font-weight:650}
  .status-pill,.link-btn,.btn{font-weight:650}

  /* content canvas: do not look tiny on large monitors */
  :root{--sidebar:196px}
  .app-content{width:min(1240px,calc(100% - 52px));padding-top:30px}
  .app-content>.page-head,.app-content>.dashboard-grid,.app-content>.card,
  .app-content>.palm-warning,.app-content>.pay-grid{max-width:none}
  .page-head{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
  .dashboard-grid.dashboard-proto{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}

  /* dashboard structure - remove the empty phantom 'protect' column/row */
  .dashboard-grid.dashboard-proto{
    grid-template-columns:minmax(0,1.42fr) minmax(330px,.96fr);
    grid-template-areas:
      "identity bio"
      "quick quick"
      "activity side";
    gap:14px 16px;
  }
  .quick-section{grid-area:quick}.dash-activity-card{grid-area:activity}.dash-side-stack{grid-area:side}
  .dash-side-stack{display:grid;grid-template-rows:auto 1fr;gap:12px;align-self:stretch}
  .identity-protect-card{grid-area:auto;min-height:92px;padding:14px 16px;border-radius:16px}
  .identity-protect-card b{font-size:12px;font-weight:650}.identity-protect-card p{font-size:9.5px;line-height:1.35;margin:3px 0}
  .protect-icon{width:42px;height:42px}
  .patagonia-card{min-height:152px;padding:22px 20px;border-radius:17px}
  .patagonia-card span{font-size:20px;font-weight:400}.patagonia-card span b{font-weight:700}

  /* top cards */
  .identity-card-proto{padding:20px 22px;border-radius:18px}
  .identity-card-proto .identity-person h2{font-size:19px}
  .identity-card-proto .meta-cell{min-height:58px;padding:10px 12px}
  .identity-card-proto .meta-label{font-size:9px;letter-spacing:.06em}
  .identity-card-proto .meta-value{font-size:12px}
  .bio-card-proto{min-height:250px;border-radius:18px}
  .bio-card-proto h3{font-size:17px}.bio-card-proto p{font-size:10px}
  .bio-benefits b{font-weight:650}.bio-benefits small{font-weight:400}

  /* quick access and activity */
  .quick-section h3{font-size:13px;margin:0 0 8px}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .quick-card{min-height:68px;padding:11px 14px;border-radius:14px}
  .quick-card strong{font-size:11px}.quick-card span{font-size:9px}
  .dash-activity-card{min-height:210px;padding:12px 15px}
  .dashboard-activity .activity-item{grid-template-columns:32px 108px minmax(0,1fr) 96px}

  /* inner pages use a measured, centered width rather than filling entire monitor */
  .activity-proto{max-width:1080px!important}.profile-proto,.identity-panel-proto{max-width:1040px!important}
  .palms-proto-grid,.palm-config,.palm-about{max-width:1040px!important}
  .pay-proto-grid,.demo-note{max-width:1080px!important}
  .research-card{max-width:980px!important}
  .scan-app-card{max-width:1040px!important}.palm-choice-screen,.register-status-screen{max-width:980px!important}

  /* softer, more editorial cards */
  .card,.panel-card{border-color:#e9e1ed;box-shadow:0 7px 24px rgba(63,33,79,.025)}
  .btn-outline{border-color:#ddc6e8}.btn-primary{box-shadow:0 8px 20px rgba(134,22,212,.13)}
}

@media (min-width:981px) and (max-height:820px){
  .app-content{padding-top:20px}
  .dashboard-grid.dashboard-proto{gap:10px 14px}
  .identity-card-proto{padding:16px 18px}.bio-card-proto{min-height:220px}
  .quick-card{min-height:60px}.dash-activity-card{min-height:185px}
  .identity-protect-card{min-height:78px}.patagonia-card{min-height:122px}
}

/* ============================================================
   VEINA 3.4.2 · notebook desktop density pass
   Visual/layout only. No biometric or registration logic changes.
   ============================================================ */
@media (min-width:981px) and (max-height:820px){
  .app-topbar{height:54px}
  .app-content{width:min(1200px,calc(100% - 42px));padding-top:15px;padding-bottom:20px}
  .dash-head{margin-bottom:8px}.dash-head .eyebrow{margin-bottom:3px}
  .dash-head h1{font-size:29px;line-height:1.02;margin-bottom:2px;font-weight:680}
  .dash-head p{font-size:11px;line-height:1.25}
  .dashboard-grid.dashboard-proto{grid-template-columns:minmax(0,1.42fr) minmax(315px,.96fr);gap:9px 13px}
  .identity-card-proto{padding:13px 16px;border-radius:16px}
  .identity-card-proto .identity-head{margin-bottom:9px}
  .identity-card-proto .avatar{width:43px;height:43px}
  .identity-card-proto .identity-person h2{font-size:17px;font-weight:640}
  .identity-card-proto .status-pill{font-size:9px}
  .identity-card-proto .meta-grid{gap:7px 8px}
  .identity-card-proto .meta-cell{min-height:47px;padding:7px 9px;border-radius:11px}
  .identity-card-proto .meta-icon{width:29px;height:29px}
  .identity-card-proto .meta-label{font-size:8px;font-weight:600}
  .identity-card-proto .meta-value{font-size:10.5px;font-weight:620}
  .identity-card-proto .btn{min-height:34px;padding:0 14px;font-size:10px}
  .bio-card-proto{min-height:192px;padding:13px 15px;border-radius:16px}
  .bio-card-proto .verify-badge{width:37px;height:37px}
  .bio-card-proto h3{font-size:15px;font-weight:640}.bio-card-proto p{font-size:9px}
  .bio-card-proto:after{width:154px;height:154px}
  .bio-card-proto .bio-hand{width:72px;height:72px}.bio-card-proto .bio-hand .icon{width:39px;height:39px}
  .bio-benefits{right:13px;gap:7px}.bio-benefits b{font-size:9px;font-weight:620}.bio-benefits small{font-size:7px}
  .bio-side-pill{font-size:8px;padding:4px 10px}
  .quick-section h3{font-size:12px;margin-bottom:5px;font-weight:630}
  .quick-grid{gap:9px}.quick-card{min-height:53px;padding:8px 11px;border-radius:12px}
  .quick-card .quick-icon{width:32px;height:32px}.quick-card strong{font-size:10px;font-weight:620}.quick-card span{font-size:8px}
  .dash-activity-card{min-height:172px;padding:9px 12px;border-radius:14px}
  .dash-activity-card .panel-head{margin-bottom:4px}.dash-activity-card h2{font-size:12px;font-weight:640}
  .dashboard-activity .activity-item{padding:4px 0;grid-template-columns:28px 96px minmax(0,1fr) 88px}
  .dashboard-activity .activity-item strong{font-size:9px;font-weight:620}.dashboard-activity .activity-item small{font-size:7.5px}
  .dashboard-activity .activity-time{font-size:8px}.dashboard-activity .status-pill{font-size:7.5px}
  .identity-protect-card{min-height:68px;padding:9px 12px;border-radius:13px}.protect-icon{width:34px;height:34px}
  .identity-protect-card b{font-size:10px;font-weight:630}.identity-protect-card p{font-size:8px;margin:2px 0}.identity-protect-card a{font-size:8px}
  .patagonia-card{min-height:96px;padding:14px 15px;border-radius:14px}.patagonia-card span{font-size:16px;line-height:1.05}
}

/* Common 1366/1440px notebooks: keep content readable but vertically compact. */
@media (min-width:981px) and (max-width:1500px){
  :root{--sidebar:188px}
  .app-content{width:min(1130px,calc(100% - 38px))}
  .side-link{font-size:12px}.sidebar .brand{width:92px}
  .system-state.compact{font-size:8.5px}
}

/* ============================================================
   VEINA 3.4.3 · Activity desktop refinement
   Activity page only; dashboard biometric flows untouched.
   ============================================================ */
@media (min-width:981px){
  .activity-page-head{max-width:1080px!important;display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px!important}
  .activity-page-head h1{font-size:34px;margin:5px 0 2px;font-weight:680}
  .activity-page-head p{font-size:12px}
  .activity-refresh-top{min-height:38px;padding:0 15px;border-radius:12px;font-size:10.5px;background:#f7effb;color:#7715ba;box-shadow:none}
  .activity-refresh-top .icon{width:15px;height:15px}
  .activity-proto{max-width:1080px!important;padding:15px 16px!important;border-radius:17px}
  .activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:11px}
  .activity-filters{display:flex;gap:7px;flex-wrap:wrap}
  .activity-filter{border:1px solid #eadff0;background:#fff;color:#74697b;border-radius:999px;padding:6px 11px;font:600 9px/1 inherit;cursor:pointer;transition:.18s ease}
  .activity-filter:hover{border-color:#d7b9e6;color:#7010ad}
  .activity-filter.active{background:#7d16c2;border-color:#7d16c2;color:#fff;box-shadow:0 5px 13px rgba(125,22,194,.12)}
  .activity-summary{display:flex;align-items:center;gap:7px;color:#776c80;font-size:9px;white-space:nowrap}
  .activity-summary .status-dot{width:8px;height:8px}
  .activity-table-head{grid-template-columns:125px minmax(190px,1.1fr) minmax(180px,1fr) 108px;padding:7px 12px 7px 48px;gap:14px;border-radius:10px;font-size:8px;background:#faf8fb;color:#827688;letter-spacing:.01em}
  .activity-proto .activity-list{min-height:0}
  .activity-proto .activity-item{grid-template-columns:34px 125px minmax(190px,1.1fr) minmax(180px,1fr) 108px;gap:14px;min-height:50px;padding:6px 12px;border-top:1px solid #eee6f1}
  .activity-proto .activity-item:first-child{border-top:0}
  .activity-proto .row-icon{width:31px;height:31px;border-radius:10px;background:#f6eafb;color:#8214c7}
  .activity-proto .row-icon .icon{width:15px;height:15px}
  .activity-proto .activity-icon-success{background:#e9faf6;color:#13aa96}
  .activity-proto .activity-icon-info{background:#f5eafb;color:#7f18c3}
  .activity-proto .activity-icon-danger{background:#fff0f2;color:#df4f66}
  .activity-proto .activity-time{font-size:9px;color:#746a7a;white-space:nowrap}
  .activity-proto .activity-copy{grid-column:3;min-width:0}
  .activity-proto .activity-title{font-size:10.5px;font-weight:640;line-height:1.15;color:#1f1526;text-transform:none}
  .activity-proto .activity-sub{font-size:8.5px;line-height:1.25;margin-top:2px;color:#8a7f8e}
  .activity-proto .activity-state{justify-self:start;min-width:78px;text-align:center;font-size:8px;font-weight:650;padding:5px 8px;background:#e5f9f3;color:#087c67}
  .activity-proto .activity-state-info{background:#f1e8fb;color:#7113ad}
  .activity-proto .activity-state-danger{background:#ffedf0;color:#c63c54}
  .activity-proto .activity-item[hidden]{display:none!important}
}
@media (min-width:981px) and (max-height:820px){
  .activity-page-head{margin-bottom:9px!important}.activity-page-head h1{font-size:30px}
  .activity-proto{padding:11px 14px!important}.activity-toolbar{margin-bottom:7px}
  .activity-filter{padding:5px 9px;font-size:8px}
  .activity-table-head{padding-top:5px;padding-bottom:5px}
  .activity-proto .activity-item{min-height:42px;padding-top:4px;padding-bottom:4px}
  .activity-proto .row-icon{width:27px;height:27px}.activity-proto .activity-title{font-size:9.5px}.activity-proto .activity-sub{font-size:7.8px}
}

/* ============================================================
   VEINA 3.4.5 · Mobile UI Restore
   Mobile-only visual layer based on approved mobile prototype.
   Desktop/backend/biometric logic remain unchanged.
   ============================================================ */
@media (max-width:640px){
  body{background:#fbfaff;color:#201529;overflow-x:hidden}
  .public-nav{height:72px;padding:0}.public-nav .container{width:calc(100% - 30px)}
  .public-nav .brand{width:96px}.nav-actions .btn{min-height:42px;border-radius:13px;padding:0 18px}
  .home-hero{padding:30px 0 34px}.home-hero .hero-grid{display:flex;flex-direction:column;gap:24px}
  .home-hero .hero-copy{text-align:left}.home-hero .eyebrow{font-size:10px;letter-spacing:.22em}
  .home-hero .hero-copy h1{font-size:43px;line-height:1.02;margin:14px 0 16px;max-width:330px}
  .home-hero .hero-copy p{font-size:15px;line-height:1.45;text-align:left}
  .home-hero .hero-actions{display:grid;gap:10px}.home-hero .hero-actions .btn{min-height:50px}
  .hero-benefits{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:18px!important}
  .hero-benefits>div{display:grid!important;grid-template-columns:28px 1fr!important;grid-template-rows:auto auto;align-items:center;padding:10px;border:1px solid #eee3f3;border-radius:14px;background:#fff}
  .hero-benefits .icon{grid-row:1/3}.hero-benefits b,.hero-benefits span{margin:0!important}
  .prototype-scanner{order:2;min-height:390px!important;height:390px!important;padding:18px!important;border-radius:26px!important;width:100%!important}
  .prototype-scanner .hero-hand{height:315px!important}.prototype-scanner .identity-float{right:12px!important}
  .home-platform{padding:45px 0}.home-platform .section-title h2{font-size:32px}.home-platform .feature-grid{grid-template-columns:1fr!important;gap:12px}
  .home-platform .feature{min-height:118px!important;padding:18px!important;text-align:left!important;display:grid!important;grid-template-columns:50px 1fr 20px!important;grid-template-rows:auto auto!important;align-items:center}
  .home-platform .feature-icon{grid-row:1/3}.home-platform .feature h3,.home-platform .feature p{margin:0!important}.home-platform .feature i{grid-column:3;grid-row:1/3}
  .home-trust{margin:22px 14px!important;width:calc(100% - 28px)!important;padding:24px!important;border-radius:22px!important}
  .home-footer .footer-main{display:grid!important;gap:14px}.home-footer nav{display:none!important}.footer-bottom{display:grid!important;gap:5px!important;text-align:center!important;font-size:10px!important}

  .auth-page{padding:22px 0 90px}.auth-grid{display:block!important}.auth-intro{display:none!important}.auth-card{width:100%!important;max-width:none!important;padding:22px 18px!important;border-radius:24px!important}
  .auth-card .brand{display:block;margin:0 auto 16px!important;max-width:130px}.auth-card h1{text-align:center;font-size:32px!important}.auth-card>p{text-align:center}

  .app-topbar{height:58px!important;padding:0 14px!important;background:rgba(255,255,255,.96)}
  .app-topbar:before{display:none!important}.topbar-route{display:block!important;font-size:14px;font-weight:750;color:#261a2d;margin-right:auto}
  .topbar-actions{gap:7px!important}.topbar-actions .system-state{display:none!important}.topbar-actions .demo-pill{font-size:8px;padding:4px 7px}
  .user-chip{padding:0!important;background:transparent!important;border:0!important;gap:5px!important}.user-avatar{width:26px!important;height:26px!important;font-size:10px!important}.user-chip b{font-size:11px!important}
  .mobile-logout{width:32px!important;height:32px!important;min-height:32px!important}
  .app-content{width:calc(100% - 28px)!important;padding:24px 0 112px!important}
  .page-head{margin-bottom:16px!important}.page-head .eyebrow{font-size:9px}.page-head h1{font-size:31px!important;line-height:1.05!important;margin:7px 0 5px!important}.page-head p{font-size:13px;line-height:1.35}

  .dashboard-grid.dashboard-proto{display:flex!important;flex-direction:column!important;gap:12px!important}
  .identity-card-proto{order:1;padding:17px!important}.bio-card-proto{order:2;min-height:235px!important}.quick-section{order:3}.dash-activity-card{order:4}.dash-side-stack{display:none!important}
  .identity-card-proto .identity-head{margin-bottom:12px!important}.identity-card-proto .identity-person h2{font-size:20px!important}
  .identity-meta-proto{grid-template-columns:1fr 1fr!important;gap:8px!important}.identity-meta-proto .meta-cell{border:1px solid var(--line)!important;min-width:0;padding:9px!important}.meta-value{font-size:10px!important;overflow-wrap:anywhere}
  .quick-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.quick-card{display:grid!important;justify-items:center;text-align:center;gap:5px!important;min-height:100px!important;padding:12px 6px!important}.quick-card .arrow{display:none}.quick-card strong{font-size:11px!important}.quick-card span{font-size:9px!important}
  .dashboard-activity .activity-item{grid-template-columns:38px 1fr!important;gap:5px 10px!important}.dashboard-activity .activity-time{grid-column:2!important}.dashboard-activity .activity-item>div:nth-child(3){grid-column:2!important}.dashboard-activity .activity-state{display:none!important}

  .profile-proto,.identity-panel-proto,.activity-proto,.palm-config,.palm-about{padding:16px!important;border-radius:20px!important}
  .profile-compact-row{grid-template-columns:38px 1fr auto!important;min-height:64px!important}.profile-compact-row label{font-size:10px!important}.profile-compact-row .value{font-size:13px!important}
  .palms-proto-grid{grid-template-columns:1fr!important;gap:12px!important}.palm-proto-card,.palm-add-card{grid-template-columns:48px 1fr auto!important;min-height:118px!important;padding:15px!important}.palm-copy h3{font-size:16px!important}.palm-copy p{font-size:11px!important}.config-row{display:grid!important;gap:10px}.config-row>span{justify-self:start}

  .activity-page-head{display:block!important}.activity-refresh-top{margin-top:10px!important;min-height:38px!important}.activity-toolbar{display:grid!important;gap:10px!important}.activity-filters{display:flex!important;gap:6px!important;overflow-x:auto;padding-bottom:2px}.activity-filter{white-space:nowrap!important;font-size:10px!important;padding:7px 10px!important}.activity-table-head{display:none!important}
  .activity-proto .activity-item{display:grid!important;grid-template-columns:42px 1fr!important;gap:3px 10px!important;padding:14px 0!important;min-height:0!important}.activity-proto .row-icon{grid-row:1/4!important;width:40px!important;height:40px!important}.activity-proto .activity-time{grid-column:2!important;font-size:11px!important}.activity-proto .activity-copy{grid-column:2!important}.activity-proto .activity-title{font-size:14px!important}.activity-proto .activity-sub{font-size:11px!important}.activity-proto .activity-state{display:none!important}

  .pay-proto-grid{display:flex!important;flex-direction:column!important}.balance-proto{min-height:190px!important;padding:18px!important}.balance-proto .balance-amount{font-size:34px!important}.pay-actions-proto{grid-template-columns:repeat(4,1fr)!important}.quick-pay-card,.transactions-proto{padding:15px!important}

  .scan-page .container{width:calc(100% - 20px)!important}.scan-card,.scan-app-card{padding:14px!important;border-radius:24px!important}.scan-flow-head h1{font-size:27px!important}.scan-flow-head p{font-size:12px!important}
  .scan-steps-inline{margin:14px 0 18px!important}.scan-steps-inline span{font-size:8px!important}.scan-steps-inline span b{width:24px!important;height:24px!important}
  .scan-workspace{display:flex!important;flex-direction:column!important;gap:14px!important}.scan-instructions{padding:4px 2px!important}.scan-instructions h3{font-size:18px!important}.scan-hand-illustration{display:none!important}.scan-tips{display:grid!important;gap:6px!important;font-size:11px!important}
  .scan-preview h3{display:none!important}.camera-wrap{aspect-ratio:3/4!important;max-height:560px!important;border-radius:22px!important}.scan-frame{width:58%!important;height:72%!important}
  .scan-guide{grid-template-columns:1fr!important;gap:8px!important}.guide-chip{min-height:46px!important;border-radius:14px!important;font-size:12px!important}
  .scan-tools.scan-tools-proto{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.scan-tools.scan-tools-proto .btn{min-height:48px!important}.scan-tools #manualCapture{display:none!important}

  .mobile-bar{left:12px!important;right:12px!important;height:70px!important;padding:6px!important;border-radius:23px!important;grid-template-columns:repeat(5,1fr)!important}
  .mobile-link{font-size:8px!important;gap:2px!important;align-content:center!important}.mobile-link .icon{width:19px!important;height:19px!important}.mobile-link.active{background:#f0e3fa!important;color:var(--purple)!important}
  .mobile-link.scan-main{position:relative;color:#fff!important;background:linear-gradient(145deg,#7711bd,#a321e2)!important;width:58px;height:58px;border-radius:50%!important;justify-self:center;align-self:end;transform:translateY(-12px);box-shadow:0 10px 25px rgba(128,20,194,.3)}.mobile-link.scan-main span{font-size:0}.mobile-link.scan-main .icon{width:27px!important;height:27px!important}

  .mobile-notification-list{display:grid;gap:10px}.mobile-notification{padding:15px!important;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.mobile-notification strong{font-size:13px}.mobile-notification p{font-size:11px;color:var(--muted);margin:4px 0 0}
  .mobile-profile-menu{display:grid;gap:14px}.mobile-profile-hero{display:flex;align-items:center;gap:13px;padding:8px 4px}.mobile-profile-hero h2{margin:0 0 5px;font-size:21px}.mobile-menu-card{padding:6px!important}.mobile-menu-card button{width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:40px 1fr 20px;align-items:center;text-align:left;gap:9px;color:#281c30}.mobile-menu-card button:last-child{border-bottom:0}.mobile-menu-card b{font-size:13px}.mobile-menu-logout{min-height:50px;border:1px solid #ffd4dc;background:#fff5f7;color:#d83c59;border-radius:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}
}


/* VEINA v3.4.6 — mobile polish only. Desktop and biometric logic unchanged. */
@media (max-width:640px){
  /* Cleaner private header */
  .app-topbar{height:54px!important;padding:0 12px!important;gap:8px!important}
  .topbar-route{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;font-weight:760!important}
  .topbar-actions{gap:6px!important}
  .topbar-actions .demo-pill{font-size:7px!important;padding:3px 6px!important}
  .user-avatar{display:none!important}
  .user-chip{min-width:0!important;gap:0!important}
  .user-chip b{font-size:11px!important;line-height:1!important;white-space:nowrap}
  .mobile-logout{width:30px!important;height:30px!important;min-height:30px!important}

  /* Bottom navigation: Inicio · Actividad · Palmas · Notificaciones · Perfil */
  .mobile-bar{height:72px!important;padding:6px 7px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  .mobile-link{font-size:8px!important;line-height:1.05!important}
  .mobile-link.scan-main{width:58px!important;height:58px!important;transform:translateY(-10px)!important}
  .mobile-link.scan-main span{font-size:8px!important;color:#fff!important;display:block!important;margin-top:2px!important}
  .mobile-link.scan-main .icon{width:25px!important;height:25px!important}
  .app-content{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}

  /* Dashboard biometric card: stop benefit text from joining together */
  .bio-card-proto{min-height:270px!important;padding:17px!important}
  .bio-card-proto .bio-core{left:50%!important;top:57%!important}
  .bio-benefits{left:16px!important;right:16px!important;top:auto!important;bottom:14px!important;width:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;z-index:4!important}
  .bio-benefits span{display:grid!important;grid-template-columns:16px 1fr!important;grid-template-rows:auto auto!important;column-gap:4px!important;align-items:start!important;min-width:0!important}
  .bio-benefits .icon{grid-row:1/3!important;width:14px!important;height:14px!important}
  .bio-benefits b{font-size:9px!important;line-height:1.05!important;white-space:normal!important}
  .bio-benefits small{font-size:7px!important;line-height:1.15!important;white-space:normal!important}
  .bio-card-proto .bio-label{display:none!important}

  /* Palms page */
  .palms-proto-grid{gap:10px!important}
  .palm-proto-card{grid-template-columns:46px 1fr!important;grid-template-rows:auto auto!important;align-items:start!important;min-height:112px!important;padding:14px!important}
  .palm-proto-card .status-pill{grid-column:2!important;justify-self:start!important;margin-top:3px!important}
  .palm-menu-delete{right:12px!important;bottom:12px!important}
  .palm-add-card{display:grid!important;grid-template-columns:44px 1fr!important;grid-template-rows:auto auto!important;gap:4px 10px!important;align-items:center!important;text-align:left!important;min-height:104px!important;padding:14px!important}
  .palm-add-card .add-circle{grid-row:1/3!important;width:42px!important;height:42px!important}
  .palm-add-card strong{font-size:14px!important;line-height:1.15!important;margin:0!important}
  .palm-add-card span{font-size:11px!important;line-height:1.3!important;margin:0!important}
  .palm-config{padding:15px!important}
  .config-row{gap:8px!important;padding-top:6px!important}
  .config-row b{font-size:13px!important;line-height:1.25!important}
  .config-row small{font-size:10px!important;line-height:1.35!important;margin-top:3px!important}
  .config-row>span{font-size:10px!important;padding:6px 9px!important}

  /* Activity density */
  .activity-page-head{margin-bottom:12px!important}
  .activity-refresh-top{min-height:36px!important;margin-top:8px!important}
  .activity-toolbar{gap:7px!important;margin-bottom:7px!important}
  .activity-filter{padding:6px 9px!important;font-size:9px!important}
  .activity-proto .activity-item{padding:11px 0!important}

  /* Public mobile scanner copy */
  .prototype-scanner .ai-chip{max-width:72%!important}
  .prototype-scanner .ai-chip span{min-width:0!important}
  .prototype-scanner .ai-chip b{display:block!important;white-space:normal!important}
  .prototype-scanner .ai-chip small{display:block!important;white-space:normal!important;line-height:1.2!important}
  .prototype-scanner .identity-float{display:grid!important;gap:2px!important;max-width:46%!important;line-height:1.08!important}

  /* Footer compactness */
  .home-footer{padding-top:24px!important}
  .home-footer .brand{width:105px!important}
  .home-footer .footer-main{gap:8px!important}
  .footer-bottom{padding-top:10px!important;padding-bottom:18px!important}
}

/* VEINA v3.4.8 — mobile profile / personal data layout fix only */
@media (max-width:640px){
  /* Profile card header */
  .profile-proto .panel-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    margin-bottom:16px!important;
  }
  .profile-proto .identity-person{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
  }
  .profile-proto .identity-person .avatar{
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
  }
  .profile-proto .identity-person .avatar .icon{
    width:26px!important;
    height:26px!important;
  }
  .profile-proto .identity-person h2{
    font-size:20px!important;
    line-height:1.1!important;
    margin:0 0 6px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .profile-proto .identity-person .status-pill{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    font-size:10px!important;
    padding:6px 9px!important;
  }
  #editProfileBtn{
    min-height:38px!important;
    height:38px!important;
    padding:0 11px!important;
    border-radius:12px!important;
    font-size:10px!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  #editProfileBtn .icon{width:15px!important;height:15px!important}

  /* Personal data becomes clean mobile rows */
  .profile-proto .section-kicker,
  .identity-panel-proto .section-kicker{
    border:0!important;
    padding:0!important;
    margin:4px 0 8px!important;
    color:#2c2232!important;
    text-transform:none!important;
    letter-spacing:0!important;
    font-size:14px!important;
    font-weight:750!important;
  }
  .profile-compact-grid{
    display:grid!important;
    gap:0!important;
  }
  .profile-compact-row{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:10px!important;
    min-height:66px!important;
    padding:9px 0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .profile-compact-row:last-child{border-bottom:0!important}
  .profile-compact-row .row-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
    display:grid!important;
    place-items:center!important;
  }
  .profile-compact-row .row-icon .icon{
    width:21px!important;
    height:21px!important;
  }
  .profile-compact-row>div:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    display:block!important;
  }
  .profile-compact-row label{
    display:block!important;
    margin:0 0 3px!important;
    color:#817687!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }
  .profile-compact-row .value{
    display:block!important;
    margin:0!important;
    color:#271c2e!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:650!important;
    overflow-wrap:anywhere!important;
  }
  .profile-compact-row>button,
  .profile-compact-row>span.status-pill{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
  }
  .identity-panel-proto{
    padding:16px!important;
  }
  .identity-panel-proto .profile-compact-row{
    min-height:68px!important;
  }
  .identity-panel-proto .status-pill{
    font-size:10px!important;
    padding:6px 9px!important;
  }
  .copy-mini{
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
  }
  .copy-mini .icon{width:17px!important;height:17px!important}
  .manage-palms-strip{
    min-height:44px!important;
    height:auto!important;
    border-radius:13px!important;
    font-size:12px!important;
    margin-top:12px!important;
    padding:0 12px!important;
    justify-content:space-between!important;
  }
  .manage-palms-strip .icon{width:18px!important;height:18px!important}
}

/* VEINA v3.4.9 — mobile palm flow + dashboard polish. Functional biometric logic unchanged. */
@media (max-width:640px){
  /* Dashboard: cleaner quick actions and recent activity */
  .quick-section h2{font-size:19px!important;margin:0 0 11px!important;letter-spacing:-.02em}
  .quick-grid{gap:9px!important}
  .quick-card{min-height:126px!important;padding:14px 8px 12px!important;border-radius:20px!important;border-color:#eadff0!important;box-shadow:0 7px 22px rgba(54,24,72,.025)!important}
  .quick-card .quick-icon{width:54px!important;height:54px!important;border-radius:16px!important}
  .quick-card .quick-icon .icon{width:25px!important;height:25px!important}
  .quick-card strong{font-size:13px!important;line-height:1.12!important;color:#078bc8!important}
  .quick-card span{font-size:10px!important;line-height:1.25!important}
  .dash-activity-card{padding:15px!important;border-radius:22px!important}
  .dash-activity-card .panel-head{align-items:center!important;margin-bottom:4px!important}
  .dash-activity-card .panel-head h2{font-size:19px!important;display:flex!important;align-items:center!important;gap:6px!important;letter-spacing:-.02em}
  .dash-activity-card .link-btn{background:#f3f1f3!important;border-radius:999px!important;padding:7px 12px!important;font-size:11px!important;color:#21172a!important}
  .dashboard-activity .activity-item{padding:14px 0!important;grid-template-columns:44px 1fr!important;gap:4px 10px!important}
  .dashboard-activity .row-icon{width:42px!important;height:42px!important;border-radius:14px!important}.dashboard-activity .row-icon .icon{width:21px!important;height:21px!important}
  .dashboard-activity .activity-time{font-size:11px!important}.dashboard-activity .activity-title{font-size:14px!important;line-height:1.15!important}.dashboard-activity .activity-sub{font-size:11px!important;line-height:1.25!important}

  /* Registration shell */
  .palm-choice-screen,.register-status-screen{padding:20px!important;border-radius:24px!important}
  .palm-choice-screen .scan-flow-head h1,.register-status-screen .scan-flow-head h1{font-size:30px!important;line-height:1.05!important;letter-spacing:-.035em!important;margin-top:10px!important}
  .palm-choice-screen .scan-flow-head p,.register-status-screen .scan-flow-head p{font-size:13px!important;line-height:1.4!important;margin-top:10px!important}
  .scan-steps-inline{margin:20px 0 24px!important;gap:0!important}
  .scan-steps-inline:before{left:9%!important;right:9%!important;top:15px!important;background:#e8d9f1!important}
  .scan-steps-inline span{font-size:9px!important;gap:6px!important;color:#72687b!important}
  .scan-steps-inline b{width:30px!important;height:30px!important;font-size:12px!important;background:#f3edf7!important;border:1px solid #eadff0!important}
  .scan-steps-inline .active{color:var(--purple)!important;font-weight:800!important}.scan-steps-inline .active b{background:linear-gradient(145deg,#7711bd,#a421e3)!important;border-color:transparent!important}
  .scan-steps-inline .done b{background:#e7faf5!important;border-color:#c9f1e7!important;color:#07987e!important}

  /* Palm selector */
  .palm-choice-intro{text-align:left!important;margin:0 0 14px!important}
  .palm-choice-intro h3{font-size:19px!important;margin:0 0 6px!important}.palm-choice-intro p{font-size:12px!important;line-height:1.45!important;color:var(--muted)!important}
  .palm-choice-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important}
  .palm-choice-card{min-height:92px!important;padding:12px!important;border-radius:18px!important;display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;text-align:left!important;border:1px solid #e8d8f1!important;background:#fff!important}
  .palm-choice-card:not(.disabled){border-color:#dca9f4!important;background:linear-gradient(90deg,#fff 0%,#fff 70%,#fbf3ff 100%)!important}
  .palm-choice-icon{width:54px!important;height:54px!important;border-radius:16px!important;background:#f4e9fb!important;color:var(--purple)!important}.palm-choice-icon .icon{width:29px!important;height:29px!important}
  .palm-choice-copy{min-width:0!important}.palm-choice-copy strong{font-size:16px!important;line-height:1.15!important;margin:0 0 4px!important}.palm-choice-copy span{font-size:11px!important;line-height:1.3!important;color:#746b7b!important}
  .palm-choice-state{position:static!important;justify-self:end!important;align-self:center!important;min-width:88px!important;text-align:center!important;border-radius:999px!important;padding:10px 12px!important;background:linear-gradient(145deg,#7711bd,#a421e3)!important;color:#fff!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
  .palm-choice-card.disabled{opacity:1!important;background:#fafafa!important;border-color:#eee9f0!important;color:#89818f!important}.palm-choice-card.disabled .palm-choice-icon{background:#f1f1f2!important;color:#a7a1ad!important}.palm-choice-card.disabled .palm-choice-state{background:#e7f8f5!important;color:#078f78!important}
  .palm-choice-note{margin:14px 0 0!important;padding:12px 2px!important;background:transparent!important;display:grid!important;grid-template-columns:24px 1fr!important;gap:8px!important;align-items:start!important;font-size:11px!important;line-height:1.4!important}.palm-choice-note .icon{width:22px!important;height:22px!important;color:#24162e!important}
  .palm-choice-screen .scan-tools{margin-top:10px!important}.palm-choice-screen .scan-tools .btn{width:48%!important}

  /* Verifying state */
  .register-status-body{margin-top:6px!important;text-align:left!important;max-width:none!important}
  .register-status-body .verify-orbit{width:66px!important;height:66px!important;margin:0 0 8px!important;background:none!important;animation:none!important}
  .register-status-body .verify-orbit:before{display:none!important}.register-status-body .verify-orbit-core{width:64px!important;height:64px!important;border-radius:18px!important;background:#f4e9fb!important;color:var(--purple)!important}.register-status-body .verify-orbit-core .icon{width:32px!important;height:32px!important}
  .register-status-body h2{font-size:23px!important;line-height:1.1!important;margin:8px 0 6px!important}.register-status-body>p{font-size:12px!important;line-height:1.45!important;margin:0 0 14px!important;max-width:none!important}
  .verify-checks{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;max-width:none!important;margin:0!important}
  .verify-row{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:66px!important;padding:10px 12px!important;border:0!important;border-radius:15px!important;background:#f7f5f8!important;color:#302638!important}
  .verify-row.done{background:#effbf8!important}.verify-row.checking{background:#faf3ff!important}.verify-row.pending{background:#f7f6f8!important;color:#716978!important}
  .verify-row-icon{width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#fff!important;color:#6e6675!important}.verify-row.done .verify-row-icon{background:#19b89f!important;color:#fff!important}.verify-row-icon .icon{width:18px!important;height:18px!important}
  .verify-row b{display:block!important;font-size:13px!important;line-height:1.15!important;margin-bottom:3px!important}.verify-row small{display:block!important;font-size:10px!important;line-height:1.25!important;color:#756c7e!important}
  .verify-spinner{width:30px!important;height:30px!important;border-radius:50%!important;border:4px dotted #8a21d0!important;animation:veinaVerify .9s linear infinite!important;justify-self:center!important}

  /* Mobile alerts stay visible near the top instead of below page content */
  .toast-root{top:calc(72px + env(safe-area-inset-top))!important;left:14px!important;right:14px!important;bottom:auto!important;gap:8px!important}
  .toast{left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;min-width:0!important;max-width:none!important;border-radius:18px!important;padding:13px 11px 13px 13px!important;grid-template-columns:40px minmax(0,1fr) 32px!important;gap:10px!important;box-shadow:0 16px 45px rgba(32,11,45,.24)!important}
  .toast-icon{width:40px!important;height:40px!important;border-radius:13px!important}.toast-icon .icon{width:22px!important;height:22px!important}
  .toast-copy strong{font-size:13px!important}.toast-copy span{font-size:12px!important;line-height:1.4!important}.toast-close{width:32px!important;height:32px!important}
}
