/* V29 visual polish — calm technology, time and Vaynakh landscape. */
:root{--beauty-cyan:#66e2d8;--beauty-gold:#e8c47c;--beauty-deep:#041820}
body.login-v25{position:relative;isolation:isolate;overflow-x:hidden;background:#041820}
body.login-v25::before{content:"";position:fixed;z-index:-2;inset:0;background:linear-gradient(105deg,rgba(2,18,25,.96) 0%,rgba(3,31,39,.78) 48%,rgba(4,25,34,.5) 100%),url('vaynakh-time-v25.webp') center/cover fixed}
body.login-v25::after{content:"";position:fixed;z-index:-1;width:54vw;aspect-ratio:1;right:-18vw;top:-30vw;border:1px solid rgba(102,226,216,.14);border-radius:50%;box-shadow:0 0 0 5vw rgba(102,226,216,.018),0 0 0 10vw rgba(232,196,124,.014);pointer-events:none}
body.login-v25 .login-intro{position:relative;padding:18px 0}
body.login-v25 .login-intro::after{content:"◷";display:grid;place-items:center;width:92px;height:92px;margin-top:34px;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:linear-gradient(145deg,rgba(102,226,216,.2),rgba(9,57,64,.25));color:#fff;font-size:2.1rem;font-weight:700;box-shadow:0 24px 55px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
body.login-v25 .login-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.55);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,247,245,.95));box-shadow:0 35px 100px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.9)}
body.login-v25 .login-card::before{content:"";position:absolute;width:210px;height:210px;right:-120px;top:-125px;border-radius:50%;background:radial-gradient(circle,rgba(102,226,216,.25),rgba(102,226,216,0) 68%);pointer-events:none}
body.login-v25 .login-brand{position:relative;color:#071c23;font-size:.94rem;letter-spacing:-.025em}
body.login-v25 .brand-mark{background:linear-gradient(145deg,#5fdcd1,#149d96);color:#fff;box-shadow:0 10px 24px rgba(20,157,150,.25)}
body.login-v25 .login-card h2{position:relative;margin-top:30px;font-size:clamp(2.15rem,5vw,2.75rem)}
body.login-v25 .mobile-trust{display:none;gap:7px;flex-wrap:wrap;margin:0 0 20px}
body.login-v25 .mobile-trust span{padding:6px 9px;border:1px solid #d4e4e1;border-radius:999px;background:#edf7f5;color:#1f514e;font-size:.7rem;font-weight:800}
body.login-v25 .field label{letter-spacing:.015em}
body.login-v25 .field input{border:1.5px solid #9badaa;background:#f8fbfa!important;box-shadow:inset 0 1px 2px rgba(3,29,36,.04);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
body.login-v25 .field input:hover{border-color:#6e8e89;background:#fff!important}
body.login-v25 .field input:focus{border-color:#168f88;box-shadow:0 0 0 4px rgba(22,143,136,.12);outline:0!important}
body.login-v25 .password-wrap{position:relative}
body.login-v25 .password-wrap input{padding-right:78px}
body.login-v25 .password-toggle{position:absolute;right:7px;top:50%;min-width:62px;min-height:38px;transform:translateY(-50%);border:0;border-radius:10px;background:#e6f0ee;color:#164b48;font-size:.72rem;font-weight:850;cursor:pointer}
body.login-v25 .login-card .btn-premium{background:linear-gradient(135deg,#38c9be,#087f78);box-shadow:0 14px 32px rgba(8,127,120,.27);transition:transform .18s ease,box-shadow .18s ease}
body.login-v25 .login-card .btn-premium:hover{box-shadow:0 18px 38px rgba(8,127,120,.34);transform:translateY(-2px)}
body.login-v25 .foot{padding-top:20px;border-top:1px solid #dce7e5;line-height:1.75}
body.login-v25 .foot span{display:inline-block;margin-top:7px;font-size:.78rem;color:#617477}
body.onboarding-v29{min-height:100svh;background:#edf4f2;color:#10252d}
body.onboarding-v29 .page{background:radial-gradient(circle at 84% 8%,rgba(74,211,200,.13),transparent 28%),#edf4f2}
body.onboarding-v29 .visual{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(150deg,rgba(3,21,29,.55),rgba(3,28,35,.94)),url('vaynakh-time-v25.webp') 58% center/cover;color:#fff}
body.onboarding-v29 .visual::before{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-270px;top:-220px;border:1px solid rgba(102,226,216,.18);border-radius:50%;box-shadow:0 0 0 50px rgba(102,226,216,.025),0 0 0 110px rgba(232,196,124,.018)}
body.onboarding-v29 .brand{display:inline-flex;align-items:center;gap:10px;font-size:1.03rem}
body.onboarding-v29 .brand::before{content:"✓";display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#5edbd0,#138f89);box-shadow:0 12px 28px rgba(9,143,136,.3)}
body.onboarding-v29 .visual h1{font-size:clamp(3rem,5.2vw,5.7rem);line-height:.91;letter-spacing:-.07em}
body.onboarding-v29 .visual .points span{padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(9,53,59,.42);backdrop-filter:blur(12px)}
body.onboarding-v29 .main{background:transparent}
body.onboarding-v29 .card{position:relative;border:1px solid rgba(141,170,165,.42);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 32px 95px rgba(4,37,43,.14);backdrop-filter:blur(18px)}
body.onboarding-v29 .step-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#e2f5f2;color:#126d68;font-size:.76rem;letter-spacing:.04em}
body.onboarding-v29 .progress{counter-reset:steps;gap:7px}
body.onboarding-v29 .progress li{counter-increment:steps;position:relative;padding:9px 6px 0;border-top-width:4px}
body.onboarding-v29 .progress li::before{content:counter(steps);display:inline-grid;place-items:center;width:19px;height:19px;margin-right:4px;border-radius:50%;background:#dce7e5;color:#5a6e70;font-size:.66rem;font-weight:900}
body.onboarding-v29 .progress li.done::before,body.onboarding-v29 .progress li[aria-current=step]::before{background:#168f88;color:#fff}
body.onboarding-v29 .step h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.055em}
body.onboarding-v29 .step h2:focus{outline:0}
body.onboarding-v29 .field input,body.onboarding-v29 .field select{border:1.5px solid #8ba09c;background:#f9fbfa;color:#071c23;transition:border-color .18s ease,box-shadow .18s ease}
body.onboarding-v29 .field input:focus,body.onboarding-v29 .field select:focus{border-color:#168f88;box-shadow:0 0 0 4px rgba(22,143,136,.12);outline:0}
body.onboarding-v29 .reminder,body.onboarding-v29 .consent{background:linear-gradient(135deg,#f6faf9,#edf5f3);transition:border-color .18s ease,transform .18s ease}
body.onboarding-v29 .reminder:hover,body.onboarding-v29 .consent:hover{border-color:#83b8b2;transform:translateY(-1px)}
body.onboarding-v29 .summary{border:1px solid #b7ddd8;background:linear-gradient(135deg,#e7f6f3,#f4faf8)}
body.onboarding-v29 .btn.primary{background:linear-gradient(135deg,#0e4b55,#087f78);box-shadow:0 12px 28px rgba(8,127,120,.2)}
html[data-theme="dark"] body.onboarding-v29,html[data-theme="dark"] body.onboarding-v29 .page{background:#071a21;color:#f4faf8}
html[data-theme="dark"] body.onboarding-v29 .card{border-color:#31515a;background:rgba(13,46,54,.96);box-shadow:0 32px 95px rgba(0,0,0,.3)}
html[data-theme="dark"] body.onboarding-v29 .step-status{background:#153e42;color:#86e4dc}
html[data-theme="dark"] body.onboarding-v29 .progress li::before{background:#24454c;color:#c1d3d1}
html[data-theme="dark"] body.onboarding-v29 .progress li.done::before,html[data-theme="dark"] body.onboarding-v29 .progress li[aria-current=step]::before{background:#32b7ad;color:#041b22}
html[data-theme="dark"] body.onboarding-v29 .reminder,html[data-theme="dark"] body.onboarding-v29 .consent{background:linear-gradient(135deg,#12343c,#0d2e36)}
html[data-theme="dark"] body.onboarding-v29 .summary{border-color:#315d5b;background:linear-gradient(135deg,#123b3f,#163f43);color:#e9fffc}
body.app-page.v25 .topbar{background:color-mix(in srgb,var(--surface) 91%,transparent);box-shadow:0 16px 45px rgba(1,17,23,.08)}
body.app-page.v25 .welcome,body.app-page.v25 .card,body.app-page.v25 .stat,body.app-page.v25 .focus-card,body.app-page.v25 .quick-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.app-page.v25 .card:hover,body.app-page.v25 .stat:hover{border-color:color-mix(in srgb,var(--brand) 32%,var(--line));box-shadow:0 20px 55px rgba(3,25,32,.11)}
body.app-page.v25 .stat{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 93%,var(--brand)))}
body.app-page.v25 .stat::before{content:"";position:absolute;width:110px;height:110px;right:-57px;top:-62px;border:1px solid color-mix(in srgb,var(--brand) 20%,transparent);border-radius:50%;box-shadow:0 0 0 16px color-mix(in srgb,var(--brand) 3%,transparent)}
body.app-page.v25 dialog .modal{background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface) 96%,var(--brand)))}
@media(max-width:980px){body.login-v25 .mobile-trust{display:flex}}
@media(max-width:700px){body.onboarding-v29 .page{display:block}body.onboarding-v29 .visual{min-height:92px;padding:18px 20px}body.onboarding-v29 .visual-copy{display:none}body.onboarding-v29 .main{padding:16px 10px 28px}body.onboarding-v29 .card{padding:24px 19px;border-radius:24px}body.onboarding-v29 .progress li span{font-size:.65rem}}
@media(max-width:480px){body.login-v25{padding:10px}body.login-v25 .login-card{padding:25px 20px;border-radius:25px}body.login-v25 .login-card h2{margin-top:27px}body.login-v25 .login-card .sub{font-size:.91rem}body.login-v25 .mobile-trust span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){body.login-v25 .login-card .btn-premium,body.onboarding-v29 .reminder,body.onboarding-v29 .consent,body.app-page.v25 .card,body.app-page.v25 .stat{transition:none}}

/* V29 feel-good pass — soft aurora, tactile cards and a calmer daily rhythm. */
body.app-page.v25{position:relative;isolation:isolate;background:
radial-gradient(circle at 8% 6%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 28rem),
radial-gradient(circle at 94% 92%,rgba(232,196,124,.09),transparent 32rem),var(--bg)}
body.app-page.v25::before{content:"";position:fixed;z-index:-1;inset:0;opacity:.24;pointer-events:none;background-image:radial-gradient(circle at center,rgba(102,226,216,.22) 0 1px,transparent 1.4px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 72%)}
body.app-page.v25 .sidebar{box-shadow:18px 0 60px rgba(1,18,24,.14)}
body.app-page.v25 .brand{display:flex;align-items:center;gap:10px;color:#f7fffe}
body.app-page.v25 .brand::before{content:"◷";display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:linear-gradient(145deg,rgba(102,226,216,.24),rgba(102,226,216,.08));color:#8af0e7;box-shadow:0 12px 28px rgba(0,0,0,.2)}
body.app-page.v25 .nav button{position:relative;overflow:hidden}
body.app-page.v25 .nav button::after{content:"";position:absolute;inset:auto 10px 0;height:2px;border-radius:3px;background:#72e9df;transform:scaleX(0);transition:transform .2s ease}
body.app-page.v25 .nav button.active::after{transform:scaleX(1)}
body.app-page.v25 .topbar{border-bottom:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}
body.app-page.v25 .top-actions .btn,body.app-page.v25 .notification-pill{box-shadow:0 8px 24px rgba(2,27,34,.07)}
body.app-page.v25 #addSource{background:linear-gradient(135deg,#5ee0d5,#159f97);border-color:transparent;color:#032a2c;box-shadow:0 12px 30px rgba(21,159,151,.24);font-weight:850}
body.app-page.v25 #addSource:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(21,159,151,.32)}
body.app-page.v25 #dashboard .welcome{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(142,239,230,.2)}
body.app-page.v25 #dashboard .welcome::after{content:"";position:absolute;z-index:-1;width:260px;aspect-ratio:1;right:-80px;top:-115px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 30px rgba(102,226,216,.035),0 0 0 65px rgba(232,196,124,.025)}
body.app-page.v25 #dashboard .welcome .eyebrow{color:#87ece3}
body.app-page.v25 .stat{min-height:138px}
body.app-page.v25 .stat strong{color:color-mix(in srgb,var(--ink) 86%,var(--brand));text-shadow:0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent)}
body.app-page.v25 .card,body.app-page.v25 .stat,body.app-page.v25 .focus-card,body.app-page.v25 .quick-card{border:1px solid color-mix(in srgb,var(--brand) 11%,var(--line));box-shadow:0 14px 42px rgba(3,28,35,.065)}
body.app-page.v25 .card:hover,body.app-page.v25 .stat:hover{transform:translateY(-3px)}
body.app-page.v25 .card-head h3{letter-spacing:-.025em}
body.app-page.v25 .empty{margin:10px;border:1px dashed color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--brand) 4%,var(--surface))}
body.app-page.v25 .month-grid{overflow:hidden;border-radius:16px}
body.app-page.v25 .month-grid>div{transition:background .15s ease,box-shadow .15s ease}
body.app-page.v25 .month-grid>div:not(.weekday):hover{z-index:1;background:color-mix(in srgb,var(--surface) 94%,var(--brand));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}
body.app-page.v25 dialog{border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));box-shadow:0 38px 110px rgba(0,11,16,.42)}
body.app-page.v25 dialog::backdrop{background:rgba(0,14,19,.64);backdrop-filter:blur(8px)}
body.app-page.v25 .field input:focus,body.app-page.v25 .field textarea:focus,body.app-page.v25 select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 15%,transparent)}
html[data-theme="dark"] body.app-page.v25{background:radial-gradient(circle at 8% 4%,rgba(45,184,175,.11),transparent 30rem),radial-gradient(circle at 90% 90%,rgba(232,196,124,.06),transparent 30rem),#061920}
html[data-theme="dark"] body.app-page.v25 .card,html[data-theme="dark"] body.app-page.v25 .stat{box-shadow:0 18px 50px rgba(0,0,0,.2)}
@media(max-width:620px){body.app-page.v25::before{background-size:24px 24px;opacity:.17}body.app-page.v25 .sidebar{box-shadow:0 -18px 55px rgba(0,0,0,.26)}body.app-page.v25 .brand::before{display:none}body.app-page.v25 .card:hover,body.app-page.v25 .stat:hover{transform:none}body.app-page.v25 #dashboard .welcome::after{right:-125px;top:-125px}body.app-page.v25 .stat{min-height:120px}}
@media(prefers-reduced-motion:reduce){body.app-page.v25 .nav button::after,body.app-page.v25 #addSource,body.app-page.v25 .month-grid>div{transition:none}}

/* New VaynakhCalendar identity. The same mark is reused across web, PWA and mobile. */
.brand-mark,body.app-page.v25 .mark{background:#082c36 url('/vaynakh-user-logo-512-v51.png') center/cover no-repeat!important;box-shadow:0 10px 28px rgba(3,32,40,.24)!important}
body.app-page.v25 .mark{overflow:hidden}body.app-page.v25 .mark::after{display:none!important}body.app-page.v25 .mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.brand-mark{font-size:0!important}
.brand-mark svg{display:none!important}
body.app-page.v25 .mark{display:none!important}
body.app-page.v25 .brand::before{content:"";background:#082c36 url('/vaynakh-user-logo-512-v51.png') center/cover no-repeat;color:transparent}
body.onboarding-v29 .brand::before{content:"";background:#082c36 url('/vaynakh-user-logo-512-v51.png') center/cover no-repeat}

/* V32 emotional polish — memorable, calm and warm without manipulative patterns. */
body.app-page.v25{--vibe-mint:#6ce7dc;--vibe-gold:#f0c978;--vibe-coral:#ef987f;background:radial-gradient(circle at 12% 2%,rgba(42,188,179,.16),transparent 28rem),radial-gradient(circle at 86% 12%,rgba(240,201,120,.09),transparent 26rem),linear-gradient(160deg,#06212a 0%,#082c34 48%,#071f28 100%)!important}
body.app-page.v25::before{opacity:.34;background-image:radial-gradient(circle at center,rgba(121,239,229,.2) 0 1px,transparent 1.5px);background-size:30px 30px;mask-image:linear-gradient(115deg,rgba(0,0,0,.78),transparent 72%)}
body.app-page.v25 .sidebar{background:linear-gradient(180deg,rgba(3,28,35,.98),rgba(3,20,27,.99));border-right-color:rgba(115,230,220,.11)}
body.app-page.v25 .brand::before{width:42px;height:42px;border-radius:14px;box-shadow:0 12px 34px rgba(50,201,190,.2)}
body.app-page.v25 .nav button:hover,body.app-page.v25 .nav button.active{background:linear-gradient(100deg,rgba(89,219,208,.17),rgba(240,201,120,.055));border-color:rgba(110,231,220,.21)}
body.app-page.v25 .nav button.active::after{background:linear-gradient(90deg,var(--vibe-mint),var(--vibe-gold));box-shadow:0 0 14px rgba(108,231,220,.45)}
body.app-page.v25 .topbar{background:rgba(6,34,42,.78);border-bottom-color:rgba(118,229,219,.12);box-shadow:0 18px 55px rgba(0,10,14,.18)}
body.app-page.v25 #addSource{background:linear-gradient(135deg,#79ece1,#42cfc5 62%,#e8c272 160%);color:#032a2d;box-shadow:0 14px 38px rgba(61,208,197,.25)}
body.app-page.v25 #dashboard .welcome{background:linear-gradient(105deg,rgba(2,26,34,.92),rgba(5,59,64,.62) 60%,rgba(105,73,27,.2)),url('vaynakh-hero.webp') center 58%/cover;box-shadow:0 30px 80px rgba(0,12,17,.3),inset 0 1px rgba(255,255,255,.06)}
body.app-page.v25 #dashboard .welcome::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 55%,rgba(240,201,120,.08));pointer-events:none}
body.app-page.v25 #dashboard .welcome .eyebrow{color:var(--vibe-gold);text-shadow:0 0 24px rgba(240,201,120,.22)}
body.app-page.v25 .notification-box{border:1px solid rgba(108,231,220,.18);background:linear-gradient(115deg,rgba(27,78,82,.52),rgba(18,55,66,.82));box-shadow:0 18px 45px rgba(0,15,20,.17)}
body.app-page.v25 .focus-card,body.app-page.v25 .quick-card,body.app-page.v25 .card,body.app-page.v25 .stat{background:linear-gradient(145deg,rgba(17,61,70,.92),rgba(10,47,57,.96));border-color:rgba(116,225,215,.11);box-shadow:0 20px 54px rgba(0,14,19,.18),inset 0 1px rgba(255,255,255,.035)}
body.app-page.v25 .stat::before{border-color:rgba(240,201,120,.18);box-shadow:0 0 0 16px rgba(105,229,218,.035),0 0 0 34px rgba(240,201,120,.018)}
body.app-page.v25 .stat strong{color:#f4d595;text-shadow:0 0 25px rgba(240,201,120,.12)}
body.app-page.v25 .card:hover,body.app-page.v25 .stat:hover{border-color:rgba(118,230,220,.3);box-shadow:0 26px 70px rgba(0,12,17,.28),0 0 0 1px rgba(112,228,218,.05)}
body.app-page.v25 .month-event{background:linear-gradient(135deg,rgba(95,226,215,.2),rgba(240,201,120,.12));border:1px solid rgba(108,231,220,.14)}
body.app-page.v25 .empty{background:linear-gradient(135deg,rgba(101,228,217,.055),rgba(240,201,120,.035));border-color:rgba(117,226,217,.2)}
@media(max-width:620px){body.app-page.v25{background:linear-gradient(165deg,#06212a,#082b34 55%,#071f28)!important}body.app-page.v25 .topbar{background:rgba(5,29,37,.93)}body.app-page.v25 #dashboard .welcome{background-position:62% center}}

/* V33 mobile navigation — labelled bottom bar plus a complete, accessible menu sheet. */
.topbar-title{display:flex;align-items:center;gap:12px}.mobile-menu-trigger,.mobile-menu-layer{display:none}
@media(max-width:700px){
body.app-page.v25.menu-open{overflow:hidden}
.mobile-menu-trigger{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid rgba(112,229,219,.18);border-radius:13px;background:rgba(20,69,76,.74);color:#f5fffd;font-weight:850}
.mobile-menu-trigger img{width:27px;height:27px;border-radius:9px;clip-path:inset(3% 1% round 23%);box-shadow:0 5px 13px rgba(0,0,0,.22)}
.topbar-title{flex:0 0 auto}
.mobile-menu-layer{display:block;position:fixed;z-index:90;inset:0}
.mobile-menu-layer[hidden]{display:none!important}
.mobile-menu-scrim{position:absolute;inset:0;border:0;background:rgba(0,12,17,.7);backdrop-filter:blur(8px)}
.mobile-menu-drawer{position:absolute;left:8px;right:8px;bottom:calc(82px + env(safe-area-inset-bottom));max-height:calc(100svh - 106px);overflow:auto;padding:22px;border:1px solid rgba(122,232,222,.2);border-radius:28px;background:linear-gradient(155deg,rgba(13,58,67,.985),rgba(4,28,36,.995));box-shadow:0 30px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.06);color:#f7fffe}
.mobile-menu-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:17px}.mobile-menu-head h2{margin:2px 0 0;font-size:1.65rem;letter-spacing:-.045em}.mobile-menu-head .eyebrow{color:var(--vibe-gold)}
.mobile-menu-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;font-size:1.55rem}
.mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mobile-menu-grid button{position:relative;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;min-height:82px;padding:13px;border:1px solid rgba(116,226,216,.12);border-radius:17px;background:linear-gradient(145deg,rgba(34,92,96,.42),rgba(18,57,67,.58));color:#fff;text-align:left}
.mobile-menu-grid button>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(105,231,220,.11);color:var(--vibe-mint);font-size:1.05rem}.mobile-menu-grid strong{align-self:end}.mobile-menu-grid small{align-self:start;color:#aac7c8;font-size:.65rem;line-height:1.25}
.mobile-menu-grid .mobile-settings-link{grid-column:1/-1;grid-template-columns:42px 1fr 26px;border-color:rgba(240,201,120,.26);background:linear-gradient(120deg,rgba(104,78,35,.35),rgba(25,80,83,.68))}.mobile-settings-link b{grid-column:3;grid-row:1/3;color:var(--vibe-gold);font-size:1.25rem}.mobile-settings-link>span{width:42px;height:42px;color:var(--vibe-gold);background:rgba(240,201,120,.1)}
body.app-page.v25 .sidebar{height:calc(78px + env(safe-area-inset-bottom));padding:6px 3px calc(6px + env(safe-area-inset-bottom))}body.app-page.v25 .sidebar .nav{gap:1px}body.app-page.v25 .sidebar .nav button{flex:1;min-width:0;min-height:58px;padding:5px 1px;flex-direction:column;justify-content:center;gap:1px;border-radius:12px}body.app-page.v25 .sidebar .nav button span:last-child{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.58rem;line-height:1.05;font-weight:780}body.app-page.v25 .sidebar .nav .icon{width:auto;line-height:1}body.app-page.v25 .content{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){.mobile-menu-grid{grid-template-columns:1fr}.mobile-menu-grid .mobile-settings-link{grid-column:1}.mobile-menu-drawer{padding:18px}.mobile-menu-trigger span:last-child{display:none}}

/* V34 — the mobile navigation returns as a calm left sidebar. */
@media(max-width:700px){
body.app-page.v25 .sidebar{display:none!important}
body.app-page.v25 .content{padding-bottom:30px}
.mobile-menu-scrim{background:rgba(0,12,17,.62);backdrop-filter:blur(7px)}
.mobile-menu-drawer{left:0;right:auto;top:0;bottom:0;width:min(86vw,340px);max-height:none;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));border-width:0 1px 0 0;border-radius:0 30px 30px 0;overflow:auto;background:linear-gradient(165deg,#0b3d46 0%,#072b35 46%,#041e28 100%);box-shadow:28px 0 90px rgba(0,0,0,.46);animation:mobile-sidebar-in .24s cubic-bezier(.2,.8,.2,1)}
.mobile-menu-head{padding:0 2px 20px;margin:0 0 14px;border-bottom:1px solid rgba(118,230,220,.13)}
.mobile-menu-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.mobile-menu-identity>div{min-width:0}.mobile-menu-logo{width:54px;height:54px;flex:0 0 54px;border-radius:17px;clip-path:inset(3% 1% round 23%);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.mobile-menu-head h2{font-size:1.9rem}.mobile-menu-head p{max-width:220px;margin:7px 0 0;color:#b8d1d2;font-size:.78rem;line-height:1.45}
.mobile-menu-grid{display:flex;flex-direction:column;gap:8px}
.mobile-menu-grid button,.mobile-menu-grid .mobile-settings-link{display:grid;grid-template-columns:44px 1fr 22px;grid-template-rows:auto auto;width:100%;min-height:72px;padding:11px 12px;column-gap:11px;border-radius:17px;background:rgba(21,69,77,.5)}
.mobile-menu-grid button>span,.mobile-menu-grid .mobile-settings-link>span{grid-column:1;grid-row:1/3;width:44px;height:44px;border-radius:14px}
.mobile-menu-grid button strong{grid-column:2;grid-row:1;align-self:end;font-size:.93rem}.mobile-menu-grid button small{grid-column:2;grid-row:2;align-self:start;font-size:.67rem}.mobile-menu-grid button b,.mobile-menu-grid .mobile-settings-link b{grid-column:3;grid-row:1/3;align-self:center;color:#7be7dd;font-size:1.4rem;font-weight:500}
.mobile-menu-grid button:active{transform:translateX(3px)}
.mobile-menu-grid .mobile-settings-link{margin-top:14px;border-color:rgba(240,201,120,.3);background:linear-gradient(120deg,rgba(102,76,34,.38),rgba(23,73,78,.75))}.mobile-menu-grid .mobile-settings-link b{color:var(--vibe-gold)}
@keyframes mobile-sidebar-in{from{transform:translateX(-102%);opacity:.65}to{transform:translateX(0);opacity:1}}
}
@media(max-width:350px){.mobile-menu-drawer{width:91vw;padding-left:16px;padding-right:16px}.mobile-menu-trigger span:last-child{display:inline}}
@media(prefers-reduced-motion:reduce){.mobile-menu-drawer{animation:none!important}}

/* V35 — keep a complete, labelled sidebar on tablets and compact laptops. */
@media(min-width:701px) and (max-width:980px){
body.app-page.v25 .shell{grid-template-columns:232px minmax(0,1fr)!important}
body.app-page.v25 .sidebar{width:232px;padding:25px 17px}
body.app-page.v25 .brand{padding:0 9px 28px}
body.app-page.v25 .brand span:last-child,body.app-page.v25 .nav button span:last-child,body.app-page.v25 .profile div:last-child{display:block!important}
body.app-page.v25 .nav button{justify-content:flex-start!important;padding:11px 13px}
body.app-page.v25 .profile{justify-content:flex-start!important}
}
