@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root{
    --sms-navy:#071d49;
    --sms-navy-2:#0b2f73;
    --sms-blue:#2563eb;
    --sms-blue-2:#4f8cff;
    --sms-cyan:#20c7d9;
    --sms-orange:#ff7a18;
    --sms-orange-2:#ff9a44;
    --sms-green:#16b879;
    --sms-purple:#7857f2;
    --sms-bg:#f4f7fc;
    --sms-card:#fff;
    --sms-text:#14213d;
    --sms-muted:#73819a;
    --sms-border:#e5ebf4;
    --sms-sidebar:276px;
    --sms-radius:20px;
    --sms-shadow:0 14px 40px rgba(21,44,82,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Manrope',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:
        radial-gradient(circle at 86% 4%,rgba(37,99,235,.07),transparent 25rem),
        radial-gradient(circle at 7% 80%,rgba(32,199,217,.045),transparent 22rem),
        var(--sms-bg);
    color:var(--sms-text);
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none}
button,input,select,textarea{font-family:inherit}
::selection{background:rgba(37,99,235,.18)}

.sms-shell{min-height:100vh}
.sms-sidebar{
    position:fixed;inset:0 auto 0 0;width:var(--sms-sidebar);z-index:1040;
    color:#fff;overflow-y:auto;
    background:
      radial-gradient(circle at 100% 0,rgba(79,140,255,.32),transparent 25rem),
      linear-gradient(180deg,#061b43 0%,#082b66 55%,#051735 100%);
    box-shadow:16px 0 45px rgba(4,20,50,.14);
}
.sms-sidebar:before{
    content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.07);
    border-radius:50%;right:-155px;top:160px;box-shadow:0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012);
    pointer-events:none;
}
.sms-sidebar:after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:180px;opacity:.28;pointer-events:none;
    background:linear-gradient(145deg,transparent 25%,rgba(37,99,235,.55) 26%,rgba(37,99,235,.55) 42%,transparent 43%),
               linear-gradient(35deg,transparent 35%,rgba(32,199,217,.4) 36%,rgba(32,199,217,.4) 48%,transparent 49%);
}
.sms-brand{
    display:flex;align-items:center;gap:12px;padding:22px 20px 20px;position:relative;z-index:2;
}
.sms-brand-logo{
    width:58px;height:58px;object-fit:contain;background:#fff;border-radius:17px;padding:5px;
    box-shadow:0 12px 26px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.55);
}
.sms-brand-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;line-height:1.22;letter-spacing:-.2px}
.sms-brand-sub{display:block;margin-top:5px;color:#9eb8e8;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
.sms-nav{padding:3px 14px 180px;position:relative;z-index:2}
.sms-nav-section{
    color:#7f9dd4;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:1.7px;
    padding:20px 12px 8px;
}
.sms-nav .nav-link{
    color:#bdcde9;border-radius:13px;margin:4px 0;padding:11px 13px;font-size:13px;font-weight:700;
    display:flex;align-items:center;gap:11px;transition:.22s ease;position:relative;
}
.sms-nav .nav-link i{width:21px;text-align:center;font-size:17px;flex:0 0 21px}
.sms-nav .nav-link:hover{color:#fff;background:rgba(255,255,255,.075);transform:translateX(3px)}
.sms-nav .nav-link.active{
    color:#fff;background:linear-gradient(100deg,#2563eb,#3b82f6);box-shadow:0 12px 28px rgba(37,99,235,.28);
}
.sms-nav .nav-link.active:before{
    content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 5px 5px 0;background:#69e4ed;
}
.sms-nav .nav-link .chevron{margin-left:auto;font-size:11px;opacity:.7}
.sms-subnav{padding-left:28px}
.sms-subnav .nav-link{font-size:12px;padding:8px 11px;color:#aabde0}
.sms-sidebar-footer{
    position:absolute;bottom:18px;left:20px;right:20px;z-index:3;color:#8ea9d7;font-size:10px;line-height:1.5;
}
.sms-sidebar-footer strong{color:#fff;font-size:11px}

.sms-main{margin-left:var(--sms-sidebar);min-height:100vh}
.sms-topbar{
    height:82px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(224,232,244,.9);
    display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:1000;
}
.sms-page-heading{display:flex;align-items:center;gap:13px;min-width:0}
.sms-top-brand{
    width:42px;height:42px;border-radius:13px;object-fit:contain;background:#fff;padding:3px;
    border:1px solid #e1e9f5;box-shadow:0 7px 18px rgba(22,53,100,.1);flex:0 0 auto;
}
.sms-mobile-toggle{
    display:none;border:1px solid #dce6f4;background:#f4f8ff;color:var(--sms-navy);
    width:40px;height:40px;border-radius:11px;
}
.sms-title{
    font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;font-weight:800;letter-spacing:-.55px;margin:0;color:var(--sms-navy);
}
.sms-subtitle{color:var(--sms-muted);font-size:10px;font-weight:600;margin-top:3px}
.sms-top-actions{display:flex;align-items:center;gap:11px}
.sms-icon-btn{
    width:41px;height:41px;border:1px solid var(--sms-border);background:#fff;border-radius:12px;color:#5f6f89;
    display:grid;place-items:center;transition:.2s;box-shadow:0 4px 13px rgba(31,56,94,.04);
}
.sms-icon-btn:hover{color:var(--sms-blue);border-color:#cbdcff;background:#f5f9ff;transform:translateY(-1px)}
.sms-user{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid var(--sms-border)}
.sms-avatar{
    width:41px;height:41px;border-radius:13px;background:linear-gradient(135deg,var(--sms-navy),var(--sms-blue));
    color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 18px rgba(37,99,235,.2);
}
.sms-user-name{font-size:12px;font-weight:800;color:var(--sms-text);line-height:1.2}
.sms-user-role{font-size:10px;color:var(--sms-muted);margin-top:2px}

.sms-content{padding:30px 30px 44px;position:relative}
.sms-content:before{
    content:"";position:absolute;right:28px;top:14px;width:110px;height:110px;border-radius:50%;
    border:1px solid rgba(37,99,235,.08);box-shadow:0 0 0 18px rgba(37,99,235,.018),0 0 0 36px rgba(37,99,235,.012);
    pointer-events:none;
}
.sms-alert{border:0;border-radius:15px;box-shadow:var(--sms-shadow);padding:13px 16px}
.sms-welcome{
    border:0;border-radius:24px;overflow:hidden;color:#fff;box-shadow:0 18px 42px rgba(7,29,73,.19);
    position:relative;background:
      radial-gradient(circle at 90% 10%,rgba(102,226,235,.32),transparent 12rem),
      linear-gradient(120deg,#061b43,#0b3d91 67%,#2563eb);
}
.sms-welcome:before{
    content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.08);border-radius:50%;
    right:-95px;top:-135px;box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 62px rgba(255,255,255,.018);
}
.sms-welcome:after{
    content:"";position:absolute;right:35px;bottom:-55px;width:170px;height:170px;border-radius:50%;
    background:url('/images/comstech-logo.jpg') center/72% no-repeat,rgba(255,255,255,.045);
    opacity:.55;filter:saturate(.8);
}
.sms-welcome-inner{position:relative;z-index:1;padding:31px 32px}
.sms-welcome h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:25px;font-weight:800;letter-spacing:-.8px;margin:0 0 7px}
.sms-welcome p{margin:0;color:#d6e6ff;font-size:12px}
.sms-chip{
    display:inline-flex;align-items:center;gap:7px;margin-top:18px;background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.13);padding:7px 12px;border-radius:999px;font-size:10px;font-weight:800
}

.sms-stat{
    border:1px solid var(--sms-border);background:rgba(255,255,255,.96);border-radius:19px;padding:19px;height:100%;
    box-shadow:var(--sms-shadow);transition:.22s;position:relative;overflow:hidden;
}
.sms-stat:before{
    content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-42px;top:-42px;background:rgba(37,99,235,.035)
}
.sms-stat:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(23,45,82,.11);border-color:#d9e4f3}
.sms-stat-icon{
    width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:20px;margin-bottom:16px;position:relative
}
.sms-stat-icon.blue{color:#1769ff;background:#eaf2ff}.sms-stat-icon.orange{color:var(--sms-orange);background:#fff0e5}
.sms-stat-icon.green{color:var(--sms-green);background:#e8fbf3}.sms-stat-icon.purple{color:var(--sms-purple);background:#f0edff}
.sms-stat-label{color:var(--sms-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.sms-stat-value{font-family:'Plus Jakarta Sans',sans-serif;font-size:25px;font-weight:800;color:var(--sms-navy);margin-top:4px;letter-spacing:-.8px}
.sms-stat-foot{font-size:10px;color:#93a0b3;margin-top:4px}

.sms-card{
    border:1px solid var(--sms-border);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:var(--sms-shadow);
    overflow:hidden;
}
.sms-card-header{padding:17px 20px;border-bottom:1px solid var(--sms-border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#fff,#fbfcff)}
.sms-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;color:var(--sms-navy);margin:0}
.sms-card-body{padding:20px}
.sms-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sms-quick a{
    border:1px solid var(--sms-border);border-radius:15px;padding:15px;color:var(--sms-text);transition:.2s;
    background:linear-gradient(145deg,#fff,#f9fbff);position:relative;overflow:hidden
}
.sms-quick a:after{content:"↗";position:absolute;right:12px;top:11px;color:#b7c3d6;font-size:12px}
.sms-quick a:hover{border-color:#cbdcff;background:#f6f9ff;transform:translateY(-3px);box-shadow:0 12px 25px rgba(30,63,110,.08)}
.sms-quick i{font-size:21px;color:var(--sms-blue)}
.sms-quick span{display:block;margin-top:8px;font-size:11px;font-weight:800}.sms-quick small{font-size:9px}
.sms-progress{height:9px;border-radius:99px;background:#edf2f8;overflow:hidden}
.sms-progress>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sms-blue),var(--sms-cyan));box-shadow:0 0 10px rgba(37,99,235,.2)}

.btn{
    border-radius:11px;font-weight:800;font-size:12px;padding:.62rem .9rem;transition:.2s;
}
.btn-primary{background:linear-gradient(100deg,#1d59dc,#3477f2)!important;border-color:#2869e7!important;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.btn-primary:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 11px 22px rgba(37,99,235,.22)}
.btn-outline-primary{border-color:#cbdcff;color:#1d5fdc;background:#fff}
.btn-outline-primary:hover{background:#edf4ff;color:#154db5;border-color:#b5ceff}
.btn-success{background:linear-gradient(100deg,#0e9e68,#18bb7d)!important;border-color:#13aa73!important}
.btn-outline-secondary{border-color:#d8e0eb;color:#52627a}
.btn-danger{box-shadow:0 7px 17px rgba(220,53,69,.12)}
.card{
    border-color:var(--sms-border);border-radius:19px;box-shadow:var(--sms-shadow);overflow:hidden;
}
.card-header{
    padding:16px 20px;background:linear-gradient(180deg,#fff,#fafcff);border-bottom-color:var(--sms-border);
    font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--sms-navy)
}
.form-control,.form-select{
    border-color:#dce5f0;border-radius:11px;min-height:43px;color:var(--sms-text);background:#fff;font-size:12px;
    box-shadow:0 3px 12px rgba(31,55,92,.025);transition:.2s
}
.form-control:focus,.form-select:focus{border-color:#8db5ff;box-shadow:0 0 0 .22rem rgba(37,99,235,.09)}
.form-label{font-size:11px;font-weight:800;color:#4e5e77}
.form-check-input{border-color:#cdd8e7}.form-check-input:checked{background-color:var(--sms-blue);border-color:var(--sms-blue)}
.table{
    --bs-table-border-color:#edf1f7;margin-bottom:0;color:var(--sms-text);font-size:11.5px;vertical-align:middle;
    border-radius:16px;overflow:hidden
}
.table thead th{
    background:#f7f9fd;color:#64738c;border-bottom:1px solid #e6ecf4;text-transform:uppercase;
    letter-spacing:.65px;font-size:9px;font-weight:800;padding:13px 14px;white-space:nowrap
}
.table tbody td{padding:13px 14px;border-color:#eef2f7}
.table tbody tr{transition:.15s}.table tbody tr:hover{background:#f8fbff}
.table.bg-white{border:1px solid var(--sms-border)}
.badge{border-radius:999px;padding:.48em .75em;font-size:9px;font-weight:800;letter-spacing:.15px}
.alert{font-size:12px}.pagination{margin-top:18px}.page-link{border-color:#e0e7f0;color:#45617f;font-size:11px;border-radius:9px!important;margin:0 2px}.page-item.active .page-link{background:var(--sms-blue);border-color:var(--sms-blue)}
.list-group-item{border-color:#edf1f7;padding:15px 18px;font-size:12px;font-weight:700;color:#30435f;transition:.18s}
.list-group-item:hover{background:#f7faff;color:var(--sms-blue);padding-left:21px}
code{background:#f2f5f9;color:#5c6f8b;border-radius:6px;padding:2px 5px;font-size:.9em}
.stat-card{border-radius:18px!important;position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-35px;top:-35px;background:rgba(37,99,235,.045)}

.sms-login{
    min-height:100vh;background:
      radial-gradient(circle at 10% 15%,rgba(37,99,235,.08),transparent 24rem),
      radial-gradient(circle at 90% 85%,rgba(32,199,217,.08),transparent 22rem),#f3f7fd;
    display:grid;grid-template-columns:1.05fr .95fr;
}
.sms-login-hero{
    position:relative;overflow:hidden;padding:55px 7vw;background:
      radial-gradient(circle at 82% 18%,rgba(79,140,255,.24),transparent 17rem),
      linear-gradient(135deg,#051a42 0%,#0a2d70 60%,#0f50b3 100%);
    color:#fff;display:flex;flex-direction:column;justify-content:center
}
.sms-login-hero:before,.sms-login-hero:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.sms-login-hero:before{width:440px;height:440px;right:-170px;top:-150px;box-shadow:0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012)}
.sms-login-hero:after{width:310px;height:310px;left:-170px;bottom:-135px}
.sms-login-logo{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:24px;padding:6px;box-shadow:0 15px 34px rgba(0,0,0,.24);position:relative;z-index:1}
.sms-login-kicker{color:#8eb6ff;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-top:28px;position:relative;z-index:1}
.sms-login-hero h1{
    font-family:'Plus Jakarta Sans',sans-serif;font-size:49px;line-height:1.02;letter-spacing:-2px;font-weight:800;
    margin:9px 0 15px;max-width:650px;position:relative;z-index:1
}
.sms-login-hero h1 span{color:#ff8730}
.sms-login-hero p{color:#d1e2ff;font-size:14px;line-height:1.75;max-width:570px;margin:0;position:relative;z-index:1}
.sms-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:31px;max-width:580px;position:relative;z-index:1}
.sms-feature{
    padding:15px;border-radius:16px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(8px);transition:.2s
}
.sms-feature:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.sms-feature i{color:#ff8730;font-size:18px}.sms-feature strong{display:block;margin-top:8px;font-size:11px}.sms-feature small{color:#a9c1e6;font-size:9px}
.sms-login-panel{display:flex;align-items:center;justify-content:center;padding:35px}
.sms-login-card{
    width:100%;max-width:500px;background:rgba(255,255,255,.96);border:1px solid var(--sms-border);border-radius:26px;
    padding:39px;box-shadow:0 28px 70px rgba(18,45,89,.13);backdrop-filter:blur(18px)
}
.sms-login-card .brand-mobile{display:none}.sms-login-card h2{font-family:'Plus Jakarta Sans',sans-serif;color:var(--sms-navy);font-size:28px;font-weight:800;letter-spacing:-1px;margin:0 0 6px}
.sms-login-card .lead{color:var(--sms-muted);font-size:12px;margin-bottom:27px}
.sms-input{position:relative;margin-bottom:16px}.sms-input i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7f91ad}
.sms-input .form-control{padding-left:45px;padding-right:45px;height:52px;border-radius:13px}
.sms-password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#7f91ad}
.sms-login-submit{height:52px;border-radius:13px;font-weight:800;font-size:13px}
.sms-login-footer{text-align:center;color:#8a96a9;font-size:10px;margin-top:23px}.sms-login-footer strong{color:var(--sms-navy)}

.dropdown-menu{border:1px solid var(--sms-border)!important;border-radius:14px!important;padding:7px!important;box-shadow:0 18px 45px rgba(18,45,89,.12)!important}
.dropdown-item{border-radius:9px;font-size:11px;font-weight:700;padding:8px 10px}.dropdown-item:hover{background:#f3f7ff;color:var(--sms-blue)}

.sms-sidebar-overlay{display:none}
@media(max-width:1100px){
    :root{--sms-sidebar:238px}.sms-quick{grid-template-columns:repeat(2,1fr)}
    .sms-login{grid-template-columns:1fr}.sms-login-hero{min-height:44vh;padding:38px 8vw}.sms-login-hero h1{font-size:41px}
    .sms-login-panel{padding:30px}
}
@media(max-width:800px){
    .sms-sidebar{transform:translateX(-100%);transition:.25s ease}.sms-sidebar.open{transform:translateX(0)}
    .sms-main{margin-left:0}.sms-mobile-toggle{display:grid;place-items:center}.sms-topbar{padding:0 16px;height:72px}
    .sms-content{padding:20px 16px 30px}.sms-user-name,.sms-user-role{display:none}.sms-top-brand{display:none}
    .sms-login-hero{min-height:390px}.sms-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(4,20,48,.45);z-index:1030;opacity:0;visibility:hidden;transition:.2s}
    .sms-sidebar-overlay.show{opacity:1;visibility:visible}
}
@media(max-width:520px){
    .sms-login-hero{padding:30px 22px}.sms-login-hero h1{font-size:33px;letter-spacing:-1.2px}
    .sms-feature-grid{grid-template-columns:1fr}.sms-login-panel{padding:18px}.sms-login-card{padding:25px 20px;border-radius:19px}
    .sms-quick{grid-template-columns:1fr}.sms-title{font-size:18px}.sms-subtitle{display:none}
    .sms-top-actions{gap:7px}.sms-content:before{display:none}
}


/* =========================================================
   COMSTECH UI REFINEMENT — navigation, palette & hierarchy
   ========================================================= */
:root{
    --sms-navy:#0b214a;
    --sms-navy-2:#12366f;
    --sms-blue:#2563eb;
    --sms-blue-2:#4f7ff5;
    --sms-cyan:#22b8cf;
    --sms-bg:#f6f8fc;
    --sms-card:#ffffff;
    --sms-text:#17233b;
    --sms-muted:#6f7d95;
    --sms-border:#e7ecf3;
    --sms-sidebar:270px;
    --sms-radius:18px;
    --sms-shadow:0 10px 30px rgba(18,42,78,.065);
}

/* Cleaner base hierarchy */
body{
    background:#f6f8fc;
    color:var(--sms-text);
}
h1,h2,h3,h4,h5,h6{
    font-family:'Plus Jakarta Sans',sans-serif;
}
.sms-main{min-width:0}

/* ---- Sidebar: proper independent scroll region ---- */
.sms-sidebar{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.20) transparent;
}
.sms-sidebar::-webkit-scrollbar{width:5px}
.sms-sidebar::-webkit-scrollbar-track{background:transparent}
.sms-sidebar::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.20);
    border-radius:999px;
}
.sms-brand{
    flex:0 0 auto;
    padding:20px 18px 16px;
}
.sms-brand-logo{
    width:54px;height:54px;border-radius:15px;
}
.sms-brand-title{
    font-size:13px;
    line-height:1.3;
}
.sms-nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding:4px 12px 18px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
}
.sms-nav::-webkit-scrollbar{width:5px}
.sms-nav::-webkit-scrollbar-track{background:transparent}
.sms-nav::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.18);
    border-radius:999px;
}
.sms-nav-section{
    padding:15px 12px 7px;
    font-size:9px;
    color:#91a7cf;
}
.sms-nav .nav-link{
    margin:2px 0;
    padding:10px 11px;
    min-height:42px;
    border-radius:11px;
    font-size:12px;
    font-weight:700;
    letter-spacing:-.05px;
}
.sms-nav .nav-link i{
    width:22px;
    flex-basis:22px;
    font-size:16px;
    opacity:.92;
}
.sms-nav .nav-link:hover{
    transform:none;
    background:rgba(255,255,255,.075);
}
.sms-nav .nav-link.active{
    background:#2563eb;
    box-shadow:0 8px 20px rgba(37,99,235,.22);
}
.sms-nav .nav-link.active:before{
    left:0;
    top:8px;
    bottom:8px;
    width:3px;
    background:#7dd3fc;
}
.sms-nav .nav-link .chevron{
    transition:transform .2s ease;
}
.sms-nav .nav-link[aria-expanded="true"] .chevron{
    transform:rotate(180deg);
}
.sms-subnav{
    padding:2px 0 5px 28px;
}
.sms-subnav .nav-link{
    min-height:34px;
    padding:7px 10px;
    font-size:11px;
    font-weight:650;
    color:#a9bbda;
}
.sms-subnav .nav-link i{
    font-size:16px;
    width:16px;
    flex-basis:16px;
}
.sms-subnav .nav-link.active{
    color:#fff;
    background:rgba(37,99,235,.62);
    box-shadow:none;
}
.sms-subnav .nav-link.active:before{display:none}

/* Footer belongs below the scrollable menu instead of overlaying it */
.sms-sidebar-footer{
    position:relative;
    inset:auto;
    flex:0 0 auto;
    margin:4px 18px 16px;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(255,255,255,.045);
    font-size:9px;
    line-height:1.45;
    color:#8fa6cc;
}
.sms-sidebar-footer strong{font-size:10px}

/* ---- Top bar: less text, stronger visual hierarchy ---- */
.sms-topbar{
    height:76px;
    padding:0 26px;
}
.sms-title{
    font-size:19px;
    letter-spacing:-.45px;
}
.sms-subtitle{
    font-size:9px;
    letter-spacing:.15px;
}
.sms-top-brand{
    width:40px;height:40px;border-radius:11px;
}
.sms-icon-btn{
    width:39px;height:39px;border-radius:11px;
}
.sms-avatar{
    width:39px;height:39px;border-radius:11px;
}

/* ---- Content surfaces: visual first, typography second ---- */
.sms-content{
    padding:26px 26px 42px;
}
.sms-content:before{display:none}
.sms-welcome{
    border-radius:20px;
    box-shadow:0 14px 32px rgba(7,29,73,.13);
}
.sms-welcome-inner{padding:26px 28px}
.sms-welcome h2{
    font-size:22px;
    letter-spacing:-.65px;
}
.sms-welcome p{font-size:11px}
.sms-chip{
    margin-top:14px;
    font-size:9px;
}

/* Make metric cards feel visual without rainbow colors */
.sms-stat{
    border-radius:17px;
    padding:17px;
    box-shadow:0 8px 24px rgba(18,42,78,.055);
}
.sms-stat:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(18,42,78,.09);
}
.sms-stat-icon{
    width:44px;height:44px;
    border-radius:13px;
    margin-bottom:13px;
    color:#2563eb!important;
    background:#edf3ff!important;
}
.sms-stat-icon.orange,
.sms-stat-icon.green,
.sms-stat-icon.purple{
    color:#2563eb!important;
    background:#edf3ff!important;
}
.sms-stat-label{
    font-size:9px;
    letter-spacing:.55px;
}
.sms-stat-value{
    font-size:23px;
}
.sms-stat-foot{font-size:9px}

/* Cards and quick actions */
.sms-card{
    border-radius:17px;
    box-shadow:0 8px 24px rgba(18,42,78,.055);
}
.sms-card-header{
    padding:15px 18px;
}
.sms-card-title{font-size:13px}
.sms-card-body{padding:18px}
.sms-quick{gap:10px}
.sms-quick a{
    min-height:104px;
    border-radius:13px;
    padding:14px;
}
.sms-quick i{
    width:36px;height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#edf3ff;
    color:#2563eb;
    font-size:17px;
}
.sms-quick span{font-size:10px;margin-top:9px}
.sms-quick small{font-size:8.5px}

/* Standardize scattered Bootstrap surfaces */
.card{border-radius:17px;box-shadow:0 8px 24px rgba(18,42,78,.055)}
.card-header{padding:15px 18px}
.form-control,.form-select{
    min-height:42px;
    font-size:11.5px;
}
.form-label{font-size:10.5px}
.table{font-size:11px}
.table thead th{font-size:8.5px}
.table tbody td{padding:12px 13px}
.badge{font-size:8.5px}
.btn{font-size:11px}

/* Responsive menu */
@media(max-width:800px){
    .sms-sidebar{
        width:min(290px,88vw);
        box-shadow:18px 0 45px rgba(4,20,50,.22);
    }
    .sms-nav{padding-bottom:12px}
    .sms-sidebar-footer{margin-bottom:12px}
    .sms-content{padding:20px 16px 30px}
}
@media(max-width:520px){
    .sms-topbar{height:68px;padding:0 13px}
    .sms-title{font-size:17px}
    .sms-content{padding:16px 13px 26px}
    .sms-welcome-inner{padding:22px 20px}
    .sms-welcome h2{font-size:19px}
}

@media(max-width:800px){body.sms-nav-open{overflow:hidden}}
