/* V157 Mobile Redesign — high-impact visual layer based on approved mobile concept.
   Additive presentation only: existing PHP, data queries and console logic remain untouched. */
:root{
 --v157-red:#d10d32;--v157-red-deep:#8e0926;--v157-rose:#f36c83;
 --v157-ink:#171b25;--v157-muted:#737b89;--v157-line:rgba(112,126,148,.19);
 --v157-glass:rgba(255,255,255,.72);--v157-shadow:0 12px 34px rgba(31,42,62,.10);
 --v157-ease:cubic-bezier(.2,.75,.25,1)
}
html{background:#eef1f6}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.sf-layout{background:linear-gradient(145deg,#f7f8fb 0%,#edf0f6 100%)}
.sf-side{background:linear-gradient(180deg,#5c0b20 0%,#8f0e2b 55%,#350b1b 100%);border:0;color:#fff}
.sf-side .sf-brand,.sf-side .sf-brand small,.sf-side-foot{color:#fff}
.sf-side .sf-brand small{opacity:.65}
.sf-nav a{color:rgba(255,255,255,.78)}
.sf-nav a.active,.sf-nav a:hover{background:linear-gradient(110deg,#ee3154,#b60b31);color:#fff;box-shadow:0 8px 22px rgba(10,0,0,.18)}
.sf-main{background:transparent}
.sf-topbar{padding:12px 16px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:rgba(255,255,255,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 28px rgba(25,37,58,.06)}
.sf-topbar h1{font-weight:800;color:#151923}
.sf-crumb{color:#8a909b}
.sf-profile{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);box-shadow:0 5px 15px rgba(30,40,60,.08)}
.sf-card,.sf-operation-card,.operation-date-card,.final-phase-step{
 border:1px solid rgba(255,255,255,.88)!important;
 background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,246,251,.88))!important;
 border-radius:23px!important;box-shadow:0 9px 26px rgba(34,45,65,.075),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.sf-card h2,.sf-card h3{color:#171b25}
.sf-red-card{background:linear-gradient(145deg,#f01d45 0%,#c20b32 58%,#870d2b 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.32)!important;box-shadow:0 15px 34px rgba(193,11,49,.23)!important}
.sf-red-card h2,.sf-red-card strong,.sf-red-card .sf-kicker,.sf-red-card .sf-muted,.sf-red-card p{color:#fff!important}
.sf-progress,.sf-home-mini-progress,.sf-operation-progress,.operation-bar{border-radius:99px;overflow:hidden}
.sf-progress i,.sf-home-mini-progress i,.sf-operation-progress i,.operation-bar>i{background:linear-gradient(90deg,#b9002b,#f04a68,#ff9cae)!important;border-radius:99px}
.sf-pill.red{background:#ffe9ee;color:#b80b30}
.sf-pill.green{background:#e5f8ec;color:#187c43}
.sf-link,.sf-button,.access-button{background:linear-gradient(110deg,#ee2449,#ad082c)!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:15px!important;box-shadow:0 7px 18px rgba(190,8,45,.22)}
.sf-mobile-nav{background:rgba(250,251,254,.78)!important;border:1px solid rgba(255,255,255,.92)!important;border-radius:24px 24px 0 0;box-shadow:0 -8px 30px rgba(32,43,63,.10);backdrop-filter:blur(24px) saturate(1.45)!important;-webkit-backdrop-filter:blur(24px) saturate(1.45)!important}
.sf-mobile-nav a{color:#737b89!important;font-weight:700!important}
.sf-mobile-nav a.active{color:#fff!important}
.sf-mobile-nav a.active span{background:linear-gradient(145deg,#f52b50,#b80830);color:#fff!important;border-radius:14px;box-shadow:0 5px 16px rgba(195,7,47,.28);width:42px;height:34px}
.sf-mobile-nav a.active:before{display:none!important}
.sf-mobile-nav a span{width:42px;height:34px;border-radius:14px}
.sf-mobile-nav a span i{font-size:19px!important;color:inherit!important}
.sf-mobile-nav a{font-size:9px!important;gap:3px!important}
.sf-mobile-nav{padding:8px 7px calc(8px + env(safe-area-inset-bottom))!important}
.sf-section-head h1,.sf-section-head h2{letter-spacing:-.035em}
.sf-operation-row,.sf-operation-card{border-radius:18px}
.sf-operation-card .sf-operation-toggle,.sf-operation-card .sf-assignment-toggle{border-radius:18px}
.sf-console-page,.sf-terminal-market,.sf-console-current-summary,.sf-console-bank-pending{border-radius:20px!important}
.sf-console-page,.sf-terminal-market{background:#101722!important;color:#e8edf5!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 14px 30px rgba(8,14,25,.18)!important}
.sf-console-page *,.sf-terminal-market *{color:inherit}
.sf-console-current-summary,.sf-console-bank-pending{background:linear-gradient(145deg,#7d1029,#c20d35)!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important}

/* Login: full-screen alpine backdrop + frosted glass PIN panel */
body.access-locked{min-height:100svh;overflow-x:hidden;background:#101522!important;position:relative}
.access-blur-bg{display:none!important}
.access-locked:before{content:"";position:fixed;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(10,15,28,.08),rgba(8,12,23,.35) 48%,rgba(8,12,22,.88)),url("../uploads/hero/alpine_c0f2b72de2f6cd1a.png");background-size:cover;background-position:center 42%;transform:scale(1.025)}
.access-locked:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 72%,rgba(239,35,77,.22),transparent 42%),linear-gradient(135deg,rgba(9,16,30,.08),rgba(10,14,25,.36))}
.access-backdrop{z-index:1!important;background:linear-gradient(180deg,rgba(7,12,25,.08),rgba(8,12,24,.34))!important;backdrop-filter:blur(1px)!important}
.access-modal{z-index:2!important;top:auto!important;bottom:max(38px,calc(env(safe-area-inset-bottom) + 25px))!important;left:50%!important;transform:translateX(-50%)!important;width:min(440px,calc(100% - 34px))!important;max-height:calc(100svh - 105px)!important;overflow:auto!important;padding:34px 24px 25px!important;border:1px solid rgba(255,255,255,.48)!important;border-top:1px solid rgba(255,255,255,.68)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(255,255,255,.35),rgba(229,235,248,.14))!important;box-shadow:0 24px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.5)!important;color:#fff!important;text-align:center!important;backdrop-filter:blur(28px) saturate(1.55)!important;-webkit-backdrop-filter:blur(28px) saturate(1.55)!important}
.access-modal:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 48%,rgba(241,49,83,.14));}
.access-modal>*{position:relative}
.access-lock-icon{width:62px!important;height:62px!important;border-radius:50%!important;margin:-65px auto 20px!important;background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(211,220,239,.16))!important;border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;box-shadow:0 0 0 7px rgba(255,255,255,.07),0 10px 28px rgba(231,23,65,.35)!important;backdrop-filter:blur(15px)}
.access-lock-icon svg{width:29px!important;height:29px!important}
.access-kicker{color:rgba(255,255,255,.76)!important;letter-spacing:.16em!important;font-size:9px!important}
.access-modal h1{color:#fff!important;font-size:clamp(23px,6vw,29px)!important;letter-spacing:-.04em!important;margin:9px 0 8px!important}
.access-security-copy,.access-copy,.access-code-label,.access-trust{color:rgba(255,255,255,.84)!important}
.access-security-copy,.access-copy{font-size:13px!important;line-height:1.55!important}
.access-divider{background:rgba(255,255,255,.22)!important;margin:18px auto!important}
.access-code-label{font-size:12px!important;font-weight:750!important}
.otp-row{gap:8px!important;margin:17px 0 20px!important}
.access-modal .otp-digit{width:clamp(38px,11vw,52px)!important;height:54px!important;flex:1 1 0!important;max-width:52px!important;border:1px solid rgba(255,255,255,.68)!important;border-radius:13px!important;background:rgba(255,255,255,.22)!important;color:#fff!important;font-size:23px!important;font-weight:800!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 5px 14px rgba(0,0,0,.08)!important;backdrop-filter:blur(12px)!important;outline:none!important}
.access-modal .otp-digit:focus{border-color:#fff!important;box-shadow:0 0 0 3px rgba(245,47,83,.28),0 0 22px rgba(255,61,99,.28)!important}
.access-button{width:100%!important;min-height:50px!important;margin-top:5px!important;font-size:14px!important;letter-spacing:.01em!important}
.access-button:disabled{opacity:.45!important;filter:saturate(.6)}
.access-trust{font-size:10px!important;margin-top:19px!important;opacity:.8}
.access-error{color:#fff!important;background:rgba(180,0,35,.42)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:12px!important;padding:10px!important}
@media(min-width:851px){
 body.access-locked:before{background-position:center 48%}
 .access-modal{top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
}
@media(max-width:850px){
 html,body{width:100%;overflow-x:hidden}
 .sf-layout{display:block!important;min-height:100svh}
 .sf-side{display:none!important}
 .sf-main{padding:12px 13px calc(106px + env(safe-area-inset-bottom))!important}
 .sf-topbar{margin:0 0 14px!important;padding:10px 12px!important;border-radius:19px!important;min-height:60px}
 .sf-topbar-brand{max-width:48px!important;overflow:hidden}
 .sf-topbar-brand img,.sf-topbar-brand .sf-brand-mark{width:42px!important;height:42px!important;flex:0 0 42px!important}
 .sf-topbar-brand>span:last-child{display:none}
 .sf-topbar-heading{flex:1;min-width:0}
 .sf-topbar-heading h1{font-size:20px!important;line-height:1.12!important;margin:0!important}
 .sf-crumb{display:none!important}
 .sf-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .sf-span-8,.sf-span-4,.sf-span-6,.sf-span-12{grid-column:1/-1!important}
 .sf-card{padding:17px!important;border-radius:22px!important}
 .sf-card h2{font-size:16px!important}
 .sf-amount{font-size:clamp(30px,9vw,42px)!important}
 .sf-chart-wrap{height:220px!important}
 .sf-conversion{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important}
 .sf-mobile-nav{left:9px!important;right:9px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;border-radius:23px!important;padding:7px 5px!important}
 .sf-mobile-nav a{min-width:0!important;min-height:49px!important}
 .sf-mobile-nav a span{font-size:18px!important}
 .sf-mobile-nav a{font-size:8.5px!important}
 .sf-operation-card,.operation-date-card,.final-phase-step{margin-bottom:10px!important}
 .sf-console-page,.sf-terminal-market{overflow:hidden!important}
}
@media(max-width:390px){
 .sf-main{padding-left:10px!important;padding-right:10px!important}
 .sf-card{padding:15px!important}
 .sf-mobile-nav{left:6px!important;right:6px!important}
 .access-modal{padding:30px 18px 22px!important}
 .access-modal .otp-digit{height:49px!important}
}
@media(prefers-reduced-motion:no-preference){
 .sf-card,.sf-operation-card,.operation-date-card,.final-phase-step{transition:transform .28s var(--v157-ease),box-shadow .28s var(--v157-ease)!important}
 .sf-card:active,.sf-operation-card:active{transform:scale(.992)}
 .sf-mobile-nav a.active span{animation:v157NavPop .35s var(--v157-ease)}
 @keyframes v157NavPop{0%{transform:scale(.88)}65%{transform:scale(1.08)}100%{transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.v157-auth-success{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;background:radial-gradient(ellipse at center,rgba(177,8,43,.92),rgba(16,20,34,.98) 66%);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:v157SuccessIn .35s ease both}
.v157-auth-orbit{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);box-shadow:0 0 0 12px rgba(255,255,255,.035),0 0 48px rgba(255,35,78,.48);animation:v157Orbit 1.1s ease-in-out infinite alternate}
.v157-auth-orbit span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;font-size:42px;font-weight:300;background:linear-gradient(145deg,#ff4265,#a8002b);box-shadow:0 0 28px rgba(255,55,91,.8);border:1px solid rgba(255,255,255,.65)}
.v157-auth-success strong{font-size:26px;letter-spacing:.08em}.v157-auth-success small{font-size:14px;color:rgba(255,255,255,.8)}
.v157-auth-success.is-leaving{animation:v157SuccessOut .45s ease forwards}
@keyframes v157SuccessIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes v157SuccessOut{to{opacity:0;transform:scale(1.65);filter:blur(18px)}}
@keyframes v157Orbit{from{transform:scale(.96)}to{transform:scale(1.04)}}
