:root{
  --bg:#13151f;--bg2:#1a1d2e;--bg3:#20243a;--card:#1e2235;--card2:#252a42;
  --border:rgba(255,255,255,0.07);--green:#00d68f;--green2:#00b377;
  --gdim:rgba(0,214,143,0.12);--blue:#3b82f6;--bdim:rgba(59,130,246,0.15);
  --red:#f87171;--rdim:rgba(248,113,113,0.15);--amber:#fbbf24;
  --adim:rgba(251,191,36,0.15);--text:#e8eaf3;--text2:#7a8099;--text3:#4a5070;
  --r:16px;--rsm:10px;--sh:0 8px 32px rgba(0,0,0,0.4);--shg:0 4px 20px rgba(0,214,143,0.25);
}

body.light-mode {
  --bg:#f4f7fa;--bg2:#ffffff;--bg3:#f0f2f5;--card:#ffffff;--card2:#f8f9fa;
  --border:rgba(0,0,0,0.08);--green:#00b377;--green2:#008f5d;
  --gdim:rgba(0,179,119,0.1);--blue:#2563eb;--bdim:rgba(37,99,235,0.1);
  --red:#dc2626;--rdim:rgba(220,38,38,0.1);--amber:#d97706;
  --adim:rgba(217,119,6,0.1);--text:#1e293b;--text2:#64748b;--text3:#94a3b8;
  --sh:0 4px 12px rgba(0,0,0,0.05);--shg:0 2px 10px rgba(0,179,119,0.15);
}

*{margin:0;padding:0;box-sizing:border-box;}html,body{height:100%;overflow:hidden;}
body{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--text);display:flex;height:100vh;}
::-webkit-scrollbar{width:4px;height:4px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:99px;}

/* LOGIN */
#loginScreen{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;}
#loginScreen.hidden{display:none;}

#loginCanvas{position:absolute;inset:0;z-index:0;pointer-events:none;}

/* Ambient glows */
.ambient{position:absolute;inset:0;z-index:1;pointer-events:none;}
.amb1{position:absolute;width:600px;height:600px;border-radius:50%;top:-100px;left:-100px;background:radial-gradient(circle,rgba(0,214,143,.12) 0%,transparent 65%);animation:drift1 18s ease-in-out infinite alternate;}
.amb2{position:absolute;width:500px;height:500px;border-radius:50%;bottom:-80px;right:-80px;background:radial-gradient(circle,rgba(59,130,246,.10) 0%,transparent 65%);animation:drift2 22s ease-in-out infinite alternate;}
.amb3{position:absolute;width:300px;height:300px;border-radius:50%;top:40%;right:25%;background:radial-gradient(circle,rgba(251,191,36,.06) 0%,transparent 65%);animation:drift3 14s ease-in-out infinite alternate;}

@keyframes drift1{from{transform:translate(0,0)}to{transform:translate(60px,80px)}}
@keyframes drift2{from{transform:translate(0,0)}to{transform:translate(-50px,-60px)}}
@keyframes drift3{from{transform:translate(0,0)}to{transform:translate(40px,-50px)}}

.login-box{background:rgba(30,34,53,0.6);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,0.08);border-radius:32px;padding:3.5rem;width:480px;box-shadow:var(--sh);animation:fadeUp .6s cubic-bezier(0.16, 1, 0.3, 1);position:relative;z-index:10;}

body.light-mode .login-box {
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(0,0,0,0.05);
}

.login-logo{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;}
.logo-img{width:48px;height:48px;object-fit:contain;filter: drop-shadow(0 4px 8px rgba(0,214,143,0.3));}
.ll-name{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;font-weight:700;letter-spacing:-0.02em;}

.login-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(0, 214, 143, 0.1);
    color: var(--green);
    padding: 0.4rem 0.9rem;
    border-radius: 99px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(0, 214, 143, 0.2);
}
.login-badge .dot {
    width: 6px;
    height: 6px;
    background: var(--green);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--green);
}

.login-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0.8rem;
    letter-spacing: -0.03em;
}
.login-title span {
    color: var(--green);
}

.login-subtitle {
    color: var(--text2);
    font-size: 0.95rem;
    margin-bottom: 2.5rem;
    font-weight: 500;
}

.lf-group {
    margin-bottom: 1.5rem;
}

.lf-lbl{font-size:.78rem;font-weight:600;color:var(--text2);margin-bottom:.6rem;display:block;}

.lf-input-w {
    position: relative;
    display: flex;
    align-items: center;
}

.lf-icon-in {
    position: absolute;
    left: 1.1rem;
    color: var(--text3);
    pointer-events: none;
    width: 18px;
    height: 18px;
}

.lf-in{width:100%;padding:1rem 1.2rem 1rem 3.2rem;background:var(--bg3);border:1px solid var(--border);border-radius:14px;color:var(--text);font-family:'Manrope',sans-serif;font-size:.95rem;outline:none;transition:all .2s;margin-bottom:0;}
.lf-in:focus{border-color:var(--green);background:var(--bg2);box-shadow:0 0 0 4px var(--gdim);}

