/* ==========================================================================
   1.5 ULTRA-PREMIUM CUSTOM SCROLLBAR (UNIVERSAL HAIRLINE)
   ========================================================================== */
/* Firefox Fallback applied to EVERYTHING */
*, html {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(100, 116, 139, 0.2) transparent !important;
}

/* Chrome, Edge, Safari (Forces EVERY scrollbar to be 3px) */
*::-webkit-scrollbar {
    width: 3px !important; 
    height: 3px !important; 
}

*::-webkit-scrollbar-track {
    background: transparent !important; 
}

*::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.2) !important; 
    border-radius: 10px !important; 
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--navy) !important; 
}
/* ==========================================================================
   1. GLOBAL VARIABLES & TYPOGRAPHY
   ========================================================================== */
:root{--navy:#0F3A5F;--gold:#C9A24D;--green:#22c55e;--brand-wa:#25D366;--charcoal:#1e293b;--slate:#64748b;--bg:#ffffff;--bg-contrast:#f8fafc;--border:#e2e8f0}
body{margin:0;font-family:'IBM Plex Sans',sans-serif;background:var(--bg);color:var(--charcoal);-webkit-font-smoothing:antialiased;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh;-webkit-user-select:none;-moz-user-select:none;user-select:none}
input, textarea, [contenteditable]{-webkit-user-select:text;-moz-user-select:text;user-select:text}
h1,h2,h3,h4,button,.hero-badge,.footer-col-title,.precision-stats-bar,.section-header,.cmd-title,.cmd-back-text,.detail-header-text,.vb-label,.filter-label,.ledger-table th,.slate-country-title,.usp-check-text,.finder-title,.footer-brand,.footer-dev,.obsidian-brand h3,.obsidian-dev,.st-course,.st-country-name,.table-section-header,.st-header-cell{font-family:'Montserrat',sans-serif}
*{box-sizing:border-box}

/* ==========================================================================
   2. DESKTOP TABLE (LEDGER) CONFIGURATION
   ========================================================================== */
.ledger-wrapper{background:#fff;border:1px solid var(--border);border-radius:8px;overflow-x:auto;margin-bottom:10px;max-height:550px;overflow-y:auto;position:relative;box-shadow:inset 0 -10px 20px -20px rgba(0,0,0,0.05)}
.ledger-wrapper::-webkit-scrollbar{width:6px;height:6px}
.ledger-wrapper::-webkit-scrollbar-track{background:#f8fafc;border-radius:8px}
.ledger-wrapper::-webkit-scrollbar-thumb{background:var(--navy);border-radius:8px}

.ledger-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1000px;}
.ledger-table th{background:var(--navy);color:#fff;padding:12px 8px;font-family:'Montserrat';font-size:12.5px;font-weight:600;text-transform:uppercase;height:60px;vertical-align:middle;text-align:left;letter-spacing:0.5px;border-right:1px solid rgba(255,255,255,0.1);position:sticky;top:0;z-index:20; white-space:normal;}
.ledger-table td{padding:12px 8px;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--charcoal);vertical-align:middle;line-height:1.4;border-right:1px solid rgba(0,0,0,0.03); white-space:normal; word-wrap:break-word;}

.col-sn { width: 4%; padding-left: 10px !important; }
.col-inst { width: 13%; font-weight: 700; background: var#fff; z-index: 15; }
.col-course { width: 14%; }
.col-req { width: 10%; }
.col-eng { width: 6%; }
.col-level { width: 7%; }
.col-dur { width: 9%; }
.col-intake { width: 9%; }
.col-fee { width: 8%; }
.col-arr { width: 6%; }
.col-pay { width: 6%; text-align: center !important; }
.col-action { width: 8%; text-align: center !important; }
.col-data { width: auto; }

.ledger-table th.col-pay, .ledger-table th.col-action { text-align: center !important; }
.ledger-table tr:nth-child(even) td{background:#fcfcfc}
.ledger-table tr:hover td{background:#f0f9ff!important}

/* ==========================================================================
   3. PRESENTATION MODE & INITIATE APP BUTTONS (CALIBRATED)
   ========================================================================== */

/* Common Base for both Floating Tabs */
.float-pres-btn, .initiate-app-floater {
    position: fixed; 
    transform: translateY(-50%); 
    background: rgba(15, 58, 95, 0.95); 
    color: #fff; 
    display: flex; 
    align-items: center; 
    border-radius: 50px 0 0 50px; 
    padding: 10px 14px; 
    cursor: pointer; 
    overflow: hidden; 
    width: 44px; 
    transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s, opacity 0.3s; 
    z-index: 99991; 
    box-shadow: -4px 4px 15px rgba(0,0,0,0.15); 
    border: 1px solid var(--gold); 
    border-right: none;
}

/* --- DASHBOARD ALIGNMENT (Flush to edge) --- */
.float-pres-btn { 
    right: 0 !important; 
    top: calc(50% - 25px) !important; 
}

/* --- COUNTRY PAGE ALIGNMENT (Scrollbar Offset) --- */
.country-pres-btn, .initiate-app-floater {
    right: 8px !important; 
}

.initiate-app-floater { 
    top: calc(50% + 25px) !important; 
}

.float-pres-btn:hover, .initiate-app-floater:hover {
    width: 175px; 
    background: var(--navy);
}

/* Internal Elements Shared Styling */
.fpb-icon, .initiate-app-floater i {
    font-size: 16px; width: 16px; text-align: center; flex-shrink: 0; margin: 0;
}

.fpb-text, .initiate-app-text {
    font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 600; 
    white-space: nowrap; margin-left: 10px; text-transform: uppercase; 
    opacity: 0; transition: opacity 0.3s ease;
}

.float-pres-btn:hover .fpb-text, .initiate-app-floater:hover .initiate-app-text { opacity: 1; }

/* --- ACTIVE PRESENTATION STATE --- */
body.presentation-active .float-pres-btn { 
    background: #ef4444 !important; border-color: #dc2626 !important; 
    top: 50% !important; /* Moves to perfect center when it's the only button */
}

body.presentation-active .float-pres-btn:hover { 
    background: #dc2626 !important; width: 170px !important; 
}

/* Hide Initiate Button when Presentation is ON */
body.presentation-active .initiate-app-floater { 
    display: none !important; 
}

/* --- THE WHITE-LABEL VAPORIZER --- */
body.presentation-active .footer-obsidian,
body.presentation-active .footer-dashboard,
body.presentation-active .header .btn-download,
body.presentation-active .whatsapp-float,
body.presentation-active .hero-badge,
body.presentation-active #mb-logo, 
body.presentation-active .header-brand img,
body.presentation-active .header img:not(.cmd-flag):not(.country-flag) { 
    display: none !important; 
}

/* --- THE WHITE-LABEL TITLE SWAP --- */
body.presentation-active .header-brand::after,
body.presentation-active .header::after {
    content: "STUDENT PROGRAM FINDER";
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 25px;
    color: var(--gold);
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    
    /* ALIGNMENT CALIBRATION: Adjust this number if you want it moved left or right! */
    margin-left: 80px; 
    padding-top: 15px; 
}
/* ==========================================================================
   3.1 RESTORED SHORTLIST UI & ACTION COLUMN
   ========================================================================== */
.action-btns-wrapper {display:flex; align-items:center; justify-content:center; gap:6px; min-width: max-content;}

.wa-solid-btn {width:34px;height:34px;border-radius:50%;background:var(--brand-wa);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(37,211,102,0.3);transition:all 0.3s cubic-bezier(0.175,0.885,0.32,1.275); flex-shrink: 0;}
.wa-solid-btn i {font-size:18px;}
.wa-solid-btn:hover {transform:scale(1.15);box-shadow:0 0 0 5px rgba(37,211,102,0.2);}

.sl-btn {width:34px; height:34px; border-radius:50%; background:#f1f5f9; color:var(--slate); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s cubic-bezier(0.175,0.885,0.32,1.275); border:1px solid var(--border); flex-shrink: 0;}
.sl-btn i {font-size:15px;}
.sl-btn:hover {background:#e2e8f0; color:var(--navy); transform:scale(1.15);}
.sl-btn.active {background:var(--gold); color:#fff; border-color:var(--gold); box-shadow:0 4px 10px rgba(201,162,77,0.3);}

/* --- THE SHORTLIST FLOATING PILL --- */
.shortlist-float-pill {position:fixed; bottom:25px; left:50%; transform:translateX(-50%) translateY(100px); background:var(--navy); color:#fff; padding:12px 25px; border-radius:50px; font-size:13px; font-weight:700; cursor:pointer; z-index:99999; display:flex; align-items:center; gap:10px; box-shadow:0 10px 25px rgba(15,58,95,0.2); transition:transform 0.4s cubic-bezier(0.175,0.885,0.32,1.275), box-shadow 0.3s, bottom 0.1s ease-out; border:1px solid var(--gold);}
.shortlist-float-pill.show {transform:translateX(-50%) translateY(0);}
.shortlist-float-pill:hover {transform:translateX(-50%) translateY(-3px); box-shadow:0 15px 30px rgba(15,58,95,0.3);}

/* --- SHORTLIST MODAL UI --- */
.sl-modal-content {background:#f8fafc; padding:0; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; max-height:85vh; width:500px; max-width:95%; margin: auto;}
.sl-header {background:var(--navy); padding:20px 25px; display:flex; justify-content:space-between; align-items:center;}
.sl-title {color:#fff; margin:0; font-size:18px;}
.sl-body {padding:25px; overflow-y:auto; flex:1;}
.sl-body::-webkit-scrollbar { display: none !important; width: 0 !important; }
.sl-body { scrollbar-width: none !important; -ms-overflow-style: none !important; }
.sl-card {background:#fff; border:1px solid var(--border); border-left:4px solid var(--gold); padding:15px; border-radius:8px; margin-bottom:12px; position:relative;}
.sl-card-title {font-weight:800; color:var(--navy); font-size:14px; margin-bottom:4px; padding-right:25px;}
.sl-card-inst {font-size:12px; color:var(--slate); font-weight:600;}
.sl-card-details {font-size:11px; color:#94a3b8; margin-top:8px;}
.sl-remove {position:absolute; top:15px; right:15px; color:#ef4444; cursor:pointer; font-size:14px;}
.sl-remove:hover {color:#dc2626;}
.sl-footer {padding:20px 25px; background:#fff; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:10px;}

/* ==========================================================================
   4. HEADER & BLUEPRINT BACKGROUND
   ========================================================================== */
.header{background:transparent;padding:24px 0;position:absolute;top:0;left:0;width:100%;z-index:1000}
.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}
.header .container{display:flex;justify-content:space-between;align-items:center}
.logo-zone { cursor: pointer; display:flex; align-items:center; margin-left: -80px; } 
.logo-zone img{height:42px;display:block;opacity:1;transform:none;}

.btn-download{background:rgba(255,255,255,0.5);border:1px solid var(--navy);color:var(--navy);padding:9px 20px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:0.5px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:8px;text-transform:uppercase;margin-right:-80px;}
.btn-download:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
/* ===== MASTERBOOK HERO — COOL BLUE WHITE ===== */

.canvas-wrapper{
    position:relative;
    flex:1;
    overflow:hidden;
    background:linear-gradient(
        180deg,
        #ffffff   0%,
        #f8faff  35%,
        #f0f5ff  70%,
        #eaf0fb 100%
    );
}

/* top-centre navy glow + left navy + soft blue right + navy bottom */
.canvas-wrapper::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(ellipse 80% 60% at 50%  -5%, rgba(15,58,95,0.08)   0%, transparent 65%),
        radial-gradient(ellipse 55% 45% at  0%  60%, rgba(15,58,95,0.06)   0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 35%, rgba(59,130,246,0.05) 0%, transparent 55%),
        radial-gradient(ellipse 70% 40% at 50% 110%, rgba(15,58,95,0.05)   0%, transparent 60%);
    pointer-events:none;
    z-index:0;
}

/* 3px gold vertical accent bar — left edge */
.canvas-wrapper::after{
    content:"";
    position:absolute;
    top:0; bottom:0; left:0;
    width:3px;
    background:linear-gradient(
        180deg,
        transparent               0%,
        rgba(201,162,77,0.45)    25%,
        rgba(201,162,77,0.70)    55%,
        rgba(201,162,77,0.30)    80%,
        transparent              100%
    );
    pointer-events:none;
    z-index:5;
}

/* fine 44px grid fading in + fade to blue-white at bottom */
.blueprint-layer{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(15,58,95,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,58,95,0.035) 1px, transparent 1px);
    background-size:44px 44px;
    -webkit-mask-image:linear-gradient(
        180deg,
        transparent              0%,
        rgba(0,0,0,0.0)         15%,
        rgba(0,0,0,0.50)        50%,
        rgba(0,0,0,0.35)        75%,
        transparent             100%
    );
    mask-image:linear-gradient(
        180deg,
        transparent              0%,
        rgba(0,0,0,0.0)         15%,
        rgba(0,0,0,0.50)        50%,
        rgba(0,0,0,0.35)        75%,
        transparent             100%
    );
    pointer-events:none;
    z-index:1;
}

/* ==========================================================================
   5. HERO SECTION & SEARCH BAR
   ========================================================================== */
.hero{padding:130px 0 40px;text-align:center;position:relative;z-index:10}
.hero-vector{position:absolute;opacity:0.08;z-index:0;pointer-events:none;filter:grayscale(100%);width:100px}
.vec-tl{top:80px;left:5%;transform:rotate(-10deg)}
.vec-tr{top:80px;right:5%;width:80px;transform:rotate(10deg)}
.vec-bl{bottom:0px;left:8%;width:90px}
.vec-br{bottom:0px;right:8%;width:120px}
.hero-badge{display:inline-block;border:1px solid var(--navy);color:var(--navy);background:rgba(255,255,255,0.6);padding:6px 14px;border-radius:50px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:25px}
.hero h1{font-size:61px;font-weight:800;color:var(--navy);line-height:1.1;margin:0 auto 20px;max-width:1100px;letter-spacing:-1px;white-space:nowrap}
.highlight-text{
    color:#C9A24D;
    position:relative;
    display:inline-block;
}
.highlight-text::after{
    content:'';
    position:absolute;
    bottom:-5px;
    left:5%;
    width:90%;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent        0%,
        rgba(201,162,77,0.3) 15%,
        #C9A24D            40%,
        rgba(255,210,100,0.9) 50%,
        #C9A24D            60%,
        rgba(201,162,77,0.3) 85%,
        transparent        100%
    );
}
.hero-desc{font-size:16px;color:var(--slate);max-width:900px;margin:0 auto 70px;font-weight:400;line-height:1.5;white-space:nowrap}
.search-action-zone{max-width:780px;margin:0 auto;background:rgba(255,255,255,0.7);backdrop-filter:blur(20px);border:1px solid #fff;box-shadow:0 30px 60px -15px rgba(15,58,95,0.12);border-radius:24px;padding:30px}
.search-bar{display:flex;align-items:center;background:#fff;border:1px solid rgba(201,162,77,0.3);border-radius:50px;padding:6px 6px 6px 24px;transition:all 0.3s ease;position:relative}
.search-bar:hover,.search-bar:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,77,0.1)}
.search-input{flex:1;border:none;outline:none;font-size:16px;font-family:'IBM Plex Sans';padding-right:30px}
.search-clear-icon{position:absolute;right:120px;color:var(--slate);cursor:pointer;display:none;font-size:14px;transition:0.2s}
.search-clear-icon:hover{color:#ef4444}
.search-btn{background:var(--navy);color:#fff;border:1px solid var(--gold);padding:12px 28px;border-radius:50px;font-weight:600;cursor:pointer;transition:all 0.3s;margin-left:10px}
.search-btn:hover{background:#0a2742;border-color:#fff;box-shadow:0 4px 12px rgba(201,162,77,0.3)}
.chips-row{display:flex;justify-content:center;flex-wrap:wrap;gap:25px;margin-top:20px}
.text-chip{font-size:13px;font-weight:500;color:var(--slate);cursor:pointer;border-bottom:2px dotted transparent;transition:0.2s}
.text-chip:hover{color:var(--navy);border-bottom-color:var(--gold)}

/* ==========================================================================
   6. DASHBOARD CARDS & STATS
   ========================================================================== */
.dashboard-section{padding:40px 0 40px;position:relative;z-index:2}
.section-header-block{text-align:center;margin-bottom:40px;opacity:1;transform:none;}

.section-header-block h2{font-size:40px;font-weight:800;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:15px}

.stat-item{padding:0 24px;display:flex;align-items:center;gap:8px;position:relative}
.stat-item:not(:last-child){border-right:1px solid #e2e8f0}
.stat-icon{color:var(--gold);font-size:14px}
.stat-text{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--slate)}
.stat-text b{color:var(--navy);font-weight:800;font-size:13px;margin-right:3px}
.countries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
/* ── 1. STAGGERED CARD ENTRANCE ── */
.slate-card {
    background:rgba(255,255,255,0.9);
    border:1px solid var(--border);
    border-radius:12px;
    padding:24px;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    position:relative;
    transition:all 0.3s ease;
    opacity:1;
    transform:none;
    text-decoration:none;
}
.slate-card.is-dimmed{opacity:0.2;filter:grayscale(100%);pointer-events:none}

/* ── 2. SEARCH BAR FOCUS GLOW — polished ── */
.mb-v6-main-bar:focus-within {
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(201,162,77,0.12), 0 4px 16px rgba(201,162,77,0.08);
}

/* ── 3. STAT BAR CONFIDENT HOVER LIFT ── */
.precision-stats-bar{display:inline-flex;align-items:center;gap:0;padding:12px 25px;background:#fff;border:1px solid var(--border);border-radius:50px;box-shadow:0 4px 10px rgba(0,0,0,0.03);transition:transform 0.25s ease,box-shadow 0.25s ease}
.precision-stats-bar:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,58,95,0.10), 0 4px 8px rgba(201,162,77,0.06)}

/* ── 4. RICHER CARD HOVER SHADOW (two-layer) ── */

.hero-badge{
    display:inline-block;
    border:1px solid rgba(201,162,77,0.35);
    color:var(--navy);
    background:rgba(255,255,255,0.7);
    padding:6px 14px;
    border-radius:50px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:25px;
}
.slate-flag-container{width:55px;height:55px;border-radius:50%;margin-bottom:18px;overflow:hidden;border:1.5px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,0.08);transition:transform 0.8s cubic-bezier(0.22,1,0.36,1)}
.slate-flag-container img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.slate-card:hover{transform:translateY(-10px);border-color:var(--gold);box-shadow:0 8px 16px rgba(15,58,95,0.08), 0 24px 48px rgba(15,58,95,0.12)}
.slate-card:hover .slate-flag-container{transform:scale(1.15);box-shadow:0 8px 20px rgba(0,0,0,0.15)}
.slate-card:hover .slate-flag-container img{transform:scale(1.1) rotate(2deg)}
.slate-country-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:15px;display:flex;align-items:center;gap:8px}

.fast-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #f1f5f9;padding-top:15px}
.fc-item{display:flex;flex-direction:column}
.fc-label{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--slate)}
.fc-value{font-size:11px;font-weight:600;color:var(--navy)}
.cs-badge{background:#f8fafc;border:1px solid var(--border);color:var(--navy);padding:12px;border-radius:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-align:center;margin-top:10px}
.visa-cert-badge{position:absolute;top:15px;right:15px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;z-index:2}
.visa-cert-icon{position:absolute;font-size:36px;color:#22c55e;filter:drop-shadow(0 1px 3px rgba(34,197,94,0.25));line-height:1}
.visa-cert-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.15; margin-top: -2px;}
.visa-cert-rate{font-family:'Montserrat',sans-serif;font-size:8px;font-weight:800;color:var(--navy);letter-spacing:0.2px}
.visa-cert-label{font-family:'Montserrat',sans-serif;font-size:6.5px;font-weight:700;color:var(--navy);letter-spacing:0.4px;text-transform:uppercase}

/* ==========================================================================
   7. POPULAR SECTION (SMART TABLE)
   ========================================================================== */
.popular-section{text-align:center;max-width:1200px;margin:40px auto 80px !important;padding:0 24px;position:relative;z-index:5;display:block !important}
.table-section-header{font-size:40px;font-weight:800;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:40px;display:flex;align-items:center;justify-content:center;gap:15px}
.smart-table-container{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 15px 40px -10px rgba(15,58,95,0.08);overflow:hidden;margin-bottom:80px}
.smart-table-header{display:grid;grid-template-columns:18% 35% 25% 15% 7%;background:var(--navy);padding:18px 25px;align-items:center}
.st-header-cell{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-align:left}
.st-header-cell.align-right{text-align:right}
.smart-row{display:grid;grid-template-columns:18% 35% 25% 15% 7%;padding:18px 25px;border-bottom:1px solid #f1f5f9;align-items:center;cursor:pointer;text-align:left;background:#fff;transition:0.2s;}
.smart-row:last-child{border-bottom:none}
.smart-row:hover{background:#fcfcfc;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.06);z-index:10;border-color:var(--gold);position:relative}
.smart-row:nth-child(even){background-color:#fafafa}
.smart-row:hover:nth-child(even){background-color:#fff}
.st-location{display:flex;align-items:center;gap:12px}
.st-flag{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid #e2e8f0}
.st-country-name{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:0.5px}
.st-course{font-size:13px;font-weight:700;color:var(--charcoal)}
.st-details{font-family:'IBM Plex Sans';font-size:12px;color:var(--slate);font-weight:500}
.st-visa{font-size:10px;font-weight:700;text-transform:uppercase;display:flex;align-items:center;height:100%}
.text-std{color:var(--slate);opacity:0.7}
.st-action{text-align:right;color:var(--gold);font-size:12px;transition:0.2s}
.smart-row:hover .st-action{transform:translateX(5px);color:var(--navy)}

/* ==========================================================================
   8. FOCUS PAGE (COUNTRY DETAILS)
   ========================================================================== */
.focus-page{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:99990;transform:translateY(100%);opacity:0;transition:all 0.5s cubic-bezier(0.19,1,0.22,1);display:flex;flex-direction:column;overflow:hidden}

/* The Fixed Layout Upgrade for the Country Page */
.focus-page.is-active{transform:translateY(0);opacity:1; position:fixed; height:100dvh; width:100%;}

/* ── PWA STANDALONE: safe-area for notch and home bar ── */
@media (display-mode: standalone) {
    .focus-page.is-active {
        height: 100dvh;
        padding-top: env(safe-area-inset-top, 0px);
        box-sizing: border-box;
    }
    .focus-body {
        padding-bottom: max(env(safe-area-inset-bottom, 0px), 80px);
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
    .footer-obsidian {
        padding-bottom: max(env(safe-area-inset-bottom, 0px), 80px) !important;
    }
    body {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
}
.focus-cmd-bar{height:80px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 40px;flex-shrink:0;position:relative;width:100%;box-sizing:border-box;z-index:50;box-shadow:0 4px 20px rgba(0,0,0,0.02)}
.focus-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;scroll-behavior:smooth;position:relative}

.cmd-left{display:flex;align-items:center;gap:12px;cursor:pointer;transition:0.2s}
.cmd-left:hover{transform:translateX(-5px)}
.cmd-back-icon{color:var(--gold);font-size:14px}
.cmd-back-text{font-family:'Montserrat';font-size:13px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px}
.live-pulse{width:8px;height:8px;background:var(--green);border-radius:50%;display:inline-block;margin-right:12px;box-shadow:0 0 0 rgba(34,197,94,0.4);animation:pulseLive 2s infinite}
@keyframes pulseLive{0%{box-shadow:0 0 0 0 rgba(34,197,94,0.7)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.cmd-center{display:flex;align-items:center;gap:10px}
.cmd-flag{width:45px;height:45px;border-radius:50%;object-fit:cover;border:1px solid var(--border);margin-right:10px}
.cmd-title{font-size:20px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:1px}
.cmd-right{display:flex;gap:10px; align-items:center;}
.action-btn{padding:10px 20px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:0.2s;text-decoration:none;border:none;background:transparent;color:var(--slate)}
.action-btn:hover{color:var(--navy);background:#f0f9ff}
.zone-intelligence{background:var(--bg-contrast);padding:50px 60px;border-bottom:1px solid var(--border)}
.focus-container{max-width:1400px;margin:0 auto}

.velocity-box{background:#fff;border:1px solid var(--border);border-radius:8px;padding:25px 30px;margin-bottom:40px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 5px rgba(0,0,0,0.02)}
.vb-label{font-weight:800;font-size:13px;color:var(--navy);text-transform:uppercase;width:180px;letter-spacing:0.5px}
.vb-timeline{flex:1;margin:0 40px;position:relative;height:40px;display:flex;align-items:center}
.vb-line{position:absolute;width:100%;height:2px;background:var(--navy);z-index:0;top:12px}
.vb-nodes{width:100%;display:flex;justify-content:space-between;position:relative;z-index:1}
.vb-node{text-align:center}
.vb-dot{width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--navy);margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--navy)}
.vb-dot.fill{background:var(--navy);color:#fff}
.vb-text{font-size:11px;font-weight:600;color:var(--slate);text-transform:uppercase}
.vb-time{text-align:right;width:100px}
.vb-time-val{display:block;font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--gold)}
.vb-time-lbl{font-size:10px;font-weight:600;color:var(--slate);text-transform:uppercase}

.usp-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px}
.usp-check-item{display:flex;align-items:center;gap:12px}
.usp-check-icon{font-size:16px;color:var(--navy)}
.usp-check-text{font-family:'Montserrat';font-size:13px;font-weight:700;color:var(--navy)}

.zone-ledger{background:#fff;padding:50px 60px}
.finder-split-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;border-bottom:2px solid #f1f5f9;padding-bottom:20px}
.finder-title{font-family:'Montserrat';font-size:22px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:1px}
.section-header{font-size:14px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:1px;margin-bottom:40px;display:block}
.filter-group{display:flex;flex-direction:column;align-items:flex-end}
.filter-label{font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;display:block}
.filter-deck{display:flex;gap:10px}
.filter-item{padding:8px 15px;border:1px solid var(--border);border-radius:50px;font-family:'IBM Plex Sans';font-size:12px;color:var(--navy);font-weight:600;outline:none;cursor:pointer;min-width:140px;background:#fff;transition:0.2s}
.filter-item:hover{border-color:var(--navy)}
.filter-clear{color:var(--slate);font-size:11px;font-weight:600;cursor:pointer;text-decoration:underline;margin-left:10px;margin-top:8px}

.detail-block{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:30px}
.detail-header{background:var(--navy);padding:15px 25px;display:flex;align-items:center;justify-content:space-between}
.detail-header-text{color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.copy-section-btn{color:rgba(255,255,255,0.7);cursor:pointer;font-size:14px;transition:0.2s}
.copy-section-btn:hover{color:#fff;transform:scale(1.2)}
.detail-content{padding:30px}
.details-row-1{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px; margin-top:50px;}
.detail-list{padding:0;margin:0}
.detail-list li{list-style:none;margin-bottom:12px;display:flex;gap:12px;font-size:14px;color:var(--charcoal);line-height:1.6;align-items:flex-start}
.detail-list li::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;color:var(--navy);margin-top:3px}
.disclaimer-box{background:#f8fafc;border:1px solid #e2e8f0;padding:20px;border-radius:8px;border-left:4px solid var(--gold);color:#64748b;font-size:12px;line-height:1.6; margin:60px 0 80px 0;}
.disclaimer-box strong{color:var(--navy);display:block;margin-bottom:8px;font-size:13px;font-family:'Montserrat';font-weight:800;text-transform:uppercase}

/* ==========================================================================
   9. MODALS, TOASTS & PARTNER ASSETS
   ========================================================================== */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--navy);color:#fff;padding:12px 24px;border-radius:50px;opacity:0;transition:0.4s;z-index:9999999;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.dl-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:100000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(5px)}
.dl-modal{background:#fff;width:450px;padding:30px;border-radius:12px;position:relative;max-width:90%;}
.custom-input { width: 100%; padding: 10px 15px; border: 1px solid var(--border); border-radius: 8px; font-family: 'IBM Plex Sans'; font-size: 13px; outline: none; transition: 0.2s; box-sizing: border-box; }
.custom-input:focus { border-color: var(--gold); }
.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}
.asset-card{border:1px solid var(--border);border-radius:12px;padding:25px;text-align:center;cursor:pointer;transition:all 0.3s ease;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc}
.asset-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 10px 20px rgba(15,58,95,0.1);background:#fff}
.asset-icon{font-size:32px;color:var(--navy);margin-bottom:15px}
.asset-title { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 650; color: var(--navy); margin-bottom: 5px; text-transform: uppercase; letter-spacing: 0.5px; }
.asset-desc { font-family: 'IBM Plex Sans', sans-serif; font-size: 11px; color: var(--slate); line-height: 1.4; font-weight: 500; }

.install-banner { position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; padding: 15px 20px; box-shadow: 0 -4px 20px rgba(0,0,0,0.1); z-index: 999999; display: none; align-items: center; justify-content: space-between; border-top-left-radius: 16px; border-top-right-radius: 16px; box-sizing: border-box; border: 1px solid var(--border); }
.install-banner-content { display: flex; align-items: center; gap: 12px; flex: 1; }
.install-icon { width: 40px; height: 40px; border-radius: 8px; border: 1px solid var(--border); }
.install-text { display: flex; flex-direction: column; }
.install-text strong { font-size: 14px; color: var(--navy); font-family: 'Montserrat', sans-serif; font-weight: 800; }
.install-text span { font-size: 11px; color: var(--slate); margin-top: 2px; }
.install-actions { display: flex; align-items: center; gap: 15px; }
.install-btn { background: var(--navy); color: #fff; border: none; padding: 8px 16px; border-radius: 50px; font-weight: 700; font-size: 12px; cursor: pointer; text-transform: uppercase; letter-spacing: 0.5px; }
.install-close { color: #94a3b8; font-size: 18px; cursor: pointer; padding: 5px; }

/* ==========================================================================
   10. FOOTERS (DASHBOARD & OBSIDIAN)
   ========================================================================== */
.footer-dashboard{background:var(--navy) !important;color:#fff;padding:30px 0 0;position:relative;border-top:3px solid var(--gold);margin-top:0;z-index:20; border-radius:0;}
.footer-ribbon{display:flex;justify-content:space-between;align-items:center;padding-bottom:30px;}
.brand-block{width:fit-content;display:flex;flex-direction:column;text-align:left; align-items:flex-start;}
.footer-brand h3{font-size:26px;font-weight:800;letter-spacing:1px;margin:0;color:#fff;line-height:1;text-align:left;margin-left: -80px;}
.footer-dev{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-top:6px;margin-bottom:0;letter-spacing:1px;white-space:nowrap;text-align:left;margin-left: -80px;}
.footer-dev span{color:var(--gold);font-weight:800}
.footer-desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,0.8);max-width:380px;margin:0;text-align:center;}
.q-actions { display:flex; justify-content:flex-end; gap:16px; margin:0; margin-right: -80px;}
.q-action-btn { width:38px; height:38px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; transition:0.3s; text-decoration:none !important; outline:none; }
.q-action-btn:hover, .q-action-btn:active { background:var(--gold); border-color:var(--gold); color:var(--navy); transform:translateY(-3px); }
.copyright-wrapper{width:100%;border-top:1px solid rgba(255,255,255,0.08); margin-left: -80px;}
.copyright-container{max-width:1200px;margin:0 auto;padding:15px 24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,0.4);font-family:'Montserrat',sans-serif}
.legal-links{display:flex;gap:20px; margin-right: -160px;}
.legal-links a{color:rgba(255,255,255,0.4);text-decoration:none;transition:0.2s}
.legal-links a:hover{color:#fff}

.footer-obsidian{background:var(--navy) !important;border-top:3px solid var(--gold);padding:30px 0;color:#fff}
.footer-obsidian .container{display:flex;justify-content:space-between;align-items:center}
.obsidian-brand h3{color:#ffffff;font-size:24px;font-weight:800;margin:0;letter-spacing:1px;font-family:'Montserrat'}
.obsidian-dev{font-family:'Montserrat';font-size:9.5px;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-top:6px;letter-spacing:1px}
.obsidian-dev span{color:var(--gold);font-weight:800}
.obsidian-tagline{font-family:'IBM Plex Sans';font-size:13px;color:rgba(255,255,255,0.8);font-style:italic}
.obsidian-right{display:flex;align-items:center;gap:20px}
.obs-social-wrapper{display:flex;align-items:center;gap:16px}
.obs-social-link{color:rgba(255,255,255,0.6);font-size:16px;transition:0.2s}
.obs-social-link:hover{color:var(--gold);transform:translateY(-2px)}
.obs-support{font-size:12px;color:rgba(255,255,255,0.8);font-weight:500;border-left:1px solid rgba(255,255,255,0.2);padding-left:20px}
.obs-support a{color:#fff;text-decoration:none}
.whatsapp-float{position:fixed;right:20px;bottom:20px;width:50px;height:50px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(0,0,0,0.2);z-index:9999;transition:transform 0.3s}
.whatsapp-float:hover{transform:scale(1.1)}


/* ==========================================================================
   TABLET LAYOUT (769px - 1024px) — Header, Footer, CmdBar spacing fix
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1366px) {
    .container { padding: 0 40px !important; box-sizing: border-box; }
    .copyright-container { padding: 15px 40px !important; }
    .focus-cmd-bar { padding: 0 40px !important; }
    .footer-obsidian .container { padding: 0 40px !important; }
    .footer-ribbon { padding-left: 40px !important; padding-right: 40px !important; }
    .header .container { padding: 0 40px !important; }

    /* Fix negative margin hacks on footer separator and legal links */
    .copyright-wrapper {
        margin-left: 0 !important;
        width: 100% !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }
    .legal-links {
        margin-right: 0 !important;
    }
}

/* S6 Lite portrait (800px) — stack footer like mobile but with tablet padding */
@media (min-width: 769px) and (max-width: 860px) {
    .footer-obsidian .container {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
        align-items: center !important;
        width: 100% !important;
    }
    .obsidian-right {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .obs-social-wrapper {
        justify-content: center !important;
        width: 100% !important;
    }
    .obs-support {
        border-left: none !important;
        padding-left: 0 !important;
        text-align: center !important;
    }
    .copyright-container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 6px !important;
    }
    .legal-links {
        justify-content: center !important;
    }
    /* Hero section alignment */
    .hero-content {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
    .section-header-block {
        padding: 0 40px !important;
    }
}

/* ==========================================================================
   11. RESPONSIVE RULES (MOBILE <= 768px)
   ========================================================================== */
@media (max-width: 768px) {
    .container { padding: 0 15px !important; box-sizing: border-box; width: 100%; }
    .header { background: #ffffff !important; position: fixed !important; top: 0 !important; width: 100% !important; box-shadow: 0 4px 15px rgba(15, 58, 95, 0.08) !important; padding: 18px 0 !important; z-index: 10000 !important; }
    .header .container { display: flex; justify-content: space-between; align-items: center; }
    .logo-zone img { height: 36px !important; }
    .logo-zone { margin-left: 0 !important; }
    .btn-download { margin-right: 0 !important; } 
    .btn-download span { display: none; } 
    .btn-download { padding: 10px 12px; border-radius: 50px; width: auto; flex-shrink: 0; }
    .btn-download i { margin: 0; font-size: 14px; }
    .canvas-wrapper { padding-top: 72px; }
    .hero { padding: 40px 0 30px; overflow: hidden; position: relative; } 
    .hero h1 { position: relative; z-index: 2; font-size: 28px; white-space: normal; line-height: 1.3; letter-spacing: 0; margin-bottom: 15px; } 
    .hero-badge { font-size: 10px; padding: 6px 14px; margin-bottom: 20px; }
    .hero-desc { position: relative; z-index: 2; white-space: normal; font-size: 14px; padding: 0 10px; margin-bottom: 30px; }
    
    .search-action-zone { width: 92%; padding: 20px; }
    .search-bar { flex-direction: column; border-radius: 16px; padding: 10px; gap: 10px; }
    .search-input { width: 100%; padding: 10px; text-align: center; }
    .search-btn { width: 100%; margin-left: 0; border-radius: 8px; }
    .search-clear-icon { right: 15px; top: 22px; }
    
    .chips-row { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 5px; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 15px; }
    .chips-row::-webkit-scrollbar { display: none; }
    .text-chip { white-space: nowrap; flex-shrink: 0; }
    
    .dashboard-section { padding-top: 0px !important; }
    .section-header-block h2 { font-size: 23px !important; margin-bottom: 20px !important; line-height: 1.3 !important; white-space: normal !important; }
    .table-section-header { font-size: 23px !important; margin-top: 80px !important; margin-bottom: 40px !important; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: 8px !important; white-space: nowrap !important; }
    
    .precision-stats-bar { padding: 8px 15px !important; gap: 5px !important; flex-wrap: wrap; justify-content: center; flex-direction: row !important; border-radius: 50px; border: 1px solid var(--border); width: auto !important; }
    .stat-item { border-right: none !important; width: auto !important; justify-content: center; padding: 5px 10px !important; }
    .stat-item:not(:last-child) { border-bottom: none !important; padding-bottom: 5px !important; }

    .countries-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; width: 100%; }
    .slate-card { padding: 12px; }
    .slate-flag-container { width: 35px; height: 35px; margin-bottom: 10px; }
    .slate-country-title { font-size: 12px; margin-bottom: 8px; }
    .fc-label { font-size: 8px; }
    .fc-value { font-size: 9px; }
    .cs-badge { font-size: 9px; padding: 6px; }
    
    .smart-table-header { display: none !important; }
    .smart-table-container { background: transparent !important; border: none !important; box-shadow: none !important; overflow: visible !important; padding: 0 !important; border-radius: 0 !important; }
    .smart-row { display: block !important; position: relative !important; padding: 15px 40px 15px 15px !important; margin-bottom: 15px !important; background: rgba(255, 255, 255, 0.75) !important; backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important; border: 1px solid rgba(255, 255, 255, 0.5) !important; border-left: 4px solid var(--gold) !important; border-radius: 16px !important; box-shadow: 0 8px 20px rgba(15, 58, 95, 0.05) !important; gap: 0 !important; }
    .smart-row:last-child { margin-bottom: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important; }
    
    .st-location { border-bottom: none; padding-bottom: 0; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
    .st-flag { width: 18px; height: 18px; }
    .st-country-name { font-size: 10px; color: var(--slate); font-weight: 600; }
    .st-course { font-size: 14px !important; margin-top: 0; margin-bottom: 4px; padding-right: 30px; font-weight: 800 !important; color: var(--navy) !important; display: block; }
    .st-details { font-size: 11px; margin-bottom: 10px; color: var(--slate); display: block; }
    .st-visa { justify-content: flex-start; display: flex; }
    .st-action { position: absolute; right: 15px !important; top: 50%; transform: translateY(-50%); border: none; padding: 0; margin: 0; font-size: 16px; color: var(--slate) !important; opacity: 0.5; }

    .ledger-table { table-layout: auto !important; min-width: 1000px !important; }
    .ledger-table td, .ledger-table th { white-space: nowrap !important; width: auto !important; font-size: 12px !important; padding: 10px !important; text-align: left !important; }
    .ledger-table th.col-pay, .ledger-table td.col-pay, .ledger-table th.col-share, .ledger-table td.col-share { text-align: center !important; }
    
    .ledger-table th.col-inst { position: sticky !important; left: 0 !important; z-index: 25 !important; background: var(--navy) !important; box-shadow: 4px 0 10px rgba(0,0,0,0.08) !important; }
    .ledger-table td.col-inst { position: sticky !important; left: 0 !important; z-index: 15 !important; background: #fff !important; box-shadow: 4px 0 10px rgba(0,0,0,0.08) !important; white-space: normal !important; min-width: 140px; max-width: 180px; }
    .ledger-table tr:nth-child(even) td.col-inst { background: #fcfcfc !important; }
    
    .ledger-table td.col-course, .ledger-table th.col-course { white-space: normal !important; min-width: 180px !important; word-wrap: break-word !important; }
    .ledger-table td.col-req, .ledger-table th.col-req { white-space: normal !important; min-width: 180px !important; word-wrap: break-word !important; }
    .ledger-table td.col-dur, .ledger-table th.col-dur { white-space: normal !important; min-width: 100px !important; word-wrap: break-word !important; }

    .shortlist-float-pill { padding: 10px 18px !important; font-size: 11.5px !important; bottom: 20px; border-radius: 50px; }
    .shortlist-float-pill i { font-size: 14px; }

    .focus-cmd-bar { height: auto; padding: 15px 15px; display: grid !important; grid-template-columns: auto 1fr; grid-template-areas: "back title" "actions actions"; gap: 15px; align-items: center; box-sizing: border-box; }
    .cmd-left { grid-area: back; margin: 0; width: auto; flex: none; display: flex; align-items: center; }
    .cmd-back-text { display: none !important; }
    .cmd-center { grid-area: title; flex: 1; justify-content: flex-start !important; padding-left: 5px; width: 100%; overflow: hidden; }
    .cmd-title { font-size: 15px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; margin: 0; }
    .cmd-flag { width: 22px; height: 22px; flex-shrink: 0; }
    .live-pulse { margin-right: 8px; flex-shrink: 0; }
    
    .cmd-right { grid-area: actions; display: flex; flex-direction: row; width: 100%; justify-content: space-between; gap: 10px; box-sizing: border-box; }
    .cmd-right .action-btn { flex: 1 1 0; justify-content: center; font-size: 11.5px; padding: 10px 5px; text-align: center; background: #f0f9ff !important; border: 1px solid #bae6fd !important; color: var(--navy) !important; font-weight: 700; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.02); overflow: hidden; white-space: nowrap; box-sizing: border-box; }

    .usp-check-grid { grid-template-columns: 1fr; gap: 12px; }
    .zone-intelligence, .zone-ledger { padding: 25px 15px; }
    .velocity-box { flex-direction: column; align-items: flex-start; gap: 20px; padding: 20px; }
    .vb-label, .vb-timeline, .vb-time { width: 100%; margin: 0; text-align:left; }
    .finder-split-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .filter-group { align-items: flex-start; width: 100%; }
    .filter-deck { display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; gap: 10px; }
    .filter-item { width: calc(50% - 5px); min-width: 0; margin: 0; }
    .details-row-1 { grid-template-columns: 1fr; gap: 0; margin-top:40px; }
    
    /* ==========================================
       MOBILE ONLY: DASHBOARD FOOTER (15% REDUCED)
       ========================================== */
    .footer-dashboard { 
        padding: 34px 0 17px !important; /* Exactly 15% less than 40px/20px */
    }
    
    .footer-ribbon { 
        flex-direction: column !important; 
        text-align: center !important; 
        gap: 17px !important; /* 15% less than 20px */
        padding-bottom: 21px !important; /* 15% less than 25px */
    }
    
    .brand-block { 
        align-items: center !important; 
        width: 100% !important; 
    }
    
    /* Reset all the negative margins causing the cut-off */
    .footer-brand h3,
    .footer-dev,
    .q-actions,
    .copyright-wrapper,
    .legal-links {
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
    }

    .footer-brand h3 { 
        font-size: 22px !important; /* 15% less than 26px */
        margin-bottom: 4px; margin-top: -10px !important; /* Forces exactly 3px of space below the heading */
    }
    
    .footer-dev { 
        font-size: 8.7px !important; 
        margin-top: 0; margin-bottom: 10px !important; /* Removes any negative margin pulling it up */
    }
    
    .footer-desc { 
        font-size: 10.5px !important; /* 15% less than 13px */
        margin: 0 auto !important; 
        padding: 0 17px !important; 
        line-height: 1.5 !important; 
        max-width: 100% !important;
    }
    
    /* Center the social icons */
    .q-actions { 
        justify-content: center !important; 
        gap: 13px !important; /* 15% less than 15px */
        margin-top: 8px !important; 
        width: 100% !important; 
    } 
    
    .q-action-btn { 
        width: 34px !important; /* 15% less than 40px */
        height: 34px !important; 
        font-size: 14px !important; 
    }
    
    /* Stack the copyright and links neatly */
    .copyright-wrapper { 
        width: 100% !important; 
        border-top: 1px solid rgba(255,255,255,0.08) !important; 
        padding-top: 10px !important; 
    }
    
    .copyright-container { 
        flex-direction: column !important; 
        justify-content: center !important; 
        align-items: center !important; 
        gap: 5px !important; 
        padding: 0 15px !important; 
        font-size: 10.5px !important; 
    }
    
    .legal-links { 
        justify-content: center !important; 
        width: 100% !important; 
        gap: 21px !important; /* 15% less than 25px */
    }
    
    .footer-obsidian { padding: 28px 0 36px; border-radius: 0; }
    .footer-obsidian .container { flex-direction: column; gap: 0; text-align: center; align-items: center; width: 100%; }
    .obsidian-brand { margin-bottom: 16px; }
    .obsidian-brand h3 { font-size: 22px; }
    .obsidian-dev { font-size: 8.7px !important; margin-top: 2px !important; letter-spacing: 1px !important; }
    .obsidian-tagline { margin-top: 5px; }
    .obsidian-right { flex-direction: column; gap: 0; justify-content: center; align-items: center; width: 100%; }
    .obs-social-wrapper { justify-content: center; width: 100%; margin-bottom: 16px; }
    .obs-social-link { font-size: 20px; margin-top: 0 !important; display: inline-block; }
    .obs-support { border-left: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 14px; margin-top: 0; width: 100%; text-align: center; display: block; }
    .visa-cert-badge { width: 30px; height: 30px; top: 8px; right: 8px; }
    .visa-cert-icon { font-size: 30px; }
    .visa-cert-rate { font-size: 6.5px; }
    .visa-cert-label { font-size: 5.5px; }

    .dl-modal { width: 90%; padding: 20px; max-width: 400px; }
    .asset-grid { grid-template-columns: 1fr; gap: 15px; }
    
    .float-pres-btn { padding: 8px 12px; width: 38px; }
    .float-pres-btn:hover { width: 150px; }
    body.presentation-active .float-pres-btn:hover { width: 140px !important; }
    .fpb-text { font-size: 10px; padding-right: 12px; }

    #commTableElement { min-width: 700px !important; }
    #commTableElement th, #commTableElement td { white-space: normal !important; word-wrap: break-word !important; min-width: 100px !important; width: auto !important; font-size: 11.5px !important; padding: 10px 6px !important; }
    #commTableElement th.col-inst { min-width: 140px !important; max-width: 150px !important; position: sticky !important; left: 0 !important; z-index: 25 !important; background: #0F3A5F !important; box-shadow: 4px 0 10px rgba(0,0,0,0.08) !important; }
    #commTableElement td.col-inst { min-width: 140px !important; max-width: 150px !important; position: sticky !important; left: 0 !important; z-index: 15 !important; background: #fff !important; box-shadow: 4px 0 10px rgba(0,0,0,0.08) !important; }
    #commTableElement tr:nth-child(even) td.col-inst { background: #fcfcfc !important; }
}

/* ==========================================================================
   12. RESPONSIVE RULES (DESKTOP >= 769px)
   ========================================================================== */
@media (min-width: 769px) {
    #commTableElement { min-width: 100% !important; table-layout: auto !important; width: 100% !important; }
    
    
}

/* ==========================================================================
   13. ULTRA-PREMIUM SAAS APPLICATION PORTAL (apply.php)
   ========================================================================== */
.checkout-container { max-width: 1400px; margin: 0 auto; padding: 50px 40px; }

/* The Fully Spaced Layout */
.checkout-layout { display: flex; align-items: flex-start; gap: 60px; }

.checkout-main { 
    flex: 1; 
    min-width: 0; 
    padding-right: 60px; 
    border-right: 1px solid #e2e8f0; 
}

.checkout-sidebar { 
    width: 440px; 
    flex-shrink: 0; 
    position: sticky; 
    top: 50px; 
    background: #fafcff; 
    border: 1px solid #e2e8f0; 
    border-radius: 16px; 
    padding: 30px; 
    display: flex; 
    flex-direction: column; 
    gap: 25px; 
    box-shadow: inset 0 2px 10px rgba(15, 58, 95, 0.02); 
}

/* Vertical Timeline Engine */
.checkout-step { display: flex; gap: 25px; margin-bottom: 40px; position: relative; }
.step-line { position: absolute; left: 19px; top: 45px; bottom: -45px; width: 2px; background: #e2e8f0; z-index: 1; transition: background 0.4s ease; }
.step-marker { width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; flex-shrink: 0; z-index: 2; box-shadow: 0 0 0 6px #f1f5f9; transition: background 0.4s ease; }

/* EdTech Soft Floating Cards */
.step-content { flex: 1; background: #fff; border-radius: 16px; padding: 40px; box-shadow: 0 15px 40px rgba(15,58,95,0.04); border: 1px solid rgba(15,58,95,0.05); }
.step-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.step-title { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; color: var(--navy); margin: 0; }

/* Micro-Interaction */
.auto-save-indicator { font-family: 'IBM Plex Sans', sans-serif; font-size: 12px; font-weight: 500; color: #10b981; display: flex; align-items: center; gap: 6px; opacity: 0; transition: opacity 0.3s; }
.auto-save-indicator.active { opacity: 1; }

/* Perfected Typography Inputs */
.chk-input-group { margin-bottom: 20px; }
.chk-label { display: block; font-family: 'IBM Plex Sans', sans-serif; font-size: 13px; font-weight: 500; color: var(--slate); margin-bottom: 8px; }
.chk-input { width: 100%; padding: 14px 18px; background: #f8fafc; border: 1px solid transparent; border-radius: 8px; font-family: 'IBM Plex Sans', sans-serif; font-size: 14px; color: var(--charcoal); transition: all 0.3s; box-sizing: border-box; }
.chk-input:focus { background: #fff; border-color: var(--gold); box-shadow: 0 4px 15px rgba(201,162,77,0.1); outline: none; }
.chk-input::placeholder { color: #cbd5e1; font-weight: 400; }
.chk-desc { font-family: 'IBM Plex Sans', sans-serif; font-size: 13px; font-weight: 400; color: var(--slate); margin: 0 0 20px 0; line-height: 1.5; }

/* Vault Grid */
.vault-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.dz-box { position: relative; background: #f8fafc; border: 2px dashed #cbd5e1; border-radius: 8px; padding: 25px 15px; text-align: center; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 120px; }
.dz-box:hover { border-color: var(--navy); background: #f0f9ff; box-shadow: 0 0 0 4px rgba(15, 58, 95, 0.05); transform: translateY(-2px); }
.dz-box input[type="file"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 10; }
.dz-icon { font-size: 24px; color: #94a3b8; margin-bottom: 12px; transition: 0.2s; }
.dz-box:hover .dz-icon { color: var(--navy); }
.dz-title { font-family: 'IBM Plex Sans', sans-serif; font-size: 13px; font-weight: 500; color: var(--navy); margin-bottom: 4px; }
.dz-sub { font-family: 'IBM Plex Sans', sans-serif; font-size: 11px; color: var(--slate); font-weight: 400; display: flex; align-items: center; gap: 4px; }

/* File Chips */
.file-vault-chips { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; width: 100%; z-index: 20; position: relative; }
.f-chip { display: flex; justify-content: space-between; align-items: center; background: #fff; border: 1px solid var(--border); border-left: 3px solid var(--gold); padding: 10px 14px; border-radius: 6px; font-family: 'IBM Plex Sans', sans-serif; font-size: 12px; font-weight: 500; color: var(--navy); box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.f-chip-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 85%; }
.f-chip-remove { color: #94a3b8; cursor: pointer; padding: 2px 5px; border-radius: 4px; transition: 0.2s; }
.f-chip-remove:hover { color: #ef4444; background: #fee2e2; }

/* Action Button */
.chk-submit-btn { width: 100%; justify-content: center; background: var(--navy); color: #fff; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 600; padding: 22px; border-radius: 12px; border: none; box-shadow: 0 10px 30px rgba(15,58,95,0.2); cursor: pointer; transition: 0.3s; margin-left: 65px; width: calc(100% - 65px); }
.chk-submit-btn:hover { background: #0a2742; transform: translateY(-2px); }

/* Sidebar Elements */
.chk-sidebar-title { font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; color: var(--navy); margin: 0 0 20px 0; padding-bottom: 15px; border-bottom: 1px dashed #e2e8f0; }

.chk-add-widget { display: flex; flex-direction: column; gap: 10px; }
.chk-select { width: 100%; padding: 12px 15px; background: #f8fafc; border: 1px solid transparent; border-radius: 8px; font-family: 'IBM Plex Sans', sans-serif; font-size: 13px; color: var(--charcoal); font-weight: 400; outline: none; transition: 0.3s; }
.chk-select:focus { border-color: var(--gold); background: #fff; box-shadow: 0 4px 15px rgba(201,162,77,0.1); }
.chk-select:disabled { opacity: 0.6; cursor: not-allowed; }
.chk-add-btn { background: #f0f9ff; color: var(--navy); border: 1px dashed #bae6fd; padding: 12px; border-radius: 8px; font-family: 'IBM Plex Sans', sans-serif; font-weight: 500; font-size: 13px; cursor: pointer; transition: all 0.3s; margin-top: 5px; }
.chk-add-btn:hover { border-color: var(--navy); background: var(--navy); color: #fff; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(15,58,95,0.15); }

/* EdTech Soft Guarantee Box */
.partner-guarantee-box { background: #fffbf0; border: 1px solid #fde68a; border-radius: 12px; padding: 25px; display: flex; flex-direction: column; gap: 12px; }
.pg-item { display: flex; align-items: center; gap: 12px; font-family: 'IBM Plex Sans', sans-serif; font-size: 12.5px; font-weight: 500; color: var(--navy); }
.pg-item i { color: var(--gold); font-size: 15px; width: 18px; text-align: center; }

/* Mobile Stacking for Checkout */
@media (max-width: 900px) {
    .checkout-container { padding: 30px 15px; }
    .checkout-layout { flex-direction: column; gap: 30px; }
    .checkout-sidebar { width: 100%; max-width: 100%; position: static; order: -1; margin-left: 0; margin-bottom: 20px; }
    .checkout-main { width: 100%; padding-right: 0; border-right: none; }
    .step-line { left: 19px; }
    .chk-submit-btn { margin-left: 0; width: 100%; }
    .step-content { padding: 25px; }
}

/* ==========================================================================
   14. CREATIVE STUDIO (creatives.php) - ZERO COGNITIVE LOAD UI
   ========================================================================== */

.cr-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 40px;
}

/* Merged Header & Search (Title Left, Search Right) */
.cr-header-minimal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 20px;
}

.cr-title-clean {
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--navy);
    margin: 0;
    letter-spacing: -0.5px;
}

/* Light, Unobtrusive Search Bar */
.cr-search-clean {
    position: relative;
    width: 320px;
}

.cr-search-clean i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 14px;
}

.cr-search-clean input {
    width: 100%;
    padding: 14px 20px 14px 45px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: var(--navy);
    outline: none;
    box-shadow: 0 4px 15px rgba(15, 58, 95, 0.03);
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.cr-search-clean input:focus {
    border-color: var(--gold);
    box-shadow: 0 4px 20px rgba(201, 162, 77, 0.15);
}

.cr-search-clean input::placeholder { color: #cbd5e1; font-weight: 500; }

/* Floating Tabs (No borders, just clean text) */
.cr-tabs-clean {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 15px;
    overflow-x: auto;
    scrollbar-width: none;
}
.cr-tabs-clean::-webkit-scrollbar { display: none; }

.cr-tab {
    background: transparent;
    border: none;
    color: #94a3b8;
    padding: 0 0 10px 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
    white-space: nowrap;
}

.cr-tab::after {
    content: '';
    position: absolute;
    bottom: -16px; /* Matches padding of container */
    left: 0;
    width: 0%;
    height: 3px;
    background: var(--gold);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cr-tab:hover { color: var(--gold); }
.cr-tab:hover::after { width: 100%; }
.cr-tab.active { color: var(--navy); }
.cr-tab.active::after { width: 100%; background: var(--navy); }

/* Dropdown in Header */
.cr-select {
    padding: 8px 15px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--navy);
    outline: none;
    cursor: pointer;
}

/* BULLETPROOF 6-COLUMN CSS GRID */
.cr-masonry {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
    align-items: start;
    width: 100%;
}

.cr-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    border: none;
    width: 100%; 
    box-shadow: 0 10px 30px rgba(15,58,95,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    cursor: default;
}

.cr-item:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 20px 40px rgba(15,58,95,0.15); 
    z-index: 10;
}

.cr-item img, .cr-item video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* Minimalist Video Badge */
.cr-video-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
    font-size: 11px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    pointer-events: none;
}

/* Centered Hover Download Button */
.cr-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15,58,95,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cr-item:hover .cr-overlay { opacity: 1; }

.cr-download-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ffffff;
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    transform: scale(0.8);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.2s;
}

.cr-item:hover .cr-download-btn { transform: scale(1); }
.cr-download-btn:hover { color: var(--gold); }

/* Strict Breakpoints to scale the Grid down safely */
@media (max-width: 1600px) { .cr-masonry { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 1300px) { .cr-masonry { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1000px) { .cr-masonry { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { 
    .cr-container { padding: 30px 20px; }
    .cr-header-minimal { flex-direction: column; align-items: flex-start; gap: 15px; }
    .cr-search-clean { width: 100%; }
    .cr-tabs-clean { justify-content: flex-start; gap: 20px; }
    .cr-masonry { grid-template-columns: repeat(2, 1fr); gap: 15px; } 
    .cr-item { margin-bottom: 15px; }
    .cr-overlay { opacity: 1; background: transparent; align-items: flex-end; justify-content: flex-end; padding: 15px; } 
    .cr-download-btn { transform: scale(1); width: 35px; height: 35px; font-size: 14px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
}

/* ==========================================================================
   15. RESOURCES HUB (resources.php) - ZERO COGNITIVE LOAD UI
   ========================================================================== */

.rs-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 40px;
}

/* Merged Header & Search (Title Left, Search Right) */
.rs-header-minimal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 20px;
}

/* ROLLED BACK TO PREFERRED 32PX DESIGN */
.rs-title-clean {
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--navy);
    margin: 0;
    letter-spacing: -0.5px;
    text-transform: none;
}

/* Light, Unobtrusive Search Bar */
.rs-search-clean {
    position: relative;
    width: 320px;
}

.rs-search-clean i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 14px;
}

.rs-search-clean input {
    width: 100%;
    padding: 14px 20px 14px 45px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: var(--navy);
    outline: none;
    box-shadow: 0 4px 15px rgba(15, 58, 95, 0.03);
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.rs-search-clean input:focus {
    border-color: var(--gold);
    box-shadow: 0 4px 20px rgba(201, 162, 77, 0.15);
}

.rs-search-clean input::placeholder { color: #cbd5e1; font-weight: 500; }

/* Floating Tabs (No borders, just clean text) */
.rs-tabs-clean {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 15px;
    overflow-x: auto;
    scrollbar-width: none;
}
.rs-tabs-clean::-webkit-scrollbar { display: none; }

.rs-tab {
    background: transparent;
    border: none;
    color: #94a3b8;
    padding: 0 0 10px 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
    white-space: nowrap;
}

.rs-tab::after {
    content: '';
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 0%;
    height: 3px;
    background: var(--navy);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rs-tab:not(.active):hover { color: var(--gold); }
.rs-tab:not(.active):hover::after { width: 100%; background: var(--gold); }
.rs-tab.active { color: var(--navy); }
.rs-tab.active::after { width: 100%; background: var(--navy); }

/* Starter Kit Button in Header (ROLLED BACK TO ORIGINAL) */
.rs-kit-btn {
    background: linear-gradient(135deg, var(--navy) 0%, #1e293b 100%);
    color: #fff;
    padding: 8px 18px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 4px 15px rgba(15, 58, 95, 0.2);
    transition: all 0.3s;
}
.rs-kit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(201, 162, 77, 0.3);
    border-color: var(--gold);
}

/* PREMIUM LEFT-ALIGNED GRID - STRICT 5 COLUMNS */
.rs-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); 
    gap: 20px;
}

/* NEW Card Layout */
.rs-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px 20px; 
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(15, 58, 95, 0.02);
}

.rs-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(15, 58, 95, 0.08);
    border-color: var(--gold);
}

/* Card Header (Icon Left, Badge Right) */
.rs-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 18px;
}

/* Premium Tinted Icon Box */
.rs-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

/* Restyled Badge */
.rs-badge {
    padding: 5px 8px;
    border-radius: 6px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0;
}

/* Card Body */
.rs-card-body {
    flex: 1;
    width: 100%;
}

.rs-card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    margin: 0;
    line-height: 1.4;
}

/* Card Footer (Separated Meta Text) */
.rs-card-footer {
    width: 100%;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px dashed #e2e8f0;
}

.rs-card-meta {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Hidden Action Drawer (The text-cutoff fix) */
.rs-card-action {
    width: 100%;
    background: #ffffff;
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, margin-top 0.3s ease;
    overflow: hidden;
}

.rs-card:hover .rs-card-action {
    max-height: 150px;
    opacity: 1;
    margin-top: 15px;
}

.rs-dl-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: var(--navy);
    color: #fff;
    padding: 10px 12px;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}

.rs-dl-btn:hover { background: var(--gold); }

/* Strict Breakpoints for Perfect Scaling */
@media (max-width: 1400px) { .rs-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1100px) { .rs-grid { grid-template-columns: repeat(3, 1fr); } .rs-title-clean { font-size: 32px; } }
@media (max-width: 800px) { .rs-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { 
    .rs-container { padding: 30px 20px; }
    .rs-header-minimal { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rs-search-clean { width: 100%; }
    .rs-grid { grid-template-columns: 1fr; gap: 15px; } 
    .rs-card { padding: 20px; }
    .rs-title-clean { font-size: 26px; }
    .rs-card-action { max-height: 150px; opacity: 1; margin-top: 15px; position: relative; border-top: none; }
}
/* ==========================================================================
   MASTERBOOK DESKTOP TABLE WIDTHS & BADGES
   ========================================================================== */
.ledger-table { table-layout: fixed; width: 100%; min-width: 1100px; }
.col-sn { width: 4%; }
.col-inst { width: 13%; }
.col-course { width: 14%; }
.col-level { width: 7%; }
.col-req { width: 10%; }
.col-eng { width: 7%; }
.col-dur { width: 10%; }
.col-fee { width: 8%; font-weight: 700; color: var(--navy); }
.col-arr { width: 7%; font-weight: 700; color: var(--navy); }
.col-intake { width: 10%; }
.col-pay { width: 7%; text-align: center !important; }
.col-action { width: 9%; text-align: center !important; }

.pay-visa-btn-yes {
    background: #ecfdf5;
    color: #059669;
    padding: 4px 10px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 11px;
    border: 1px solid #10b981;
    display: inline-block;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.1);
}

/* Table Header Height Fix */
.ledger-table th { 
    height: 60px !important; 
    vertical-align: middle !important; 
}

/* Action Buttons 12px Spacing Fix */
.action-btns-wrapper { 
    display: flex; 
    align-items: center; 
    justify-content: center !important;
    gap: 12px !important; 
}

/* ==========================================================================
   PREMIUM UX: ANIMATIONS, HOVERS & STICKY HEADER (CLEAN V2)
   ========================================================================== */

/* 1. Glassmorphism Sticky Table Header */
.ledger-table thead th {
    position: sticky;
    top: 0; 
    z-index: 10;
    background: #0a2742(15, 58, 95, 0.95) !important; /* Semi-transparent Navy */
    backdrop-filter: blur(8px); /* Blurs the rows as they slide under */
    -webkit-backdrop-filter: blur(8px);
}

/* 2. Magnetic Row Hover (Overrides conflicting transitions) */
.ledger-table tbody tr {
    transition: none !important; 
}
.ledger-table tbody tr:hover td {
    background-color: #f1f5f9 !important; 
}

/* 3. Tactile Action Buttons */
.wa-solid-btn, .sl-btn {
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.wa-solid-btn:hover, .sl-btn:hover {
    transform: scale(1.15); 
    cursor: pointer;
}

/* 4. Core Animation Keyframe */
@keyframes fadeSlideUp {
    0% { opacity: 0; transform: translateY(15px); }
    100% { opacity: 1; transform: translateY(0); }
}
/* ==========================================================================
   FOMO PSYCHOLOGY BADGES (GHOST OUTLINE PILL) - COMPACT
   ========================================================================== */
.fomo-badge {
    display: inline-block;
    margin-top: 4px; /* Slightly tighter top margin */
    padding: 2px 7px; /* Reduced padding to make the pill slimmer */
    border-radius: 50px; /* Perfect pill shape */
    font-size: 9px; /* Shrunk from 10px for a micro-badge look */
    font-weight: 700;
    letter-spacing: 0.3px; /* Tightened letter spacing so it doesn't stretch */
    white-space: nowrap;
    background: #ffffff; /* Clean white interior */
    text-transform: uppercase;
}

/* 1. Fast Track (Deep Gold/Amber) */
.fomo-badge-fast {
    color: #d97706; 
    border: 1px solid #d97706;
}

/* 2. High Demand (Crisp Red) */
.fomo-badge-high {
    color: #dc2626; 
    border: 1px solid #dc2626;
}

/* 3. Rolling Intake (Deep Indigo/Navy) */
.fomo-badge-roll {
    color: #4f46e5; 
    border: 1px solid #4f46e5;
}
/* ==========================================================================
   FLOATING INITIATE APPLICATION TAB (SCROLLBAR OFFSET APPLIED)
   ========================================================================== */
.initiate-app-floater {
    position: fixed; 
    right: 16px; /* Exactly clears the Windows Scrollbar */
    top: 50%; 
    transform: translateY(-50%); 
    background: rgba(15, 58, 95, 0.95); 
    color: #fff; 
    display: flex; 
    align-items: center; 
    border-radius: 50px 0 0 50px; 
    padding: 10px 14px; 
    cursor: pointer; 
    overflow: hidden; 
    width: 44px; 
    transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s; 
    z-index: 99991; 
    box-shadow: -4px 4px 15px rgba(0,0,0,0.15); 
    border: 1px solid var(--gold); 
    border-right: none; /* Keeps it looking attached to the scrollbar track */
}

.initiate-app-floater:hover {
    width: 175px; /* Reduced from 195px to cut out the dead space */
    background: var(--navy);
}

.initiate-app-floater i {
    font-size: 16px; 
    width: 16px; 
    text-align: center; 
    flex-shrink: 0; 
    margin: 0;
}

.initiate-app-text {
    font-family: 'Montserrat', sans-serif; 
    font-size: 10.5px; 
    font-weight: 600; 
    white-space: nowrap; 
    margin-left: 10px; 
    padding-right: 15px; 
    text-transform: uppercase; 
    opacity: 0; 
    transition: opacity 0.3s ease;
}

.initiate-app-floater:hover .initiate-app-text { 
    opacity: 1; 
}
/* ==========================================================================
   4. PRE-FLIGHT OVERLAY (PRESENTATION TRANSITION)
   ========================================================================== */
.pre-flight-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(15, 58, 95, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 999999; /* Sits above absolutely everything */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.pre-flight-overlay.active {
    opacity: 1;
    visibility: visible;
}

.pre-flight-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 32px;
    color: var(--gold);
    letter-spacing: 2px;
    margin-bottom: 15px;
    text-align: center;
    text-transform: uppercase;
    animation: pulseText 1.5s infinite;
}

.pre-flight-subtitle {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    color: #fff;
    opacity: 0.9;
    text-align: center;
}

.pre-flight-kbd {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.4);
    font-weight: bold;
    color: var(--gold);
    margin: 0 4px;
}

@keyframes pulseText {
    0% { opacity: 0.8; transform: scale(0.98); }
    50% { opacity: 1; transform: scale(1); }
    100% { opacity: 0.8; transform: scale(0.98); }
}
/* ==========================================================================
   LIVE CURRENCY HOVER TOOLTIP (PREMIUM UI)
   ========================================================================== */
.curr-convert {
    cursor: pointer;
    position: relative;
    display: inline-block;
    transition: color 0.2s ease;
}

.curr-convert:hover {
    color: var(--gold);
}

/* The Tooltip Box */
.curr-convert::after {
    content: attr(data-inr);
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--navy);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    border: 1px solid var(--gold);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 9999;
    pointer-events: none;
}

/* The Tooltip Tail — arrow pointing down toward the fee cell */
.curr-convert::before {
    content: '';
    position: absolute;
    bottom: calc(145% - 11px);
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: var(--navy) transparent transparent transparent;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 9999;
    pointer-events: none;
}

/* ONLY show the tooltip box if the 'data-inr' value exists */
.curr-convert[data-inr]:hover::after {
    visibility: visible;
    opacity: 1;
}

/* ONLY show the tooltip tail if the 'data-inr' value exists */
.curr-convert[data-inr]:hover::before {
    visibility: visible;
    opacity: 1;
}
/* =========================================================
   STRATEGY A: MINIMALIST DASHED PATH (CLEAN & CLINICAL)
========================================================= */
.roadmap-container {
    background: #fff;
    padding: 40px 30px;
    border-radius: 16px;
    border: 1px solid #f1f5f9; /* Extremely soft, almost invisible border */
    margin: 25px 0 40px 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02); /* Barely visible floating shadow */
}

.roadmap-title {
    font-size: 16px;
    color: var(--navy);
    font-weight: 700;
}

.dashed-stepper {
    position: relative;
    padding-top: 10px;
}

/* The Gold Dashed Flight Path */
.dash-line-bg {
    position: absolute;
    top: 32px; /* Perfect horizontal alignment with the center of the icons */
    left: 5%;
    right: 5%;
    height: 2px;
    border-top: 2px dashed var(--gold);
    z-index: 1;
    opacity: 0.7;
}

.dash-steps-wrapper {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.dash-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    cursor: pointer;
}

/* The Clean White Circles */
.dash-icon-wrapper {
    width: 46px;
    height: 46px;
    background: #fff;
    border: 2px solid var(--navy);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
    font-size: 16px;
    /* This invisible white shadow "cuts" the dashed line behind it */
    box-shadow: 0 0 0 6px #fff; 
    transition: all 0.3s ease;
}

/* Typography */
.dash-label {
    display: flex;
    flex-direction: column;
    padding: 0 5px;
}
.dash-num {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--slate);
    margin-bottom: 3px;
}
.dash-name {
    font-size: 12px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.3;
    transition: color 0.3s ease;
}

/* Subtle, Elegant Hover Interaction */
.dash-step:hover .dash-icon-wrapper {
    background: var(--navy);
    color: var(--gold);
    transform: scale(1.1);
    border-color: var(--navy);
}
.dash-step:hover .dash-name {
    color: var(--gold);
}

/* --- MOBILE: VERTICAL DASHED PATH --- */
@media (max-width: 768px) {
    .dash-line-bg {
        /* Flips the gold dashed line 90 degrees to run vertically */
        top: 10px;
        bottom: 30px;
        left: 23px; /* Aligns precisely through the center of the vertical icons */
        right: auto;
        width: 2px;
        height: auto;
        border-top: none;
        border-left: 2px dashed var(--gold);
    }

    .dash-steps-wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .dash-step {
        flex-direction: row;
        text-align: left;
        align-items: center;
        gap: 20px;
    }

    .dash-icon-wrapper {
        flex-shrink: 0; /* Prevents the circle from squishing on small phones */
        width: 40px;
        height: 40px;
        font-size: 14px;
        box-shadow: 0 0 0 4px #fff;
    }
}
/* =========================================================
   DASHBOARD GRID FADE OUT (SOFT MERGE TO FOOTER)
========================================================= */
.footer-grid-fade {
    height: 250px; /* INCREASED: Makes the fade transition much longer and softer */
    width: 100%;
    clear: both;
    
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    
    margin-top: -150px; /* INCREASED: Pulls the fade box much higher up over the grid lines */
    
    position: relative;
    z-index: 10; 
    pointer-events: none; 
}
/* =========================================================
   MASTERBOOK V5.1 UNIFIED COMMAND CENTER (DYNAMIC & COMPACT)
========================================================= */
.mb-v5-search-zone { position: relative; width: 100%; max-width: 900px; margin: 0 auto 30px auto; background: #ffffff; padding: 20px; border-radius: 16px; border: 1px solid #e2e8f0; box-shadow: 0 10px 30px rgba(15,58,95,0.05); }

/* Unified Main Bar */
.mb-v5-main-bar { display: flex; align-items: center; border: 1px solid #cbd5e1; border-radius: 12px; padding: 8px 8px 8px 18px; transition: 0.3s; background: #fff; position: relative; z-index: 100;}
.mb-v5-main-bar:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,162,77,0.1); }
.mb-v5-icon { color: var(--gold); font-size: 16px; margin-right: 12px; }
.mb-v5-main-bar input { flex: 1; border: none; outline: none; background: transparent; font-size: 15px; color: var(--navy); font-family: 'IBM Plex Sans', sans-serif; padding: 8px 0; }

/* Clear Input Button */
.mb-v5-clear-input { background: #f1f5f9; border: none; color: #94a3b8; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s; margin-right: 12px; outline: none; }
.mb-v5-clear-input:hover { background: #e2e8f0; color: #ef4444; }

/* Embedded Smart Toggle */
.mb-v5-smart-toggle { background: #f8fafc; border: 1px solid #cbd5e1; color: var(--navy); padding: 10px 18px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; transition: 0.2s; font-family: 'Montserrat', sans-serif; display: flex; align-items: center; gap: 8px; position: relative; }
.mb-v5-smart-toggle:hover { background: #f1f5f9; border-color: var(--navy); }
.mb-v5-smart-toggle.active-filters { border-color: var(--gold); background: #fffdf5; color: var(--navy); }

/* Notification Dot */
.mb-v5-filter-dot { position: absolute; top: -4px; right: -4px; width: 12px; height: 12px; background: #ef4444; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.mb-v5-smart-toggle.active-filters .mb-v5-filter-dot { display: block !important; }

/* Smart Panel (Compact Mode) */
.mb-v5-adv-panel { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; padding: 14px 18px; margin-top: 10px; display: flex; flex-direction: column; gap: 10px; }
.mb-v5-adv-header { font-size: 11px; font-weight: 700; color: var(--slate); text-transform: uppercase; letter-spacing: 0.5px; text-align: left; }
.mb-v5-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.mb-v5-select { padding: 8px 12px; border-radius: 6px; border: 1px solid #cbd5e1; background: #fff; color: var(--navy); font-size: 12px; font-weight: 500; outline: none; cursor:pointer; width: 100%; transition: 0.2s; }
.mb-v5-select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,77,0.1);}

/* Buttons */
.mb-v5-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; border-top: 1px solid #e2e8f0; padding-top: 12px; }
.mb-v5-btn-clear { background: transparent; color: var(--slate); border: 1px solid #cbd5e1; padding: 8px 18px; border-radius: 6px; font-weight: 600; font-size: 12px; cursor: pointer; transition: 0.2s; }
.mb-v5-btn-clear:hover { background: #f1f5f9; color: #ef4444; }
.mb-v5-btn-primary { background: var(--navy); color: #fff; border: none; padding: 8px 24px; border-radius: 6px; font-weight: 600; font-size: 12px; cursor: pointer; transition: 0.2s; box-shadow: 0 4px 10px rgba(15,58,95,0.2); }
.mb-v5-btn-primary:hover { background: var(--gold); color: var(--navy); }

/* Results Box */
.mb-v5-results-box { position: absolute; top: calc(100% + 10px); left: 0; right: 0; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.15); max-height: 400px; overflow-y: auto; z-index: 9999; text-align: left; }
.mb-v5-result-item { padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f5f9; cursor: pointer; transition: 0.2s; }
.mb-v5-result-item:hover { background: #f8fafc; border-left: 4px solid var(--gold); }
.mb-v5-left { display: flex; flex-direction: column; text-align: left; gap: 5px; }
.mb-v5-title { font-weight: 700; color: var(--navy); font-size: 14px; text-align: left; }
.mb-v5-inst { font-size: 12px; color: var(--slate); text-align: left; }
.mb-v5-dur { font-size: 11px; color: var(--gold); font-weight: 600; text-align: left; display: flex; align-items: center; gap: 4px; }
.mb-v5-right { background: #f1f5f9; padding: 6px 12px; border-radius: 6px; font-size: 11px; font-weight: 700; color: var(--slate); display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.mb-v5-view-more { width: 100%; padding: 15px; background: #f8fafc; border: none; color: var(--navy); font-weight: 700; font-size: 12px; cursor: pointer; text-transform: uppercase; }
.mb-v5-view-more:hover { color: var(--gold); }

/* =========================================================
   MASTERBOOK V6 SPOTLIGHT COMMAND CENTER
========================================================= */
.mb-v6-search-zone { position: relative; width: 100%; max-width: 950px; margin: 0 auto 30px auto; background: #ffffff; padding: 16px; border-radius: 16px; border: 1px solid #e2e8f0; box-shadow: 0 10px 30px rgba(15,58,95,0.05); }

/* Main Bar */
.mb-v6-main-bar { display: flex; align-items: center; border: 1px solid #cbd5e1; border-radius: 12px; padding: 6px 6px 6px 16px; transition: 0.3s; background: #fff; position: relative; z-index: 100;}
.mb-v6-main-bar:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,162,77,0.1); }
.mb-v6-icon { color: var(--gold); font-size: 16px; margin-right: 12px; }
.mb-v6-main-bar input { flex: 1; border: none; outline: none; background: transparent; font-size: 15px; color: var(--navy); font-family: 'IBM Plex Sans', sans-serif; padding: 8px 0; }

.mb-v6-clear-input { background: #f1f5f9; border: none; color: #94a3b8; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s; margin-right: 12px; outline: none; }
.mb-v6-clear-input:hover { background: #e2e8f0; color: #ef4444; }

.mb-v6-smart-toggle { background: #f8fafc; border: 1px solid #cbd5e1; color: var(--navy); padding: 8px 16px; border-radius: 8px; font-size: 12px; font-weight: 700; cursor: pointer; transition: 0.2s; display: flex; align-items: center; gap: 8px; position: relative; }
.mb-v6-smart-toggle:hover { background: #f1f5f9; border-color: var(--navy); }
.mb-v6-smart-toggle.active-filters { border-color: var(--gold); background: #fffdf5; color: var(--navy); }
.mb-v6-filter-dot { position: absolute; top: -4px; right: -4px; width: 10px; height: 10px; background: #ef4444; border: 2px solid #fff; border-radius: 50%; }
.mb-v6-smart-toggle.active-filters .mb-v6-filter-dot { display: block !important; }

/* =========================================================
   ULTRA-COMPACT SMART FILTERS
========================================================= */
.mb-v6-adv-panel { 
    margin-top: 10px; 
    padding-top: 12px; 
    border-top: 1px solid #f1f5f9; 
    padding-bottom: 60px; /* TRICKS BROWSER: Creates fake space to force dropdowns downward */
    margin-bottom: -60px; /* Pulls the layout back up so it doesn't look weird */
}

/* Forces all dropdowns into a tight, wrapping row */
.mb-v6-filter-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-start; }

/* Thin, compact pill-shaped dropdowns */
.mb-v6-select { 
    padding: 4px 24px 4px 10px; 
    border-radius: 6px; 
    border: 1px solid #cbd5e1; 
    background-color: #f8fafc; 
    color: var(--navy); 
    font-size: 11px; 
    font-weight: 600; 
    outline: none; 
    cursor: pointer; 
    transition: 0.2s; 
    width: auto; 
    max-width: 135px; 
    height: 28px; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
    appearance: none; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); 
    background-repeat: no-repeat; 
    background-position: right 6px center; 
    background-size: 12px; 
}
.mb-v6-select:focus, .mb-v6-select:hover { border-color: var(--gold); background-color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }

/* Buttons perfectly aligned to the right */
.mb-v6-filter-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; width: 100%; border-top: 1px dashed #f1f5f9; padding-top: 10px;}
.mb-v6-btn-clear { background: transparent; color: #94a3b8; border: 1px solid #e2e8f0; padding: 0 12px; border-radius: 6px; font-weight: 600; font-size: 11px; cursor: pointer; transition: 0.2s; height: 28px; display: flex; align-items: center; }
.mb-v6-btn-clear:hover { background: #fee2e2; color: #ef4444; border-color: #fca5a5; }
.mb-v6-btn-primary { background: var(--navy); color: #fff; border: none; padding: 0 16px; border-radius: 6px; font-weight: 600; font-size: 11px; cursor: pointer; transition: 0.2s; height: 28px; display: flex; align-items: center; }
.mb-v6-btn-primary:hover { 
    background: #0A2844; /* Darker, richer Navy */
    color: #ffffff; 
    transform: translateY(-1px); 
    box-shadow: 0 6px 12px rgba(15,58,95,0.25); 
}

/* SPOTLIGHT MODAL (Glass Blur & Scroll Lock) */
/* This class locks the background from scrolling */
body.mb-v6-modal-active { overflow: hidden !important; }

.mb-v6-modal-overlay { position: fixed; inset: 0; background: rgba(15, 30, 50, 0.4); backdrop-filter: blur(8px); z-index: 999999999 !important; display: flex; justify-content: center; align-items: flex-start; padding-top: 10vh; opacity: 0; transition: opacity 0.3s ease; }
.mb-v6-modal-content { background: #ffffff; width: 92%; max-width: 850px; border-radius: 16px; box-shadow: 0 25px 50px rgba(0,0,0,0.3); transform: translateY(-20px); transition: transform 0.3s ease; display: flex; flex-direction: column; max-height: 80vh; border: 1px solid rgba(255,255,255,0.2); overflow: hidden; }
.mb-v6-modal-overlay.show { opacity: 1; }
.mb-v6-modal-overlay.show .mb-v6-modal-content { transform: translateY(0); }

/* The New Navy Header */
.mb-v6-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background: var(--navy) !important; border-bottom: none; }
.mb-v6-modal-title { font-size: 15px; font-weight: 700; color: #ffffff !important; font-family: 'Montserrat', sans-serif !important; text-transform: uppercase; letter-spacing: 0.5px; }
.mb-v6-modal-close { background: rgba(255,255,255,0.15) !important; border: none; width: 32px; height: 32px; border-radius: 50%; color: #ffffff !important; cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.mb-v6-modal-close:hover { background: #ef4444 !important; color: #fff !important; }

.mb-v6-modal-body { padding: 10px 24px 24px 24px; overflow-y: auto; flex: 1; background: #ffffff; }
.mb-v6-result-item { padding: 16px 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f5f9; cursor: pointer; transition: 0.2s; }
.mb-v6-result-item:last-child { border-bottom: none; }
.mb-v6-result-item:hover { transform: translateX(5px); }
.mb-v6-left { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.mb-v6-title { font-weight: 700; color: var(--navy); font-size: 15px; }
.mb-v6-inst { font-size: 13px; color: var(--slate); }
.mb-v6-dur { font-size: 11px; color: var(--gold); font-weight: 700; display: flex; align-items: center; gap: 4px; }
.mb-v6-right { background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 700; color: var(--navy); display: flex; align-items: center; gap: 6px; }
.mb-v6-wa-copy { width: 32px; height: 32px; border-radius: 50%; background: #25D366; color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; transition: transform 0.2s, background 0.2s; box-shadow: 0 2px 6px rgba(37,211,102,0.3); }
.mb-v6-wa-copy:hover { background: #1da851; transform: scale(1.1); }
/* =========================================================
   UNIFIED CUSTOM UI DROPDOWNS & OVERRIDES
========================================================= */
.mb-v6-custom-dropdown { position: relative; width: auto; max-width: 145px; }
.mb-v6-custom-toggle { 
    padding: 4px 24px 4px 10px; border-radius: 6px; border: 1px solid #cbd5e1; 
    background-color: #f8fafc; color: var(--navy); font-size: 11px; font-weight: 600; 
    cursor: pointer; transition: 0.2s; height: 28px; text-overflow: ellipsis; 
    white-space: nowrap; overflow: hidden; display: flex; align-items: center;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); 
    background-repeat: no-repeat; background-position: right 6px center; background-size: 12px; 
}
.mb-v6-custom-toggle:hover { border-color: var(--gold); background-color: #fff; }
.mb-v6-custom-toggle.active { border-color: var(--gold); background-color: #fff; box-shadow: 0 0 0 2px rgba(201,162,77,0.1); }

/* LIGHTS UP THE FILTER WHEN IT IS TURNED ON (UPDATED) */
.mb-v6-custom-toggle.active-filter {
    border-color: var(--gold) !important;
    background-color: #fffdf5 !important; 
    color: var(--gold) !important;
    font-weight: 700 !important;
}
.mb-v6-custom-toggle.active-filter i {
    color: var(--gold) !important;
}

.mb-v6-custom-menu { 
    position: absolute; top: calc(100% + 4px); left: 0; min-width: 160px; max-width: 240px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); z-index: 99999; 
    max-height: 200px; overflow-y: auto; display: flex; flex-direction: column; 
}
/* Left-Aligned Options */
.mb-v6-custom-option { 
    padding: 10px 15px; 
    font-size: 12px; 
    font-weight: 500; 
    color: var(--navy); 
    cursor: pointer; 
    border-bottom: 1px solid #f8fafc; 
    transition: 0.2s; 
    text-align: left !important; /* Guaranteed Left Alignment */
    display: block;
    width: 100%;
}
.mb-v6-custom-option:hover { background: #f1f5f9; color: var(--gold); padding-left: 16px; }

/* THE HIGHLIGHT OVERRIDE CLASS */
.mb-row-pulse { border-left: 4px solid var(--gold) !important; }
.ledger-table tbody tr.mb-row-pulse td,
.ledger-table tbody tr.mb-row-pulse td.col-inst { 
    background-color: rgba(201, 162, 77, 0.4) !important; 
    transition: background-color 0.5s ease; 
}
/* =========================================================
   DOWNLOAD HUB MODAL (VERTICAL STACK) - GUARANTEED OVERRIDE
========================================================= */
.dl-modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 58, 95, 0.4) !important; 
    backdrop-filter: blur(8px) !important;
    z-index: 999999; display: flex; align-items: center; justify-content: center;
}
.dl-modal-content {
    background: #fff !important; border-radius: 12px !important; 
    width: 90% !important; max-width: 480px !important; /* Decreased width for tighter layout */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important;
    animation: slideUp 0.3s ease-out;
}
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.dl-modal-header {
    padding: 16px 24px; border-bottom: none;
    display: flex; justify-content: space-between; align-items: center; 
    background: var(--navy) !important; /* Navy Blue Header */
}
.dl-close-btn { font-size: 26px; color: rgba(255, 255, 255, 0.7); cursor: pointer; transition: 0.2s; line-height: 1; }
.dl-close-btn:hover { color: #ffffff; }

.dl-modal-body { padding: 24px; display: flex; flex-direction: column; }

/* TOP SECTION: QUICK DOWNLOAD (Ghost Button Style) */
.dl-section-top { text-align: center; }
.dl-btn-standard {
    width: 100%; padding: 12px; background: #ffffff; color: var(--navy);
    border: 2px solid var(--navy); border-radius: 8px; font-weight: 700; font-size: 13px;
    cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; gap: 8px;
}
.dl-btn-standard:hover { background: var(--navy); color: #ffffff; }

/* DIVIDER */
.dl-divider {
    text-align: center; margin: 24px 0; position: relative;
}
.dl-divider::before {
    content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #e2e8f0; z-index: 1;
}
.dl-divider span {
    position: relative; z-index: 2; background: #fff; padding: 0 12px;
    font-size: 11px; font-weight: 700; color: #94a3b8; letter-spacing: 1px;
}

/* BOTTOM SECTION (FORM) */
.dl-section-bottom { background: #fff; }
.dl-form-group { margin-bottom: 15px; }
.dl-input {
    width: 100%; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 6px;
    font-size: 12px; color: var(--navy); background: #f8fafc; transition: 0.2s;
    box-sizing: border-box;
}
.dl-input:focus { outline: none; border-color: var(--gold); background: #fff; box-shadow: 0 0 0 2px rgba(201,162,77,0.1); }

/* LOGO DROPZONE */
.dl-dropzone {
    border: 2px dashed #cbd5e1; border-radius: 8px; padding: 20px; text-align: center;
    background: #f8fafc; cursor: pointer; transition: 0.2s; margin-bottom: 20px;
}
.dl-dropzone:hover { border-color: var(--gold); background: #fff; }

.dl-btn-custom {
    width: 100%; padding: 14px; background: var(--navy); color: #fff;
    border: none; border-radius: 8px; font-weight: 600; font-size: 14px;
    cursor: pointer; transition: 0.2s; box-shadow: 0 4px 6px -1px rgba(15, 58, 95, 0.2);
}
.dl-btn-custom:hover { background: #0a2842; box-shadow: 0 10px 15px -3px rgba(15, 58, 95, 0.3); }

/* =========================================================
   MASTERBOOK SEARCH ENGINE UPGRADES (ICONS & PILLS)
   ========================================================= */

/* 1. Fix Icon Overlap */
.mb-v6-custom-toggle i {
    margin-right: 8px;
}
/* ==========================================
   MOBILE ONLY: SMART FILTERS SYMMETRY
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Force a perfect 2-column grid for the dropdowns */
    .mb-v6-filter-row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    /* 2. Make each dropdown fill its column exactly */
    .mb-v6-custom-dropdown {
        width: 100% !important;
        max-width: 100% !important; 
    }

    /* 3. Thicker, more premium touch targets for mobile */
    .mb-v6-custom-toggle {
        width: 100% !important;
        height: 38px !important; 
        justify-content: flex-start !important;
        padding: 8px 12px !important;
        font-size: 11.5px !important;
        box-sizing: border-box !important;
    }

    /* 4. Symmetrical 50/50 split for the Action Buttons */
    .mb-v6-filter-actions {
        display: flex !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .mb-v6-btn-clear, 
    .mb-v6-btn-primary {
        flex: 1 !important; /* Makes both buttons exactly 50% width */
        justify-content: center !important;
        height: 38px !important;
        font-size: 13px !important;
    }

    /* Convert Smart Search Button to Icon-Only */
    .mb-v6-smart-toggle {
        font-size: 0 !important; /* Safely makes the text invisible */
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-shrink: 0 !important;
    }

    .mb-v6-smart-toggle i {
        font-size: 16px !important; /* Keeps the filter icon visible */
        margin: 0 !important;
    }

    /* Restore the Container Margins (Prevents touching the screen edges) */
    .mb-v6-search-zone {
        width: calc(100% - 30px) !important; 
        margin: 0 auto 25px auto !important;
        padding: 12px !important;
        box-sizing: border-box !important;
    }

    /* Tighten the inner search bar spacing */
    .mb-v6-main-bar {
        padding: 5px 5px 5px 15px !important;
    }    
}
/* ==========================================
   MOBILE ONLY: REDUCE GAP ABOVE TOP COURSES
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Remove the 80px dead space below the Country Grid */
    .dashboard-section {
        padding-bottom: 20px !important; 
    }

    /* 2. Neutralize the inline top margin on the section container */
    .popular-section {
        margin-top: 10px !important;
    }

    /* 3. Shrink the 80px top margin on the text itself */
    .table-section-header {
        margin-top: 10px !important;
        /* Note: We are explicitly skipping margin-bottom so the table stays safe */
    }
}

/* ==========================================
   MOBILE ONLY: ULTRA-COMPACT DATA ROWS
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Flatter, tighter row container (Removes the bulky card feel) */
    .smart-row {
        padding: 10px 30px 10px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; /* FORCES LEFT ALIGNMENT */
        text-align: left !important;        /* FORCES LEFT ALIGNMENT */
        width: 100% !important;             /* STABILIZES THE WIDTH */
        box-sizing: border-box !important;
        gap: 2px !important; 
        border-radius: 8px !important;
        background: #fff !important;
        border: 1px solid #f1f5f9 !important;
        border-left: 3px solid var(--gold) !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
    }

    /* 2. Subtle Chevron pushed tight to the edge */
    .smart-row .fa-chevron-right {
        position: absolute !important;
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 11px !important;
        color: #cbd5e1 !important;
    }

    /* 3. Micro Flag & Country Tag */
    .st-location { margin: 0 !important; gap: 6px !important; }
    .st-flag { width: 14px !important; height: 14px !important; }
    .st-country-name { font-size: 9px !important; color: #94a3b8 !important; }

    /* 4. Crisp, compact Course Title */
    .st-course {
        font-size: 13px !important;
        line-height: 1.2 !important;
        margin: 2px 0 0 0 !important;
        padding-right: 0 !important;
    }

    /* 5. Subtle Institution Name */
    .smart-row > div:nth-child(2) .st-details {
        font-size: 10.5px !important;
        margin: 1px 0 !important;
    }

    /* 6. Specs on a single flat line (No more grey boxes or stacking) */
    .smart-row > div:nth-child(3) {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important; /* PREVENTS ICONS FROM CENTERING */
        gap: 10px !important;
        font-size: 10px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        margin: 2px 0 !important;
    }
    
    /* Forces Duration, Intake, IELTS to sit tightly next to each other */
    .smart-row > div:nth-child(3) div {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
    .smart-row > div:nth-child(3) i { width: auto !important; font-size: 9px !important; }

    /* 7. Tiny Visa Badge locked to the bottom */
    .st-visa { margin-top: 2px !important; }
    .fomo-badge {
        font-size: 8px !important;
        padding: 2px 6px !important;
        letter-spacing: 0 !important;
    }

    /* ==========================================
       MOBILE ONLY: EXACT HEADER MATCH (NORMALIZED)
       ========================================== */
       
    /* 1. Neutralize the unused class to prevent ghost text */
    body.presentation-active .header-brand::after {
        display: none !important;
    }

    /* 2. Lock the text to the exact physical dimensions of the normal logo */
    body.presentation-active .header::after {
        content: "STUDENT PROGRAM FINDER" !important;
        font-size: 20px !important;
        
        /* Mimics the height and flow of your normal logo */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 36px !important; /* Exact height of your normal logo */
        width: 100% !important;
        
        /* Removes all desktop overrides */
        position: static !important; 
        margin: 0 !important; 
        padding: 0 !important;
        white-space: nowrap !important;
    }

    /* ==========================================
       MOBILE ONLY: ENTERING PRESENTATION SCREEN
       ========================================== */
       
    .pre-flight-title { 
        font-size: 20px !important; /* Scales down the massive desktop heading */
        padding: 0 15px !important;
        margin-bottom: 10px !important;
        line-height: 1.3 !important;
    }
    
    .pre-flight-subtitle { 
        font-size: 13px !important; /* Makes the paragraph readable on narrow screens */
        padding: 0 20px !important; 
        line-height: 1.4 !important; 
    }
    
    .pre-flight-kbd { 
        font-size: 11px !important; /* Shrinks the little keyboard/action badge */
        padding: 4px 8px !important; 
    }
    /* ==========================================
       MOBILE ONLY: PRESENTATION BUTTON (HALF-PILL ICON ONLY)
       ========================================== */
       
    /* 1. Strictly hide the text */
    .fpb-text { 
        display: none !important; 
    }

    /* 2. Lock the width to prevent the button from expanding on hover/tap. 
          We do NOT touch border-radius, so your 50px 0 0 50px half-pill shape remains perfect. */
    .float-pres-btn, 
    .float-pres-btn:hover,
    body.presentation-active .float-pres-btn,
    body.presentation-active .float-pres-btn:hover { 
        width: 38px !important; 
        padding: 8px 12px !important; 
    }
    /* ==========================================
       MOBILE ONLY: SHIFT 'ENTER PRESENTATION' BUTTON DOWN
       ========================================== */
       
    /* Targets ONLY the default state button (normal mode) and safely pushes it down */
    body:not(.presentation-active) .float-pres-btn {
        margin-top: 90px !important; /* Safely nudges the button down away from the search bar */
    }
    
    
/* ==========================================
       MOBILE ONLY: ULTRA-COMPACT TIMELINES REVAMP
       ========================================== */
       
    /* 1. VISA TIMELINE - Micro-Stepper Layout */
    .velocity-box { 
        padding: 15px !important; /* Extreme padding reduction */
        border-radius: 10px !important;
    }
    
    .vb-timeline { 
        margin: 5px 0 !important; 
        position: relative !important;
        height: auto !important;
    }
    
    /* The connecting line - locked to the exact center of the new tiny dots */
    .vb-line { 
        width: 2px !important; 
        left: 11px !important; /* Dead center of 22px dot */
        top: 11px !important; 
        height: calc(100% - 22px) !important; 
    }
    
    .vb-nodes { 
        flex-direction: column !important; 
        gap: 12px !important; /* Smashed together vertically */
        align-items: flex-start !important; 
    }
    
    .vb-node { 
        display: flex !important; 
        flex-direction: row !important; 
        align-items: flex-start !important; /* Top-aligned so multiline text looks clean */
        gap: 12px !important; 
        width: 100% !important;
    }
    
    /* Shrunk the circles significantly to save vertical space */
    .vb-dot { 
        width: 22px !important; 
        height: 22px !important; 
        font-size: 10px !important; 
        margin: 0 !important; 
        flex-shrink: 0 !important; 
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .vb-text { 
        font-size: 12px !important; 
        line-height: 1.3 !important; 
        padding-top: 3px !important; /* Aligns text perfectly with the dot */
        white-space: normal !important; 
    }
    
    /* Total Time section squeezed tightly at the bottom */
    .vb-time { 
        text-align: left !important; 
        border-top: 1px dashed rgba(255,255,255,0.15) !important; 
        padding-top: 10px !important; 
        margin-top: 10px !important; 
        font-size: 11.5px !important;
        width: 100% !important;
    }

    /* 2. ROADMAP CONTAINER - Extreme Vertical Compression */
    .roadmap-container { 
        padding: 15px !important; 
        margin: 15px 0 !important; 
        border-radius: 10px !important;
    }
    
    .dash-steps-wrapper { 
        gap: 14px !important; /* Hugely reduced vertical spacing */
        position: relative !important;
    }
    
    /* Line adjusted for the smaller 28px icons */
    .dash-line-bg {
        left: 14px !important; 
        top: 14px !important; 
        bottom: 14px !important;
        width: 1.5px !important; /* Thinner line for a sleeker look */
    }
    
    .dash-step { 
        gap: 12px !important; 
        align-items: flex-start !important; 
    }
    
    /* Drastically shrunk the icons from 38px down to 28px */
    .dash-icon-wrapper { 
        width: 28px !important; 
        height: 28px !important; 
        font-size: 12px !important; 
        margin-top: 0 !important; 
        flex-shrink: 0 !important;
    }
    
    .dash-label { 
        padding: 0 !important; 
        margin-top: 0 !important;
    }
    
    .dash-name { 
        font-size: 12.5px !important; 
        line-height: 1.3 !important; 
        margin-bottom: 3px !important;
    }
    
    /* If you have descriptions in the roadmap, this shrinks them to save space */
    .dash-desc {
        font-size: 11px !important;
        line-height: 1.3 !important;
        opacity: 0.8 !important;
        margin: 0 !important;
    }

    /* ==========================================
       ROADMAP HEADER ALIGNMENT FIX
       ========================================== */
       
    .roadmap-container { 
        padding: 20px 15px !important; 
    }
    
    /* 1. Force Heading to the top, kill any floats */
    .roadmap-container h2,
    .roadmap-container h3,
    .roadmap-title {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        margin: 0 0 10px 0 !important;
        line-height: 1.3 !important;
        clear: both !important; /* Stops the badge from floating next to it */
    }

    /* 2. Force Badge to sit perfectly underneath the heading */
    .roadmap-container .tat-badge,
    .roadmap-container .tat-badge-navy,
    .roadmap-container .processing-time {
        display: inline-flex !important; /* Keeps the badge shape tight */
        align-items: center !important;
        margin: 0 0 25px 0 !important; /* 25px gap before the steps start */
        clear: both !important;
    }
    /* ==========================================
       MOBILE ONLY: HIDE JS NOTIFICATIONS
       ========================================== */
    .your-popup-class-name {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* ==========================================
       MOBILE ONLY: INITIATE APP BUTTON (HALF-PILL ICON ONLY)
       ========================================== */
       
    /* 1. Strictly hide the text */
    .initiate-app-text { 
        display: none !important; 
    }

    /* 2. Lock the width to prevent the button from expanding on hover/tap. 
          We do NOT touch border-radius, protecting your exact half-pill shape. */
    .initiate-app-floater, 
    .initiate-app-floater:hover { 
        width: 38px !important; 
        padding: 8px 12px !important; 
    }
}

/* ==========================================
       MOBILE ONLY: APPLY PAGE UI FIXES
       ========================================== */

    /* 1. Header & Assessment Badge Alignment */
    /* Turns the badge into a full-width, centered notification bar */
    .focus-cmd-bar .cmd-right .tat-badge-navy {
        width: 100% !important;
        text-align: center !important;
        padding: 8px 12px !important;
        background: #f0f9ff !important; 
        border: 1px dashed var(--navy) !important;
        color: var(--navy) !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        box-sizing: border-box !important;
        display: block !important;
    }
/* ==========================================
   MOBILE-ONLY: STABLE 2x2 GRID & CENTERED STEPS
   ========================================== */
@media screen and (max-width: 768px) {

    /* 1. RESET THE MAIN LAYOUT */
    .checkout-step {
        padding-left: 0 !important; 
        margin-left: 0 !important;
        width: 100% !important;
        display: block !important;
    }
    .step-line { display: none !important; }

    /* FIX 1: REMOVE SYNC BADGING (ONLY ON MOBILE) */
    .auto-save-indicator { display: none !important; }

    /* 2. POSITION MARKERS IN THE MIDDLE */
    .step-header {
        display: flex !important;
        flex-direction: column !important; 
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-bottom: 30px !important;
        width: 100% !important;
    }
    .step-marker {
        position: relative !important; 
        left: auto !important;
        top: auto !important;
        width: 36px !important;
        height: 36px !important;
        background: var(--navy) !important;
        color: #fff !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        margin: 0 auto 10px auto !important; 
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    }

    /* 3. PARTNER & STUDENT DETAILS: Full-Width Forms */
    .step-content div[style*="display:grid"],
    .step-content div[style*="display: grid"] {
        display: block !important; 
        width: 100% !important;
    }
    .chk-input-group { width: 100% !important; margin-bottom: 20px !important; text-align: left !important; }
    .chk-input { width: 100% !important; height: 50px !important; font-size: 16px !important; box-sizing: border-box !important; border-radius: 10px !important; }

    /* 4. STUDENT DOCUMENTS: THE PRO 2x2 STABILITY FIX */
    .vault-grid {
        display: grid !important;
        /* minmax(0, 1fr) is the PRO way to allow children to truncate/ellipsis */
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; 
        gap: 12px !important;
        width: 100% !important;
        padding: 0 !important;
        align-items: start !important;
    }

    .dz-box {
        width: 100% !important;
        min-height: 90px !important;
        padding: 10px 5px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .dz-icon { font-size: 22px !important; margin-bottom: 5px !important; }
    .dz-title { font-size: 12px !important; font-weight: 700 !important; margin: 0 !important; }
    .dz-sub { display: none !important; }

    /* FIX 2: SHORTEN THE FILENAMES (CHIPS) TO PREVENT MESSY DESIGN */
    .file-vault-chips {
        width: 100% !important;
        margin-top: 5px !important;
        overflow: hidden !important;
    }

    /* Target the text inside the chips created by handleVaultAppend */
    .file-vault-chips > div, 
    .file-vault-chips span {
        display: block !important;
        width: 100% !important;
        white-space: nowrap !important; /* Forces one single line */
        overflow: hidden !important;
        text-overflow: ellipsis !important; /* Replaces long file names with "..." */
        font-size: 10px !important;
        background: #e2e8f0 !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
        margin-top: 2px !important;
        box-sizing: border-box !important;
    }
}
/* ==========================================
   MOBILE ONLY: CREATIVES HEADER FIX
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Container: Allow wrapping and align items vertically */
    .focus-cmd-bar {
        height: auto !important;
        padding: 15px !important;
        position: relative !important;
    }

    .focus-cmd-bar .container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important; /* Locks title and arrow vertically */
    }

    /* 2. Left: Dashboard Button (Locked to left edge) */
    .focus-cmd-bar .cmd-left {
        position: absolute !important;
        left: 15px !important;
        z-index: 10 !important;
    }

    /* 3. Center: Title (Perfectly centered on screen) */
    .focus-cmd-bar .cmd-center {
        width: 100% !important;
        text-align: center !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
    }

    /* 4. Right: Filter Button (Dropped to next line) */
    .focus-cmd-bar .cmd-right {
        width: 100% !important;
        margin-top: 20px !important;
    }

    /* 5. Dotted badge style ONLY for the Filter dropdown */
    .cr-select {
        width: 100% !important;
        background: #f0f9ff !important; 
        border: 1px dashed var(--navy) !important;
        color: var(--navy) !important;
        padding: 12px !important;
        border-radius: 8px !important;
        text-align: center !important;
        text-align-last: center !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }
}
/* ==========================================
   MOBILE ONLY: CREATIVES SUBHEADING FIX
   ========================================== */
@media screen and (max-width: 768px) {
    .cr-title-clean {
        font-size: 20px !important; /* You can change 18px to 16px if you want it even smaller */
        margin-bottom: 5px !important;
    }
}

/* ==========================================
   RESOURCES PAGE - MOBILE OVERRIDES
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Force the button container to drop below the title */
    .cmd-right {
        width: 100% !important;
        margin-top: 15px !important;
        display: block !important;
    }

    /* 2. The Dashed Full-Width Button Design */
    .rs-kit-btn {
        width: 100% !important;
        text-align: center !important;
        padding: 10px 12px !important;
        background: #f0f9ff !important; 
        border: 1px dashed var(--navy) !important;
        color: var(--navy) !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        box-sizing: border-box !important;
        display: block !important;
        font-weight: 600 !important;
        box-shadow: none !important; /* Removes any default button shadow */
    }

    /* Keep the icon aligned with the text */
    .rs-kit-btn i {
        margin-right: 6px !important;
        font-size: 14px !important;
    }

    /* 3. Resizes the "Master Templates" heading */
    .rs-title-clean {
        font-size: 20px !important;
    }
}
/* ==========================================
   RESOURCES PAGE - MOBILE OVERRIDES
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Force the button container to drop below the title */
    .cmd-right { width: 100% !important; margin-top: 15px !important; display: block !important; }

    /* 2. The Dashed Full-Width Button Design */
    .rs-kit-btn { width: 100% !important; text-align: center !important; padding: 10px 12px !important; background: #f0f9ff !important; border: 1px dashed var(--navy) !important; color: var(--navy) !important; border-radius: 8px !important; font-size: 13px !important; box-sizing: border-box !important; display: block !important; font-weight: 600 !important; box-shadow: none !important; }
    .rs-kit-btn i { margin-right: 6px !important; font-size: 14px !important; }
    .rs-title-clean { font-size: 20px !important; }

    /* ==========================================
       MOBILE RESOURCES GRID (2-COLUMN FIX)
       ========================================== */
    .rs-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .rs-card { padding: 12px !important; }
    .rs-icon-box { width: 30px !important; height: 30px !important; font-size: 14px !important; }
    .rs-badge { font-size: 9px !important; padding: 2px 6px !important; }
    .rs-card-title { font-size: 12px !important; margin-top: 8px !important; line-height: 1.4 !important; }
    .rs-card-meta { font-size: 10px !important; margin-top: 5px !important; margin-bottom: 8px !important; }
    .rs-dl-btn { padding: 8px 10px !important; font-size: 11px !important; }

} /* <--- THIS BRACKET FIXES YOUR DESKTOP! It traps the 2-columns strictly to mobile. */

    /* ==========================================
   COUNTRY PAGE - MOBILE HEADER FIXES
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Spacing Fix: Move arrow left & force center block right */
    .focus-cmd-bar .cmd-left {
        left: 5px !important; /* Pushes the arrow further to the left edge */
    }
    
    .focus-cmd-bar .cmd-center {
        padding-left: 15px !important; /* Forces the Live Pulse and Title away from the left edge */
        box-sizing: border-box !important;
    }

    /* 2. Action Buttons: Perfect 50/50 Split with Dashed Navy Design */
    .focus-cmd-bar .cmd-right {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        width: 100% !important;
    }
    
    .focus-cmd-bar .cmd-right .action-btn {
        flex: 1 !important; /* Guarantees they sit side by side equally */
        justify-content: center !important;
        background: #f0f9ff !important; 
        border: 1px dashed var(--navy) !important; /* The dashed design */
        color: var(--navy) !important;
        padding: 10px 5px !important;
        border-radius: 8px !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        box-shadow: none !important;
    }
}

/* 3. Force Toast Notification to the Absolute Front on Mobile */
    #toast {
        z-index: 99999 !important; /* Forces it above all sticky headers and modals */
        bottom: 80px !important;   /* Lifts it safely above the iPhone/Android home bar */
    }

    /* ==========================================
   MOBILE ONLY: CENTER SEARCH MODAL
   ========================================== */
@media screen and (max-width: 768px) {
    .mb-v6-modal-overlay {
        align-items: center !important; /* Forces vertical centering */
        padding-top: 0 !important;      /* Removes the top-heavy offset */
    }
}

/* ==========================================
   COMMISSIONS PAGE - MOBILE OVERRIDES
   ========================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Resize the Main Heading */
    .comm-container h2 {
        font-size: 20px !important;
    }

    /* 2. Shrink the Table Container Width */
    /* Overrides the massive 1000px desktop width down to a compact 750px */
    #commTableElement {
        min-width: 700px !important; 
    }

    /* 3. Assign Custom, Tighter Widths to Each Column */
    #commThead th:nth-child(1) { width: 50px !important; }  /* Country */
    #commThead th:nth-child(2) { width: 100px !important; } /* Institution */
    #commThead th:nth-child(3) { width: 200px !important; } /* Course */
    #commThead th:nth-child(4) { width: 100px !important; } /* Fee */
    #commThead th:nth-child(5) { width: 100px !important; } /* Commissions */
    #commThead th:nth-child(6) { width: 100px !important; } /* Cut and Pay */
}
/* ==========================================
   COMMISSIONS PAGE - CENTER DATA COLUMNS
   ========================================== */
#commTableElement thead th:nth-child(5),
#commTableElement tbody td:nth-child(5),
#commTableElement thead th:nth-child(6),
#commTableElement tbody td:nth-child(6) {
    text-align: center !important;
    justify-content: center !important;
}
/* ==========================================================================
   MASTERBOOK: PROMO MODAL STYLING
   ========================================================================== */
.mb-promo-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(15, 58, 95, 0.4); /* Dark Navy Glass */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9999; /* Sits on top of EVERYTHING */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Hidden by default, animated by JS */
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
}

.mb-promo-overlay.show-promo {
    opacity: 1;
    visibility: visible;
}

.mb-promo-modal {
    background: var(--bg, #ffffff);
    width: 90%;
    max-width: 800px;
    border-radius: 20px;
    display: flex;
    overflow: hidden;
    position: relative;
    box-shadow: 0 40px 80px rgba(0,0,0,0.2);
    transform: translateY(30px);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mb-promo-overlay.show-promo .mb-promo-modal {
    transform: translateY(0); /* Slides up gently */
}

/* Modal Layout Grid */
.mb-promo-image {
    width: 50%;
    background: var(--navy);
}

.mb-promo-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; /* THIS IS THE FIX */
}

.mb-promo-content {
    width: 50%;
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Close Button */
.mb-promo-close {
    position: absolute;
    top: 15px; right: 15px;
    background: #f1f5f9;
    border: none;
    width: 35px; height: 35px;
    border-radius: 50%;
    color: var(--slate);
    font-size: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.mb-promo-close:hover {
    background: #fee2e2;
    color: #ef4444;
    transform: rotate(90deg);
}

/* Typography & Buttons */
.mb-promo-badge {
    background: rgba(201, 162, 77, 0.15);
    color: var(--gold);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: fit-content;
    margin-bottom: 15px;
}

.mb-promo-content h2 {
    color: var(--navy);
    margin: 0 0 15px 0;
    font-size: 28px;
    line-height: 1.2;
}

.mb-promo-content p {
    color: var(--slate);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 25px;
}

.mb-promo-btn {
    background: var(--navy);
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s;
    width: fit-content;
}
.mb-promo-btn:hover {
    background: var(--gold);
}

/* ==========================================================================
   MASTERBOOK: PROMO CAROUSEL (EXPERT SELF-BALANCING ARCHITECTURE)
   ========================================================================== */
.mb-promo-overlay {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(15, 58, 95, 0.6); backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px); z-index: 999999;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transition: all 0.4s ease-in-out;
}
.mb-promo-overlay.show-promo { opacity: 1; visibility: visible; }

.mb-promo-modal {
    background: var(--bg, #ffffff); 
    width: 90%; 
    max-width: 880px; /* Widened slightly to give text room, naturally creating a ~440x440 square */
    border-radius: 20px; position: relative; box-shadow: 0 40px 100px rgba(0,0,0,0.3);
    transform: translateY(30px); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
}
.mb-promo-overlay.show-promo .mb-promo-modal { transform: translateY(0); }

/* ── DESKTOP: SELF-BALANCING 50/50 SPLIT ── */
.mb-promo-slide {
    display: none; width: 100%; flex-direction: row; 
    align-items: stretch; /* THE DESKTOP FIX: Forces the image box and text box to be the exact same height */
    animation: promoFade 0.5s ease-in-out;
}
.mb-promo-slide.active { display: flex; }
@keyframes promoFade { from { opacity: 0; transform: translateX(15px); } to { opacity: 1; transform: translateX(0); } }

.mb-promo-image {
    width: 50%; 
    background: #f8fafc; flex-shrink: 0;
    display: flex; 
}
.mb-promo-image img {
    width: 100%; height: 100%; 
    object-fit: cover; /* Fills the container perfectly. Zero white gaps. */
    display: block;
}

.mb-promo-content {
    width: 50%; padding: 40px; 
    display: flex; flex-direction: column; justify-content: center;
    box-sizing: border-box;
}

/* Solid anchored close button */
.mb-promo-close {
    position: absolute; top: 15px; right: 15px;
    background: #f1f5f9; border: none; width: 36px; height: 36px;
    border-radius: 50%; color: var(--slate); font-size: 16px;
    cursor: pointer; transition: all 0.2s ease; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.mb-promo-close:hover { background: #fee2e2; color: #ef4444; transform: rotate(90deg); }

/* Controls aligned to the text side */
.mb-promo-controls {
    position: absolute; bottom: 20px; right: 25%; transform: translateX(50%);
    display: flex; gap: 8px; z-index: 10;
}
.mb-dot { width: 10px; height: 10px; background: rgba(15, 58, 95, 0.2); border-radius: 50%; cursor: pointer; transition: 0.3s; }
.mb-dot.active { background: var(--gold); width: 25px; border-radius: 10px; }

/* Typography */
.mb-promo-badge { background: rgba(201, 162, 77, 0.15); color: var(--gold); padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; width: fit-content; margin-bottom: 15px; }
.mb-promo-content h2 { color: var(--navy); margin: 0 0 10px 0; font-size: 26px; line-height: 1.2; font-family: 'Montserrat', sans-serif;}
.mb-promo-content p { color: var(--slate); font-size: 14px; line-height: 1.5; margin-bottom: 25px; font-family: 'IBM Plex Sans', sans-serif;}
.mb-promo-btn { background: var(--navy); color: #fff; padding: 14px 24px; border-radius: 10px; font-size: 14px; font-weight: bold; cursor: pointer; transition: 0.3s; width: fit-content; text-decoration: none; border: none; font-family: 'Montserrat', sans-serif; }
.mb-promo-btn:hover { background: var(--gold); }

/* ── MOBILE: STATIC COMPACT SQUARE (PERFECTLY CENTERED) ── */
@media screen and (max-width: 768px) {
    .mb-promo-overlay {
        height: 100dvh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
        box-sizing: border-box;
    }

    .mb-promo-modal { 
        width: 84%; 
        max-width: 305px;
        max-height: 85dvh; 
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        border-radius: 16px;
        margin: auto;
    }
    
    .mb-promo-slide.active { flex-direction: column; align-items: stretch; }
    
    .mb-promo-image { 
        width: 100%; 
        height: auto; 
        aspect-ratio: 1 / 1;
        flex-shrink: 0;
        border-bottom: 1px solid #e2e8f0;
    }
    
    .mb-promo-content { width: 100%; padding: 10px 16px 14px 16px; }
    .mb-promo-badge { font-size: 9.5px; padding: 3px 9px; margin-bottom: 5px; }
    .mb-promo-content h2 { font-size: 15px; margin-bottom: 4px; }
    .mb-promo-content p { font-size: 11px; margin-bottom: 8px; line-height: 1.35; }
    .mb-promo-btn { width: 100%; text-align: center; padding: 9px; font-size: 12px; margin-bottom: 0; }
    
    .mb-promo-close {
        top: 8px; right: 8px; width: 28px; height: 28px; font-size: 13px;
        background: rgba(255, 255, 255, 0.95); color: var(--navy); 
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }
    
    .mb-promo-controls { bottom: 8px; right: 50%; transform: translateX(50%); }
}
/* ==========================================
   MOBILE ONLY: SLEEK TOAST NOTIFICATIONS
   ========================================== */
@media screen and (max-width: 768px) {
    .toast, #toast {
        padding: 10px 20px !important;       
        font-size: 12px !important;        
        
        /* Raised to 90px so it perfectly clears the "View Shortlist" pill */
        bottom: 90px !important;             
        
        width: max-content !important;       
        max-width: 85vw !important;          
        white-space: nowrap !important;      
        overflow: hidden !important;         
        text-overflow: ellipsis !important;  
        box-sizing: border-box !important;
        
        /* Forces it above everything on the country page */
        z-index: 99999999 !important; 
        
        /* NOTE: We do NOT override 'transform' or 'display' here so the native JavaScript slide-up animation works flawlessly! */
    }
    
    .toast i, #toast i {
        font-size: 14px !important;
        margin-right: 4px !important;
    }
}
/* ==========================================================================
   COURSE COMPARISON MODAL
   ========================================================================== */
.cmp-modal {
    background: #fff;
    width: 96%;
    max-width: 1100px;
    max-height: 90vh;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin: auto;
    box-shadow: 0 25px 60px rgba(0,0,0,0.3);
}
.cmp-header {
    background: var(--navy);
    padding: 18px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
.cmp-title {
    color: #fff;
    margin: 0;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cmp-body {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
    background: #f8fafc;
}
.cmp-footer {
    padding: 16px 25px;
    background: #fff;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* Comparison table */
.cmp-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.cmp-table th {
    background: var(--navy);
    color: #fff;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cmp-table th.cmp-course-head {
    background: #0a2d4e;
    text-align: center;
    min-width: 200px;
}
.cmp-table td {
    padding: 12px 16px;
    font-size: 13px;
    color: var(--charcoal);
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}
.cmp-table tr:last-child td { border-bottom: none; }
.cmp-table tr:nth-child(even) td { background: #f8fafc; }
.cmp-table td.cmp-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: var(--navy);
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 130px;
    background: #f0f4f8;
    white-space: nowrap;
}
.cmp-table td.cmp-value {
    text-align: center;
    font-weight: 500;
}
.cmp-table td.cmp-value.highlight {
    color: #15803d;
    font-weight: 700;
}
.cmp-table td.cmp-value.gold {
    color: var(--gold);
    font-weight: 700;
}
.cmp-course-name {
    font-weight: 800;
    color: var(--navy);
    font-size: 13px;
    line-height: 1.3;
    margin-bottom: 4px;
}
.cmp-course-inst {
    font-size: 11px;
    color: var(--slate);
    font-weight: 600;
}
.cmp-empty {
    text-align: center;
    padding: 40px;
    color: var(--slate);
    font-size: 14px;
}
.cmp-empty i { font-size: 28px; color: #cbd5e1; display: block; margin-bottom: 10px; }

/* ── Clear Shortlist Custom Confirm Dialog ── */
.clr-confirm-box {
    background: #fff;
    border-radius: 20px;
    padding: 36px 32px 28px;
    width: 380px;
    max-width: 92%;
    margin: auto;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0,0,0,0.35);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.clr-confirm-icon {
    width: 64px;
    height: 64px;
    background: #fff1f1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: 2px solid #fecaca;
}
.clr-confirm-icon i { font-size: 24px; color: #ef4444; }
.clr-confirm-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--navy);
    margin: 0 0 12px 0;
}
.clr-confirm-msg {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: var(--slate);
    line-height: 1.6;
    margin: 0 0 28px 0;
}
.clr-confirm-btns { display: flex; gap: 10px; width: 100%; }
.clr-btn-cancel {
    flex: 1;
    padding: 13px 16px;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: 1.5px solid var(--border);
    background: #f8fafc;
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: all 0.2s;
}
.clr-btn-cancel:hover { background: #e2e8f0; }
.clr-btn-confirm {
    flex: 1;
    padding: 13px 16px;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    background: #ef4444;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transition: all 0.2s;
}
.clr-btn-confirm:hover { background: #dc2626; }
@media (max-width: 768px) {
    .clr-confirm-box { padding: 28px 20px 22px; border-radius: 16px; }
    .clr-confirm-icon { width: 56px; height: 56px; margin-bottom: 16px; }
    .clr-confirm-icon i { font-size: 20px; }
    .clr-confirm-title { font-size: 17px; }
    .clr-confirm-msg { font-size: 13px; margin-bottom: 22px; }
    .clr-btn-cancel, .clr-btn-confirm { padding: 12px 10px; font-size: 12px; }
}


/* Sub-header row and scroll hint — hidden on desktop, shown only on mobile */
.cmp-subhead-row { display: none; }
.cmp-opt-label, .cmp-opt-course, .cmp-opt-inst { display: none; }
.cmp-scroll-hint { display: none; }

/* ── Mobile Compare Modal ── */
@media (max-width: 768px) {
    .cmp-modal {
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .cmp-header {
        padding: 16px 18px;
        flex-shrink: 0;
    }
    .cmp-title { font-size: 14px; }

    /* Scroll hint bar */
    .cmp-scroll-hint {
        display: flex !important;
        padding: 8px 16px !important;
        font-size: 11px !important;
    }

    /* Body: takes all available space between header and footer */
    .cmp-body {
        flex: 1;
        padding: 12px;
        overflow-x: auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #f8fafc;
    }

    /* Inner wrapper */
    .cmp-table-inner {
        min-width: 480px;
        padding: 0;
    }

    /* Table resets */
    .cmp-table {
        font-size: 12px;
        table-layout: fixed;
        width: 100%;
        border-radius: 10px;
        overflow: hidden;
    }

    /* Sticky parameter column */
    .cmp-table th:first-child,
    .cmp-table td:first-child {
        position: sticky;
        left: 0;
        z-index: 3;
        width: 90px;
        min-width: 90px;
    }

    /* Standard header cells */
    .cmp-table th {
        padding: 12px 10px;
        font-size: 10px;
        letter-spacing: 0.3px;
    }
    .cmp-table th:first-child {
        background: #071f35;
        font-size: 9px;
        color: #ffffff;
    }

    /* Course name sub-header row */
    .cmp-table .cmp-subhead-row th {
        background: #0a2d4e;
        padding: 10px 10px;
        vertical-align: top;
        text-transform: none;
        letter-spacing: 0;
        font-size: 11px;
        min-width: 140px;
    }
    .cmp-table .cmp-subhead-row th:first-child {
        background: #071f35;
    }
    .cmp-opt-label {
        display: block;
        font-size: 9px;
        color: rgba(255,255,255,0.5);
        text-transform: uppercase;
        letter-spacing: 0.8px;
        margin-bottom: 4px;
    }
    .cmp-opt-course {
        display: block;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        line-height: 1.3;
        white-space: normal;
    }
    .cmp-opt-inst {
        display: block;
        font-size: 10px;
        color: rgba(255,255,255,0.6);
        margin-top: 3px;
        white-space: normal;
        font-family: 'IBM Plex Sans', sans-serif;
        font-weight: 400;
    }

    /* Data cells — more vertical breathing room */
    .cmp-table td {
        padding: 13px 10px;
        font-size: 12px;
        line-height: 1.5;
        text-align: center;
    }

    /* Sticky label cell */
    .cmp-table td.cmp-label {
        width: 90px;
        min-width: 90px;
        font-size: 9.5px;
        letter-spacing: 0.3px;
        background: #f0f4f8 !important;
        text-align: left;
        padding: 13px 8px;
        box-shadow: 2px 0 4px rgba(0,0,0,0.05);
        vertical-align: middle;
        white-space: normal;
        line-height: 1.4;
    }
    .cmp-table td.cmp-label i {
        display: block;
        margin-bottom: 3px;
        font-size: 9px;
    }
    .cmp-table tr:nth-child(even) td.cmp-label { background: #edf0f5 !important; }

    /* Footer */
    .cmp-footer {
        flex-direction: row;
        gap: 10px;
        padding: 16px;
        flex-shrink: 0 !important;
        border-top: 1px solid #e2e8f0;
        background: #fff;
    }
    .cmp-footer .action-btn {
        flex: 1;
        justify-content: center;
        padding: 13px 8px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        white-space: nowrap;
        text-align: center;
    }
}

/* ==========================================
   MOBILE: Shortlist footer buttons
   ========================================== */
@media (max-width: 768px) {
    .sl-footer {
        padding: 14px !important;
        gap: 8px !important;
    }
    .sl-footer .action-btn {
        flex: 1 !important;
        justify-content: center !important;
        padding: 12px 6px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }
    .sl-footer .action-btn i {
        font-size: 14px !important;
    }
    .sl-wa-btn {
        flex: 1 !important;
        justify-content: center !important;
        padding: 12px 6px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
    }
    .sl-wa-btn i {
        font-size: 14px !important;
    }
}
/* ══════════════════════════════════════════════════
   LEGAL MODALS — Privacy Policy & Terms of Use
══════════════════════════════════════════════════ */
.legal-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10,25,47,0.75);
    backdrop-filter: blur(4px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}
.legal-modal-box {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 580px;
    max-height: 88dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(10,25,47,0.3), 0 0 0 1px rgba(201,162,77,0.2);
}
.legal-modal-header {
    background: var(--navy);
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    border-bottom: 2px solid var(--gold);
}
.legal-modal-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}
.legal-modal-icon {
    font-size: 20px;
    color: var(--gold);
}
.legal-modal-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.legal-modal-close {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    transition: 0.2s;
    flex-shrink: 0;
}
.legal-modal-close:hover {
    background: var(--gold);
    color: var(--navy);
    border-color: var(--gold);
}
.legal-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13.5px;
    line-height: 1.75;
    color: #334155;
}
.legal-modal-body h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 22px 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f1f5f9;
}
.legal-modal-body p {
    margin-bottom: 12px;
    color: #475569;
}
.legal-modal-body ul {
    margin: 0 0 14px 18px;
    color: #475569;
}
.legal-modal-body ul li { margin-bottom: 5px; }
.legal-modal-body a { color: var(--navy); font-weight: 600; text-decoration: none; }
.legal-modal-body a:hover { color: var(--gold); }
.legal-modal-footer {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 11px;
    color: #94a3b8;
}
.legal-modal-btn {
    background: var(--navy);
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: 0.2s;
}
.legal-modal-btn:hover { background: var(--gold); color: var(--navy); }
@media (max-width: 768px) {
    .legal-modal-box { max-height: 92dvh; border-radius: 14px; }
    .legal-modal-header { padding: 16px 18px; }
    .legal-modal-body { padding: 18px 20px; font-size: 13px; }
    .legal-modal-title { font-size: 13px; }
    .legal-modal-footer { padding: 12px 18px; }
}