:root{
    --bg:#f4f7fb;
    --panel:#ffffff;
    --text:#111827;
    --muted:#667085;
    --line:#e7ecf5;
    --primary:#405cf5;
    --primary-2:#7c3aed;
    --cyan:#06b6d4;
    --danger:#d92d20;
    --success:#079455;
    --warning:#f59e0b;
    --sidebar:#0b1220;
    --radius:24px;
    --shadow:0 22px 60px rgba(15,23,42,.08);
    --soft-shadow:0 14px 34px rgba(15,23,42,.06);
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{direction:rtl;background:var(--bg);color:var(--text);overflow-x:hidden}
.bi{width:1.05em;height:1.05em;vertical-align:-.18em;flex:0 0 auto}
a{text-decoration:none}
code{background:#f4f7fb;color:#334155;border:1px solid #e6ebf3;border-radius:10px;padding:.2rem .45rem;font-size:.82rem}

.auth-body{min-height:100vh;background:radial-gradient(circle at 18% 12%,rgba(124,58,237,.30),transparent 30%),radial-gradient(circle at 84% 18%,rgba(6,182,212,.22),transparent 28%),linear-gradient(145deg,#f9fbff 0%,#eef4ff 48%,#f8fbff 100%)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.auth-card-wrap{width:min(100%,980px);display:grid;grid-template-columns:minmax(360px,460px) minmax(320px,1fr);gap:18px;align-items:stretch}
.login-card,.auth-info-card{background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.72);border-radius:34px;box-shadow:0 28px 90px rgba(15,23,42,.13)}
.login-card{padding:30px}
.auth-info-card{padding:34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;min-height:500px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(245,248,255,.9))}
.auth-info-card:before{content:"";position:absolute;inset:26px 26px auto auto;width:146px;height:146px;border-radius:42px;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 24px 60px rgba(64,92,245,.25)}
.auth-info-card:after{content:"SMS";position:absolute;top:72px;right:62px;color:#fff;font-weight:950;letter-spacing:.08em}
.auth-info-card h2{font-size:1.65rem;line-height:1.6;margin:0 0 12px;max-width:430px}
.auth-info-card p{color:var(--muted);line-height:2;margin:0 0 22px;max-width:480px}
.auth-feature-list{display:grid;gap:10px}.auth-feature-list div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 14px;color:#344054;font-weight:800}.auth-feature-list svg{color:var(--primary)}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-brand h1{font-size:1.28rem;margin:0 0 4px;font-weight:950}.login-brand p{margin:0;color:var(--muted);font-size:.93rem}
.brand-mark{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:950;box-shadow:0 14px 35px rgba(64,92,245,.28)}
.brand-mark.xl{width:62px;height:62px;border-radius:24px;font-size:1.35rem}.brand-icon{width:1.25em;height:1.25em}

.form-group{margin-bottom:17px}.form-group label{display:block;margin-bottom:8px;font-weight:900;color:#293044;font-size:.92rem}.input-icon-wrap{position:relative}.field-icon{position:absolute;right:14px;bottom:15px;color:#98a2b3;z-index:2;display:grid;place-items:center}.input-icon-wrap>.form-control,.input-icon-wrap .password-wrap>.form-control{padding-right:43px}.password-wrap{position:relative}.password-wrap .form-control{padding-left:76px}.password-toggle{position:absolute;left:9px;top:50%;transform:translateY(-50%);border:0;background:#f1f4fb;border-radius:12px;padding:.44rem .7rem;color:#4d5567;cursor:pointer;font-weight:900;font-size:.82rem}.password-toggle:hover{background:#e9eef8}.captcha-box{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#fff,#f5f8ff);border:1px dashed #bfc9ff;border-radius:20px;padding:14px;margin-bottom:17px}.captcha-label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:2px}.captcha-input{max-width:126px;text-align:center;font-weight:900}.login-submit{margin-top:5px;height:52px}

.panel-body{min-height:100vh;background:radial-gradient(circle at 88% 8%,rgba(64,92,245,.10),transparent 28%),linear-gradient(180deg,#f8fbff,#f3f6fb 48%,#f8fbff)}
.panel-layout{min-height:100vh;display:flex}.side-panel{position:sticky;top:0;width:292px;height:100vh;flex-direction:column;gap:20px;padding:20px;background:linear-gradient(180deg,#0b1220,#111827);color:#fff;border-left:1px solid rgba(255,255,255,.08)}
.brand-box{display:flex;align-items:center;gap:12px;padding:8px}.brand-box strong{display:block;font-size:1rem;line-height:1.6}.brand-box span{display:block;color:#9aa4b8;font-size:.82rem;margin-top:2px}.side-user-card{display:flex;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.09);border-radius:22px}.side-user-avatar{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.10);color:#fff}.side-user-card strong{display:block;font-size:.94rem}.side-user-card small{display:block;color:#9aa4b8;margin-top:2px}.side-menu{display:flex;flex-direction:column;gap:8px}.side-link{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;color:#d9deeb;background:transparent;transition:all .16s ease;font-weight:900}.side-link:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(-3px)}.side-link svg{color:#aeb8ff}.side-security-note{display:flex;align-items:flex-start;gap:11px;background:linear-gradient(135deg,rgba(64,92,245,.20),rgba(124,58,237,.14));border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:14px;margin-top:auto}.side-security-note svg{color:#b9c2ff;font-size:1.2rem}.side-security-note strong{display:block;font-size:.88rem}.side-security-note span{display:block;color:#aab3c8;font-size:.78rem;line-height:1.8;margin-top:3px}
.main-panel{width:100%;padding:30px 34px 108px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{margin:0;font-size:1.55rem;font-weight:950}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:950;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.topbar-actions{display:flex;align-items:center;gap:10px}.user-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;box-shadow:var(--soft-shadow);font-weight:900}.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef1ff;color:var(--primary);font-weight:950}.app-alert{display:flex;align-items:center;gap:9px;border-radius:18px;font-weight:800}.app-alert svg{font-size:1.05rem}
.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f2f5ff);border:1px solid #ecf0ff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin-bottom:18px;position:relative;overflow:hidden}.welcome-panel:after{content:"";position:absolute;left:-90px;top:-90px;width:220px;height:220px;border-radius:70px;background:rgba(64,92,245,.07);transform:rotate(20deg)}.welcome-panel h2{margin:0 0 8px;font-size:1.45rem;font-weight:950}.welcome-panel p{margin:0;color:var(--muted);line-height:1.95;max-width:850px}.secure-badge{display:grid;place-items:center;gap:8px;min-width:142px;height:142px;border-radius:38px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:950;box-shadow:0 24px 50px rgba(64,92,245,.26);position:relative;z-index:1}.secure-badge svg{font-size:2.2rem}.secure-badge span{font-size:.78rem;letter-spacing:.05em}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--soft-shadow);position:relative;overflow:hidden;min-height:136px}.stat-card:after{content:"";position:absolute;left:-38px;top:-38px;width:110px;height:110px;border-radius:38px;background:#f2f5ff;transform:rotate(18deg)}.stat-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;margin-bottom:14px;position:relative;z-index:1;background:#eef2ff;color:var(--primary)}.success-card .stat-icon{background:#ecfdf3;color:var(--success)}.danger-card .stat-icon{background:#fff1f0;color:var(--danger)}.info-card .stat-icon{background:#ecfeff;color:#0891b2}.purple-card .stat-icon{background:#f5f3ff;color:var(--primary-2)}.stat-card span{display:block;color:var(--muted);font-size:.88rem;margin-bottom:8px;position:relative;z-index:1}.stat-card strong{font-size:1.8rem;font-weight:950;position:relative;z-index:1}.stat-date{font-size:.92rem!important;line-height:1.7;display:block;direction:ltr;text-align:right}.clean-card{padding:20px;box-shadow:var(--shadow);border-radius:var(--radius)}.card-header-lite{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.card-header-lite h3{margin:0;font-size:1.12rem;font-weight:950}.table-chip{display:inline-flex;align-items:center;gap:7px;background:#f4f7fb;border:1px solid #e7ecf5;color:#475467;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:900}.app-table{margin-bottom:0}.app-table thead th{font-size:.82rem}.app-table tbody tr:hover{background:#fbfcff}.empty-row{padding:2rem!important}.muted{color:var(--muted)}
.form-shell{display:grid;grid-template-columns:330px minmax(0,590px);gap:18px;align-items:start}.form-intro{background:linear-gradient(135deg,#fff,#f5f8ff);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.form-intro-icon{width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;margin-bottom:16px;box-shadow:0 18px 36px rgba(64,92,245,.22)}.form-intro h2{margin:0 0 8px;font-weight:950}.form-intro p{margin:0;color:var(--muted);line-height:1.95}.mini-rules{display:grid;gap:8px;margin-top:18px}.mini-rules span{display:flex;align-items:center;gap:8px;color:#344054;font-size:.88rem;font-weight:800}.mini-rules svg{color:var(--success)}.password-card{padding:24px}
.mobile-bottom-nav{position:fixed;right:14px;left:14px;bottom:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border:1px solid rgba(232,236,244,.85);box-shadow:0 18px 50px rgba(15,23,42,.16);border-radius:24px;padding:8px;z-index:100}.mobile-bottom-nav a,.mobile-bottom-nav button{width:100%;height:50px;border:0;border-radius:17px;background:#f4f6fb;color:#293044;font-weight:950;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:.86rem}.mobile-bottom-nav form{margin:0}.mobile-bottom-nav button{background:#fff1f0;color:var(--danger)}
.form-control.is-invalid{border-color:#f04438;box-shadow:0 0 0 .22rem rgba(240,68,56,.12)}.btn.is-loading{opacity:.75;pointer-events:none}.btn{font-weight:900}.btn svg,.badge svg{width:1em;height:1em}.badge{gap:5px}

@media (max-width:991.98px){.auth-card-wrap{display:block;max-width:470px}.main-panel{padding:22px 16px 102px}.topbar{align-items:flex-start}.user-pill{display:none}.welcome-panel{flex-direction:column;align-items:flex-start}.secure-badge{width:100%;height:82px;min-width:0;border-radius:24px;display:flex;justify-content:center}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-shell{grid-template-columns:1fr}.topbar h1{font-size:1.28rem}.card-header-lite{align-items:flex-start;flex-direction:column}.table-chip{display:none}}
@media (max-width:575.98px){.auth-shell{padding:16px}.login-card{padding:22px;border-radius:28px}.stats-grid{grid-template-columns:1fr}.captcha-box{align-items:stretch;flex-direction:column}.captcha-input{max-width:none}.welcome-panel,.clean-card,.form-intro{padding:18px;border-radius:22px}.table th,.table td{font-size:.84rem;padding:.72rem .55rem}.login-brand h1{font-size:1.1rem}.brand-mark.xl{width:56px;height:56px}.mobile-bottom-nav a,.mobile-bottom-nav button{font-size:.78rem}}

/* Introduced numbers module */
.numbers-hero{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#101827,#17213a);border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:26px;box-shadow:var(--shadow);color:#fff;position:relative;overflow:hidden}.numbers-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:80px;background:rgba(64,92,245,.32);transform:rotate(23deg)}.numbers-hero-content{position:relative;z-index:1;max-width:760px}.numbers-hero .eyebrow{color:#bfc8ff}.numbers-hero h2{margin:0 0 10px;font-weight:950;font-size:1.7rem}.numbers-hero p{margin:0;color:#c8d1e8;line-height:2}.numbers-hero code{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:2px 7px}.numbers-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,132px);gap:12px}.numbers-hero-stats div{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);border-radius:24px;padding:18px;display:grid;align-content:center;min-height:118px}.numbers-hero-stats span{display:block;color:#b4bfd4;font-size:.84rem;font-weight:900}.numbers-hero-stats strong{font-size:2rem;font-weight:950;margin-top:7px}.number-intake-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-bottom:18px}.quick-number-card{padding:24px}.compact-header h3{display:flex;align-items:center;gap:8px}.flat-input .field-icon{bottom:auto;top:43px}.flat-input .form-control{height:52px;border-radius:16px;background:#fbfcff}.ltr-input{direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-weight:900;letter-spacing:.04em}.form-hint{margin-top:8px;color:var(--muted);font-size:.82rem;font-weight:800}.quick-form-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.quick-submit-btn{min-width:168px;height:52px}.btn-soft{background:#f4f6fb;border:1px solid #e6ebf4;color:#344054;border-radius:16px;height:52px;padding-inline:18px}.btn-soft:hover{background:#eef2fa;color:#1d2939}.number-rules-card{background:linear-gradient(135deg,#fff,#f7f9ff);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.number-rules-card h3{font-weight:950;margin:0 0 8px}.number-rules-card p{margin:0;color:var(--muted);line-height:1.9}.number-list-card{margin-bottom:10px}.number-table tbody tr:first-child td{border-top:0}.person-cell{display:flex;align-items:center;gap:10px}.person-avatar{width:36px;height:36px;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);color:var(--primary);display:grid;place-items:center;font-weight:950}.mobile-code{direction:ltr;display:inline-flex;background:#f5f8ff;border:1px solid #e8edff;border-radius:999px;padding:7px 10px;color:#1d2939;font-weight:950}.number-date{direction:ltr;text-align:right;color:#667085}.number-form-alert{display:flex;align-items:center;gap:8px;border-radius:18px;padding:12px 14px;margin-bottom:14px;font-weight:900}.number-form-alert.success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.number-form-alert.error{background:#fff1f0;color:#b42318;border:1px solid #fecdca}.number-form-alert svg{flex:0 0 auto}.mobile-bottom-nav{grid-template-columns:repeat(4,1fr)}

@media (max-width:991.98px){.number-intake-grid{grid-template-columns:1fr}.numbers-hero{flex-direction:column}.numbers-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-form-actions{flex-direction:column;align-items:stretch}.quick-submit-btn,.btn-soft{width:100%}.flat-input .field-icon{top:42px}}
@media (max-width:575.98px){.numbers-hero{padding:20px;border-radius:24px}.numbers-hero h2{font-size:1.36rem}.numbers-hero-stats{grid-template-columns:1fr}.quick-number-card,.number-rules-card{padding:18px;border-radius:22px}.mobile-bottom-nav{right:8px;left:8px;bottom:8px;gap:5px;padding:6px}.mobile-bottom-nav a,.mobile-bottom-nav button{font-size:.7rem;gap:4px}.mobile-bottom-nav svg{width:14px;height:14px}.mobile-bottom-nav span{white-space:nowrap}}
.dashboard-cta{margin-top:18px;border-radius:16px;padding:.8rem 1.05rem}
.flat-input .field-icon{top:50%;bottom:auto;transform:translateY(-50%)}
@media (max-width:991.98px){.flat-input .field-icon{top:50%;bottom:auto;transform:translateY(-50%)}}


/* v5 CRUD polish for introduced numbers */
.refined-hero{background:radial-gradient(circle at top left,rgba(94,114,228,.38),transparent 32%),linear-gradient(135deg,#0f172a,#18233f 56%,#243b73)}
.advanced-grid{grid-template-columns:minmax(0,1.08fr) 360px}
.premium-form-card{position:relative;overflow:hidden}
.premium-form-card:before{content:"";position:absolute;left:-80px;top:-80px;width:190px;height:190px;border-radius:64px;background:rgba(64,92,245,.06);transform:rotate(22deg)}
.premium-form-card>*{position:relative;z-index:1}
.floating-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pro-field-wide{grid-column:1/-1}
.pro-field .form-label{font-weight:950;color:#344054;margin-bottom:8px}
.pro-field .invalid-feedback{min-height:20px;font-size:.78rem;font-weight:800;margin-top:6px}
.pro-number-form .form-control{border:1px solid #e4e9f2;background:#fbfcff;transition:.18s ease}
.pro-number-form .form-control:focus{border-color:rgba(64,92,245,.55);box-shadow:0 0 0 .22rem rgba(64,92,245,.10);background:#fff}
.pro-number-form code{background:#eef2ff;color:#243b73;border-radius:8px;padding:1px 6px}
.polished-side-card{background:radial-gradient(circle at top right,rgba(64,92,245,.10),transparent 32%),linear-gradient(135deg,#fff,#f8fbff)}
.advanced-table-card{overflow:hidden}
.table-toolbar{align-items:center;margin-bottom:10px}
.number-search-form{display:flex;align-items:center;gap:10px;min-width:min(100%,620px)}
.search-box{position:relative;flex:1}
.search-box span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#667085;z-index:2}
.search-box .form-control{height:48px;border-radius:16px;padding-right:42px;background:#fbfcff;border:1px solid #e6ebf4;font-weight:800}
.search-submit{height:48px;white-space:nowrap}
.reset-link{height:48px;border-radius:16px;display:inline-flex;align-items:center;font-weight:900;border:1px solid #e6ebf4}
.table-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.search-result-note{color:var(--muted);font-weight:850;font-size:.86rem}
.crud-table thead th:last-child{text-align:center}
.person-cell small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:800;direction:ltr;text-align:right}
.row-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.btn-action{height:38px;border-radius:13px;border:1px solid #e6ebf4;background:#fff;color:#344054;font-size:.8rem;font-weight:950;display:inline-flex;align-items:center;gap:6px;padding:0 11px;box-shadow:0 7px 18px rgba(15,23,42,.04)}
.btn-action:hover{background:#f5f7ff;color:var(--primary);border-color:#dce4ff}
.btn-action.danger{background:#fff7f6;color:#b42318;border-color:#fee4e2}
.btn-action.danger:hover{background:#fff1f0;color:#912018}
.pagination-wrap{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:12px}
.pagination-wrap span{font-weight:950;color:#475467}
.pagination-wrap .disabled{pointer-events:none;opacity:.45}
.app-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.54);backdrop-filter:blur(8px);z-index:1200;display:none;align-items:center;justify-content:center;padding:18px}
.app-modal-backdrop.show{display:flex}
.app-modal-dialog{width:min(100%,620px);background:#fff;border:1px solid rgba(255,255,255,.68);border-radius:28px;box-shadow:0 32px 90px rgba(15,23,42,.24);padding:24px;animation:modalRise .18s ease-out}
.app-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.app-modal-header h3{margin:0;font-weight:950;font-size:1.22rem;display:flex;align-items:center;gap:8px}
.modal-close{width:42px;height:42px;border:0;border-radius:15px;background:#f4f6fb;color:#475467;display:grid;place-items:center;cursor:pointer}
.modal-close:hover{background:#eef2ff;color:var(--primary)}
.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}
.modal-actions .btn{border-radius:16px;min-height:48px;padding-inline:18px;display:inline-flex;align-items:center;gap:7px}
.modal-open-lite{overflow:hidden}
.delete-dialog{text-align:center;width:min(100%,440px)}
.delete-icon{width:62px;height:62px;border-radius:24px;background:#fff1f0;color:#d92d20;margin:0 auto 14px;display:grid;place-items:center}
.delete-icon svg{width:28px;height:28px}
.delete-dialog h3{font-weight:950;margin:0 0 8px}
.delete-dialog p{color:var(--muted);font-weight:800;margin:0 0 14px}
.delete-target{border:1px solid #fee4e2;background:#fff7f6;border-radius:18px;padding:13px;margin-bottom:14px;display:grid;gap:6px}
.delete-target strong{font-weight:950;color:#1d2939}
.delete-target code{direction:ltr;background:#fff;border:1px solid #fee4e2;border-radius:999px;padding:6px 10px;color:#b42318;font-weight:950}
.btn-danger{background:#d92d20;border:1px solid #d92d20;color:#fff}
.btn-danger:hover{background:#b42318;color:#fff}
.new-row{animation:rowFlash .9s ease-out}
@keyframes modalRise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rowFlash{0%{background:#ecfdf3}100%{background:transparent}}

@media (max-width:991.98px){
  .advanced-grid{grid-template-columns:1fr}
  .table-toolbar{align-items:stretch}
  .number-search-form{width:100%;min-width:0}
  .table-summary-row{align-items:flex-start;flex-direction:column}
}
@media (max-width:767.98px){
  .floating-form-grid{grid-template-columns:1fr}
  .number-search-form{display:grid;grid-template-columns:1fr;gap:8px}
  .search-submit,.reset-link{width:100%;justify-content:center}
  .crud-table{min-width:760px}
  .app-modal-dialog{border-radius:22px;padding:18px}
  .modal-actions{flex-direction:column-reverse;align-items:stretch}
  .modal-actions .btn{width:100%;justify-content:center}
}

/* v6 professional Ajax pagination + mobile cards */
.pro-table-toolbar{gap:18px;align-items:flex-start}
.number-search-form{display:grid;grid-template-columns:minmax(220px,1fr) 126px auto auto;gap:10px;align-items:end;min-width:min(100%,760px)}
.per-page-box{display:grid;gap:6px}
.per-page-box label{font-size:.76rem;font-weight:950;color:var(--muted);padding-right:4px}
.per-page-box .form-select{height:48px;border-radius:16px;border:1px solid #e6ebf4;background:#fbfcff;font-weight:950;color:#344054;padding:0 12px;min-width:108px}
.pro-summary-row{background:#fbfcff;border:1px solid #eef2f7;border-radius:18px;padding:12px 14px;margin-top:4px}
.range-note{color:#475467;font-weight:900;font-size:.88rem}
.advanced-table-card{position:relative}
.list-loading-layer{position:absolute;inset:94px 16px 78px 16px;z-index:20;border-radius:22px;background:rgba(255,255,255,.76);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;gap:10px;color:#344054;font-weight:950;border:1px solid rgba(228,233,242,.8)}
.mini-spinner{width:24px;height:24px;border-radius:50%;border:3px solid #dfe6f5;border-top-color:#405cf5;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.is-fetching .numbers-table-responsive,.is-fetching .numbers-card-list,.is-fetching .pagination-pro-wrap{opacity:.48;transition:.15s ease}
.pagination-pro-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:14px;flex-wrap:wrap}
.pagination-info{color:#475467;font-weight:950;font-size:.88rem}
.pagination-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center}
.page-btn,.pagination-buttons span{min-width:38px;height:38px;padding:0 12px;border-radius:14px;border:1px solid #e6ebf4;background:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#344054;font-weight:950;font-size:.82rem;box-shadow:0 7px 20px rgba(15,23,42,.04);transition:.16s ease}
.page-btn:hover{background:#f5f7ff;color:var(--primary);border-color:#dce4ff;transform:translateY(-1px)}
.page-btn.active{background:linear-gradient(135deg,#405cf5,#6c7cff);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(64,92,245,.24)}
.page-btn.disabled{pointer-events:none;opacity:.45;box-shadow:none}
.page-ellipsis{background:transparent;border-color:transparent;box-shadow:none;color:#98a2b3;min-width:24px;padding:0 4px}
.pagination-buttons.single-page span{min-width:auto;padding-inline:16px;background:#f8fafc;color:#667085}
.numbers-card-list{display:none}
.number-mobile-card{background:#fff;border:1px solid #e8edf5;border-radius:22px;padding:16px;box-shadow:0 12px 34px rgba(15,23,42,.06);display:grid;gap:12px}
.mobile-card-top{display:flex;align-items:center;gap:10px}
.mobile-card-top strong{font-weight:950;color:#1d2939}
.mobile-card-top small{display:block;color:var(--muted);font-weight:900;margin-top:3px;direction:ltr;text-align:right}
.mobile-card-phone{direction:ltr;text-align:left;justify-self:start;background:#f5f8ff;border:1px solid #e8edff;color:#1d2939;border-radius:999px;padding:8px 12px;font-weight:950;letter-spacing:.04em}
.mobile-card-meta{display:grid;gap:6px;color:#667085;font-size:.78rem;font-weight:850}
.mobile-card-meta b{color:#344054;font-weight:950}
.mobile-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-card-actions .btn-action{width:100%;justify-content:center;height:42px}
.empty-mobile-card{border:1px dashed #d6deea;background:#fbfcff;border-radius:20px;padding:20px;text-align:center;color:#667085;font-weight:950}

@media (max-width:991.98px){
  .pro-table-toolbar{align-items:stretch}
  .number-search-form{grid-template-columns:1fr 118px;min-width:0;width:100%}
  .number-search-form .search-box{grid-column:1/-1}
  .search-submit,.reset-link{height:48px;justify-content:center}
  .pagination-pro-wrap{justify-content:center;text-align:center}
  .pagination-info{width:100%}
}
@media (max-width:767.98px){
  .numbers-table-responsive{display:none}
  .numbers-card-list{display:grid;gap:12px;margin-top:8px}
  .pro-summary-row{align-items:stretch;gap:8px}
  .range-note{font-size:.8rem}
  .pagination-buttons{gap:5px}
  .page-btn,.pagination-buttons span{min-width:34px;height:36px;border-radius:12px;padding:0 9px;font-size:.76rem}
  .page-btn:nth-child(1),.page-btn:nth-child(2),.page-btn:nth-last-child(1),.page-btn:nth-last-child(2){padding-inline:9px}
  .list-loading-layer{inset:118px 12px 82px 12px}
}
@media (max-width:520px){
  .number-search-form{grid-template-columns:1fr}
  .per-page-box .form-select{width:100%}
  .mobile-card-actions{grid-template-columns:1fr}
}

/* v7 visual polish: cleaner shell, premium mobile navigation, minimal number list */
:root{
    --surface:#ffffff;
    --surface-soft:#f8fafc;
    --ink:#101828;
    --navy:#0f172a;
    --primary-soft:#eef2ff;
    --ring:0 0 0 .22rem rgba(64,92,245,.12);
}
.panel-body{
    background:
        radial-gradient(circle at 92% 4%, rgba(64,92,245,.11), transparent 24%),
        radial-gradient(circle at 10% 18%, rgba(6,182,212,.08), transparent 28%),
        linear-gradient(180deg,#fbfcff 0%,#f6f8fc 48%,#fbfcff 100%);
}
.main-panel{max-width:1480px;margin-inline:auto}
.side-panel{background:linear-gradient(180deg,#080f1f 0%,#101827 54%,#0b1220 100%);box-shadow:-18px 0 70px rgba(15,23,42,.06)}
.side-link{position:relative;overflow:hidden;color:#cbd5e1;border:1px solid transparent}
.side-link:before{content:"";position:absolute;inset:8px auto 8px 8px;width:4px;border-radius:999px;background:transparent;transition:.16s ease}
.side-link:hover,.side-link.active{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.08);transform:none}
.side-link.active:before{background:#8ea0ff}
.side-link.active svg{color:#fff}
.topbar{background:rgba(255,255,255,.62);backdrop-filter:blur(14px);border:1px solid rgba(231,236,245,.74);border-radius:26px;padding:16px 18px;box-shadow:0 14px 40px rgba(15,23,42,.045)}
.topbar h1{font-size:1.42rem}
.clean-card,.form-intro,.stat-card,.welcome-panel,.login-card,.auth-info-card{border-color:#eef2f7;box-shadow:0 18px 50px rgba(15,23,42,.055)}
.btn-primary{background:linear-gradient(135deg,#405cf5,#6678ff);border-color:transparent;box-shadow:0 14px 30px rgba(64,92,245,.22)}
.btn-primary:hover{filter:saturate(1.08) brightness(.98)}
.btn-soft{background:#f5f7fb;border:1px solid #e8edf5;color:#344054}
.btn-soft:hover{background:#eef2ff;color:#405cf5;border-color:#dfe6ff}

.numbers-hero.refined-hero{background:#101828;border-radius:28px;padding:24px;box-shadow:0 20px 54px rgba(15,23,42,.10)}
.numbers-hero.refined-hero:before{opacity:.72;filter:blur(.2px)}
.numbers-hero h2{font-size:1.52rem;letter-spacing:-.02em}
.numbers-hero p{font-size:.94rem;max-width:820px;color:#d2d8e6}
.numbers-hero-stats{grid-template-columns:repeat(2,118px)}
.numbers-hero-stats div{min-height:104px;border-radius:22px;padding:15px;background:rgba(255,255,255,.075)}
.numbers-hero-stats strong{font-size:1.72rem}
.number-intake-grid{grid-template-columns:minmax(0,1.2fr) 300px;gap:16px}
.quick-number-card,.number-list-card{border-radius:28px;background:rgba(255,255,255,.94)}
.polished-side-card{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #eef2f7;border-radius:28px;padding:22px;box-shadow:0 18px 44px rgba(15,23,42,.045)}
.polished-side-card h3{font-size:1.05rem;font-weight:950;margin-bottom:8px}
.polished-side-card p{font-size:.88rem;line-height:1.9;color:#667085;margin:0}
.mini-rules span{background:#fff;border:1px solid #eef2f7;border-radius:15px;padding:9px 10px}
.floating-form-grid{gap:12px}
.pro-field .form-label{font-size:.82rem;color:#475467;margin-bottom:7px;font-weight:950}
.flat-input .form-control{height:50px;background:#fff;border-color:#e7ecf5;border-radius:15px;box-shadow:none;font-weight:850}
.flat-input .form-control:focus,.search-box .form-control:focus,.per-page-box .form-select:focus{border-color:#c8d2ff;box-shadow:var(--ring)}
.form-hint{font-size:.76rem;color:#7a8496;margin-top:7px}
.quick-form-actions{border-top:1px solid #eef2f7;padding-top:14px;margin-top:16px}
.quick-submit-btn{min-height:50px;border-radius:16px}

.pro-table-toolbar{background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:14px;margin-bottom:12px}
.pro-table-toolbar h3{font-size:1.06rem}
.number-search-form{grid-template-columns:minmax(240px,1fr) 118px auto auto}
.search-box .form-control,.per-page-box .form-select,.search-submit,.reset-link{height:46px;border-radius:15px}
.pro-summary-row{background:#fbfcff;border-style:solid;border-radius:16px;padding:10px 12px}
.table-chip{background:#fff;color:#344054;border-color:#edf1f7}
.numbers-table-responsive{border:1px solid #eef2f7;border-radius:22px;overflow:hidden;background:#fff}
.number-table{--bs-table-bg:transparent}
.app-table thead th{background:#f8fafc;color:#667085;font-size:.78rem;font-weight:950;border-bottom:1px solid #edf1f7;padding:14px 15px;white-space:nowrap}
.app-table tbody td{padding:14px 15px;border-bottom:1px solid #f0f3f8;vertical-align:middle}
.app-table tbody tr:last-child td{border-bottom:0}
.app-table tbody tr:hover{background:#fbfcff}
.person-avatar{box-shadow:inset 0 0 0 1px rgba(64,92,245,.08)}
.person-cell strong{font-size:.92rem}
.mobile-code{background:#f7f9ff;border-color:#e8edff;color:#1d2939;border-radius:999px;padding:.34rem .62rem;letter-spacing:.04em}
.number-date{font-size:.82rem;color:#475467;font-weight:900;white-space:nowrap}
.row-actions{gap:8px}
.btn-action{height:37px;border-radius:12px;box-shadow:none;background:#fff}
.btn-action:hover{transform:translateY(-1px)}
.pagination-pro-wrap{background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:12px;margin-top:14px}
.page-btn,.pagination-buttons span{box-shadow:none;border-color:#e8edf5;background:#fff}
.page-btn.active{box-shadow:0 12px 24px rgba(64,92,245,.22)}

.mobile-bottom-nav{
    right:12px;left:12px;bottom:max(12px,env(safe-area-inset-bottom));
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;padding:7px;border-radius:26px;
    background:rgba(255,255,255,.86);backdrop-filter:blur(22px) saturate(1.28);
    border:1px solid rgba(226,232,240,.88);
    box-shadow:0 18px 48px rgba(15,23,42,.18);
}
.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{
    height:56px!important;border-radius:20px!important;background:transparent!important;color:#667085!important;
    display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important;
    font-size:.72rem!important;line-height:1;font-weight:950!important;border:0!important;padding:5px 2px!important;
    transition:transform .14s ease, background .14s ease, color .14s ease;
}
.mobile-bottom-nav form,.mobile-nav-form{margin:0;min-width:0}
.mobile-nav-icon{width:26px;height:26px;border-radius:11px;display:grid;place-items:center;background:#f3f6fb;color:#475467;transition:.14s ease}
.mobile-nav-icon svg{width:15px;height:15px}
.mobile-nav-item.active{background:linear-gradient(135deg,#405cf5,#6678ff)!important;color:#fff!important;box-shadow:0 10px 22px rgba(64,92,245,.25)}
.mobile-nav-item.active .mobile-nav-icon{background:rgba(255,255,255,.18);color:#fff}
.mobile-nav-item.danger{color:#d92d20!important}
.mobile-nav-item.danger .mobile-nav-icon{background:#fff1f0;color:#d92d20}
.mobile-nav-item:active{transform:scale(.96)}

.numbers-card-list{margin-top:10px}
.number-mobile-card{border-radius:24px;padding:15px;background:linear-gradient(180deg,#fff,#fbfcff);border-color:#edf1f7;box-shadow:0 14px 38px rgba(15,23,42,.055)}
.mobile-card-top{align-items:flex-start}.mobile-card-top .person-avatar{width:42px;height:42px;border-radius:16px}.mobile-card-top strong{font-size:.96rem}.mobile-card-top small{font-size:.72rem;color:#98a2b3}
.mobile-card-phone{justify-self:stretch;text-align:center;border-radius:16px;background:#f7f9ff;padding:10px 12px;color:#101828}
.mobile-card-meta{background:#f8fafc;border:1px solid #edf1f7;border-radius:16px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;color:#667085}
.mobile-card-meta span{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.mobile-card-meta b{direction:ltr;text-align:left}
.mobile-card-actions{grid-template-columns:1fr 1fr;gap:8px}.mobile-card-actions .btn-action{height:43px;border-radius:15px}
.app-modal-dialog{border-radius:28px}.modal-close{border-radius:14px}

@media (max-width:991.98px){
    .main-panel{padding:18px 14px 104px}
    .topbar{padding:14px 15px;margin-bottom:16px;border-radius:22px}
    .numbers-hero.refined-hero{padding:20px;border-radius:24px;display:grid;gap:16px}
    .numbers-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .numbers-hero-stats div{min-height:88px}
    .number-intake-grid{grid-template-columns:1fr}
    .polished-side-card{display:none}
    .pro-table-toolbar{padding:12px;border-radius:20px}
    .number-search-form{grid-template-columns:1fr 112px;gap:8px}
}
@media (max-width:767.98px){
    .topbar h1{font-size:1.18rem}
    .numbers-hero h2{font-size:1.28rem}.numbers-hero p{font-size:.86rem;line-height:1.85}
    .quick-number-card,.number-list-card{border-radius:24px;padding:16px}
    .compact-header .table-chip{display:none}
    .floating-form-grid{gap:10px}
    .quick-form-actions{display:grid;grid-template-columns:1fr;gap:9px}.quick-form-actions .btn{width:100%;justify-content:center}
    .pro-summary-row{font-size:.8rem}
    .search-result-note{font-size:.78rem}
    .pagination-pro-wrap{border-radius:17px;padding:11px}
}
@media (max-width:520px){
    .main-panel{padding-inline:12px;padding-bottom:108px}
    .numbers-hero-stats{grid-template-columns:1fr 1fr}.numbers-hero-stats strong{font-size:1.35rem}.numbers-hero-stats span{font-size:.76rem}
    .number-search-form{grid-template-columns:1fr}
    .mobile-card-actions{grid-template-columns:1fr 1fr}
    .mobile-bottom-nav{right:9px;left:9px;padding:6px;border-radius:24px}
    .mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{height:54px!important;font-size:.68rem!important}
    .mobile-nav-icon{width:24px;height:24px;border-radius:10px}
}

/* v8 Templates & Cases module */
.mobile-bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
.module-hero{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin-bottom:18px;border-radius:30px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.minimal-hero{background:linear-gradient(135deg,#fff,#f6f8ff);border:1px solid #edf1fb}.module-hero:after{content:"";position:absolute;left:-80px;top:-80px;width:210px;height:210px;border-radius:64px;background:rgba(64,92,245,.075);transform:rotate(22deg)}.module-hero>div{position:relative;z-index:1}.module-hero h2{margin:0 0 10px;font-size:1.45rem;font-weight:950;display:flex;align-items:center;gap:9px}.module-hero p{margin:0;color:var(--muted);line-height:2;max-width:880px}.hero-mini-stat{min-width:142px;border:1px solid #e9eef8;background:#fff;border-radius:24px;padding:16px;display:grid;place-items:center;align-content:center}.hero-mini-stat span{color:var(--muted);font-size:.82rem;font-weight:900}.hero-mini-stat strong{font-size:2rem;font-weight:950;color:var(--primary);line-height:1.2}.module-two-col{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-bottom:18px}.module-form-card{padding:24px}.module-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-textarea{min-height:132px;border-radius:18px;background:#fbfcff;resize:vertical;line-height:1.9}.module-side-note{background:linear-gradient(135deg,#101828,#1d2939);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:24px;color:#fff;box-shadow:var(--shadow)}.module-side-note h3{font-weight:950;margin:0 0 8px}.module-side-note p{color:#cdd5e4;line-height:2;margin:0}.module-side-note .mini-rules span{color:#edf2ff}.module-side-note .form-intro-icon{background:rgba(255,255,255,.12);box-shadow:none;border:1px solid rgba(255,255,255,.12)}.module-list-card{margin-bottom:12px}.module-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.module-item-card{background:#fff;border:1px solid #edf1f7;border-radius:24px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.045);transition:.16s ease}.module-item-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.08);border-color:#dce5ff}.module-card-head{display:flex;align-items:flex-start;gap:12px}.module-card-head strong{display:block;font-weight:950;font-size:1rem;margin-bottom:7px}.module-card-head code{direction:ltr;display:inline-flex}.module-icon{width:44px;height:44px;border-radius:17px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.template-body-preview{margin:15px 0 0;background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:13px;color:#475467;line-height:1.95;min-height:84px;white-space:normal}.module-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.module-meta-row span{display:inline-flex;align-items:center;gap:6px;background:#f6f8fb;border:1px solid #edf1f7;border-radius:999px;padding:7px 10px;color:#667085;font-size:.78rem;font-weight:900}.module-card-actions{display:flex;align-items:center;gap:9px;margin-top:15px}.module-card-actions .btn{flex:1;justify-content:center}.empty-state-lite{text-align:center;border:1px dashed #d8e0ee;background:#fbfcff;border-radius:24px;padding:34px 18px}.empty-state-lite>div{width:62px;height:62px;border-radius:24px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;margin:0 auto 12px;font-size:1.5rem}.empty-state-lite h4{font-weight:950;margin:0 0 8px}.empty-state-lite p{margin:0;color:var(--muted)}.select-input-wrap .form-select{height:52px;border-radius:16px;background-color:#fbfcff;padding-right:43px}.inline-warning{display:flex;align-items:center;gap:9px;background:#fffbeb;border:1px solid #fedf89;color:#93370d;border-radius:18px;padding:12px 14px;margin-bottom:14px;font-weight:900}.inline-warning a{margin-right:auto;color:#7a2e0e;text-decoration:underline}.case-template-box{margin-top:15px;background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:13px}.case-template-box span{display:flex;align-items:center;gap:7px;font-weight:950;color:#344054;margin-bottom:7px}.case-template-box p{margin:0;color:var(--muted);line-height:1.9}.delete-dialog .delete-target code{direction:ltr}
@media (max-width:991.98px){.module-two-col{grid-template-columns:1fr}.module-card-grid{grid-template-columns:1fr}.module-hero{flex-direction:column}.module-form-grid{grid-template-columns:1fr}.hero-mini-stat{min-width:0}.module-card-actions{flex-direction:column}.module-card-actions .btn{width:100%}.mobile-bottom-nav a,.mobile-bottom-nav button{font-size:.68rem;gap:4px}.mobile-bottom-nav svg{width:14px;height:14px}}
@media (max-width:575.98px){.module-hero,.module-form-card,.module-side-note{padding:18px;border-radius:22px}.module-hero h2{font-size:1.22rem}.module-hero p{font-size:.86rem;line-height:1.9}.hero-mini-stat{display:flex;justify-content:space-between}.hero-mini-stat strong{font-size:1.45rem}.module-item-card{border-radius:21px;padding:15px}.module-meta-row{display:grid;grid-template-columns:1fr;align-items:stretch}.module-meta-row span{justify-content:center}.mobile-bottom-nav{right:6px;left:6px;bottom:6px;gap:4px;padding:5px;border-radius:20px}.mobile-bottom-nav a,.mobile-bottom-nav button{height:48px;font-size:.62rem;padding:0 2px}.mobile-bottom-nav span{white-space:nowrap}.inline-warning{align-items:flex-start;flex-direction:column}.inline-warning a{margin-right:0}}
.dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.dashboard-actions .dashboard-cta{margin-top:0}
@media (max-width:575.98px){.dashboard-actions{display:grid;grid-template-columns:1fr}.dashboard-actions .btn{width:100%;justify-content:center}}

/* v9 - Case SMS sending console */
.template-provider-pill {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    width: max-content;
    max-width: 100%;
    padding: .35rem .7rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: #475569;
    font-size: .78rem;
    font-weight: 800;
    margin: .55rem 0 .2rem;
}

.btn-action.primary {
    background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(20, 184, 166, .12));
    color: #0f172a;
    border-color: rgba(37, 99, 235, .16);
}

.case-send-page {
    display: grid;
    gap: 1.1rem;
}

.send-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at 10% 15%, rgba(59, 130, 246, .15), transparent 32%),
        linear-gradient(135deg, #ffffff, #f8fafc);
    border: 1px solid rgba(148, 163, 184, .16);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.send-hero-main h2 {
    margin: .25rem 0 .5rem;
    font-weight: 950;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: .55rem;
}

.send-hero-main p,
.send-hero-side p {
    margin: 0;
    color: #64748b;
    line-height: 1.9;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    text-decoration: none;
    color: #2563eb;
    font-size: .82rem;
    font-weight: 900;
    margin-bottom: .6rem;
}

.send-template-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin-top: .9rem;
}

.send-template-summary span,
.send-template-summary code {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .16);
    padding: .42rem .75rem;
    font-size: .82rem;
    font-weight: 900;
    color: #334155;
}

.send-hero-side {
    background: rgba(15, 23, 42, .03);
    border: 1px solid rgba(148, 163, 184, .15);
    border-radius: 24px;
    padding: 1rem;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.send-safe-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: max-content;
    padding: .42rem .75rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, .12);
    color: #047857;
    font-size: .82rem;
    font-weight: 950;
    margin-bottom: .7rem;
}

.send-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.send-stat-card {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 22px;
    padding: 1rem;
    box-shadow: 0 14px 40px rgba(15, 23, 42, .055);
}

.send-stat-card span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: .3rem;
}

.send-stat-card strong {
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 950;
}

.send-stat-card.success strong { color: #059669; }
.send-stat-card.danger strong { color: #dc2626; }

.send-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

.send-control-box {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    padding: .9rem;
    border-radius: 22px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .14);
}

.control-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #fff;
    color: #2563eb;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .14);
}

.send-control-box strong {
    display: block;
    color: #0f172a;
    font-weight: 950;
    margin-bottom: .15rem;
}

.send-control-box p {
    margin: 0;
    color: #64748b;
    font-size: .82rem;
    line-height: 1.75;
}

.batch-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.batch-actions .form-select {
    min-width: 112px;
    border-radius: 16px;
    font-weight: 800;
}

.send-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.send-list-header h3 {
    margin: 0;
    font-weight: 950;
    display: flex;
    align-items: center;
    gap: .45rem;
}

.send-list-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.danger-soft {
    color: #dc2626 !important;
    background: rgba(220, 38, 38, .08) !important;
}

.send-progress-wrap {
    margin-bottom: 1rem;
    padding: .85rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .16);
}

.send-progress-meta {
    display: flex;
    justify-content: space-between;
    color: #475569;
    font-weight: 900;
    font-size: .82rem;
    margin-bottom: .55rem;
}

.send-progress {
    height: 10px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.send-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #14b8a6);
    transition: width .25s ease;
}

.send-alert {
    border-radius: 18px;
    padding: .85rem 1rem;
    font-size: .9rem;
    font-weight: 850;
    margin-bottom: 1rem;
}

.send-alert.success { background: rgba(16, 185, 129, .1); color: #047857; }
.send-alert.error { background: rgba(220, 38, 38, .1); color: #b91c1c; }
.send-alert.info { background: rgba(37, 99, 235, .09); color: #1d4ed8; }

.send-number-list {
    display: grid;
    gap: .65rem;
}

.send-number-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .75rem;
    padding: .8rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .16);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
}

.send-number-card.sending { border-color: rgba(37, 99, 235, .35); background: rgba(37, 99, 235, .035); }
.send-number-card.sent { border-color: rgba(16, 185, 129, .35); background: rgba(16, 185, 129, .04); }
.send-number-card.failed { border-color: rgba(220, 38, 38, .28); background: rgba(220, 38, 38, .035); }

.send-number-index {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #f1f5f9;
    font-weight: 950;
    color: #475569;
}

.send-number-info strong {
    display: block;
    color: #0f172a;
    font-weight: 950;
}

.send-number-info span {
    display: block;
    direction: ltr;
    text-align: right;
    color: #64748b;
    font-weight: 800;
    margin-top: .15rem;
}

.send-number-state {
    border-radius: 999px;
    padding: .36rem .65rem;
    background: #f1f5f9;
    color: #475569;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
}

.send-number-card.sent .send-number-state { background: rgba(16, 185, 129, .12); color: #047857; }
.send-number-card.failed .send-number-state { background: rgba(220, 38, 38, .1); color: #b91c1c; }

.send-logs-container {
    display: grid;
    gap: .55rem;
}

.send-log-row {
    display: grid;
    grid-template-columns: 72px 120px 1fr 1fr 150px;
    align-items: center;
    gap: .65rem;
    padding: .7rem .8rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .14);
}

.send-log-row p {
    grid-column: 1 / -1;
    margin: 0;
    color: #b91c1c;
    font-size: .82rem;
    background: rgba(220, 38, 38, .06);
    border-radius: 12px;
    padding: .5rem;
}

.log-status {
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
    padding: .25rem .55rem;
    font-size: .75rem;
    font-weight: 950;
}

.send-log-row.ok .log-status { color: #047857; background: rgba(16, 185, 129, .12); }
.send-log-row.bad .log-status { color: #b91c1c; background: rgba(220, 38, 38, .10); }

.empty-report {
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed rgba(148, 163, 184, .35);
    border-radius: 18px;
    padding: 1rem;
    text-align: center;
    font-weight: 800;
}

@media (max-width: 992px) {
    .send-hero-card,
    .send-control-grid,
    .send-stats-grid {
        grid-template-columns: 1fr;
    }

    .send-control-box {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .send-control-box > .btn,
    .batch-actions {
        grid-column: 1 / -1;
        width: 100%;
    }

    .batch-actions .btn,
    .batch-actions .form-select {
        flex: 1;
    }

    .send-list-header {
        align-items: stretch;
        flex-direction: column;
    }

    .send-list-actions .btn {
        flex: 1;
    }

    .send-number-card {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .send-number-state,
    .send-number-card .btn {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .send-log-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

@media (max-width: 576px) {
    .send-hero-card,
    .send-control-card,
    .send-list-card,
    .send-report-card {
        border-radius: 22px;
    }

    .send-template-summary span,
    .send-template-summary code {
        width: 100%;
        justify-content: center;
    }

    .batch-actions {
        flex-direction: column;
    }

    .send-list-actions {
        flex-direction: column;
    }

    .send-list-actions .btn,
    .batch-actions .btn,
    .batch-actions .form-select {
        width: 100%;
    }
}

/* v10 - method/provider badges and validation polish */
.template-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.template-badge-row .template-provider-pill{margin:0}.secure-form .invalid-feedback{font-size:.78rem;font-weight:800;margin-top:6px}.secure-form .is-invalid{border-color:#f04438!important;box-shadow:0 0 0 .16rem rgba(240,68,56,.10)!important}.form-select option[hidden]{display:none}

/* v11 wallet + send-cost polish */
.wallet-hero .wallet-balance-stat strong {
    font-size: 1.15rem;
    letter-spacing: -0.02em;
}
.wallet-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.wallet-stat-card {
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(255, 255, 255, .88);
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wallet-stat-card span {
    color: #64748b;
    font-size: .83rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.wallet-stat-card strong {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}
.wallet-stat-card.balance { background: linear-gradient(135deg, #ffffff, #eff6ff); }
.wallet-stat-card.charge { background: linear-gradient(135deg, #ffffff, #ecfdf5); }
.wallet-stat-card.debit { background: linear-gradient(135deg, #ffffff, #fff7ed); }
.wallet-ledger-list {
    display: grid;
    gap: 10px;
}
.wallet-ledger-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #fff;
}
.ledger-type-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #475569;
}
.wallet-ledger-item.credit .ledger-type-icon { background: #dcfce7; color: #15803d; }
.wallet-ledger-item.debit .ledger-type-icon { background: #ffedd5; color: #c2410c; }
.ledger-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ledger-main strong { color: #0f172a; font-weight: 900; }
.ledger-main span, .ledger-main small { color: #64748b; font-size: .82rem; }
.ledger-amount { text-align: left; display: flex; flex-direction: column; gap: 4px; }
.ledger-amount strong { font-weight: 900; color: #0f172a; }
.ledger-amount small { color: #64748b; font-size: .78rem; }
.wallet-pill { background: #f8fafc; color: #0f172a; }
.send-wallet-mini {
    margin-top: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    padding: 12px;
    display: grid;
    gap: 6px;
}
.send-wallet-mini span { color: #64748b; font-size: .78rem; }
.send-wallet-mini strong { color: #0f172a; font-weight: 900; }
.send-wallet-mini a { color: #2563eb; font-size: .82rem; text-decoration: none; font-weight: 800; }
.send-cost-summary {
    border: 1px solid rgba(37, 99, 235, .18);
    background: #eff6ff;
    color: #1e3a8a;
    border-radius: 16px;
    padding: 12px 14px;
    margin-bottom: 12px;
    font-size: .9rem;
}
.send-cost-summary.danger {
    background: #fff1f2;
    border-color: rgba(225, 29, 72, .22);
    color: #9f1239;
}
.send-number-info small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: .76rem;
}
.send-log-row .log-cost {
    font-weight: 800;
    color: #334155;
    white-space: nowrap;
}
@media (max-width: 991.98px) {
    .wallet-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .wallet-stats-grid { grid-template-columns: 1fr; }
    .wallet-ledger-item { grid-template-columns: auto 1fr; }
    .ledger-amount { grid-column: 1 / -1; text-align: right; padding-right: 56px; }
}

/* v12 wallet, retry reports & responsive polish */
.side-wallet-card{
    display:flex;align-items:center;gap:12px;margin:14px 12px 18px;padding:13px 12px;border-radius:22px;text-decoration:none;
    color:#fff;background:radial-gradient(circle at top left,rgba(255,255,255,.24),transparent 35%),linear-gradient(135deg,#405cf5,#14b8a6);
    box-shadow:0 18px 38px rgba(64,92,245,.25);border:1px solid rgba(255,255,255,.18);transition:.18s ease;
}
.side-wallet-card:hover{transform:translateY(-2px);color:#fff;box-shadow:0 22px 48px rgba(64,92,245,.32)}
.side-wallet-icon{width:42px;height:42px;border-radius:17px;background:rgba(255,255,255,.17);display:grid;place-items:center;flex:0 0 auto;color:#fff}
.side-wallet-icon svg{width:21px;height:21px}.side-wallet-copy{display:grid;gap:3px;min-width:0;flex:1}.side-wallet-copy small{font-size:.72rem;font-weight:900;color:rgba(255,255,255,.74)}.side-wallet-copy strong{font-size:.9rem;font-weight:950;color:#fff;white-space:nowrap}.side-wallet-arrow{font-size:1.4rem;line-height:1;color:rgba(255,255,255,.7)}
.mobile-wallet-strip{position:fixed;right:12px;left:12px;bottom:88px;z-index:99;display:none}.mobile-wallet-strip a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#101828;background:rgba(255,255,255,.88);backdrop-filter:blur(22px) saturate(1.25);border:1px solid rgba(226,232,240,.9);box-shadow:0 16px 42px rgba(15,23,42,.16);border-radius:22px;padding:10px 13px}.mobile-wallet-strip span{display:flex;align-items:center;gap:8px;color:#475467;font-weight:950;font-size:.82rem}.mobile-wallet-strip strong{font-weight:950;color:#405cf5;font-size:.86rem;white-space:nowrap}.mobile-wallet-strip svg{width:18px;height:18px}
.send-report-pagination{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #edf1f7;border-radius:20px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.045)}
.report-page-info{color:#667085;font-size:.82rem;font-weight:900}.report-page-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.send-report-page-btn{border:1px solid #e6ebf4;background:#f8fafc;color:#475467;min-width:38px;height:38px;border-radius:13px;font-weight:950;transition:.14s ease}.send-report-page-btn:hover{background:#eef2ff;color:#405cf5;border-color:#d9e2ff}.send-report-page-btn.active{background:linear-gradient(135deg,#405cf5,#6678ff);color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(64,92,245,.22)}
.send-log-row{position:relative}.send-log-row .btn-retry-send{height:36px;border-radius:13px;font-size:.76rem;padding:0 12px;margin-inline-start:auto;background:#fff7ed;border-color:#fed7aa;color:#9a3412}.send-log-row .btn-retry-send:hover{background:#ffedd5;color:#7c2d12}.send-log-row.bad{border-color:#fee4e2;background:linear-gradient(180deg,#fff,#fff7f7)}.send-log-row.ok{background:linear-gradient(180deg,#fff,#f8fffb)}
.clean-card,.module-item-card,.number-mobile-card,.wallet-card{box-shadow:0 18px 45px rgba(15,23,42,.055)}.topbar{box-shadow:0 14px 36px rgba(15,23,42,.05)}.btn-primary,.btn-action.primary{background:linear-gradient(135deg,#405cf5,#6678ff);border-color:transparent;box-shadow:0 14px 26px rgba(64,92,245,.18)}.btn-primary:hover,.btn-action.primary:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(64,92,245,.25)}
@media (max-width:991.98px){.mobile-wallet-strip{display:block}.main-panel{padding-bottom:170px}.mobile-bottom-nav{display:flex!important;grid-template-columns:none!important;overflow-x:auto;gap:7px;scrollbar-width:none;bottom:max(10px,env(safe-area-inset-bottom));padding:7px 8px}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{min-width:64px;flex:0 0 64px}.mobile-bottom-nav form,.mobile-nav-form{display:flex;flex:0 0 64px}.send-report-pagination{align-items:stretch;flex-direction:column}.report-page-buttons{justify-content:center}.send-log-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.send-log-row .log-status{justify-self:start}.send-log-row p{grid-column:1/-1}.send-log-row .btn-retry-send{grid-column:1/-1;width:100%;margin:0}}
@media (max-width:575.98px){.main-panel{padding-bottom:174px}.mobile-wallet-strip{right:8px;left:8px;bottom:78px}.mobile-wallet-strip a{border-radius:20px;padding:9px 11px}.mobile-wallet-strip span{font-size:.76rem}.mobile-wallet-strip strong{font-size:.78rem}.mobile-bottom-nav{right:7px;left:7px;border-radius:22px}.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{height:52px!important;min-width:58px;flex-basis:58px;font-size:.62rem!important}.mobile-nav-icon{width:23px;height:23px}.send-report-page-btn{min-width:34px;height:34px;border-radius:12px}.send-log-row{border-radius:18px;padding:12px}.send-log-row code,.send-log-row small{font-size:.72rem}}

/* =========================================================
   v13 Visual polish: Persian Yekan loader + responsive UI
   Inspired by lightweight / utility CSS systems: stronger tokens,
   cleaner cards, mobile-first spacing, and calm enterprise surfaces.
   ========================================================= */
@font-face{
    font-family:'Yekan';
    src:url('../fonts/yekan/Yekan.eot');
    src:url('../fonts/yekan/Yekan.eot?#iefix') format('embedded-opentype'),
        url('../fonts/yekan/Yekan.woff2') format('woff2'),
        url('../fonts/yekan/Yekan.woff') format('woff'),
        url('../fonts/yekan/Yekan.otf') format('opentype'),
        url('../fonts/yekan/Yekan.ttf') format('truetype');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}
:root{
    --bg:#f6f8fc;
    --panel:#ffffff;
    --text:#0f172a;
    --muted:#667085;
    --line:#e9eef7;
    --primary:#4157d8;
    --primary-2:#6d4aff;
    --primary-soft:#eef2ff;
    --sidebar:#0a1020;
    --radius:24px;
    --radius-lg:30px;
    --shadow:0 24px 70px rgba(15,23,42,.09);
    --soft-shadow:0 14px 36px rgba(15,23,42,.065);
    --glass:rgba(255,255,255,.78);
}
body,
button,
input,
select,
textarea,
.tooltip,
.popover{
    font-family:'Yekan','IRANSans','Vazirmatn','Tahoma',Arial,sans-serif;
}
body{font-feature-settings:"ss01";background:var(--bg)}
.form-control,.form-select,.btn,.modal-content,.dropdown-menu{font-family:inherit}
.panel-body{
    background:
        radial-gradient(circle at 84% 7%,rgba(65,87,216,.13),transparent 25%),
        radial-gradient(circle at 10% 88%,rgba(109,74,255,.10),transparent 28%),
        linear-gradient(180deg,#fbfcff 0%,#f5f7fb 48%,#f8fafc 100%);
}
.side-panel{
    width:302px;
    padding:22px;
    background:
        radial-gradient(circle at 38% -10%,rgba(109,74,255,.33),transparent 34%),
        linear-gradient(180deg,#080e1c 0%,#0d1424 56%,#101827 100%);
    box-shadow:inset -1px 0 0 rgba(255,255,255,.06), 20px 0 60px rgba(15,23,42,.06);
}
.brand-box{border-radius:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);padding:13px}
.brand-mark{background:linear-gradient(135deg,#5267ff,#7d4bff);box-shadow:0 18px 42px rgba(82,103,255,.30)}
.side-user-card,.side-wallet-card,.side-security-note{box-shadow:0 18px 42px rgba(0,0,0,.14)}
.side-link{
    position:relative;
    min-height:48px;
    border:1px solid transparent;
    color:#dbe3f3;
}
.side-link:before{
    content:"";
    position:absolute;
    inset:9px auto 9px 8px;
    width:4px;
    border-radius:999px;
    background:transparent;
}
.side-link:hover,
.side-link.active{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.10);
    color:#fff;
    transform:translateX(-2px);
}
.side-link.active:before{background:linear-gradient(180deg,#9fb0ff,#7d4bff)}
.side-link.active svg{color:#fff}
.main-panel{max-width:1540px;margin-inline:auto;padding-top:28px}
.topbar{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(233,238,247,.78);
    border-radius:28px;
    padding:16px 18px;
    box-shadow:0 14px 38px rgba(15,23,42,.055);
    backdrop-filter:blur(16px);
}
.topbar h1{letter-spacing:-.02em}
.eyebrow{color:#4b5fdc}
.user-pill{border-color:#edf1f7;box-shadow:0 10px 26px rgba(15,23,42,.055)}
.welcome-panel,.clean-card,.form-intro,.quick-number-card,.number-rules-card,.module-form-card,.module-side-note,.module-item-card,.wallet-card,.case-send-panel{
    border:1px solid rgba(232,238,247,.9)!important;
    box-shadow:0 20px 54px rgba(15,23,42,.065)!important;
}
.clean-card,.quick-number-card,.module-form-card,.wallet-card{background:rgba(255,255,255,.92)}
.btn{
    border-radius:15px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary,.login-submit,.quick-submit-btn{
    border:0;
    background:linear-gradient(135deg,#4b5fff,#734bff)!important;
    box-shadow:0 15px 34px rgba(75,95,255,.26);
}
.btn-primary:hover,.login-submit:hover,.quick-submit-btn:hover{box-shadow:0 19px 42px rgba(75,95,255,.32)}
.btn-soft,.btn-light{
    background:#f7f9fe;
    border:1px solid #e8edf6;
    color:#344054;
}
.form-control,.form-select{
    border-color:#e5ebf5;
    background-color:#fbfcff;
    border-radius:16px;
    box-shadow:none!important;
}
.form-control:focus,.form-select:focus{
    border-color:#aab7ff;
    background:#fff;
    box-shadow:0 0 0 .25rem rgba(65,87,216,.10)!important;
}
.table{--bs-table-bg:transparent}
.app-table thead th{background:#f8faff;border-bottom-color:#edf2f8;color:#667085}
.app-table tbody td{background:#fff}
.app-table tbody tr:hover td{background:#fbfcff}
.mobile-code,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important}

.app-footer,.auth-footer{
    margin-top:24px;
    color:#667085;
    text-align:center;
    line-height:1.9;
    font-size:.84rem;
}
.app-footer{
    padding:18px 16px 8px;
    border-top:1px solid rgba(232,238,247,.85);
}
.auth-footer{
    width:min(100%,980px);
    padding:0 10px;
}
.app-footer div:first-child,.auth-footer div:first-child{font-weight:900;color:#344054}
.app-footer div:last-child,.auth-footer div:last-child{font-size:.78rem;color:#98a2b3}

.mobile-wallet-strip a{
    background:linear-gradient(135deg,rgba(12,18,32,.96),rgba(42,52,92,.96));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 16px 44px rgba(15,23,42,.23);
}
.mobile-bottom-nav{
    background:rgba(255,255,255,.88)!important;
    border:1px solid rgba(232,238,247,.88)!important;
    box-shadow:0 20px 60px rgba(15,23,42,.18)!important;
    backdrop-filter:blur(20px) saturate(140%);
}
.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{
    background:transparent!important;
    color:#667085!important;
    border:1px solid transparent!important;
    flex-direction:column;
    gap:3px!important;
    border-radius:18px!important;
}
.mobile-bottom-nav a.active,.mobile-bottom-nav .mobile-nav-item.active{
    background:linear-gradient(135deg,#eef2ff,#f6f3ff)!important;
    color:#4157d8!important;
    border-color:#dfe5ff!important;
    box-shadow:0 10px 24px rgba(65,87,216,.14);
}
.mobile-bottom-nav button.danger,
.mobile-nav-item.danger{color:#d92d20!important;background:#fff5f5!important}
.mobile-nav-icon{
    width:26px;
    height:26px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:rgba(102,112,133,.08);
}
.mobile-bottom-nav a.active .mobile-nav-icon,
.mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon{
    background:#fff;
    color:#4157d8;
}

@media (max-width:991.98px){
    .main-panel{padding:16px 14px 190px!important}
    .topbar{position:sticky;top:10px;z-index:25;border-radius:22px;padding:13px 14px;margin-bottom:16px}
    .topbar h1{font-size:1.18rem}
    .welcome-panel,.numbers-hero,.module-hero{border-radius:24px!important}
    .clean-card,.form-intro,.quick-number-card,.number-rules-card,.module-form-card,.module-side-note{border-radius:22px!important}
    .mobile-wallet-strip{bottom:88px!important}
    .mobile-bottom-nav{
        right:10px!important;
        left:10px!important;
        bottom:max(10px,env(safe-area-inset-bottom))!important;
        padding:7px!important;
        border-radius:24px!important;
    }
    .mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{
        height:56px!important;
        min-width:62px!important;
        flex-basis:62px!important;
        font-size:.62rem!important;
    }
    .app-footer{padding-bottom:0;margin-top:18px;font-size:.78rem}
}
@media (max-width:575.98px){
    .main-panel{padding-inline:10px!important;padding-bottom:184px!important}
    .topbar{top:8px;border-radius:20px}
    .topbar .eyebrow{font-size:.67rem}
    .stats-grid{gap:10px}
    .stat-card{border-radius:20px;padding:16px;min-height:118px}
    .stat-card strong{font-size:1.45rem}
    .mobile-wallet-strip{right:9px!important;left:9px!important;bottom:76px!important}
    .mobile-bottom-nav{right:7px!important;left:7px!important;gap:5px!important;padding:5px!important;border-radius:21px!important}
    .mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{
        height:50px!important;
        min-width:55px!important;
        flex-basis:55px!important;
        font-size:.58rem!important;
        border-radius:16px!important;
    }
    .mobile-nav-icon{width:23px;height:23px;border-radius:10px}
    .app-footer,.auth-footer{font-size:.74rem;line-height:1.8}
}

/* =========================================================
   v14 Major redesign: Utility tokens + glass enterprise UI
   Inspired by awesome-css-frameworks: Bootstrap responsive base,
   Tailwind/Open Props style tokens, Pico/Simple calm surfaces.
   ========================================================= */
:root{
    --bg:#eef3fb;--bg-2:#f8fbff;--panel:#fff;--text:#0b1220;--muted:#64748b;
    --line:#e2e8f0;--line-2:#dbe4f0;--primary:#3154f4;--primary-2:#7c3aed;
    --primary-3:#0ea5e9;--success:#0f9f6e;--danger:#ef4444;--warning:#f59e0b;
    --ink:#08111f;--surface:#ffffffcc;--radius:26px;--radius-lg:34px;
    --shadow:0 26px 80px rgba(15,23,42,.10);--soft-shadow:0 16px 46px rgba(15,23,42,.075);
}
html{background:#eef3fb} body{background:var(--bg);color:var(--text);letter-spacing:-.008em}
.panel-body{background:radial-gradient(circle at 88% 4%,rgba(49,84,244,.18),transparent 27%),radial-gradient(circle at 18% 16%,rgba(14,165,233,.14),transparent 24%),radial-gradient(circle at 22% 94%,rgba(124,58,237,.12),transparent 28%),linear-gradient(180deg,#fbfdff 0%,#eef3fb 42%,#f7faff 100%)!important}
.side-panel{position:sticky!important;width:314px!important;padding:18px!important;border-left:0!important;background:radial-gradient(circle at 28% 0%,rgba(124,58,237,.34),transparent 30%),radial-gradient(circle at 92% 28%,rgba(14,165,233,.18),transparent 28%),linear-gradient(180deg,#06101f 0%,#0a1323 52%,#0e1728 100%)!important;box-shadow:28px 0 80px rgba(15,23,42,.10),inset -1px 0 0 rgba(255,255,255,.08)!important;overflow:hidden}
.side-panel:before{content:"";position:absolute;inset:14px 14px auto auto;width:108px;height:108px;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.02));transform:rotate(18deg);pointer-events:none}.side-panel:after{content:"";position:absolute;left:-70px;bottom:110px;width:180px;height:180px;border-radius:56px;background:rgba(49,84,244,.14);transform:rotate(-20deg);pointer-events:none}.side-panel>*{position:relative;z-index:1}
.brand-box{padding:15px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.brand-mark{width:52px!important;height:52px!important;border-radius:20px!important;background:linear-gradient(135deg,#36a3ff 0%,#3154f4 52%,#7c3aed 100%)!important;box-shadow:0 18px 42px rgba(49,84,244,.40)!important}.brand-box strong{font-size:1.05rem!important}.brand-box span{color:#aab7d3!important}
.side-user-card{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.10)!important;border-radius:26px!important;padding:15px!important}.side-wallet-card{background:linear-gradient(135deg,#3154f4 0%,#7c3aed 100%)!important;border:0!important;border-radius:26px!important;padding:16px!important;min-height:82px;box-shadow:0 24px 58px rgba(49,84,244,.28)!important}.side-wallet-card:hover{transform:translateY(-3px) scale(1.01)!important}.side-wallet-icon{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.16)}
.menu-label{display:flex;align-items:center;gap:8px;color:#7f8da8;font-size:.72rem;font-weight:950;letter-spacing:.02em;padding:8px 12px 2px}.menu-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#4f63ff;box-shadow:0 0 0 4px rgba(79,99,255,.12)}.account-label{margin-top:6px}
.side-link{min-height:52px!important;border-radius:18px!important;padding:12px!important;color:#d9e3f4!important;background:transparent!important;border:1px solid transparent!important}.side-link svg{width:20px!important;height:20px!important;color:#98a6c4!important;transition:.18s ease}.side-link:hover,.side-link.active{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.06))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 14px 32px rgba(0,0,0,.16);transform:translateX(-4px)!important}.side-link.active:before{inset:12px auto 12px 7px!important;width:4px!important;background:linear-gradient(180deg,#38bdf8,#818cf8)!important}.side-link.active svg,.side-link:hover svg{color:#fff!important;filter:drop-shadow(0 8px 16px rgba(56,189,248,.28))}
.side-security-note{border-radius:26px!important;background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(124,58,237,.12))!important;border-color:rgba(255,255,255,.12)!important}.btn-ghost{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important}.btn-ghost:hover{background:rgba(255,255,255,.14)!important}
.main-panel{max-width:none!important;padding:28px 30px 96px!important}.topbar{border:1px solid rgba(255,255,255,.72)!important;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(247,250,255,.78))!important;box-shadow:0 20px 60px rgba(15,23,42,.08)!important;backdrop-filter:blur(22px) saturate(145%)!important;border-radius:30px!important;padding:16px 18px!important}.eyebrow{color:var(--primary)!important;text-transform:none!important;letter-spacing:0!important;font-weight:950!important}.topbar h1{font-size:1.42rem!important;line-height:1.35}.topbar-actions{gap:10px!important;flex-wrap:wrap;justify-content:flex-end}
.topbar-wallet-pill,.system-health-pill{display:inline-flex;align-items:center;gap:8px;min-height:46px;border-radius:999px;font-weight:950;padding:8px 13px;border:1px solid #e5ebf6;background:#fff;color:#334155;box-shadow:0 12px 26px rgba(15,23,42,.06)}.topbar-wallet-pill strong{direction:ltr;color:var(--primary);font-size:.88rem}.topbar-wallet-pill svg{color:var(--primary)}.system-health-pill{background:#ecfdf5;border-color:#c7f2df;color:#047857}.system-health-pill svg{color:#059669}.user-pill{min-height:46px;border-radius:999px!important;background:linear-gradient(135deg,#fff,#f8fbff)!important}.user-avatar{background:linear-gradient(135deg,#eaf0ff,#f4edff)!important;color:#3154f4!important}
.welcome-panel,.numbers-hero,.module-hero{border:1px solid rgba(255,255,255,.72)!important;border-radius:34px!important;box-shadow:var(--shadow)!important}.welcome-panel{background:radial-gradient(circle at 8% 12%,rgba(56,189,248,.18),transparent 24%),linear-gradient(135deg,#fff 0%,#f5f8ff 100%)!important;padding:30px!important}.welcome-panel:after{background:linear-gradient(135deg,rgba(49,84,244,.10),rgba(124,58,237,.07))!important;left:-70px!important;top:-70px!important}.welcome-panel h2,.numbers-hero h2,.module-hero h2{letter-spacing:-.025em;font-weight:950!important}.welcome-panel p,.numbers-hero p,.module-hero p{font-size:.96rem;line-height:2.05!important}.secure-badge{border-radius:34px!important;background:linear-gradient(145deg,#06101f 0%,#3154f4 54%,#7c3aed 100%)!important;box-shadow:0 26px 64px rgba(49,84,244,.27)!important}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dashboard-cta{min-height:50px;padding-inline:18px!important}
.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important}.stat-card{min-height:148px!important;border:1px solid rgba(255,255,255,.82)!important;background:linear-gradient(180deg,#fff 0%,#f9fbff 100%)!important;border-radius:28px!important;box-shadow:0 16px 48px rgba(15,23,42,.07)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(15,23,42,.11)!important;border-color:#dbe5ff!important}.stat-card:after{background:linear-gradient(135deg,rgba(49,84,244,.08),rgba(14,165,233,.05))!important;border-radius:42px!important}.stat-icon{width:48px!important;height:48px!important;border-radius:19px!important}.stat-card span{font-weight:900!important}.stat-card strong{font-size:1.7rem!important;letter-spacing:-.03em!important}
.clean-card,.quick-number-card,.module-form-card,.module-list-card,.wallet-card,.send-list-card,.send-report-card{border:1px solid rgba(255,255,255,.82)!important;background:rgba(255,255,255,.91)!important;box-shadow:0 20px 62px rgba(15,23,42,.075)!important;border-radius:30px!important;backdrop-filter:blur(12px)}.table-chip{background:#f8fbff!important;border-color:#e5ecf8!important;color:#475569!important}
.numbers-hero.refined-hero,.numbers-hero{background:radial-gradient(circle at 86% 14%,rgba(14,165,233,.28),transparent 26%),radial-gradient(circle at 8% 88%,rgba(124,58,237,.24),transparent 28%),linear-gradient(135deg,#07111f 0%,#13213a 55%,#1b2550 100%)!important;color:#fff!important;padding:28px!important}.numbers-hero:before{background:rgba(255,255,255,.08)!important}.numbers-hero .eyebrow{color:#a5f3fc!important}.numbers-hero p{color:#dbeafe!important}.numbers-hero-stats div{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.16)!important}
.module-hero.minimal-hero{background:radial-gradient(circle at 12% 10%,rgba(49,84,244,.10),transparent 28%),linear-gradient(135deg,#fff 0%,#f5f8ff 100%)!important}.module-hero.wallet-hero{background:linear-gradient(135deg,#08111f 0%,#15233e 54%,#26368e 100%)!important;color:#fff!important}.module-hero.wallet-hero p{color:#d6def0!important}.wallet-balance-stat{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important}.wallet-balance-stat span,.wallet-balance-stat strong{color:#fff!important}.module-side-note,.number-rules-card,.wallet-note{border-radius:30px!important;background:linear-gradient(135deg,#07111f 0%,#17243c 100%)!important;box-shadow:0 20px 62px rgba(15,23,42,.14)!important}.number-rules-card{color:#fff}.number-rules-card p{color:#cbd5e1!important}.number-rules-card h3{color:#fff!important}
.form-control,.form-select,.module-textarea{min-height:52px!important;border:1px solid #dfe7f2!important;background:#fbfdff!important;border-radius:18px!important}.flat-input .field-icon{color:#94a3b8!important}.form-label{color:#243044!important;font-weight:950!important}.invalid-feedback{color:#dc2626!important}
.btn{border-radius:17px!important;min-height:42px}.btn-primary,.quick-submit-btn,.login-submit{background:linear-gradient(135deg,#3154f4 0%,#0ea5e9 46%,#7c3aed 100%)!important;box-shadow:0 18px 38px rgba(49,84,244,.24)!important}.btn-success{background:linear-gradient(135deg,#0f9f6e,#15b889)!important;border:0!important;box-shadow:0 18px 38px rgba(15,159,110,.22)!important}.btn-danger{background:linear-gradient(135deg,#ef4444,#f97316)!important;border:0!important;box-shadow:0 18px 38px rgba(239,68,68,.20)!important}.btn-soft,.btn-light{background:#fff!important;border:1px solid #dfe7f2!important;color:#334155!important;box-shadow:0 10px 24px rgba(15,23,42,.045)}.danger-soft{background:#fff5f5!important;color:#dc2626!important;border-color:#fee2e2!important}
.app-table{border-collapse:separate!important;border-spacing:0 8px!important}.app-table thead th{background:transparent!important;border:0!important;color:#64748b!important;padding:8px 14px!important}.app-table tbody td{border-top:1px solid #edf2f8!important;border-bottom:1px solid #edf2f8!important;background:#fff!important}.app-table tbody td:first-child{border-right:1px solid #edf2f8!important;border-radius:18px 0 0 18px}.app-table tbody td:last-child{border-left:1px solid #edf2f8!important;border-radius:0 18px 18px 0}.app-table tbody tr:hover td{background:#f8fbff!important;border-color:#dfe8fb!important}
.module-card-grid{gap:16px!important}.module-item-card{border-radius:28px!important;border:1px solid rgba(255,255,255,.84)!important;background:linear-gradient(180deg,#fff 0%,#fafcff 100%)!important;box-shadow:0 18px 52px rgba(15,23,42,.065)!important}.module-item-card:hover{transform:translateY(-5px)!important;box-shadow:0 28px 72px rgba(15,23,42,.10)!important}.module-icon{background:linear-gradient(135deg,#eef4ff,#f2edff)!important;color:var(--primary)!important}.module-meta-row span{background:#f8fbff!important;border-color:#e7eef9!important}
.wallet-stat-card{border-radius:28px!important;border:1px solid rgba(255,255,255,.82)!important;background:linear-gradient(180deg,#fff,#f9fbff)!important;box-shadow:0 16px 48px rgba(15,23,42,.07)!important}.wallet-ledger-item{border-radius:24px!important;border-color:#e8eef8!important;box-shadow:0 12px 30px rgba(15,23,42,.045)}.send-stat-card,.send-batch-container .send-row,.send-log-row{border-radius:24px!important;box-shadow:0 14px 38px rgba(15,23,42,.055)!important}.page-btn,.send-report-page-btn{border-radius:14px!important;border-color:#dfe7f2!important;background:#fff!important}.page-btn.active,.send-report-page-btn.active{background:linear-gradient(135deg,#3154f4,#7c3aed)!important;color:#fff!important;border-color:transparent!important}
.mobile-wallet-strip a{background:linear-gradient(135deg,#07111f 0%,#1d2d4f 60%,#3154f4 100%)!important;border-radius:24px!important}.mobile-bottom-nav{background:rgba(255,255,255,.86)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 24px 80px rgba(15,23,42,.22)!important;backdrop-filter:blur(24px) saturate(155%)!important}.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{color:#64748b!important;border-radius:19px!important;transition:.18s ease!important}.mobile-nav-icon{background:#eef4ff!important;color:#64748b!important}.mobile-bottom-nav a.active,.mobile-bottom-nav .mobile-nav-item.active{color:#fff!important;background:linear-gradient(135deg,#3154f4 0%,#7c3aed 100%)!important;box-shadow:0 14px 34px rgba(49,84,244,.24)!important;border-color:transparent!important}.mobile-bottom-nav a.active .mobile-nav-icon,.mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon{background:rgba(255,255,255,.18)!important;color:#fff!important}.mobile-nav-item.danger,.mobile-bottom-nav button.danger{background:#fff1f2!important;color:#e11d48!important}.mobile-nav-item.danger .mobile-nav-icon{background:#ffe4e6!important;color:#e11d48!important}
.app-footer,.auth-footer{border-top:1px solid rgba(226,232,240,.9)!important;color:#64748b!important}.app-footer div:first-child,.auth-footer div:first-child{color:#1e293b!important}.auth-body{background:radial-gradient(circle at 16% 10%,rgba(49,84,244,.22),transparent 26%),radial-gradient(circle at 88% 26%,rgba(14,165,233,.18),transparent 24%),radial-gradient(circle at 35% 92%,rgba(124,58,237,.14),transparent 28%),linear-gradient(145deg,#fbfdff 0%,#eef4ff 58%,#f8fbff 100%)!important}.login-card,.auth-info-card{border-radius:38px!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 34px 110px rgba(15,23,42,.14)!important}.auth-info-card{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(244,248,255,.86))!important}.auth-info-card:before{background:linear-gradient(135deg,#3154f4,#0ea5e9,#7c3aed)!important}
@media (max-width:1399.98px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.main-panel{padding-inline:24px!important}}
@media (max-width:991.98px){.main-panel{padding:14px 13px 178px!important}.topbar{top:8px!important;border-radius:24px!important;padding:12px 13px!important;align-items:flex-start!important}.topbar-actions{width:100%;justify-content:space-between}.topbar-wallet-pill{flex:1;justify-content:center}.system-health-pill{display:none}.user-pill{min-width:0;max-width:48%;overflow:hidden}.user-pill span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-panel{display:block!important}.secure-badge{display:none!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.number-intake-grid,.module-two-col{gap:14px!important}.mobile-bottom-nav{bottom:max(10px,env(safe-area-inset-bottom))!important;right:10px!important;left:10px!important;padding:8px!important;border-radius:28px!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{height:58px!important;min-width:60px!important;flex:0 0 60px!important;font-size:.62rem!important;scroll-snap-align:center}.mobile-bottom-nav a.active,.mobile-bottom-nav .mobile-nav-item.active{flex-basis:86px!important;min-width:86px!important}.mobile-nav-form{flex:0 0 60px!important}.mobile-wallet-strip{bottom:84px!important;right:10px!important;left:10px!important}.app-footer{margin-top:18px;padding-bottom:0}}
@media (max-width:575.98px){.main-panel{padding-inline:9px!important;padding-bottom:170px!important}.topbar h1{font-size:1.08rem!important}.topbar .eyebrow{font-size:.68rem!important}.topbar-wallet-pill,.user-pill{min-height:42px;font-size:.74rem;padding:7px 10px}.topbar-wallet-pill span{display:none}.welcome-panel,.numbers-hero,.module-hero{border-radius:26px!important;padding:20px!important}.welcome-panel h2,.numbers-hero h2,.module-hero h2{font-size:1.22rem!important}.welcome-panel p,.numbers-hero p,.module-hero p{font-size:.86rem!important;line-height:1.9!important}.stats-grid{gap:10px!important}.stat-card{min-height:126px!important;border-radius:24px!important;padding:16px!important}.stat-icon{width:42px!important;height:42px!important}.stat-card strong{font-size:1.42rem!important}.clean-card,.quick-number-card,.module-form-card,.module-list-card,.wallet-card,.send-list-card,.send-report-card{border-radius:24px!important}.module-card-grid{grid-template-columns:1fr!important}.mobile-bottom-nav{right:7px!important;left:7px!important;padding:6px!important;border-radius:24px!important}.mobile-bottom-nav a,.mobile-bottom-nav button,.mobile-nav-item{height:52px!important;min-width:54px!important;flex-basis:54px!important;font-size:.56rem!important}.mobile-bottom-nav a.active,.mobile-bottom-nav .mobile-nav-item.active{min-width:78px!important;flex-basis:78px!important}.mobile-nav-icon{width:23px!important;height:23px!important}.mobile-wallet-strip{right:7px!important;left:7px!important;bottom:74px!important}.mobile-wallet-strip a{padding:9px 11px!important}.auth-card-wrap{grid-template-columns:1fr!important}.auth-info-card{display:none!important}.login-card{border-radius:30px!important}}

/* v16: Users and permission UI */
.users-hero {
    background: radial-gradient(circle at top right, rgba(99, 102, 241, .18), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,250,252,.88));
}
.users-two-col .module-side-note { min-height: 100%; }
.permission-toggle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.permission-toggle {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    min-height: 118px;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.86));
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.permission-toggle:hover { transform: translateY(-2px); border-color: rgba(59, 130, 246, .32); }
.permission-toggle input { position: absolute; inset-inline-end: 14px; top: 14px; width: 18px; height: 18px; accent-color: #2563eb; }
.permission-toggle > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    color: #2563eb;
    background: rgba(37, 99, 235, .10);
}
.permission-toggle strong { font-size: .98rem; color: #0f172a; }
.permission-toggle small { color: #64748b; line-height: 1.8; }
.permission-toggle:has(input:checked) {
    border-color: rgba(37, 99, 235, .48);
    box-shadow: 0 20px 50px rgba(37, 99, 235, .11);
}
.permission-toggle.danger-toggle > span { color: #dc2626; background: rgba(220, 38, 38, .10); }
.permission-toggle.active-toggle > span { color: #059669; background: rgba(5, 150, 105, .10); }
.users-card-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.user-item-card.super-user-card { border-color: rgba(245, 158, 11, .34); background: linear-gradient(180deg, rgba(255,251,235,.82), rgba(255,255,255,.94)); }
.permission-badge-row { gap: 8px; flex-wrap: wrap; }
.success-pill { background: rgba(5, 150, 105, .10) !important; color: #047857 !important; border-color: rgba(5, 150, 105, .22) !important; }
.danger-pill { background: rgba(220, 38, 38, .10) !important; color: #b91c1c !important; border-color: rgba(220, 38, 38, .22) !important; }
.muted-pill { background: rgba(148, 163, 184, .13) !important; color: #64748b !important; border-color: rgba(148, 163, 184, .20) !important; }
.wide-modal { max-width: 860px; }
@media (max-width: 900px) {
    .permission-toggle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .permission-toggle-grid { grid-template-columns: 1fr; }
    .permission-toggle { min-height: auto; }
    .users-card-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   v17 Bulma Admin Redesign
   Clean Bulma-inspired skin: light side panel, box surfaces,
   turquoise/indigo accents, responsive desktop/mobile polish.
   ========================================================= */
.sms-bulma-theme{
    --bulma-turquoise:#00d1b2;
    --bulma-turquoise-dark:#00a896;
    --bulma-indigo:#485fc7;
    --bulma-purple:#7c3aed;
    --bulma-sky:#0ea5e9;
    --bg:#f4f7fb;
    --panel:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --primary:#485fc7;
    --primary-2:#00d1b2;
    --success:#00a896;
    --danger:#ef4444;
    --radius:22px;
    --shadow:0 22px 55px rgba(15,23,42,.075);
    --soft-shadow:0 12px 32px rgba(15,23,42,.055);
}
.sms-bulma-theme.panel-body,
.sms-bulma-theme.auth-body{
    background:
        radial-gradient(circle at 82% 8%,rgba(0,209,178,.18),transparent 24%),
        radial-gradient(circle at 8% 20%,rgba(72,95,199,.13),transparent 28%),
        radial-gradient(circle at 42% 94%,rgba(14,165,233,.10),transparent 24%),
        linear-gradient(180deg,#f9fbff 0%,#f3f6fb 54%,#f8fafc 100%)!important;
    color:var(--text);
}
.sms-bulma-theme .panel-layout{align-items:stretch;background:transparent}.sms-bulma-theme .side-panel{
    width:296px!important;
    background:rgba(255,255,255,.92)!important;
    color:#0f172a!important;
    border-left:1px solid rgba(226,232,240,.92)!important;
    box-shadow:-1px 0 0 rgba(255,255,255,.7) inset, 18px 0 60px rgba(15,23,42,.045)!important;
    backdrop-filter:blur(18px) saturate(1.18)!important;
    gap:16px!important;
    padding:18px!important;
}
.sms-bulma-theme .brand-box{
    background:linear-gradient(135deg,#0f172a 0%,#233163 52%,#00a896 145%)!important;
    border:0!important;border-radius:28px!important;color:#fff!important;padding:16px!important;
    box-shadow:0 22px 54px rgba(72,95,199,.22)!important;
}
.sms-bulma-theme .brand-box span{color:rgba(255,255,255,.72)!important}.sms-bulma-theme .brand-mark{
    background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important;color:#fff!important;
}
.sms-bulma-theme .side-user-card{
    background:#fff!important;border:1px solid var(--line)!important;color:#0f172a!important;border-radius:24px!important;
    box-shadow:0 14px 36px rgba(15,23,42,.05)!important;
}
.sms-bulma-theme .side-user-avatar{background:#eef2ff!important;color:var(--bulma-indigo)!important}.sms-bulma-theme .side-user-card small{color:#64748b!important}.sms-bulma-theme .side-wallet-card{
    color:#0f172a!important;background:linear-gradient(135deg,#ecfeff 0%,#f0fdfa 45%,#eef2ff 100%)!important;
    border:1px solid #ccfbf1!important;box-shadow:0 16px 36px rgba(20,184,166,.12)!important;border-radius:24px!important;
}
.sms-bulma-theme .side-wallet-card:hover{color:#0f172a!important;transform:translateY(-2px) scale(1.01)!important}.sms-bulma-theme .side-wallet-icon{background:#fff!important;color:var(--bulma-turquoise-dark)!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important}.sms-bulma-theme .side-wallet-copy small{color:#64748b!important}.sms-bulma-theme .side-wallet-copy strong{color:#0f766e!important}.sms-bulma-theme .side-wallet-arrow{color:#14b8a6!important}.sms-bulma-theme .side-menu{gap:6px!important}.sms-bulma-theme .menu-label{
    margin:10px 9px 4px!important;color:#94a3b8!important;font-size:.68rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;
}
.sms-bulma-theme .side-link{
    color:#475569!important;background:transparent!important;border:1px solid transparent!important;border-radius:17px!important;
    min-height:48px!important;padding:12px 13px!important;font-weight:950!important;box-shadow:none!important;
}
.sms-bulma-theme .side-link svg{color:#94a3b8!important}.sms-bulma-theme .side-link:before{inset:10px auto 10px 7px!important;width:4px!important}.sms-bulma-theme .side-link:hover{
    background:#f8fafc!important;border-color:#e2e8f0!important;color:#0f172a!important;transform:translateX(-2px)!important;
}
.sms-bulma-theme .side-link.active{
    background:linear-gradient(135deg,#eef2ff 0%,#ecfeff 100%)!important;border-color:#c7d2fe!important;color:#263a99!important;
    box-shadow:0 12px 28px rgba(72,95,199,.10)!important;
}
.sms-bulma-theme .side-link.active:before{background:linear-gradient(180deg,var(--bulma-turquoise),var(--bulma-indigo))!important}.sms-bulma-theme .side-link.active svg{color:var(--bulma-indigo)!important}.sms-bulma-theme .side-security-note{
    color:#0f172a!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;border-radius:24px!important;box-shadow:none!important;
}
.sms-bulma-theme .side-security-note svg{color:#10b981!important}.sms-bulma-theme .side-security-note span{color:#64748b!important}.sms-bulma-theme .btn-ghost{
    background:#fff!important;border:1px solid #fee2e2!important;color:#dc2626!important;border-radius:18px!important;box-shadow:0 12px 26px rgba(220,38,38,.06)!important;
}
.sms-bulma-theme .btn-ghost:hover{background:#fff1f2!important;color:#be123c!important}.sms-bulma-theme .main-panel{padding-top:22px!important;max-width:1500px!important}.sms-bulma-theme .topbar{
    position:sticky;top:14px;z-index:60;background:rgba(255,255,255,.86)!important;border:1px solid rgba(226,232,240,.95)!important;
    box-shadow:0 18px 44px rgba(15,23,42,.07)!important;border-radius:30px!important;padding:14px 16px!important;backdrop-filter:blur(22px) saturate(1.25)!important;
}
.sms-bulma-theme .topbar h1{font-size:1.35rem!important;color:#0f172a!important}.sms-bulma-theme .eyebrow{color:var(--bulma-turquoise-dark)!important;letter-spacing:.08em!important}.sms-bulma-theme .topbar-wallet-pill,.sms-bulma-theme .system-health-pill,.sms-bulma-theme .user-pill{
    background:#fff!important;border:1px solid #e2e8f0!important;color:#334155!important;border-radius:999px!important;box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
}
.sms-bulma-theme .topbar-wallet-pill strong{color:#0f766e!important}.sms-bulma-theme .system-health-pill{color:#047857!important;background:#ecfdf5!important;border-color:#bbf7d0!important}.sms-bulma-theme .user-avatar{background:linear-gradient(135deg,#e0f2fe,#eef2ff)!important;color:var(--bulma-indigo)!important}.sms-bulma-theme .app-alert{border-radius:20px!important;border-width:1px!important;box-shadow:0 14px 34px rgba(15,23,42,.055)!important}.sms-bulma-theme .welcome-panel,.sms-bulma-theme .numbers-hero,.sms-bulma-theme .module-hero,.sms-bulma-theme .send-hero-card{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 42%,#ecfeff 100%)!important;border:1px solid rgba(203,213,225,.88)!important;
    color:#0f172a!important;border-radius:34px!important;box-shadow:0 24px 70px rgba(15,23,42,.075)!important;
}
.sms-bulma-theme .welcome-panel:after,.sms-bulma-theme .numbers-hero:before,.sms-bulma-theme .module-hero:before{background:rgba(0,209,178,.10)!important}.sms-bulma-theme .welcome-panel p,.sms-bulma-theme .numbers-hero p,.sms-bulma-theme .module-hero p{color:#64748b!important}.sms-bulma-theme .numbers-hero .eyebrow,.sms-bulma-theme .module-hero .eyebrow{color:var(--bulma-indigo)!important}.sms-bulma-theme .secure-badge{
    background:linear-gradient(135deg,var(--bulma-turquoise),var(--bulma-indigo))!important;box-shadow:0 18px 44px rgba(0,209,178,.26)!important;
}
.sms-bulma-theme .stats-grid{gap:14px!important}.sms-bulma-theme .stat-card,
.sms-bulma-theme .clean-card,.sms-bulma-theme .quick-number-card,.sms-bulma-theme .number-rules-card,
.sms-bulma-theme .module-form-card,.sms-bulma-theme .module-list-card,.sms-bulma-theme .module-item-card,
.sms-bulma-theme .wallet-stat-card,.sms-bulma-theme .wallet-ledger-item,
.sms-bulma-theme .send-stat-card,.sms-bulma-theme .send-control-card,.sms-bulma-theme .send-list-card,.sms-bulma-theme .send-report-card,
.sms-bulma-theme .number-mobile-card{
    background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:28px!important;
    box-shadow:0 16px 42px rgba(15,23,42,.055)!important;
}
.sms-bulma-theme .stat-card:hover,.sms-bulma-theme .clean-card:hover,.sms-bulma-theme .module-item-card:hover,.sms-bulma-theme .number-mobile-card:hover{
    transform:translateY(-3px)!important;box-shadow:0 26px 70px rgba(15,23,42,.09)!important;border-color:#c7d2fe!important;
}
.sms-bulma-theme .stat-card:after{background:linear-gradient(135deg,rgba(0,209,178,.10),rgba(72,95,199,.08))!important}.sms-bulma-theme .stat-icon,
.sms-bulma-theme .module-icon,.sms-bulma-theme .form-intro-icon,.sms-bulma-theme .control-icon,.sms-bulma-theme .ledger-type-icon{
    background:linear-gradient(135deg,#ecfeff,#eef2ff)!important;color:var(--bulma-indigo)!important;box-shadow:none!important;
}
.sms-bulma-theme .btn,.sms-bulma-theme .btn-action,.sms-bulma-theme .page-btn,.sms-bulma-theme .send-report-page-btn{
    border-radius:16px!important;font-weight:950!important;box-shadow:0 10px 24px rgba(15,23,42,.045)!important;
}
.sms-bulma-theme .btn-primary,.sms-bulma-theme .login-submit,.sms-bulma-theme .quick-submit-btn,.sms-bulma-theme .btn-action.primary,
.sms-bulma-theme .page-btn.active,.sms-bulma-theme .send-report-page-btn.active{
    background:linear-gradient(135deg,var(--bulma-indigo),#5f72e8 48%,var(--bulma-turquoise))!important;border-color:transparent!important;color:#fff!important;
    box-shadow:0 18px 42px rgba(72,95,199,.22)!important;
}
.sms-bulma-theme .btn-success{background:linear-gradient(135deg,#10b981,#00d1b2)!important;border-color:transparent!important;color:#fff!important}.sms-bulma-theme .btn-soft,.sms-bulma-theme .btn-light,.sms-bulma-theme .btn-action{background:#fff!important;border:1px solid #e2e8f0!important;color:#334155!important}.sms-bulma-theme .btn-soft:hover,.sms-bulma-theme .btn-light:hover,.sms-bulma-theme .btn-action:hover{background:#f8fafc!important;border-color:#cbd5e1!important;color:var(--bulma-indigo)!important}.sms-bulma-theme .btn-action.danger,.sms-bulma-theme .danger-soft{background:#fff1f2!important;border-color:#fecdd3!important;color:#e11d48!important}.sms-bulma-theme .form-control,.sms-bulma-theme .form-select,.sms-bulma-theme .module-textarea{
    background:#fff!important;border:1px solid #dbe3ee!important;border-radius:16px!important;min-height:50px!important;color:#0f172a!important;
}
.sms-bulma-theme .form-control:focus,.sms-bulma-theme .form-select:focus,.sms-bulma-theme .module-textarea:focus{
    border-color:var(--bulma-turquoise)!important;box-shadow:0 0 0 .22rem rgba(0,209,178,.14)!important;background:#fff!important;
}
.sms-bulma-theme .input-icon-wrap.flat-input,.sms-bulma-theme .search-box{filter:none!important}.sms-bulma-theme .field-icon{color:#94a3b8!important}.sms-bulma-theme .invalid-feedback{color:#e11d48!important;font-weight:950!important}.sms-bulma-theme .table-chip,.sms-bulma-theme .module-meta-row span,.sms-bulma-theme .tag-like,.sms-bulma-theme .success-pill,.sms-bulma-theme .danger-pill,.sms-bulma-theme .muted-pill{
    border-radius:999px!important;border:1px solid #e2e8f0!important;background:#f8fafc!important;color:#475569!important;
}
.sms-bulma-theme .table-responsive{border-radius:24px!important}.sms-bulma-theme .app-table{border-collapse:separate!important;border-spacing:0 10px!important}.sms-bulma-theme .app-table thead th{background:transparent!important;color:#64748b!important;border:0!important;font-weight:950!important}.sms-bulma-theme .app-table tbody td{background:#fff!important;border-top:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important}.sms-bulma-theme .app-table tbody td:first-child{border-right:1px solid #e2e8f0!important;border-radius:18px 0 0 18px!important}.sms-bulma-theme .app-table tbody td:last-child{border-left:1px solid #e2e8f0!important;border-radius:0 18px 18px 0!important}.sms-bulma-theme .mobile-code,.sms-bulma-theme .mobile-card-phone{background:#ecfeff!important;border-color:#ccfbf1!important;color:#0f766e!important}.sms-bulma-theme .app-modal-backdrop{background:rgba(15,23,42,.52)!important;backdrop-filter:blur(12px)!important}.sms-bulma-theme .app-modal-dialog{border-radius:32px!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 34px 110px rgba(15,23,42,.22)!important}.sms-bulma-theme .app-footer,.sms-bulma-theme .auth-footer{
    background:rgba(255,255,255,.72)!important;border:1px solid #e2e8f0!important;border-radius:24px!important;padding:15px 18px!important;
    box-shadow:0 12px 30px rgba(15,23,42,.045)!important;text-align:center!important;margin-top:22px!important;
}
.sms-bulma-theme .auth-shell{padding:24px!important}.sms-bulma-theme .login-card,.sms-bulma-theme .auth-info-card{
    background:rgba(255,255,255,.90)!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:36px!important;box-shadow:0 34px 110px rgba(15,23,42,.14)!important;
}
.sms-bulma-theme .auth-info-card{background:linear-gradient(145deg,#ffffff 0%,#ecfeff 42%,#eef2ff 100%)!important}.sms-bulma-theme .auth-info-card:before{background:linear-gradient(135deg,var(--bulma-turquoise),var(--bulma-indigo))!important}.sms-bulma-theme .auth-info-card h2,.sms-bulma-theme .auth-info-card p{color:#0f172a!important}.sms-bulma-theme .auth-feature-list div{border-radius:18px!important;background:#fff!important;border-color:#e2e8f0!important}.sms-bulma-theme .mobile-wallet-strip a{
    background:linear-gradient(135deg,#0f172a,#263a99 55%,#00a896)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 18px 44px rgba(15,23,42,.24)!important;border-radius:24px!important;
}
.sms-bulma-theme .mobile-wallet-strip span,.sms-bulma-theme .mobile-wallet-strip strong{color:#fff!important}.sms-bulma-theme .mobile-bottom-nav{
    background:rgba(255,255,255,.90)!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:28px!important;box-shadow:0 24px 70px rgba(15,23,42,.20)!important;
    backdrop-filter:blur(24px) saturate(1.3)!important;
}
.sms-bulma-theme .mobile-bottom-nav a,.sms-bulma-theme .mobile-bottom-nav button,.sms-bulma-theme .mobile-nav-item{
    color:#64748b!important;background:transparent!important;border:1px solid transparent!important;border-radius:20px!important;
}
.sms-bulma-theme .mobile-nav-icon{background:#f1f5f9!important;color:#64748b!important}.sms-bulma-theme .mobile-bottom-nav a.active,.sms-bulma-theme .mobile-bottom-nav .mobile-nav-item.active{
    background:linear-gradient(135deg,var(--bulma-indigo),var(--bulma-turquoise))!important;color:#fff!important;box-shadow:0 14px 32px rgba(72,95,199,.24)!important;
}
.sms-bulma-theme .mobile-bottom-nav a.active .mobile-nav-icon,.sms-bulma-theme .mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon{background:rgba(255,255,255,.20)!important;color:#fff!important}.sms-bulma-theme .mobile-nav-item.danger,.sms-bulma-theme .mobile-bottom-nav button.danger{background:#fff1f2!important;color:#e11d48!important}.sms-bulma-theme .mobile-nav-item.danger .mobile-nav-icon{background:#ffe4e6!important;color:#e11d48!important}
@media (max-width:991.98px){
    .sms-bulma-theme .main-panel{padding:12px 12px 176px!important}.sms-bulma-theme .topbar{top:8px!important;border-radius:24px!important;display:grid!important;gap:10px!important}.sms-bulma-theme .topbar-actions{width:100%!important;display:flex!important;overflow-x:auto!important;scrollbar-width:none!important}.sms-bulma-theme .topbar-actions::-webkit-scrollbar{display:none}.sms-bulma-theme .topbar-wallet-pill{min-width:max-content!important}.sms-bulma-theme .user-pill{min-width:max-content!important}.sms-bulma-theme .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.sms-bulma-theme .welcome-panel,.sms-bulma-theme .numbers-hero,.sms-bulma-theme .module-hero,.sms-bulma-theme .send-hero-card{border-radius:28px!important;padding:20px!important}.sms-bulma-theme .mobile-bottom-nav{right:10px!important;left:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;padding:8px!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important}.sms-bulma-theme .mobile-bottom-nav::-webkit-scrollbar{display:none}.sms-bulma-theme .mobile-bottom-nav a,.sms-bulma-theme .mobile-bottom-nav button,.sms-bulma-theme .mobile-nav-item{height:58px!important;min-width:62px!important;flex:0 0 62px!important;font-size:.62rem!important;scroll-snap-align:center!important}.sms-bulma-theme .mobile-bottom-nav a.active,.sms-bulma-theme .mobile-bottom-nav .mobile-nav-item.active{min-width:92px!important;flex-basis:92px!important}.sms-bulma-theme .mobile-wallet-strip{bottom:84px!important;right:10px!important;left:10px!important}.sms-bulma-theme .app-footer{margin-bottom:0!important}
}
@media (max-width:575.98px){
    .sms-bulma-theme .main-panel{padding-inline:8px!important;padding-bottom:170px!important}.sms-bulma-theme .topbar h1{font-size:1.08rem!important}.sms-bulma-theme .topbar-wallet-pill span,.sms-bulma-theme .system-health-pill{display:none!important}.sms-bulma-theme .stats-grid{grid-template-columns:1fr!important}.sms-bulma-theme .stat-card{min-height:auto!important}.sms-bulma-theme .clean-card,.sms-bulma-theme .quick-number-card,.sms-bulma-theme .module-form-card,.sms-bulma-theme .module-list-card,.sms-bulma-theme .module-item-card{border-radius:24px!important}.sms-bulma-theme .mobile-bottom-nav{right:7px!important;left:7px!important;border-radius:24px!important;padding:6px!important}.sms-bulma-theme .mobile-bottom-nav a,.sms-bulma-theme .mobile-bottom-nav button,.sms-bulma-theme .mobile-nav-item{height:52px!important;min-width:54px!important;flex-basis:54px!important;font-size:.56rem!important}.sms-bulma-theme .mobile-bottom-nav a.active,.sms-bulma-theme .mobile-bottom-nav .mobile-nav-item.active{min-width:82px!important;flex-basis:82px!important}.sms-bulma-theme .mobile-nav-icon{width:23px!important;height:23px!important}.sms-bulma-theme .mobile-wallet-strip{right:7px!important;left:7px!important;bottom:74px!important}.sms-bulma-theme .auth-shell{padding:14px!important}.sms-bulma-theme .login-card{border-radius:28px!important;padding:22px!important}.sms-bulma-theme .app-footer,.sms-bulma-theme .auth-footer{font-size:.78rem!important;border-radius:20px!important;padding:12px!important}
}

/* =========================================================
   v18: Sidebar scroll + livelier Bulma-inspired responsive UI
   Fixes: visible full desktop menu, non-sticky topbar, readable mini-rules,
   stronger colors for mobile and desktop.
   ========================================================= */
.sms-bulma-theme{
    --bulma-turquoise:#00d1b2;
    --bulma-emerald:#10b981;
    --bulma-ocean:#0ea5e9;
    --bulma-indigo:#4357f2;
    --bulma-purple:#8b5cf6;
    --bulma-rose:#f43f5e;
    --bulma-amber:#f59e0b;
    --bg:#eef7ff;
    --text:#0b1324;
    --muted:#546179;
    --line:#dbe7f5;
    --primary:#4357f2;
    --primary-2:#00c2a8;
    --success:#059669;
    --shadow:0 24px 70px rgba(30,64,175,.10);
    --soft-shadow:0 14px 38px rgba(30,64,175,.075);
}
.sms-bulma-theme.panel-body,
.sms-bulma-theme.auth-body{
    background:
        radial-gradient(circle at 82% 6%,rgba(0,209,178,.25),transparent 24%),
        radial-gradient(circle at 12% 18%,rgba(67,87,242,.18),transparent 28%),
        radial-gradient(circle at 52% 96%,rgba(245,158,11,.10),transparent 22%),
        linear-gradient(180deg,#fbfdff 0%,#eef7ff 46%,#f8fbff 100%)!important;
}

/* Desktop sidebar must show every menu item and scroll inside itself. */
.sms-bulma-theme .side-panel{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(67,87,242,.36) rgba(219,231,245,.45);
    padding:18px 16px!important;
    gap:13px!important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,251,255,.94)),
        radial-gradient(circle at 0% 0%,rgba(0,209,178,.20),transparent 34%)!important;
    border-left:1px solid rgba(203,213,225,.88)!important;
    box-shadow:22px 0 70px rgba(30,64,175,.07)!important;
}
.sms-bulma-theme .side-panel::-webkit-scrollbar{width:8px}
.sms-bulma-theme .side-panel::-webkit-scrollbar-track{background:rgba(219,231,245,.45);border-radius:999px}
.sms-bulma-theme .side-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--bulma-indigo),var(--bulma-turquoise));border-radius:999px}
.sms-bulma-theme .side-panel:before{
    background:linear-gradient(135deg,rgba(0,209,178,.16),rgba(67,87,242,.08))!important;
    opacity:.75!important;
}
.sms-bulma-theme .side-panel:after{
    background:rgba(67,87,242,.08)!important;
    bottom:80px!important;
}
.sms-bulma-theme .side-menu{gap:7px!important;flex:0 0 auto!important}
.sms-bulma-theme .side-link{
    min-height:46px!important;
    padding:11px 12px!important;
    color:#334155!important;
}
.sms-bulma-theme .side-link:hover{
    background:linear-gradient(135deg,#ffffff,#eefbff)!important;
    border-color:#cfe7ff!important;
    color:#0f172a!important;
}
.sms-bulma-theme .side-link.active{
    color:#102a7a!important;
    background:linear-gradient(135deg,#eaf0ff 0%,#ddfff7 100%)!important;
    border-color:#b9c7ff!important;
    box-shadow:0 14px 30px rgba(67,87,242,.13)!important;
}
.sms-bulma-theme .menu-label{color:#64748b!important;margin-top:8px!important}
.sms-bulma-theme .brand-box{
    background:linear-gradient(135deg,#243bff 0%,#0ea5e9 48%,#00d1b2 100%)!important;
    box-shadow:0 24px 55px rgba(14,165,233,.22)!important;
}
.sms-bulma-theme .side-wallet-card{
    background:linear-gradient(135deg,#fff7ed 0%,#ecfeff 43%,#eef2ff 100%)!important;
    border:1px solid #bae6fd!important;
    box-shadow:0 18px 42px rgba(14,165,233,.13)!important;
}
.sms-bulma-theme .side-security-note{
    background:linear-gradient(135deg,#f0fdf4,#eff6ff)!important;
    border:1px solid #bfdbfe!important;
    color:#0f172a!important;
}
.sms-bulma-theme .side-security-note span{color:#475569!important}
.sms-bulma-theme .btn-ghost{margin-top:2px!important;position:relative;z-index:2}

/* Topbar: no sticky/sliding behavior and no horizontal scrolling. */
.sms-bulma-theme .topbar,
.sms-bulma-theme .main-panel .topbar{
    position:relative!important;
    top:auto!important;
    z-index:5!important;
    overflow:visible!important;
    background:
        linear-gradient(135deg,rgba(255,255,255,.95),rgba(238,251,255,.88))!important;
    border:1px solid rgba(186,230,253,.9)!important;
    box-shadow:0 18px 48px rgba(14,165,233,.09)!important;
}
.sms-bulma-theme .topbar-actions{
    overflow:visible!important;
    flex-wrap:wrap!important;
    scrollbar-width:auto!important;
}
.sms-bulma-theme .topbar-wallet-pill{
    background:linear-gradient(135deg,#ffffff,#ecfeff)!important;
    border-color:#bae6fd!important;
}
.sms-bulma-theme .topbar-wallet-pill strong{color:#0e7490!important}
.sms-bulma-theme .system-health-pill{
    background:linear-gradient(135deg,#ecfdf5,#dcfce7)!important;
    border-color:#86efac!important;
}

/* Make mini-rules readable on every surface. */
.sms-bulma-theme .mini-rules{gap:10px!important}
.sms-bulma-theme .mini-rules span{
    color:#182235!important;
    background:linear-gradient(135deg,#ffffff,#f4fbff)!important;
    border:1px solid #cfe7ff!important;
    box-shadow:0 10px 24px rgba(14,165,233,.055)!important;
    border-radius:16px!important;
    padding:10px 12px!important;
    line-height:1.8!important;
}
.sms-bulma-theme .mini-rules svg{color:#059669!important;flex:0 0 auto!important}
.sms-bulma-theme .module-side-note .mini-rules span,
.sms-bulma-theme .number-rules-card .mini-rules span,
.sms-bulma-theme .wallet-note .mini-rules span,
.sms-bulma-theme .users-two-col .module-side-note .mini-rules span{
    color:#f8fafc!important;
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.22)!important;
    box-shadow:none!important;
}
.sms-bulma-theme .module-side-note .mini-rules svg,
.sms-bulma-theme .number-rules-card .mini-rules svg,
.sms-bulma-theme .wallet-note .mini-rules svg{color:#34d399!important}
.sms-bulma-theme .number-rules-card,
.sms-bulma-theme .module-side-note,
.sms-bulma-theme .wallet-note{
    background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#0f766e 125%)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.13)!important;
}
.sms-bulma-theme .number-rules-card p,
.sms-bulma-theme .module-side-note p,
.sms-bulma-theme .wallet-note p{color:#dbeafe!important}

/* More lively cards/buttons while keeping enterprise minimalism. */
.sms-bulma-theme .welcome-panel,
.sms-bulma-theme .numbers-hero,
.sms-bulma-theme .module-hero,
.sms-bulma-theme .send-hero-card{
    background:
        radial-gradient(circle at 12% 16%,rgba(0,209,178,.16),transparent 24%),
        linear-gradient(135deg,#ffffff 0%,#f0fbff 47%,#eef2ff 100%)!important;
    border-color:#bfdbfe!important;
    box-shadow:0 26px 76px rgba(30,64,175,.10)!important;
}
.sms-bulma-theme .stat-card,
.sms-bulma-theme .clean-card,
.sms-bulma-theme .quick-number-card,
.sms-bulma-theme .module-form-card,
.sms-bulma-theme .module-list-card,
.sms-bulma-theme .module-item-card,
.sms-bulma-theme .wallet-stat-card,
.sms-bulma-theme .wallet-ledger-item,
.sms-bulma-theme .send-stat-card,
.sms-bulma-theme .send-control-card,
.sms-bulma-theme .send-list-card,
.sms-bulma-theme .send-report-card,
.sms-bulma-theme .number-mobile-card{
    border-color:#dbeafe!important;
    box-shadow:0 18px 46px rgba(30,64,175,.075)!important;
}
.sms-bulma-theme .stat-card:hover,
.sms-bulma-theme .module-item-card:hover,
.sms-bulma-theme .number-mobile-card:hover{
    border-color:#7dd3fc!important;
    box-shadow:0 28px 78px rgba(14,165,233,.14)!important;
}
.sms-bulma-theme .stat-icon,
.sms-bulma-theme .module-icon,
.sms-bulma-theme .form-intro-icon,
.sms-bulma-theme .control-icon,
.sms-bulma-theme .ledger-type-icon{
    background:linear-gradient(135deg,#e0f2fe,#dcfce7,#eef2ff)!important;
    color:#2563eb!important;
}
.sms-bulma-theme .btn-primary,
.sms-bulma-theme .login-submit,
.sms-bulma-theme .quick-submit-btn,
.sms-bulma-theme .btn-action.primary,
.sms-bulma-theme .page-btn.active,
.sms-bulma-theme .send-report-page-btn.active{
    background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 45%,#00c2a8 100%)!important;
    box-shadow:0 18px 42px rgba(14,165,233,.24)!important;
}
.sms-bulma-theme .btn-success{background:linear-gradient(135deg,#059669,#00c2a8)!important}
.sms-bulma-theme .btn-danger{background:linear-gradient(135deg,#f43f5e,#f97316)!important}
.sms-bulma-theme .form-control:focus,
.sms-bulma-theme .form-select:focus,
.sms-bulma-theme .module-textarea:focus{
    border-color:#38bdf8!important;
    box-shadow:0 0 0 .22rem rgba(14,165,233,.14)!important;
}
.sms-bulma-theme .app-footer,
.sms-bulma-theme .auth-footer{
    background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(236,254,255,.72))!important;
    border-color:#bfdbfe!important;
}

@media (max-width:991.98px){
    .sms-bulma-theme .topbar,
    .sms-bulma-theme .main-panel .topbar{
        position:relative!important;
        top:auto!important;
        display:block!important;
        margin-bottom:14px!important;
    }
    .sms-bulma-theme .topbar-actions{
        width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        overflow:visible!important;
        gap:8px!important;
        margin-top:10px!important;
    }
    .sms-bulma-theme .topbar-wallet-pill,
    .sms-bulma-theme .user-pill{
        min-width:0!important;
        max-width:none!important;
        flex:1 1 170px!important;
        justify-content:center!important;
    }
    .sms-bulma-theme .mobile-bottom-nav{
        background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,254,255,.88))!important;
        border-color:#bae6fd!important;
    }
    .sms-bulma-theme .mobile-wallet-strip a{
        background:linear-gradient(135deg,#172554 0%,#2563eb 45%,#00c2a8 100%)!important;
    }
}
@media (max-width:575.98px){
    .sms-bulma-theme .topbar{padding:12px!important}
    .sms-bulma-theme .topbar h1{font-size:1.06rem!important}
    .sms-bulma-theme .topbar-wallet-pill,
    .sms-bulma-theme .user-pill{flex-basis:100%!important}
    .sms-bulma-theme .mini-rules span{font-size:.8rem!important;padding:9px 10px!important}
}

/* v19: section permissions and waiting-delivery display */
.section-permission-matrix{display:grid;gap:10px;margin-top:10px}
.section-permission-row{display:grid;grid-template-columns:1.15fr repeat(4,minmax(76px,.65fr));gap:8px;align-items:center;background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #e5edf7;border-radius:18px;padding:10px 12px;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.section-permission-row strong{font-weight:950;color:#0f172a;font-size:.88rem}
.section-permission-row label{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;border:1px solid #dbe7f3;background:#fff;border-radius:999px;padding:7px 9px;color:#334155;font-size:.78rem;font-weight:900;cursor:pointer;white-space:nowrap}
.section-permission-row input{accent-color:#00b894}
.compact-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-permission-grid .permission-toggle{min-height:92px}
.user-section-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.user-section-summary span{display:inline-flex;background:#eef6ff;border:1px solid #dbeafe;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900}
.template-provider-pill.info-pill{background:#eef6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important}
.send-log-row.waiting{border-color:#bae6fd!important;background:linear-gradient(135deg,#f0f9ff,#fff)!important}.send-log-row.waiting .log-status{background:#e0f2fe!important;color:#0369a1!important}.send-number-card.waiting-delivery{border-color:#bae6fd!important;background:linear-gradient(135deg,#f0f9ff,#fff)!important}.send-number-card.waiting-delivery .send-number-state{background:#e0f2fe!important;color:#0369a1!important}
.send-stat-card.wait{background:linear-gradient(135deg,#eff6ff,#f0fdfa)!important;border-color:#bfdbfe!important}.send-stat-card.wait strong{color:#0284c7!important}
.user-guide-note{background:linear-gradient(135deg,#f0fdfa,#eff6ff)!important;border-color:#bbf7d0!important}.user-guide-note strong{color:#064e3b!important}.user-guide-note span{color:#155e75!important}
@media (max-width: 767.98px){.section-permission-row{grid-template-columns:1fr 1fr;gap:7px}.section-permission-row strong{grid-column:1/-1}.section-permission-row label{justify-content:flex-start}.compact-permission-grid{grid-template-columns:1fr!important}}

/* v20 permission UI polish */
.permission-denied-hint,
.permission-view-only {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid rgba(99, 102, 241, .18);
    background: linear-gradient(135deg, rgba(99, 102, 241, .09), rgba(20, 184, 166, .08));
    color: #334155;
    border-radius: 16px;
    padding: .65rem .85rem;
    font-weight: 800;
    font-size: .86rem;
}
.permission-denied-hint {
    width: 100%;
    justify-content: flex-start;
    margin-top: .75rem;
    min-height: 56px;
}
.permission-view-only svg,
.permission-denied-hint svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: #4f46e5;
}
.module-card-actions .permission-view-only,
.row-actions .permission-view-only,
.mobile-card-actions .permission-view-only {
    justify-content: center;
    min-width: 116px;
}
@media (max-width: 768px) {
    .permission-denied-hint,
    .permission-view-only {
        border-radius: 14px;
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}