.btn-toggle-pw {
    position: absolute;
    right: 1.1rem;
    background: none;
    border: none;
    color: var(--text3);
    cursor: pointer;
    padding: 0.3rem;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}
.btn-toggle-pw:hover {
    color: var(--text);
}

.lf-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1.8rem 0;
}

.lf-checkbox {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
    font-size: 0.88rem;
    color: var(--text2);
    font-weight: 500;
}
.lf-checkbox input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
    cursor: pointer;
}

.btn-ls{width:100%;padding:1.1rem;background:var(--green);color:#0a1f14;border:none;border-radius:16px;font-family:'Manrope',sans-serif;font-size:1.05rem;font-weight:800;cursor:pointer;transition:all .25s;box-shadow:var(--shg);display:flex;align-items:center;justify-content:center;gap:0.7rem;}
.btn-ls:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,214,143,0.45);}
.btn-ls:active{transform:translateY(0);}

.login-err{display:none;background:var(--rdim);border:1px solid rgba(248,113,113,.3);border-radius:12px;padding:1rem;font-size:.88rem;color:var(--red);margin-bottom:1.5rem;font-weight:600;animation:shake 0.4s ease;}
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}
.login-err.show{display:block;}

/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;}
#loader.on{display:flex;}#loader.hide{opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.ld-icon{width:58px;height:58px;border-radius:16px;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:var(--shg);animation:pls 1.5s ease infinite;}
@keyframes pls{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.ld-bar-w{width:200px;height:3px;background:var(--bg3);border-radius:99px;overflow:hidden;}
.ld-bar{height:100%;width:0;background:var(--green);border-radius:99px;animation:ldBar 1.3s ease forwards;}
@keyframes ldBar{to{width:100%;}}
.ld-txt{font-size:.72rem;color:var(--text2);letter-spacing:.1em;text-transform:uppercase;}

/* PAGE TRANSITION */
.pt{position:fixed;inset:0;z-index:800;background:rgba(19,21,31,.85);opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;display:flex;align-items:center;justify-content:center;}
.pt.on{opacity:1;visibility:visible;}
.pt-ring{width:34px;height:34px;border:2.5px solid var(--bg3);border-top-color:var(--green);border-radius:50%;animation:spin .6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* TOAST */
.tw{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.6rem;}
.toast{background:var(--card2);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:12px;padding:.85rem 1.1rem;min-width:265px;display:flex;gap:.7rem;align-items:flex-start;box-shadow:var(--sh);animation:tIn .35s cubic-bezier(.34,1.56,.64,1);}
.toast.e{border-left-color:var(--red);}.toast.w{border-left-color:var(--amber);}.toast.i{border-left-color:var(--blue);}.toast.rm{animation:tOut .25s ease forwards;}
.t-ic{font-size:.9rem;}.t-title{font-weight:700;font-size:.82rem;}.t-msg{font-size:.72rem;color:var(--text2);margin-top:.1rem;}
@keyframes tIn{from{opacity:0;transform:translateX(12px);}to{opacity:1;transform:none;}}
@keyframes tOut{to{opacity:0;transform:translateX(12px);}}

/* APP */
#app{display:flex;width:100%;height:100vh;overflow:hidden;}#app.hidden{display:none;}

/* SIDEBAR */
.sb{width:216px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:1.4rem 0;}
.sb-logo{display:flex;align-items:center;gap:.7rem;padding:0 1.2rem 1.4rem;border-bottom:1px solid var(--border);margin-bottom:.9rem;}
.sb-logo-img{width:32px;height:32px;object-fit:contain;filter: drop-shadow(0 2px 4px rgba(0,214,143,0.2));}
.sb-ln{font-family:'Space Grotesk',sans-serif;font-size:.95rem;font-weight:700;}
.sb-ls{font-size:.58rem;color:var(--text2);text-transform:uppercase;letter-spacing:.1em;}
.nb-grp{margin-bottom:.2rem;}
.nb-lbl{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);padding:.7rem 1.2rem .25rem;}
.ni{display:flex;align-items:center;gap:.7rem;margin:.08rem .65rem;padding:.6rem .8rem;border-radius:var(--rsm);cursor:pointer;font-size:.82rem;font-weight:500;color:var(--text2);transition:all .18s;position:relative;}
.ni:hover{background:var(--bg3);color:var(--text);}
.ni.active{background:var(--gdim);color:var(--green);font-weight:700;}
.ni.active::before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:2.5px;border-radius:99px;background:var(--green);}
.ni .ic{font-size:.9rem;min-width:16px;text-align:center;}
.ni .nb{margin-left:auto;background:var(--red);color:#fff;font-size:.58rem;padding:.1rem .38rem;border-radius:99px;font-weight:800;}
.wa-light{margin-left:auto;width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.06), 0 0 10px currentColor;}
.wa-light-off{color:#ef4444;background:#ef4444;}
.wa-light-pending{color:#f59e0b;background:#f59e0b;}
.wa-light-auth{color:#3b82f6;background:#3b82f6;}
.wa-light-ready{color:#22c55e;background:#22c55e;}
.sb-foot{margin-top:auto;border-top:1px solid var(--border);padding:1.1rem;display:flex;align-items:center;gap:.7rem;}
.sf-av{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--green),var(--green2));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;color:#0a1f14;flex-shrink:0;}
.sf-n{font-size:.8rem;font-weight:700;}.sf-r{font-size:.63rem;color:var(--text2);}
.wa-svg-icon{
    display:inline-block;
    vertical-align:middle;
    flex-shrink:0;
}
.sf-out{margin-left:auto;width:27px;height:27px;border-radius:8px;background:var(--bg3);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.82rem;color:var(--text2);transition:all .15s;}
.sf-out:hover{background:var(--rdim);color:var(--red);}

/* MAIN */
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 1.6rem;height:62px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.mobile-menu-btn{display:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--text);align-items:center;justify-content:center;cursor:pointer;}
.mobile-menu-btn:hover{background:var(--card2);}
.sb-overlay{display:none;}
.tb-title{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:700;}
.tb-right{display:flex;align-items:center;gap:.7rem;}
.tb-global-search{display:flex;align-items:center;gap:.5rem;min-width:260px;max-width:360px;width:32vw;height:36px;padding:0 .65rem;border:1px solid var(--border);border-radius:10px;background:var(--bg3);color:var(--text2);}
.tb-global-search i{color:var(--text3);flex-shrink:0;}
.tb-global-search input{width:100%;border:none;outline:none;background:transparent;color:var(--text);font-family:'Manrope',sans-serif;font-size:.82rem;}
.tb-global-search input::placeholder{color:var(--text3);}
.notif-popover{
    position:absolute;
    top:70px;
    right:1.6rem;
    width:360px;
    max-height:460px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:var(--sh);
    display:none;
    z-index:1500;
    overflow:hidden;
}
.notif-popover.open{display:block;}
.notif-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    padding:.8rem .9rem;
    border-bottom:1px solid var(--border);
}
.notif-title{font-weight:800;font-size:.95rem;}
.notif-sub{font-size:.72rem;color:var(--text2);margin-top:.1rem;}
.notif-actions{display:flex;align-items:center;gap:.4rem;}
.notif-list{max-height:390px;overflow:auto;padding:.5rem;display:flex;flex-direction:column;gap:.45rem;}
.notif-item{padding:.65rem .7rem;border:1px solid var(--border);border-radius:10px;background:var(--bg2);}
.notif-item-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.2rem;}
.notif-item-name{font-weight:700;font-size:.84rem;}
.notif-item-date{font-size:.7rem;color:var(--text2);white-space:nowrap;}
.notif-item-detail{font-size:.76rem;color:var(--text2);line-height:1.35;}
.notif-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.notif-list-page{max-height:none;padding:.2rem;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.52rem 1rem;border-radius:var(--rsm);border:none;font-family:'Manrope',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .18s;}
.btn-g{background:var(--green);color:#0a1f14;box-shadow:var(--shg);}
.btn-g:hover{background:var(--green2);transform:translateY(-1px);}
.btn-gh{background:var(--bg3);color:var(--text2);border:1px solid var(--border);}
.btn-gh:hover{background:var(--card2);color:var(--text);}
.btn-r{background:var(--rdim);color:var(--red);border:1px solid rgba(248,113,113,.2);}
.btn-r:hover{background:rgba(248,113,113,.25);}
.btn-b{background:var(--bdim);color:var(--blue);border:1px solid rgba(59,130,246,.2);}
.btn-wa{background:rgba(37,211,102,.12);color:#25D366;border:1px solid rgba(37,211,102,.2);}
.btn-wa:hover{background:rgba(37,211,102,.22);}
.ib{width:36px;height:36px;border-radius:var(--rsm);background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;color:var(--text2);transition:all .15s;}
.ib:hover{background:var(--card2);color:var(--text);}

/* CONTENT */
.content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.4rem 1.6rem;}
.page{display:none;animation:fadeUp .33s ease;}.page.active{display:block;}

/* CARD */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1.2rem;transition:border-color .2s;}
.card.dash-nav-card{cursor:pointer;transition:transform .18s ease,border-color .18s ease;}
.card.dash-nav-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.12);}
.card.dash-nav-card:active{transform:translateY(-1px) scale(.997);}
.card:hover{border-color:rgba(255,255,255,.11);}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;}
.ct{font-size:.84rem;font-weight:700;}.cs{font-size:.7rem;color:var(--text2);margin-top:.12rem;}

