/* V157 Mobile First — additive visual layer. Does not change PHP, database or operational calculations. */
:root{--v157-red:#c8102e;--v157-burgundy:#74152b;--v157-ink:#202631;--v157-glass:rgba(255,255,255,.72);--v157-glass-border:rgba(255,255,255,.72);--v157-shadow:0 16px 42px rgba(25,32,45,.10);--v157-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.sf-card,.sf-operation-card,.operation-date-card,.final-phase-step,.sf-console-current-summary,.sf-console-bank-pending{border-radius:20px;box-shadow:var(--v157-shadow);}
.sf-card,.sf-operation-card,.operation-date-card,.final-phase-step{transition:transform .24s var(--v157-ease),box-shadow .24s var(--v157-ease),border-color .24s ease}
.sf-card:focus-within,.sf-operation-card:focus-within,.operation-date-card:focus-within{outline:2px solid rgba(200,16,46,.25);outline-offset:2px}
.sf-section-head h1,.sf-section-head h2,.sf-card h1,.sf-card h2,.sf-card h3{letter-spacing:-.035em;text-wrap:balance}
.sf-operation-progress i,.operation-bar>i,.operation-subbar>i,.sf-console-bank-track>i{transition:width .65s var(--v157-ease)}
/* Mobile bottom navigation: floating liquid-glass dock, safe-area aware. */
.sf-mobile-nav{position:fixed!important;z-index:80!important;left:10px!important;right:10px!important;bottom:max(9px,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2px!important;padding:8px 7px!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:23px!important;background:rgba(250,250,252,.78)!important;box-shadow:0 12px 38px rgba(20,24,35,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;backdrop-filter:blur(24px) saturate(165%)!important;-webkit-backdrop-filter:blur(24px) saturate(165%)!important}
.sf-mobile-nav a{min-width:0!important;min-height:49px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:4px 1px!important;border-radius:15px!important;color:#69717d!important;font-size:9px!important;font-weight:700!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important}
.sf-mobile-nav a span{width:27px!important;height:25px!important;display:grid!important;place-items:center!important;font-size:18px!important}
.sf-mobile-nav a.active{color:#fff!important;background:linear-gradient(145deg,#d92748,#a9092a)!important;box-shadow:0 5px 14px rgba(200,16,46,.28)!important}
.sf-mobile-nav a.active:before{display:none!important}
.sf-mobile-nav a:active{transform:scale(.94)!important}
/* Phone-first page canvas and content rhythm. */
@media(max-width:850px){
 body{overflow-x:hidden}
 .sf-layout{display:block!important;min-height:100svh}
 .sf-main{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:calc(13px + env(safe-area-inset-top)) 14px 112px!important}
 .sf-topbar{align-items:center!important;gap:10px!important;margin:0 0 17px!important;padding:2px 1px!important}
 .sf-topbar h1{font-size:clamp(21px,6vw,27px)!important;line-height:1.12!important;letter-spacing:-.045em!important}
 .sf-crumb{font-size:10px!important;letter-spacing:.02em}
 .sf-card{padding:16px!important;border-radius:19px!important;margin-bottom:12px!important}
 .sf-grid{gap:12px!important}
 .sf-span-8,.sf-span-4,.sf-span-6,.sf-span-12{grid-column:span 12!important}
 .sf-alpine-hero{min-height:188px!important;padding:17px!important;border-radius:22px!important;margin-bottom:13px!important}
 .sf-alpine-copy{margin-top:25px!important}
 .sf-alpine-copy h1{font-size:25px!important;line-height:1.08!important}
 .sf-recognized-toggle{padding:15px!important}
 .sf-detail-panels{grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
 .sf-chart-wrap,.sf-activity-chart-wrap{max-width:100%!important}
 .sf-card img,.sf-operation-card img{max-width:100%;height:auto}
 .sf-mobile-nav~*{scroll-margin-bottom:100px}
 .sf-main{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
 .sf-topbar-brand{max-width:calc(100vw - 100px);overflow:hidden}
 .sf-topbar-brand img{width:34px!important;height:34px!important}
 .sf-user-menu-wrap{flex:0 0 auto}
 .sf-profile{min-height:42px!important}
}
@media(max-width:390px){
 .sf-main{padding-left:11px!important;padding-right:11px!important}
 .sf-card{padding:14px!important}
 .sf-mobile-nav{left:7px!important;right:7px!important;padding:7px 4px!important;gap:1px!important}
 .sf-mobile-nav a{font-size:8px!important}
 .sf-mobile-nav a span{font-size:17px!important}
}
/* Admin form controls become thumb-friendly and single-column on phones. */
@media(max-width:760px){
 .admin.app{width:100%!important;max-width:100%!important;padding:calc(12px + env(safe-area-inset-top)) 13px calc(24px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important}
 .admin-head{position:sticky;top:0;z-index:30;padding:10px 0 13px!important;background:rgba(248,249,251,.92);backdrop-filter:blur(18px)}
 .admin .card,.admin .form{padding:15px!important;border-radius:19px!important}
 .admin .grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .admin label{display:block;min-width:0;font-size:13px!important}
 .admin input:not([type=checkbox]),.admin select,.admin textarea{width:100%!important;min-height:46px!important;box-sizing:border-box!important;font-size:16px!important;border-radius:12px!important}
 .admin button,.admin .save{min-height:47px!important;border-radius:14px!important}
 .admin-tabbar{display:flex!important;overflow-x:auto!important;gap:7px!important;padding:4px 0 10px!important;scroll-snap-type:x proximity}
 .admin-tab{flex:0 0 auto!important;scroll-snap-align:start;white-space:nowrap!important;min-height:42px!important}
 .final-admin-step,.final-admin-substep{padding:12px!important;border-radius:15px!important}
}
/* PIN access: full-screen atmospheric canvas with frosted-glass dialog. */
.v157-mobile-login{min-height:100svh!important;overflow:hidden!important;background:#111827!important;background-image:radial-gradient(ellipse at 20% 15%,rgba(221,88,108,.36),transparent 42%),linear-gradient(145deg,#101827,#331321 58%,#111827)!important}
.v157-mobile-login .access-backdrop{background:linear-gradient(180deg,rgba(8,13,23,.18),rgba(8,13,23,.48))!important;backdrop-filter:blur(1px)}
.v157-mobile-login .access-modal{width:min(440px,calc(100% - 30px))!important;box-sizing:border-box!important;padding:clamp(23px,6vw,34px)!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.10))!important;color:#fff!important;box-shadow:0 28px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.42)!important;backdrop-filter:blur(28px) saturate(155%)!important;-webkit-backdrop-filter:blur(28px) saturate(155%)!important}
.v157-mobile-login .access-modal h1,.v157-mobile-login .access-modal p,.v157-mobile-login .access-modal .access-kicker,.v157-mobile-login .access-modal .access-code-label{color:#fff!important}
.v157-mobile-login .access-modal .otp-digit{border:1px solid rgba(255,255,255,.62)!important;border-radius:13px!important;background:rgba(255,255,255,.19)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.24)!important;backdrop-filter:blur(12px)!important}
.v157-mobile-login .access-modal .otp-digit:focus{outline:2px solid rgba(255,255,255,.88)!important;outline-offset:3px!important;background:rgba(255,255,255,.28)!important}
.v157-mobile-login .access-modal .access-button{min-height:51px!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:16px!important;background:linear-gradient(135deg,#d82043,#9e0828)!important;color:#fff!important;box-shadow:0 9px 24px rgba(140,0,30,.34)!important}
@media(max-width:600px){.v157-mobile-login .access-modal{width:calc(100% - 28px)!important;padding:25px 19px!important;border-radius:25px!important}.v157-mobile-login .access-modal .otp-row{gap:clamp(4px,1.5vw,8px)!important}.v157-mobile-login .access-modal .otp-digit{height:54px!important;flex:1 1 0!important;max-width:48px!important;font-size:20px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf-card,.sf-operation-card,.operation-date-card,.final-phase-step,.sf-mobile-nav a{transition:none!important;animation:none!important}}
