/* VASKI App v1.4 — mobile-first product homepage. No changes to Business or login. */
body.vask-app-home-active{background:#f7f8fa!important;color:#18201e;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",Arial,sans-serif;}
#dashboard-area.v14-app{min-height:100dvh;padding:0 0 95px!important;max-width:none!important;background:#f7f8fa;overflow-x:clip;color:#171c1b;}
#dashboard-area.v14-app .v14-hero{background:radial-gradient(ellipse at 96% -30%,rgba(140,170,146,.20),transparent 58%),linear-gradient(128deg,#151818,#242927 80%);color:white;padding:22px max(18px,calc((100vw - 940px)/2)) 25px;border-radius:0 0 28px 28px;box-shadow:0 9px 24px rgba(28,32,33,.08);}
#dashboard-area .v14-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;}
#dashboard-area .v14-logo{width:150px;height:auto;max-width:46vw;display:block;}
#dashboard-area .v14-hero-actions{display:flex;align-items:center;gap:14px;}
#dashboard-area .v14-bell{width:36px;height:36px;padding:7px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:white;position:relative;}
#dashboard-area .v14-bell svg{width:24px;height:24px;}
#dashboard-area .v14-hero-actions .app-home-account-shortcut{padding:0;}
#dashboard-area .v14-hero-actions .app-home-avatar{background:#414951;color:#fff;height:38px;width:38px;font-size:12px;border:0;}
#dashboard-area .v14-hero-balance{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:19px 0 0;}
#dashboard-area .v14-hero-balance>div{min-width:0;display:grid;gap:2px;}
#dashboard-area .v14-hero-balance span{font-size:13px;color:#b3bbb7;line-height:1.3;}
#dashboard-area .v14-hero-balance strong{color:#fff;font-size:clamp(30px,6vw,40px);letter-spacing:-.045em;font-weight:800;line-height:1.13;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-topup{flex:0 0 auto;border:1px solid #5b665f;border-radius:999px;background:rgba(13,20,16,.1);color:#eff8ea;display:flex;gap:8px;align-items:center;padding:10px 13px;font-size:12px;font-weight:700;white-space:nowrap;}
#dashboard-area .v14-topup svg{width:18px;height:18px;color:#bcff43;}
#dashboard-area .v14-topup span{color:#baff41;font-size:19px;line-height:0;}
#dashboard-area .v14-content{max-width:940px;padding:18px 16px 30px;margin:0 auto;display:grid;gap:19px;}
#dashboard-area .v14-entry{display:grid;grid-template-columns:100px 1px minmax(0,1fr);align-items:center;gap:13px;background:#fff;border:1px solid #eff0f1;border-radius:19px;padding:17px 18px;box-shadow:0 4px 20px #26344408;}
#dashboard-area .v14-scan-action{border:0;background:transparent;display:grid;justify-items:center;gap:7px;min-width:0;color:#617079;font-size:11px;font-weight:650;padding:0;}
#dashboard-area .v14-scan-icon{display:grid;place-items:center;height:43px;width:45px;border-radius:14px;background:#eff1f4;color:#242b31;}
#dashboard-area .v14-scan-icon svg{width:24px;height:24px;}
#dashboard-area .v14-entry-divider{height:44px;background:#e5e8eb;}
#dashboard-area .v14-code-form{display:flex;align-items:center;gap:7px;min-width:0;margin:0;}
#dashboard-area .v14-code-form input{flex:1;min-width:0;width:0;min-height:45px;height:45px;box-sizing:border-box;border:1px solid #e2e5e8;border-radius:13px;color:#182322;background:#fff;outline:0;font-size:14px;padding:0 12px;}
#dashboard-area .v14-code-form input:focus{border-color:#a5d734;box-shadow:0 0 0 3px #a5d73426;}
#dashboard-area .v14-code-form input::placeholder{color:#8b96a4;}
#dashboard-area .v14-code-form input {flex:1; width:100%;font-variant-numeric:tabular-nums;letter-spacing:.015em;}
#dashboard-area .v14-code-form input[aria-busy="true"] {background:#f6f8f8;}
#dashboard-area .v14-entry #qr-error {color:#ab3543;background:#fff1f2;border:1px solid #ffd9dd;border-radius:11px;padding:12px;font-weight:620;line-height:1.4;}
#dashboard-area .v14-entry #qr-camera-panel,#dashboard-area .v14-entry #qr-error,#dashboard-area .v14-entry #v14-entry-feedback{grid-column:1/-1;}
#dashboard-area .v14-entry #qr-camera-panel{margin:12px 0 0;max-width:unset;}
#dashboard-area .v14-entry #qr-stop{grid-column:1/-1;justify-self:start;font-size:12px;background:#f5f6f7;color:#293532;border-radius:9px;padding:8px 12px;}
#dashboard-area .v14-entry .v14-legacy-qr{display:none!important;}
#dashboard-area .v14-inline-error{color:#ab3e3e;background:#fff0ef;border-radius:10px;padding:9px 12px;margin:0;font-size:12px;}
#dashboard-area .v14-entry-feedback{color:#53734a;margin:0;padding:5px 0 0;font-size:12px;line-height:1.4;}
#dashboard-area .v14-session{background:white;border:1px solid #f0f1f2;border-radius:20px;padding:18px;box-shadow:0 5px 20px #252d3208;}
#dashboard-area .v14-section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;}
#dashboard-area .v14-section-heading h2{font-size:17px;letter-spacing:-.035em;margin:0;font-weight:790;color:#161b1b;display:flex;align-items:center;gap:9px;}
#dashboard-area .v14-count{display:grid;place-items:center;min-width:26px;height:26px;padding:0 5px;border-radius:50px;background:#baff38;color:#1d3116;font-size:12px;line-height:1;font-weight:800;letter-spacing:normal;}
#dashboard-area .v14-clear{border:0;background:#f2f3f4;color:#66717c;font-size:11px;border-radius:50px;min-height:31px;padding:6px 10px;display:flex;align-items:center;gap:6px;}
#dashboard-area .v14-clear svg{width:15px;height:15px;}
#dashboard-area .v14-items{display:grid;gap:8px;}
#dashboard-area .v14-service-row{min-height:69px;display:grid;grid-template-columns:50px minmax(0,1fr) max-content 33px;gap:12px;align-items:center;background:#fff;border:1px solid #f0f0f1;border-radius:14px;padding:9px 11px;box-shadow:0 3px 13px #17212a07;}
#dashboard-area .v14-service-icon{width:49px;height:49px;border-radius:13px;background:#f0f1f4;color:#3e4b54;display:grid;place-items:center;}
#dashboard-area .v14-service-icon svg{width:27px;height:27px;}
#dashboard-area .v14-service-code{font-size:16px;font-weight:760;letter-spacing:.01em;color:#171c1f;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-service-price{font-size:16px;font-weight:790;white-space:nowrap;color:#171c1f;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-remove{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#f1f2f5;color:#64717d;font-size:22px;line-height:1;}
#dashboard-area .v14-remove:hover{background:#fde7e7;color:#ba5353;}
#dashboard-area .v14-session-empty{display:flex;align-items:center;justify-content:center;gap:10px;background:#f8f9fa;border:1px dashed #dce3e6;border-radius:14px;padding:16px;color:#677680;font-size:12px;line-height:1.35;}
#dashboard-area .v14-session-empty strong{color:#2a3833;font-size:13px;}
#dashboard-area .v14-empty-icon{width:34px;height:34px;color:#788a89;flex:0 0 34px;}
#dashboard-area .v14-empty-icon svg{width:34px;height:34px;}
#dashboard-area .v14-add-service{width:100%;min-height:40px;border:1px dashed #d7dfe4;color:#697780;background:#fbfcfe;border-radius:12px;font-size:12px;margin-top:11px;display:flex;align-items:center;justify-content:center;gap:8px;}
#dashboard-area .v14-add-service span{font-size:19px;}
#dashboard-area .v14-checkout{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f7f8fa;border-radius:13px;padding:13px;margin-top:13px;}
#dashboard-area .v14-total{display:grid;gap:4px;min-width:0;}
#dashboard-area .v14-total span{font-size:11px;color:#72808d;}
#dashboard-area .v14-total strong{font-size:23px;color:#161a1c;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-pay{background:#baff38;border:0;border-radius:15px;padding:0 18px;min-height:51px;color:#151a18;font-size:15px;font-weight:820;white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:48%;}
#dashboard-area .v14-pay:disabled{background:#e0e7dc;color:#7c897b;cursor:not-allowed;}
#dashboard-area .v14-pay span{font-size:22px;font-weight:500;}
#dashboard-area .v14-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 1px 12px;}
#dashboard-area .v14-title-row h2{font-size:18px;font-weight:770;letter-spacing:-.03em;color:#171e1e;margin:0;}
#dashboard-area .v14-title-row button{background:transparent;color:#6d7c8b;border:0;padding:4px 2px;font-size:12px;white-space:nowrap;}
#dashboard-area .v14-title-row button span{font-size:19px;vertical-align:-1px;}
#dashboard-area .v14-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
#dashboard-area .v14-method{background:white;border:1px solid #e7eaf0;border-radius:15px;min-height:76px;display:flex;align-items:center;text-align:left;gap:10px;padding:12px;color:#111b20;min-width:0;}
#dashboard-area .v14-method.selected{background:#191f20;color:white;border-color:#29352f;}
#dashboard-area .v14-method-icon{border:1px solid #e2e5e9;border-radius:11px;width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;color:#667888;}
#dashboard-area .v14-method-icon-dark{background:#151b19;color:#bbff41;border-color:#4b5c4d;}
#dashboard-area .v14-method-icon svg{width:23px;height:23px;}
#dashboard-area .v14-method>span:nth-child(2){display:grid;gap:5px;min-width:0;}
#dashboard-area .v14-method strong{font-size:12px;line-height:1.12;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#dashboard-area .v14-method small{color:#7c8c9c;font-size:11px;white-space:nowrap;}
#dashboard-area .v14-method.selected small{color:#e1eae3;font-weight:750;}
#dashboard-area .v14-selected-dot{margin-left:auto;background:#baff38;border-radius:50%;height:20px;width:20px;color:#163417;display:grid;place-items:center;font-weight:700;flex:0 0 20px;font-size:12px;}
#dashboard-area .v14-unselected-dot{margin-left:auto;border-radius:50%;height:19px;width:19px;border:1.5px solid #c5cdd5;flex:0 0 19px;}
#dashboard-area .v14-add-card{width:100%;height:42px;margin-top:9px;border-radius:13px;border:1px dashed #d3dce6;background:#fbfcff;color:#647484;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px;}
#dashboard-area .v14-add-card span{font-size:20px;}
#dashboard-area .v14-activity-list{background:#fff;border-radius:14px;border:1px solid #edf0f2;overflow:hidden;}
#dashboard-area .v14-activity-empty{padding:20px;text-align:center;font-size:12px;color:#738391;}
#dashboard-area .v14-activity-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #edf0f2;min-height:60px;}
#dashboard-area .v14-activity-row:last-child{border-bottom:0;}
#dashboard-area .v14-activity-mark{height:34px;width:34px;flex:0 0 34px;border-radius:12px;display:grid;place-items:center;background:#eff9ea;color:#378039;font-weight:800;}
#dashboard-area .v14-activity-info{display:grid;gap:4px;flex:1;min-width:0;}
#dashboard-area .v14-activity-info strong{font-size:12px;font-weight:690;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e2727;}
#dashboard-area .v14-activity-info small{font-size:11px;color:#82919e;}
#dashboard-area .v14-activity-amount{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-wallet-detail,#dashboard-area .v14-account{background:#fff;border-radius:14px;border:1px solid #edf0f2;overflow:hidden;}
#dashboard-area .v14-wallet-detail .app-home-wallet-details{margin:0;border:0;border-radius:0;}
#dashboard-area .v14-wallet-detail .app-home-wallet-details summary{color:#66777b;}
#dashboard-area .v14-nav{background:#fff;box-shadow:0 -4px 22px #101e2a0b;border-color:#ebeff2;z-index:51;}
#dashboard-area .v14-nav button{color:#7c8795;}
#dashboard-area .v14-nav button.active{color:#203b27;background:#eff9e6;}
#dashboard-area .v14-dialog[hidden]{display:none!important;}
#dashboard-area .v14-dialog{position:fixed;inset:0;background:rgba(8,14,12,.57);display:grid;place-items:center;z-index:99;padding:20px;}
#dashboard-area .v14-dialog-content{background:white;max-width:420px;width:100%;box-sizing:border-box;padding:25px;border-radius:22px;position:relative;box-shadow:0 18px 70px #0002;}
#dashboard-area .v14-dialog-content h2{font-size:21px;line-height:1.2;margin:0 28px 12px 0;}
#dashboard-area .v14-dialog-content p{font-size:13px;line-height:1.55;color:#56656f;margin:0 0 20px;}
#dashboard-area .v14-dialog-content #v14-dialog-ok{border:0;background:#baff38;color:#15201b;font-weight:770;padding:12px 22px;border-radius:12px;}
#dashboard-area .v14-dialog-close{position:absolute;right:14px;top:11px;border:0;background:transparent;color:#7f8b91;font-size:27px;}
#dashboard-area button:focus-visible,#dashboard-area input:focus-visible{outline:2px solid #a6ef26;outline-offset:2px;}
#dashboard-area.v14-app [hidden]{display:none!important;}
@media(min-width:760px){
 #dashboard-area .v14-content{grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);column-gap:22px;}
 #dashboard-area .v14-entry,#dashboard-area .v14-session{grid-column:1;}
 #dashboard-area .v14-payments{grid-column:2;grid-row:1/span 2;align-self:start;}
 #dashboard-area .v14-activity{grid-column:2;grid-row:3;}
 #dashboard-area .v14-wallet-detail,#dashboard-area .v14-account,#dashboard-area .app-home-lab{grid-column:1;}
 #dashboard-area .v14-methods{grid-template-columns:1fr;}
 #dashboard-area .v14-hero{border-radius:0 0 27px 27px;}
}
@media(max-width:390px){
 #dashboard-area .v14-content{padding:15px 11px 20px;gap:15px;}
 #dashboard-area .v14-hero{padding:17px 15px 22px;border-radius:0 0 24px 24px;}
 #dashboard-area .v14-hero-balance{padding-top:16px;}
 #dashboard-area .v14-topup{font-size:11px;padding:9px 10px;}
 #dashboard-area .v14-entry{grid-template-columns:73px 1px minmax(0,1fr);gap:8px;padding:13px 12px;}
 #dashboard-area .v14-code-form input{font-size:12px;padding-inline:8px;}

 #dashboard-area .v14-session{padding:14px 12px;}
 #dashboard-area .v14-section-heading h2{font-size:15.5px;}
 #dashboard-area .v14-service-row{grid-template-columns:42px minmax(0,1fr) max-content 29px;gap:8px;padding:8px;min-height:62px;}
 #dashboard-area .v14-service-icon{width:42px;height:42px;}
 #dashboard-area .v14-service-icon svg{width:26px;height:26px;}
 #dashboard-area .v14-service-price,#dashboard-area .v14-service-code{font-size:14px;}
 #dashboard-area .v14-remove{width:28px;height:28px;}
 #dashboard-area .v14-pay{font-size:13px;padding:0 12px;min-width:48%;gap:7px;}
 #dashboard-area .v14-method{padding:8px;gap:7px;min-height:67px;}
 #dashboard-area .v14-method-icon{width:35px;height:35px;flex-basis:35px;}
 #dashboard-area .v14-method strong{font-size:11px;}
 #dashboard-area .v14-method small{font-size:10px;}
 #dashboard-area .v14-selected-dot,#dashboard-area .v14-unselected-dot{display:none;}
}
@media(prefers-reduced-motion:reduce){#dashboard-area *{scroll-behavior:auto!important;}}
/* v1.5: recarga de billetera */
#dashboard-area .v14-topup-amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 14px;}
#dashboard-area .v14-topup-amounts button{border:1.5px solid #dfe5e2;background:#f7f9f8;color:#15201b;font-weight:720;font-size:15px;padding:13px 10px;border-radius:12px;cursor:pointer;}
#dashboard-area .v14-topup-amounts button[aria-pressed="true"]{border-color:#15201b;background:#baff38;}
#dashboard-area .v14-dialog-content .v14-topup-note{font-size:12px;margin:0 0 14px;}
#dashboard-area .v14-dialog-content .v14-topup-feedback{font-size:13px;color:#a2332a;margin:0 0 14px;}
#dashboard-area .v14-dialog-content #v14-topup-confirm{border:0;background:#15201b;color:#fff;font-weight:770;padding:12px 22px;border-radius:12px;width:100%;cursor:pointer;}
#dashboard-area .v14-dialog-content #v14-topup-confirm:disabled{opacity:.45;cursor:not-allowed;}
#dashboard-area .v14-activity-amount.is-debit{color:#15201b;}
#dashboard-area .v14-activity-amount.is-credit{color:#287a3e;}
/* v1.6: módulos independientes, logo de concesionario y ciclo de pago con cierre automático */
#dashboard-area .v14-logo.is-operator{width:auto;max-width:46vw;max-height:45px;object-fit:contain;}
#dashboard-area .v14-module{max-width:640px;margin:0 auto;padding:18px 16px 96px;display:grid;gap:16px;}
#dashboard-area .v14-module-title{font-size:22px;letter-spacing:-.04em;margin:4px 0 0;color:#161b1b;}
#dashboard-area .v14-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
#dashboard-area .v14-card{background:#fff;border:1px solid #eff0f1;border-radius:18px;padding:16px;box-shadow:0 4px 20px #26344408;display:grid;gap:12px;}
#dashboard-area .v14-card h2{font-size:15px;margin:0;color:#161b1b;}
#dashboard-area .v14-card-quiet{box-shadow:none;}
#dashboard-area .v14-card-label{font-size:12px;color:#6b7a84;}
#dashboard-area .v14-card-amount{font-size:34px;font-weight:800;letter-spacing:-.045em;color:#161b1b;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-card-note{font-size:12px;line-height:1.5;color:#6b7a84;margin:0;}
#dashboard-area .v14-wallet-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#dashboard-area .v14-wallet-breakdown div,#dashboard-area .v14-activity-stats div{background:#f7f9f8;border-radius:12px;padding:10px 12px;display:grid;gap:3px;}
#dashboard-area .v14-wallet-breakdown span,#dashboard-area .v14-activity-stats span{font-size:11px;color:#6b7a84;}
#dashboard-area .v14-wallet-breakdown strong,#dashboard-area .v14-activity-stats strong{font-size:16px;color:#161b1b;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-activity-stats{grid-template-columns:repeat(3,1fr);gap:8px;}
#dashboard-area .v14-primary{border:0;background:#15201b;color:#fff;font-weight:770;padding:13px 18px;border-radius:13px;font-size:14px;cursor:pointer;}
#dashboard-area .v14-ghost{border:0;background:#f2f4f3;color:#2c3a35;font-weight:650;font-size:12px;padding:8px 12px;border-radius:50px;cursor:pointer;}
#dashboard-area .v14-setting{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#56656f;}
#dashboard-area .v14-setting b{color:#161b1b;font-weight:700;text-align:right;}
#dashboard-area .v14-filters{display:flex;gap:8px;overflow-x:auto;}
#dashboard-area .v14-filters button{border:1px solid #dfe5e2;background:#fff;color:#2c3a35;border-radius:50px;padding:7px 13px;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer;}
#dashboard-area .v14-filters button[aria-pressed="true"]{background:#15201b;color:#fff;border-color:#15201b;}
#dashboard-area .v14-profile{grid-template-columns:auto 1fr;align-items:center;}
#dashboard-area .v14-profile div{display:grid;gap:3px;min-width:0;}
#dashboard-area .v14-profile strong{font-size:16px;color:#161b1b;}
#dashboard-area .v14-profile div span{font-size:13px;color:#6b7a84;overflow-wrap:anywhere;}
#dashboard-area .v14-profile-avatar{width:52px;height:52px;border-radius:50%;background:#15201b;color:#baff38;display:grid;place-items:center;font-weight:800;font-size:18px;}
#dashboard-area .v14-signout{justify-self:center;}
#dashboard-area .v14-activity-mark.is-debit{background:#f1f2f5;color:#3e4b54;}
#dashboard-area .v14-home-activity #home-activity-all{border:0;background:transparent;color:#4b6a35;font-weight:700;font-size:12px;cursor:pointer;}
#dashboard-area .v14-dialog-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:4px auto 12px;font-size:28px;font-weight:800;}
#dashboard-area .v14-dialog[data-kind="success"] .v14-dialog-icon{background:#baff38;color:#15201b;}
#dashboard-area .v14-dialog[data-kind="error"] .v14-dialog-icon{background:#ffe3e1;color:#a2332a;}
#dashboard-area .v14-dialog[data-kind="warning"] .v14-dialog-icon{background:#fff1cc;color:#8a5b00;}
#dashboard-area .v14-dialog[data-kind="progress"] .v14-dialog-icon{border:4px solid #e6ece9;border-top-color:#15201b;animation:v14-spin .9s linear infinite;width:44px;height:44px;}
#dashboard-area .v14-dialog[data-kind] .v14-dialog-content{text-align:center;}
#dashboard-area .v14-dialog[data-kind] .v14-dialog-content h2{margin:0 0 8px;}
#dashboard-area .v14-dialog[data-kind] .v14-dialog-content p{margin:0 0 14px;}
#dashboard-area .v14-dialog-timer{height:4px;border-radius:4px;background:#eef1ef;overflow:hidden;}
#dashboard-area .v14-dialog-timer i{display:block;height:100%;width:100%;background:#15201b;transform-origin:left;}
@keyframes v14-dialog-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes v14-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#dashboard-area .v14-dialog[data-kind="progress"] .v14-dialog-icon{animation-duration:2.5s;}}
@media(max-width:390px){#dashboard-area .v14-activity-stats{grid-template-columns:1fr 1fr;}#dashboard-area .v14-module{padding:15px 11px 96px;}}
#dashboard-area .v14-service-price s,#dashboard-area .v14-service-price small{display:block;text-align:right;font-size:11px;font-weight:600;line-height:1.3}
#dashboard-area .v14-service-price s{color:#8b949a}
#dashboard-area .v14-service-price small.is-discount{color:#2f7a12}
#dashboard-area .v14-service-price small.is-surcharge{color:#9a6a00}
#dashboard-area .v14-service-price{text-align:right}

/* Actividad y recargas por mes, con páginas */
#dashboard-area .v14-month-select{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:#6b7a84;}
#dashboard-area .v14-month-select select,#dashboard-area .v14-month-inline{flex:1;border:1px solid #dfe5e2;background:#fff;color:#15201b;border-radius:12px;padding:9px 12px;font:inherit;font-size:14px;font-weight:650;}
#dashboard-area .v14-month-inline{flex:0 1 auto;padding:6px 10px;font-size:12px;border-radius:50px;}
#dashboard-area .v14-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;}
#dashboard-area .v14-pager span{font-size:12px;color:#6b7a84;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-pager button{border:1px solid #dfe5e2;background:#fff;color:#2c3a35;border-radius:50px;padding:7px 13px;font-size:12px;font-weight:650;cursor:pointer;}
#dashboard-area .v14-pager button:disabled{opacity:.4;cursor:default;}

/* Celular confirmado y WhatsApp */
#dashboard-area .v14-phone-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#fff7dc;border:1px solid #f3df9c;margin:0 0 12px;}
#dashboard-area .v14-phone-banner[hidden]{display:none;}
#dashboard-area .v14-phone-banner-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#fff;color:#8a5a00;flex:none;}
#dashboard-area .v14-phone-banner-icon svg{width:20px;height:20px;}
#dashboard-area .v14-phone-banner div{display:grid;gap:2px;flex:1;min-width:0;}
#dashboard-area .v14-phone-banner strong{font-size:14px;color:#15201b;}
#dashboard-area .v14-phone-banner span{font-size:12px;color:#6b5a23;}
#dashboard-area .v14-phone-banner button{border:0;background:#15201b;color:#fff;font-weight:720;font-size:13px;padding:9px 14px;border-radius:11px;cursor:pointer;white-space:nowrap;}
#dashboard-area .v14-phone-card h2{font-size:15px;margin:0 0 12px;}
#dashboard-area .v14-phone-card .v14-setting+.v14-setting{margin-top:12px;padding-top:12px;border-top:1px solid #eef1ef;}
#dashboard-area .v14-phone-card .v14-setting b{display:inline-flex;align-items:center;gap:8px;}
#dashboard-area .v14-switch-row{cursor:pointer;}
#dashboard-area .v14-switch-row>span{display:grid;gap:3px;}
#dashboard-area .v14-switch-row small{font-size:11px;color:#7a8794;line-height:1.4;}
#dashboard-area .v14-switch{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:26px;border-radius:999px;background:#d5dcd8;position:relative;cursor:pointer;transition:background .2s;margin:0;}
#dashboard-area .v14-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s;}
#dashboard-area .v14-switch:checked{background:#1f7a52;}
#dashboard-area .v14-switch:checked::after{transform:translateX(18px);}
#dashboard-area .v14-switch:disabled{opacity:.45;cursor:not-allowed;}
#dashboard-area .v14-switch:focus-visible{outline:2px solid #4b98e3;outline-offset:2px;}
#dashboard-area .v14-phone-content form{display:grid;gap:14px;}
#dashboard-area .v14-phone-content form[hidden]{display:none;}
#dashboard-area .v14-phone-content p{margin:0;}
#dashboard-area .v14-phone-field{display:grid;gap:6px;font-size:12px;font-weight:650;color:#56656f;}
#dashboard-area .v14-phone-input{display:flex;align-items:center;border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;overflow:hidden;}
#dashboard-area .v14-phone-input:focus-within{border-color:#15201b;background:#fff;}
#dashboard-area .v14-phone-input b{padding:0 4px 0 14px;font-size:16px;color:#15201b;}
#dashboard-area .v14-phone-input input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;font-weight:650;padding:13px 12px 13px 4px;outline:none;color:#15201b;}
#dashboard-area .v14-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45;color:#56656f;cursor:pointer;}
#dashboard-area .v14-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#1f7a52;flex:none;}
#dashboard-area .v14-phone-primary{border:0;background:#15201b;color:#fff;font-weight:770;font-size:15px;padding:13px 22px;border-radius:12px;width:100%;cursor:pointer;}
#dashboard-area .v14-phone-primary:disabled{opacity:.5;cursor:wait;}
#dashboard-area .v14-phone-feedback{font-size:13px;color:#a2332a;}
#dashboard-area .v14-phone-dev{font-size:12px;padding:9px 11px;border-radius:10px;background:#eef6ff;color:#1c4f8a;}
#dashboard-area .v14-code-input{border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;font:inherit;font-size:28px;font-weight:750;letter-spacing:.45em;text-align:center;padding:12px 8px 12px calc(8px + .45em);font-variant-numeric:tabular-nums;color:#15201b;width:100%;box-sizing:border-box;}
#dashboard-area .v14-code-input:focus{outline:none;border-color:#15201b;background:#fff;}
#dashboard-area .v14-phone-links{display:flex;justify-content:space-between;gap:10px;}
#dashboard-area .v14-phone-links button{border:0;background:none;color:#1f6b4c;font-weight:700;font-size:13px;padding:4px 0;cursor:pointer;}
#dashboard-area .v14-phone-links button:disabled{color:#9aa5b1;cursor:default;}
#dashboard-area .v14-check a,#dashboard-area .v14-card-note a{color:#1f6b4c;font-weight:700;}
/* Privacidad y datos (Ley 21.719) */
#dashboard-area .v14-profile{position:relative;}
#dashboard-area .v14-profile #account-name-edit{margin-left:auto;align-self:center;}
#dashboard-area .v14-privacy-card h2{font-size:15px;margin:0 0 6px;}
#dashboard-area .v14-privacy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-top:1px solid #eef1ef;background:none;padding:12px 0;text-align:left;cursor:pointer;color:#15201b;font:inherit;}
#dashboard-area .v14-privacy-row span:first-child{display:grid;gap:2px;}
#dashboard-area .v14-privacy-row b{font-size:14px;font-weight:700;}
#dashboard-area .v14-privacy-row small{font-size:12px;color:#7a8794;}
#dashboard-area .v14-privacy-row>span:last-child{font-size:20px;color:#9aa5b1;}
#dashboard-area .v14-privacy-row.is-danger b{color:#b42318;}
#dashboard-area .v14-privacy-requests{display:grid;gap:6px;margin:2px 0 10px;}
#dashboard-area .v14-privacy-requests[hidden]{display:none;}
#dashboard-area .v14-privacy-request{display:grid;gap:2px;padding:9px 11px;border-radius:10px;background:#f7f9f8;}
#dashboard-area .v14-privacy-request b{font-size:13px;}
#dashboard-area .v14-privacy-request small{font-size:11px;color:#7a8794;}
#dashboard-area .v14-text-input{width:100%;box-sizing:border-box;border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;font:inherit;font-size:15px;padding:12px;color:#15201b;}
#dashboard-area .v14-text-input:focus{outline:none;border-color:#15201b;background:#fff;}
#dashboard-area .v14-phone-primary.is-danger{background:#b42318;}
#dashboard-area .v14-delete-balance{font-size:13px;padding:10px 12px;border-radius:10px;background:#fff3d1;color:#7a5200;}

/* VASKI App v1.7 — recarga con lo que falta para pagar, monto libre y equivalencia en servicios. */
#dashboard-area .v14-dialog-content .v14-topup-context{background:#f3fbe4;border:1px solid #cfe9a6;color:#24401a;border-radius:12px;padding:10px 12px;font-weight:650;margin:-6px 0 14px;}
#dashboard-area .v14-topup-custom{display:grid;gap:6px;font-size:12px;font-weight:700;color:#56656f;margin:0 0 12px;}
#dashboard-area .v14-topup-custom-input{display:flex;align-items:center;gap:6px;border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;padding:0 12px;}
#dashboard-area .v14-topup-custom-input:focus-within{border-color:#15201b;background:#fff;}
#dashboard-area .v14-topup-custom-input b{color:#15201b;font-size:15px;}
#dashboard-area .v14-topup-custom-input input{border:0;background:transparent;font:inherit;font-size:15px;font-weight:700;color:#15201b;padding:12px 0;width:100%;min-width:0;outline:none;}
#dashboard-area .v14-dialog-content .v14-topup-equiv{font-size:12px;color:#38503f;margin:0 0 12px;}
/* Mientras la tarjeta no esté habilitada, la billetera ocupa todo el ancho. */
#dashboard-area .v14-methods:has(> .v14-method-card[hidden]){grid-template-columns:1fr;}

/* VASKI App v1.8 — «En curso» (estado del ciclo según la señal OUT) e instalación en el celular. */
#dashboard-area .v14-cycles,#dashboard-area .v14-install-banner{grid-column:1/-1;}
#dashboard-area .v14-cycles{background:#15201b;color:#f3f7f1;border-radius:20px;padding:16px 16px 8px;box-shadow:0 8px 26px #15201b1f;}
#dashboard-area .v14-cycles[hidden]{display:none;}
#dashboard-area .v14-cycles h2{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#baff38;margin:0 0 6px;}
#dashboard-area .v14-cycle{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #ffffff14;}
#dashboard-area .v14-cycle:first-child{border-top:0;}
#dashboard-area .v14-cycle-dot{width:12px;height:12px;border-radius:50%;flex:none;background:#8c978f;}
#dashboard-area .v14-cycle.is-running .v14-cycle-dot{background:#baff38;box-shadow:0 0 0 0 #baff3866;animation:v14-cycle-pulse 1.6s ease-out infinite;}
#dashboard-area .v14-cycle.is-finished .v14-cycle-dot{background:#4fd18b;}
@keyframes v14-cycle-pulse{0%{box-shadow:0 0 0 0 #baff3880;}100%{box-shadow:0 0 0 10px #baff3800;}}
@media(prefers-reduced-motion:reduce){#dashboard-area .v14-cycle.is-running .v14-cycle-dot{animation:none;}}
#dashboard-area .v14-cycle-info{display:grid;gap:2px;min-width:0;flex:1;}
#dashboard-area .v14-cycle-info strong{font-size:16px;letter-spacing:-.01em;}
#dashboard-area .v14-cycle-info small{font-size:12px;color:#a7b3aa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#dashboard-area .v14-cycle-state{display:grid;justify-items:end;gap:2px;text-align:right;max-width:52%;}
#dashboard-area .v14-cycle-state b{font-size:14px;}
#dashboard-area .v14-cycle.is-running .v14-cycle-state b{color:#baff38;}
#dashboard-area .v14-cycle.is-finished .v14-cycle-state b{color:#7fe3ab;}
#dashboard-area .v14-cycle-state small{font-size:12px;color:#c9d3cb;line-height:1.35;}
#dashboard-area .v14-install-banner{display:flex;align-items:center;gap:12px;padding:12px 10px 12px 12px;border-radius:16px;background:#f1fbe0;border:1px solid #d3eba9;}
#dashboard-area .v14-install-banner[hidden],#dashboard-area .v14-install-card[hidden]{display:none;}
#dashboard-area .v14-install-banner img{border-radius:10px;flex:none;}
#dashboard-area .v14-install-banner div{display:grid;gap:2px;flex:1;min-width:0;}
#dashboard-area .v14-install-banner strong{font-size:14px;color:#15201b;}
#dashboard-area .v14-install-banner span{font-size:12px;color:#40532f;line-height:1.4;}
#dashboard-area #v14-install-go{border:0;background:#15201b;color:#fff;font-weight:720;font-size:13px;padding:9px 14px;border-radius:11px;cursor:pointer;white-space:nowrap;}
#dashboard-area .v14-install-close{border:0;background:none;color:#5b6b5e;font-size:22px;line-height:1;width:32px;height:32px;border-radius:8px;cursor:pointer;flex:none;}
#dashboard-area .v14-install-help{margin:4px 0 2px;color:#40532f;}

/* VASKI App v1.8.2 — ajustes pedidos por el propietario. */
/* Sin zoom al escribir: Safari y Chrome amplían la página si el campo enfocado tiene letra menor a 16 px. */
@media(max-width:980px){
 #dashboard-area input,#dashboard-area select,#dashboard-area textarea{font-size:16px!important;}
}
/* Escáner QR como modal: ocupa la pantalla, se ve completo y se cancela con un botón claro. */
body.vaski-scanner-open{overflow:hidden;}
#dashboard-area .v14-entry #qr-camera-panel.v14-scanner{position:fixed;inset:0;z-index:400;margin:0;max-width:none;display:grid;place-items:center;
 padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:rgba(8,12,10,.96);}
#dashboard-area .v14-scanner-box{width:min(100%,440px);display:grid;gap:14px;justify-items:center;text-align:center;}
#dashboard-area .v14-scanner-box h2{color:#fff;font-size:19px;letter-spacing:-.02em;margin:0;}
#dashboard-area .v14-scanner .qr-video-wrap{width:100%;aspect-ratio:1;max-height:min(70dvh,440px);border-radius:22px;background:#0b0f10;}
#dashboard-area .v14-scanner .qr-target{inset:14%;border-color:#baff38;}
#dashboard-area .v14-scanner #qr-camera-status{color:#d7e0d9;font-size:14px;line-height:1.45;margin:0;}
#dashboard-area .v14-entry #qr-stop.v14-scanner-cancel,#dashboard-area .v14-scanner-cancel{justify-self:stretch;grid-column:auto;width:100%;border:1px solid #5b665f;background:transparent;color:#fff;font-weight:750;font-size:15px;padding:14px;border-radius:14px;cursor:pointer;}
#dashboard-area .v14-entry #qr-stop.v14-scanner-cancel:hover{background:#ffffff12;}
/* Cada «Terminó» se cierra con su propia «×». */
#dashboard-area .v14-cycle-close{border:0;background:#ffffff14;color:#dfe7e1;width:30px;height:30px;border-radius:9px;font-size:19px;line-height:1;cursor:pointer;flex:none;}
#dashboard-area .v14-cycle-close:hover{background:#ffffff26;}
/* Computador (también la App instalada en el Mac): una sola columna centrada, como en el celular. */
@media(min-width:760px){
 #dashboard-area .v14-content{grid-template-columns:minmax(0,1fr);max-width:640px;}
 #dashboard-area .v14-entry,#dashboard-area .v14-session,#dashboard-area .v14-payments,#dashboard-area .v14-activity{grid-column:1;grid-row:auto;}
 #dashboard-area.v14-app .v14-hero{padding-inline:max(18px,calc((100vw - 640px)/2 + 16px));}
}
/* v1.8.3: avance estimado del ciclo con la duración configurada en la sede. */
#dashboard-area .v14-cycle-bar{display:block;height:5px;border-radius:99px;background:#ffffff1f;overflow:hidden;margin-top:6px;max-width:220px;}
#dashboard-area .v14-cycle-bar i{display:block;height:100%;border-radius:inherit;background:#baff38;transition:width .6s ease;}
@media(prefers-reduced-motion:reduce){#dashboard-area .v14-cycle-bar i{transition:none;}}
#dashboard-area .v14-cycle-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#dashboard-area .v14-cycle-state{flex:0 1 auto;min-width:0;}
#dashboard-area .v14-cycle-info{min-width:118px;}
/* v1.8.4: diálogo con dos opciones (p. ej., «Agregar igual» / «Elegir otra» si la máquina está en uso). */
#dashboard-area .v14-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
#dashboard-area .v14-dialog-content #v14-dialog-cancel{border:1px solid #d5ddd8;background:#fff;color:#15201b;font-weight:720;padding:12px 18px;border-radius:12px;cursor:pointer;}
#dashboard-area .v14-dialog-actions:has(#v14-dialog-cancel:not([hidden])) button{flex:1 1 0;}

/* v1.9 Avisos push: oferta en «En curso» e interruptor en Cuenta. */
#dashboard-area .v14-push-offer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border-top:1px solid #ffffff1f;margin-top:4px;padding:12px 0 8px;}
#dashboard-area .v14-push-offer[hidden]{display:none;}
#dashboard-area .v14-push-offer div{display:grid;gap:3px;min-width:0;}
#dashboard-area .v14-push-offer b{font-size:14px;color:#f3f7f1;}
#dashboard-area .v14-push-offer small{font-size:11px;line-height:1.4;color:#a9b5ad;}
#dashboard-area .v14-push-offer-go{border:0;border-radius:999px;background:#baff38;color:#15201b;font:inherit;font-size:13px;font-weight:800;padding:9px 14px;cursor:pointer;}
#dashboard-area .v14-push-offer-close{border:0;background:none;color:#a9b5ad;font-size:20px;line-height:1;padding:4px;cursor:pointer;}
#dashboard-area .v14-push-card[hidden],#dashboard-area .v14-push-help[hidden]{display:none;}
#dashboard-area .v14-push-state{font-weight:700;}
#dashboard-area .v14-push-state.is-on{color:#1f7a52 !important;}
/* v1.10: «¿Problema?» en Actividad y canje de código en Billetera */
#dashboard-area .v14-report{justify-self:start;border:1px solid #d5ddd8;background:#fff;color:#2c3a35;font-weight:680;font-size:11px;padding:4px 10px;border-radius:50px;cursor:pointer;margin-top:2px;}
#dashboard-area .v14-report:hover{background:#f2f4f3;}
#dashboard-area .v14-report:focus-visible,#dashboard-area .v14-problem-reasons input:focus-visible+span{outline:2px solid #15201b;outline-offset:2px;}
#dashboard-area .v14-activity-info .v14-case-tag{justify-self:start;font-size:11px;font-weight:680;color:#8a5a00;background:#fff4dc;border-radius:50px;padding:3px 9px;}
#dashboard-area .v14-activity-info .v14-case-tag.is-closed{color:#287a3e;background:#e9f6ec;}
#dashboard-area .v14-dialog-content .v14-problem-context{background:#f6f8f7;border-radius:12px;padding:10px 12px;font-size:12px;margin:-4px 0 14px;}
#dashboard-area .v14-problem-reasons{border:0;margin:0 0 12px;padding:0;display:grid;gap:8px;}
#dashboard-area .v14-problem-reasons legend{font-size:12px;font-weight:700;color:#56656f;margin-bottom:8px;padding:0;}
#dashboard-area .v14-problem-reasons label{position:relative;display:block;cursor:pointer;}
#dashboard-area .v14-problem-reasons input{position:absolute;opacity:0;width:1px;height:1px;}
#dashboard-area .v14-problem-reasons span{display:block;border:1.5px solid #dfe5e2;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:650;color:#15201b;background:#f7f9f8;}
#dashboard-area .v14-problem-reasons input:checked+span{border-color:#15201b;background:#fff;box-shadow:inset 0 0 0 1px #15201b;}
#dashboard-area .v14-problem-text{display:grid;gap:6px;font-size:12px;font-weight:700;color:#56656f;margin:0 0 12px;}
#dashboard-area .v14-problem-text textarea{border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;padding:10px 12px;font:inherit;font-weight:500;color:#15201b;resize:vertical;min-height:72px;}
#dashboard-area .v14-problem-text textarea:focus{border-color:#15201b;background:#fff;outline:none;}
#dashboard-area .v14-dialog-content #v14-problem-send{border:0;background:#15201b;color:#fff;font-weight:770;padding:12px 22px;border-radius:12px;width:100%;cursor:pointer;}
#dashboard-area .v14-dialog-content #v14-problem-send:disabled{opacity:.45;cursor:not-allowed;}
#dashboard-area .v14-promo-card h2{margin:0 0 4px;font-size:16px;}
#dashboard-area .v14-promo-card .v14-card-note{margin:0 0 12px;}
#dashboard-area .v14-promo-form{display:flex;gap:8px;}
#dashboard-area .v14-promo-form input{flex:1;min-width:0;border:1.5px solid #dfe5e2;border-radius:12px;background:#f7f9f8;padding:12px;font:inherit;font-size:15px;font-weight:700;letter-spacing:.06em;color:#15201b;text-transform:uppercase;}
#dashboard-area .v14-promo-form input::placeholder{letter-spacing:0;text-transform:none;font-weight:500;}
#dashboard-area .v14-promo-form input:focus{border-color:#15201b;background:#fff;outline:none;}
#dashboard-area .v14-promo-form .v14-primary{padding:12px 16px;}
#dashboard-area .v14-promo-form .v14-primary:disabled{opacity:.6;cursor:wait;}
#dashboard-area .v14-promo-feedback{margin:10px 0 0;font-size:13px;line-height:1.45;border-radius:12px;padding:10px 12px;}
#dashboard-area .v14-promo-feedback[data-kind="success"]{background:#f3fbe4;border:1px solid #cfe9a6;color:#24401a;}
#dashboard-area .v14-promo-feedback[data-kind="error"]{background:#fdeeee;border:1px solid #f3c9c6;color:#a2332a;}

/* v1.11.1: aviso del último minuto antes de vaciar la sesión por inactividad. */
#dashboard-area .v14-session-expiry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 0;padding:9px 12px;border-radius:12px;background:#fff3d1;color:#7a5200;font-size:12.5px;line-height:1.35}
#dashboard-area .v14-session-expiry[hidden]{display:none}
#dashboard-area .v14-session-expiry button{flex:none;border:0;border-radius:999px;padding:6px 14px;background:#14231c;color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer}

/* Vending (050): elige en la máquina, paga aquí. */
#dashboard-area .v15-vending[data-kind="pay"] .v14-dialog-icon{display:none;}
#dashboard-area .v15-vending .v14-dialog-icon:empty{display:none;}
#dashboard-area .v15-vending[data-kind="progress"] .v14-dialog-icon{display:grid;}
#dashboard-area .v15-vending .v14-dialog-content{text-align:center;}
#dashboard-area .v15-vending-product{display:grid;gap:2px;margin:0 0 12px;padding:14px;border-radius:16px;background:#f3f5f4;}
#dashboard-area .v15-vending-product span{font-size:13px;color:#56656f;font-weight:650;}
#dashboard-area .v15-vending-product strong{font-size:30px;line-height:1.1;color:#15201b;font-variant-numeric:tabular-nums;}
#dashboard-area .v14-dialog-content .v15-vending-wait{font-size:12px;margin:0 0 14px;color:#8a5b00;}
#dashboard-area .v14-dialog-content .v15-vending-feedback{font-size:13px;color:#a2332a;margin:0 0 14px;}
#dashboard-area .v15-vending-actions{display:grid;gap:8px;}
#dashboard-area .v15-vending-primary{border:0;background:#15201b;color:#fff;font-weight:770;padding:13px 22px;border-radius:12px;width:100%;cursor:pointer;font-size:15px;}
#dashboard-area .v15-vending-primary:disabled{opacity:.45;cursor:not-allowed;}
#dashboard-area #v15-vending-done{background:#baff38;color:#15201b;}
#dashboard-area .v15-vending-secondary{border:0;background:transparent;color:#56656f;font-weight:650;padding:8px;cursor:pointer;}