/* PILL */
.pill{display:inline-flex;align-items:center;gap:.28rem;padding:.2rem .62rem;border-radius:99px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.p-g{background:var(--gdim);color:var(--green);}.p-b{background:var(--bdim);color:var(--blue);}.p-r{background:var(--rdim);color:var(--red);}.p-a{background:var(--adim);color:var(--amber);}.p-gr{background:rgba(255,255,255,.07);color:var(--text2);}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:1.1rem;}
.sc{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1.2rem;position:relative;overflow:hidden;transition:transform .2s,border-color .2s;}
.sc:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.12);}
.sc.dash-link{cursor:pointer;}
.sc.dash-link:active{transform:translateY(-1px) scale(.995);}
.sc-glow{position:absolute;top:-18px;right:-18px;width:75px;height:75px;border-radius:50%;opacity:.12;}
.sc.g .sc-glow{background:var(--green);}.sc.b .sc-glow{background:var(--blue);}.sc.a .sc-glow{background:var(--amber);}.sc.r .sc-glow{background:var(--red);}
.sc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;}
.sc-ic{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.95rem;}
.sc.g .sc-ic{background:var(--gdim);color:var(--green);}.sc.b .sc-ic{background:var(--bdim);color:var(--blue);}.sc.a .sc-ic{background:var(--adim);color:var(--amber);}.sc.r .sc-ic{background:var(--rdim);color:var(--red);}
.sc-val{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:700;line-height:1;}
.sc-lbl{font-size:.7rem;color:var(--text2);margin-top:.28rem;font-weight:600;}
.sc-d{font-size:.66rem;margin-top:.45rem;display:flex;align-items:center;gap:.18rem;font-weight:700;}
.sc-d.u{color:var(--green);}.sc-d.d{color:var(--red);}.sc-d.w{color:var(--amber);}

/* TABLE */
.tw-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:.8rem;}
thead th{padding:.6rem .95rem;text-align:left;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);font-weight:700;border-bottom:1px solid var(--border);white-space:nowrap;}
tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s;}
tbody tr:last-child{border:none;}
tbody tr:hover{background:rgba(255,255,255,.03);}
tbody td{padding:.75rem .95rem;color:var(--text);}

/* AVATAR */
.av{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.72rem;flex-shrink:0;}

/* CIRCLE */
.circ-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;}
.circ-val{position:absolute;font-family:'Space Grotesk',sans-serif;font-weight:700;text-align:center;}

/* PLAN BARS */
.pb-row{margin-bottom:.8rem;}
.pb-top{display:flex;justify-content:space-between;margin-bottom:.38rem;font-size:.76rem;}
.pb-name{font-weight:700;text-transform:capitalize;}.pb-info{color:var(--text2);font-size:.7rem;}
.pb-bg{height:5px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;}
.pb-fill{height:100%;border-radius:99px;transition:width 1.2s cubic-bezier(.4,0,.2,1);}

/* CALENDAR */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cd{text-align:center;padding:.38rem .08rem;border-radius:6px;font-size:.68rem;color:var(--text2);}
.cd.hd{color:var(--text3);font-weight:700;font-size:.58rem;text-transform:uppercase;}
.cd.past{color:var(--text3);}.cd.today{background:var(--green);color:#0a1f14;font-weight:800;}
.cd.due{background:var(--rdim);color:var(--red);font-weight:700;border:1px solid rgba(248,113,113,.2);}
.cd.paid-red{background:var(--rdim);color:var(--red);font-weight:700;border:1px solid rgba(248,113,113,.2);}
.cd.paid{background:var(--bdim);color:var(--blue);font-weight:700;border:1px solid rgba(96,165,250,.2);}
.cd.pre{background:var(--adim);color:var(--amber);font-weight:600;}
.cal-leg{display:flex;gap:.9rem;margin-top:.65rem;font-size:.65rem;color:var(--text2);}
.cal-leg span{display:flex;align-items:center;gap:.28rem;}

.report-calendar-card{margin: 0; }
.report-cal-head{display:flex;align-items:center;justify-content:center;gap:.8rem;}
.report-cal-nav{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;}
.report-cal-nav:hover{border-color:rgba(96,165,250,.45);color:var(--blue);transform:translateY(-1px);}
#calGridReport{grid-template-columns:repeat(7,1fr);gap:8px; display: grid;}
#calGridReport .cd{padding:.6rem .2rem;font-size:.72rem;border-radius:8px; display: flex; align-items: center; justify-content: center;}
#calGridReport .cd.hd{font-size:.62rem; font-weight: 600;}

/* TABS */
.tabs{display:flex;gap:.3rem;margin-bottom:1.1rem;}
.tab-btn{padding:.42rem .88rem;border:none;border-radius:8px;background:transparent;color:var(--text2);font-family:'Manrope',sans-serif;font-weight:600;font-size:.76rem;cursor:pointer;transition:all .18s;}
.tab-btn.active{background:var(--gdim);color:var(--green);}
.tab-btn:not(.active):hover{background:var(--bg3);color:var(--text);}

/* MODALS */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:10000;display:none;align-items:center;justify-content:center;padding:2rem;}
.mo.open{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:32px;width:100%;max-width:440px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.6);animation:fadeUp .3s cubic-bezier(0.16, 1, 0.3, 1);overflow:hidden;max-height: 90vh;display: flex;flex-direction: column;}
.mh{padding:2rem 2rem 1rem 2rem;border:none;display:flex;justify-content:space-between;align-items:center;flex-shrink: 0;}
.mh h2{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;font-weight:700;letter-spacing:-0.02em;}
.mc{background:rgba(255,255,255,0.05);border:none;color:var(--text3);font-size:1.2rem;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.mc:hover{background:var(--red);color:white;transform:rotate(90deg);}
.mb{padding:1rem 2rem 2rem 2rem;overflow-y: auto;flex: 1;}

.fl{display:block;font-size:.72rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;}
.fi{width:100%;padding:.75rem 1rem;background:var(--bg3);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:'Manrope',sans-serif;font-size:.9rem;outline:none;transition:all .2s;}
.fi:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--gdim);background:var(--bg3);}
textarea.fi{resize:vertical;min-height:100px;}
.pass-field{position:relative;}
.pass-field .fi{padding-right:2.8rem;}
.pass-toggle{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s;}
.pass-toggle:hover{background:var(--bg2);color:var(--text);}

.pay-client-picker{position:relative;}
.pay-client-results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--bg2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh);max-height:220px;overflow:auto;z-index:40;padding:.35rem;}
.pay-client-item{width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--text);border-radius:10px;padding:.55rem .65rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;}
.pay-client-item:hover{background:var(--bg3);border-color:var(--border);}
.pay-client-item strong{font-size:.85rem;}
.pay-client-item span{font-size:.72rem;color:var(--text2);}
.pay-client-empty{padding:.6rem .7rem;color:var(--text2);font-size:.78rem;}

.form-section-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 1.2rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border);
}
.form-section-title.alt {
    color: var(--green);
    border: none;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2rem;
}

.fg-full { grid-column: 1 / -1; }

.modal-foot-alt {
    padding: 1.5rem 2rem 2rem 2rem;
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}
.btn-save-disk {
    background: linear-gradient(135deg, #00d68f, #00b377);
    color: #0a1f14;
    padding: 0.8rem 1.8rem;
    border-radius: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    box-shadow: 0 4px 15px rgba(0, 214, 143, 0.3);
}
.btn-save-disk:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 214, 143, 0.4);
}
.btn-cancel-ghost {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border);
    color: var(--text2);
    padding: 0.8rem 1.8rem;
    border-radius: 12px;
}
.btn-cancel-ghost:hover {
    background: rgba(255, 255, 255, 0.07);
    color: var(--text);
}

body.light-mode .fi { background: #fff; }
body.light-mode .fi:focus { background: #fff; }

.color-presets{display:flex;gap:0.6rem;margin-top:0.8rem;flex-wrap:wrap;}
.color-swatch{width:28px;height:28px;border-radius:8px;cursor:pointer;transition:transform 0.2s, box-shadow 0.2s;border:2px solid transparent;}
.color-swatch:hover{transform:scale(1.15);}
.color-swatch.active{border-color:white;box-shadow:0 0 0 2px var(--bg2), 0 0 0 4px var(--text);}

.custom-picker-btn {
    background: var(--bg3);
    border: 1px dashed var(--text3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text2);
}
.custom-picker-btn:hover {
    border-style: solid;
    border-color: var(--green);
    color: var(--green);
}
.custom-picker-btn.active {
    border-style: solid;
    border-color: var(--green);
    background: var(--gdim);
    color: var(--green);
}

.plan-preview-w{display:flex;gap:0.8rem;align-items:center;margin-top:0.5rem;}
.plan-color-dot{width:40px;height:40px;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,0.2);}
.plan-color-bar{height:40px;border-radius:12px;flex-grow:1;box-shadow:0 4px 12px rgba(0,0,0,0.1);display:flex;align-items:center;padding:0 1rem;font-weight:700;font-size:0.85rem;}

.modal-foot{padding:1.5rem 2rem 2rem 2rem;background:transparent;display:flex;gap:1rem;border:none;}
.modal-foot .btn{padding:1rem;border-radius:16px;font-weight:700;}

/* CLIENT MODAL LAYOUT */
.modal-client {
    max-width: 920px;
    border-radius: 24px;
}

.client-modal-head {
    padding: 1.5rem 2rem 0.5rem 2rem;
}

.client-modal-body {
    padding: 0.5rem 2rem 1.5rem 2rem;
}

.modal-client .mb {
    overflow-y: visible;
}

.client-modal-tabs {
    display: inline-flex;
    gap: 0.4rem;
    background: var(--bg3);
    padding: 0.35rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    margin-bottom: 1rem;
}

.client-tab-btn {
    border: none;
    background: transparent;
    color: var(--text2);
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 0.76rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.client-tab-btn.active {
    background: var(--green);
    color: #0a1f14;
    box-shadow: var(--shg);
}

.client-form-panel {
    display: none;
}

.client-form-panel.active {
    display: block;
}

.client-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}

.client-form-grid .fgp {
    margin-bottom: 0;
}

/* TOASTS */
.toast {
    pointer-events: auto;
    min-width: 300px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 1rem 1.2rem;
    box-shadow: 0 15px 35px -5px rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    gap: 1rem;
    animation: toastIn .4s cubic-bezier(0.16, 1, 0.3, 1), toastOut .4s 3.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    position: relative;
    overflow: hidden;
}
.toast-ic {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.toast-c { flex-grow: 1; }
.toast-t { font-weight: 700; font-size: 0.9rem; margin-bottom: 0.15rem; }
.toast-m { color: var(--text2); font-size: 0.8rem; }

.toast.success .toast-ic { background: var(--gdim); color: var(--green); }
.toast.error .toast-ic { background: var(--rdim); color: var(--red); }
.toast.info .toast-ic { background: var(--bdim); color: var(--blue); }

@keyframes toastIn {
    from { transform: translateX(120%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes toastOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(120%); opacity: 0; }
}

/* BOLETA */
.boleta{background:#fff;color:#1a1d2e;border-radius:var(--r);padding:2rem;max-width:470px;margin:0 auto;font-size:.85rem;}
.boleta-preview{max-width:560px;box-shadow:0 20px 45px rgba(7,10,26,.16);}
.bh{text-align:center;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:2px solid #e8eaf3;}
.bb{font-family:'Space Grotesk',sans-serif;font-size:1.45rem;font-weight:700;color:#13151f;}
.bn{display:inline-block;margin-top:.55rem;background:#13151f;color:#00d68f;font-size:.68rem;font-family:monospace;padding:.18rem .65rem;border-radius:5px;font-weight:700;}
.br{display:flex;justify-content:space-between;padding:.42rem 0;border-bottom:1px solid #f0f2f8;font-size:.8rem;}
.br:last-of-type{border:none;}.br span:first-child{color:#7a8099;}
.bt{background:#13151f;color:#fff;border-radius:9px;padding:.75rem 1rem;display:flex;justify-content:space-between;font-weight:700;margin-top:.9rem;font-family:'Space Grotesk',sans-serif;}
.bt span:last-child{color:#00d68f;}
.bf{text-align:center;margin-top:1.1rem;font-size:.68rem;color:#7a8099;line-height:1.7;border-top:1px solid #f0f2f8;padding-top:.9rem;}

/* BOLETAS MODULE */
.boletas-layout{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:flex-start;}
.boletas-actions{min-height:auto;}
.boletas-buttons{display:flex;gap:.7rem;margin-top:1.2rem;}
.boletas-buttons .btn{flex:1;padding:.68rem 1rem;}
.boletas-buttons .btn:disabled{opacity:.55;cursor:not-allowed;}
.boleta-preview-wrap{margin-top:1rem;display:flex;justify-content:center;overflow:visible;max-height:none;padding:1rem;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));}

/* REPORTES */
.report-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;}
.report-filters{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end;}
.report-shortcuts{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.report-range-btn{padding:.55rem .8rem;font-size:.72rem;}
.report-range-btn.active{background:var(--green);color:#0a1f14;border-color:transparent;box-shadow:0 0 0 1px rgba(0,0,0,.1), 0 10px 20px rgba(0,214,143,.18);}
.report-range-btn.active:hover{background:var(--green);color:#0a1f14;transform:translateY(-1px);}
.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:1rem;}
.report-kpi{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.25rem;}
.report-kpi-lbl{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);font-weight:700;}
.report-kpi strong{font-size:1.02rem;color:var(--green);}
.report-paid-people{margin-top:.8rem;display:flex;flex-direction:column;gap:.4rem;max-height:190px;overflow:auto;padding-right:.2rem;}
.report-paid-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg3);border:1px solid var(--border);padding:.5rem .7rem;border-radius:10px;font-size:.78rem;}
.report-paid-item strong{color:var(--green);}
.report-bars{display:flex;flex-direction:column;gap:.65rem;margin-top:.7rem;}
.report-bar-row{display:flex;flex-direction:column;gap:.25rem;}
.report-bar-head{display:flex;justify-content:space-between;gap:.7rem;font-size:.73rem;}
.report-bar-bg{height:10px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;}
.report-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#00d68f);}
.report-client-history{margin-top:.85rem;display:flex;flex-direction:column;gap:.55rem;max-height:365px;overflow:auto;padding-right:.2rem;}
.report-client-month-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg3);border:1px solid var(--border);padding:.72rem .8rem;border-radius:12px;gap:.8rem;}
.report-client-month{font-size:.82rem;font-weight:700;text-transform:capitalize;}
.report-client-month-item strong{color:var(--green);white-space:nowrap;}

/* WA BUBBLE */
.wab{background:var(--bg3);border-radius:99px;padding:.85rem .95rem;border-left:3px solid #25D366;font-size:.76rem;line-height:1.7;font-family:monospace;white-space:pre-wrap;color:var(--text);max-height:180px;overflow-y:auto;}

/* TABLE ADVANCED */
.table-advanced {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.table-advanced thead th {
    background: var(--bg2);
    padding: 1rem 1.2rem;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text3);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 10;
}
.table-advanced tbody tr {
    transition: all 0.2s ease;
}
.table-advanced tbody tr:hover {
    background: var(--bg3);
    transform: scale(1.002);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.table-advanced tbody td {
    padding: 1rem 1.2rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--border);
}

/* CLIENT CELL */
.cl-cell {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.cl-av {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--bg3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    color: var(--text);
    flex-shrink: 0;
    border: 1px solid var(--border);
    text-transform: uppercase;
}
.cl-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.cl-name {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--text);
}
.cl-sub {
    font-size: 0.72rem;
    color: var(--text2);
}

/* STATUS PILLS */
.status-pill {
    padding: 0.4rem 0.8rem;
    border-radius: 10px;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.status-pill.pagado { background: var(--gdim); color: var(--green); }
.status-pill.pendiente { background: var(--adim); color: var(--amber); }
.status-pill.vencido { background: var(--rdim); color: var(--red); }
.status-pill.activo { background: var(--bdim); color: var(--blue); }
.status-pill.suspendido { background: rgba(148, 163, 184, .16); color: #cbd5e1; }

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

/* ACTION BUTTONS */
.act-btns {
    display: flex;
    gap: 0.4rem;
    justify-content: center;
}
.act-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--bg3);
    border: 1px solid var(--border);
    color: var(--text2);
}
.act-btn:hover {
    background: var(--card2);
    color: var(--text);
    transform: translateY(-2px);
}
.act-btn.edit:hover { color: var(--blue); border-color: var(--blue); }
.act-btn.wa:hover { color: var(--green); border-color: var(--green); }
.act-btn.del:hover { color: var(--red); border-color: var(--red); }
.act-btn[title="Suspender"], .act-btn[title="Reactivar"] {
     color: var(--amber);
}

/* EMPTY */
.empty{text-align:center;padding:2rem;color:var(--text3);font-size:.8rem;}
.empty-ic{font-size:1.6rem;margin-bottom:.55rem;opacity:.45;}

/* DIVIDER */
.div-hr{border:none;border-top:1px solid var(--border);margin:.9rem 0;grid-column:1/-1;}

/* ACT BTNS */
.act{display:flex;gap:.28rem;}

/* PLAN CARDS */
.plan-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;}
.pc{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .2s,border-color .2s;}
.pc:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.14);}
.pct{height:3px;}.pcb{padding:1.4rem;text-align:center;}
.pc-ic{font-size:1.7rem;margin-bottom:.6rem;}.pc-n{font-family:'Space Grotesk',sans-serif;font-size:.95rem;font-weight:700;margin-bottom:.28rem;}
.pc-p{font-family:'Space Grotesk',sans-serif;font-size:1.7rem;font-weight:700;margin:.35rem 0;}
.pc-p sup{font-size:.7rem;vertical-align:super;font-weight:500;color:var(--text2);}
.pc-p span{font-size:.75rem;font-weight:400;color:var(--text2);}
.pc-f{font-size:.72rem;color:var(--text2);line-height:2;margin-bottom:.9rem;}

/* RESPONSIVE */
@media(max-width:1280px){
    .dashboard-main-grid{grid-template-columns:1fr 1fr !important;}
    .plan-cards{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:1100px){
    .stats-row{grid-template-columns:repeat(2,1fr);}
    .boletas-layout{grid-template-columns:1fr;}
    .report-main-grid,.report-secondary-grid,.report-calendar-grid{grid-template-columns:1fr !important;}
    .plan-cards{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:1024px){
    html,body{overflow:auto;}
    body{height:auto;min-height:100vh;}
    #app{height:auto;min-height:100vh;}
    .main{min-width:0;}

    .mobile-menu-btn{display:inline-flex;}
    .topbar{gap:.7rem;padding:.75rem 1rem;height:auto;min-height:62px;}
    .tb-title{font-size:1.1rem;line-height:1.2;}
    .tb-right{margin-left:auto;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;}
    .tb-global-search{min-width:0;max-width:100%;width:clamp(180px,40vw,320px);}

    .sb{
        position:fixed;
        top:0;
        left:0;
        height:100dvh;
        width:min(280px,84vw);
        z-index:1300;
        transform:translateX(-100%);
        transition:transform .22s ease;
        box-shadow:0 20px 50px rgba(0,0,0,.5);
    }

    .sb-overlay{position:fixed;inset:0;z-index:1200;background:rgba(7,10,20,.56);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:block;}
    #app.sb-open .sb{transform:translateX(0);}
    #app.sb-open .sb-overlay{opacity:1;visibility:visible;}

    .dashboard-main-grid{grid-template-columns:1fr !important;}
    .dashboard-bottom-grid{grid-template-columns:1fr !important;}
    .pagos-grid{grid-template-columns:1fr !important;}
    .clientes-head,.planes-head{flex-direction:column;align-items:stretch !important;gap:.8rem;}
    .clientes-head-actions,.messages-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;}

    .report-toolbar{flex-direction:column;align-items:stretch;}
    .report-filters{width:100%;}
    .report-filters .fgp{min-width:0 !important;flex:1 1 220px;}
    .report-shortcuts{width:100%;}
    .report-kpis{grid-template-columns:repeat(2,1fr);}
    .report-calendar-card{overflow:hidden;}
    #calGridReport{gap:6px;}

    .card{padding:1rem;}
    .content{padding:1rem;}
    .ch{gap:.7rem;flex-wrap:wrap;}

    .table-advanced thead th,.table-advanced tbody td{padding:.78rem .82rem;}

    .modal{border-radius:22px;max-width:96vw;}
    .modal-client{max-width:96vw;}
    .mh{padding:1.2rem 1.2rem .7rem 1.2rem;}
    .mb{padding:.7rem 1.2rem 1.2rem 1.2rem;}
    .client-modal-head{padding:1.1rem 1.2rem .4rem 1.2rem;}
    .client-modal-body{padding:.4rem 1.2rem 1rem 1.2rem;}
    .modal-foot,.modal-foot-alt{padding:1rem 1.2rem 1.2rem 1.2rem;}

    .toast{min-width:240px;max-width:min(92vw,340px);}
    #toastContainer{top:1rem !important;right:1rem !important;left:1rem;align-items:flex-end;}
}

@media(max-width:900px){
    .topbar{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;}
    .tb-title{margin-right:auto;}
    .tb-global-search{order:3;width:100%;}
    .tb-right{width:auto;margin-left:0;justify-content:flex-end;flex-wrap:nowrap;gap:.45rem;}
    .tb-right .btn{flex:0 0 auto;justify-content:center;}
    .report-kpis{grid-template-columns:1fr;}
    .plan-cards{grid-template-columns:1fr;}
    .client-form-grid{grid-template-columns:1fr;gap:.9rem;}
    .client-modal-tabs{width:100%;justify-content:stretch;}
    .client-tab-btn{flex:1;}
    .boleta{padding:1.2rem;}

    #page-pagos .pagos-grid{gap:.8rem !important;}
    #page-pagos .card{width:386.41px;max-width:100%;margin:0 auto;}
    #page-pagos .tw-wrap{max-width:100%;overflow-x:auto;}
}

@media(max-width:768px){
    .login-box{width:min(94vw,480px);padding:2rem 1.2rem;border-radius:22px;}
    .login-title{font-size:1.7rem;}
    .stats-row{grid-template-columns:1fr;}
    .sc-val{font-size:1.7rem;}
    .topbar{padding:.65rem .8rem;}
    .tb-title{font-size:1rem;}
    .tb-right{margin-left:0;}
    #btnNC{
        width:40px;
        height:40px;
        min-width:40px;
        padding:0;
        border-radius:10px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:0;
        font-size:0;
        line-height:0;
    }
    #btnNC i{margin:0;width:18px;height:18px;}
    #themeToggle{
        width:40px;
        height:40px;
        border-radius:10px;
        border:none;
        background:var(--green);
        color:#0a1f14;
        box-shadow:var(--shg);
    }
    #themeToggle:hover{background:var(--green2);color:#0a1f14;}
    .content{padding:.8rem;}
    .card{border-radius:14px;padding:.85rem;}
    .tabs{overflow:auto;white-space:nowrap;padding-bottom:.1rem;}
    .tab-btn{flex:0 0 auto;}
    .report-range-btn{flex:1 1 calc(50% - .25rem);justify-content:center;}
    .report-shortcuts .btn{width:100%;}
    .modal-foot,.modal-foot-alt{flex-direction:column;}
    .modal-foot .btn,.modal-foot-alt .btn,.btn-cancel-ghost,.btn-save-disk{width:100%;justify-content:center;}
    .toast{border-radius:14px;padding:.85rem .9rem;}

    /* Ajustes compactos para Registro de Pago en movil */
    #page-pagos .card{padding:.85rem;}
    #page-pagos .pagos-grid{gap:.7rem !important;}
    #page-pagos .ct{font-size:.98rem;}
    #page-pagos .cs{font-size:.72rem;}
    #page-pagos #fPay{margin-top:.8rem !important;}
    #page-pagos .fg[style],
    #page-pagos .fgp[style]{margin-top:.65rem !important;margin-bottom:.65rem !important;}
    #page-pagos .fl{font-size:.64rem;margin-bottom:.28rem;}
    #page-pagos .fi{padding:.58rem .82rem;font-size:.86rem;border-radius:10px;}
    #page-pagos textarea.fi{min-height:54px;}
    #page-pagos .btn{padding:.58rem .82rem;font-size:.74rem;}
    #page-pagos #fPay > button[style]{margin-top:1rem !important;}
    #page-pagos .tw-wrap{margin-top:.6rem !important;}
    #page-pagos table{font-size:.74rem;}
}

@media(max-width:480px){
    .tb-right .btn{width:100%;}
    #btnNC{width:40px !important;height:40px !important;}
    .tb-right #btnNC{flex:0 0 40px;}
    .ib{width:34px;height:34px;}
    .notif-popover{width:calc(100vw - 1rem);right:.5rem;top:68px;}
    .cal-leg{flex-wrap:wrap;gap:.5rem;}
    .table-advanced thead th,.table-advanced tbody td{padding:.7rem .65rem;font-size:.75rem;}
    .cl-cell{gap:.65rem;}
    .cl-av{width:34px;height:34px;border-radius:10px;font-size:.82rem;}
    .plan-preview-w{flex-direction:column;align-items:stretch;}

    #page-pagos .card{padding:.75rem;}
    #page-pagos .pagos-grid{gap:.6rem !important;}
    #page-pagos .ct{font-size:.92rem;}
    #page-pagos .cs{font-size:.68rem;}
    #page-pagos .fi{padding:.52rem .74rem;font-size:.84rem;}
    #page-pagos .btn{font-size:.72rem;}
}
