/* ======================================================================
   V158 — D'S EDUCATION ELITE EDTECH DESIGN SYSTEM
   Premium, mobile-first UI layer. Visual only; business logic untouched.
   Inspired by modern Indian EdTech products, with original D'S branding.
   ====================================================================== */
:root{
  --elite-ink:#0b1324;
  --elite-ink-2:#111c31;
  --elite-navy:#12223b;
  --elite-blue:#3b5cff;
  --elite-blue-2:#5b6df6;
  --elite-violet:#7c3aed;
  --elite-gold:#d4af37;
  --elite-gold-2:#f3cf63;
  --elite-green:#16a34a;
  --elite-red:#e5484d;
  --elite-cyan:#0891b2;
  --elite-bg:#f5f7fb;
  --elite-bg-2:#eef2f8;
  --elite-card:#ffffff;
  --elite-line:#e4e9f2;
  --elite-text:#13213a;
  --elite-muted:#6b7890;
  --elite-shadow:0 16px 45px rgba(22,34,58,.08);
  --elite-shadow-lg:0 28px 80px rgba(12,24,48,.14);
  --elite-radius:20px;
}

*{box-sizing:border-box}
html,body{min-height:100%;overflow-x:hidden}
body{background:var(--elite-bg);color:var(--elite-text)}
button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* ============================= PUBLIC ============================= */
.app-shell:not(.portal){background:var(--elite-bg)!important}
.app-shell:not(.portal) .topbar{
  min-height:34px;padding:7px 18px!important;
  background:linear-gradient(90deg,#0a1222,#16284a)!important;
  color:#dbe5f4!important;border:0!important;font-size:11px!important;
}
.public-header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(15,35,66,.08)!important;
  box-shadow:0 8px 30px rgba(18,32,58,.06)!important;
  backdrop-filter:blur(20px)!important;
}
.header-inner{max-width:1320px!important;padding:12px 22px!important}
.public-header .brand{gap:11px!important}
.public-header .logo{
  width:44px!important;height:44px!important;border-radius:14px!important;
  background:linear-gradient(145deg,#0a1222,#213b68)!important;
  border:1px solid rgba(212,175,55,.45)!important;
  color:var(--elite-gold-2)!important;
  box-shadow:0 10px 25px rgba(16,32,60,.16)!important;
}
.public-header .brand h1{font-size:16px!important;color:#0c1a30!important;font-weight:950!important;letter-spacing:-.2px}
.public-header .brand small{font-size:10px!important;color:#758299!important}
.public-header .nav{gap:3px!important}
.public-header .nav a{
  padding:9px 11px!important;border-radius:10px!important;color:#4a5870!important;
  font-size:12px!important;font-weight:800!important;transition:.18s ease!important;
}
.public-header .nav a:hover,.public-header .nav a.active{background:#eef2ff!important;color:#3348d8!important}
.public-header>.header-inner>.btn{border-radius:11px!important;padding:10px 15px!important}

/* Mobile public nav toggle */
.public-mobile-menu-btn{display:none!important}
.public-mobile-menu{display:none}

.hero{
  padding:86px 22px 78px!important;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 86% 12%,rgba(91,109,246,.32),transparent 25%),
    radial-gradient(circle at 7% 92%,rgba(212,175,55,.16),transparent 23%),
    linear-gradient(135deg,#07101e 0%,#0e1c34 48%,#172d52 100%)!important;
}
.hero:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-170px;top:-190px;pointer-events:none}
.hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(212,175,55,.10);border-radius:50%;left:-190px;bottom:-220px;pointer-events:none}
.hero-inner{max-width:1320px!important;grid-template-columns:minmax(0,1.12fr) minmax(360px,.78fr)!important;gap:62px!important;position:relative;z-index:1}
.hero .eyebrow{color:#f0ca57!important;font-size:11px!important;letter-spacing:2px!important}
.hero h2{font-size:clamp(42px,5.2vw,72px)!important;line-height:1.01!important;color:#fff!important;font-weight:950!important;letter-spacing:-2.8px!important;margin:14px 0 18px!important;max-width:780px!important}
.hero p{color:#b9c7da!important;font-size:16px!important;line-height:1.75!important;max-width:690px!important}
.hero-actions{gap:10px!important;margin-top:28px!important}
.hero-actions .btn{min-height:48px!important;border-radius:13px!important;padding:12px 18px!important}
.hero-actions .btn-primary{background:linear-gradient(135deg,#f2cc63,#c99a2c)!important;color:#111827!important;box-shadow:0 14px 30px rgba(212,175,55,.22)!important}
.hero-actions .btn-gold{background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important}
.hero-card{
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.14)!important;border-radius:26px!important;
  box-shadow:0 35px 90px rgba(0,0,0,.30)!important;padding:25px!important;
  backdrop-filter:blur(22px)!important;
}
.hero-card .metric{background:rgba(5,13,26,.46)!important;border-color:rgba(255,255,255,.10)!important;border-radius:15px!important}
.hero-card .metric strong{color:#fff!important}.hero-card .metric span{color:#aebbd0!important}
.hero-card>div:last-child{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(212,175,55,.06))!important;border:1px solid rgba(212,175,55,.22)!important}

.section{padding:76px 22px!important}
.section:nth-of-type(even){background:#fff!important}
.section-inner{max-width:1320px!important}
.section-title{max-width:760px;margin:0 auto 38px!important}
.section-title .eyebrow{color:#5c68d8!important}
.section-title h3{font-size:36px!important;color:#0d1c34!important;font-weight:950!important;letter-spacing:-1px!important}
.section-title p{font-size:14px!important;color:#748097!important;line-height:1.7!important}
.feature-grid{gap:20px!important}
.feature{
  padding:23px!important;border-radius:20px!important;background:#fff!important;
  border:1px solid var(--elite-line)!important;box-shadow:var(--elite-shadow)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.feature:hover{transform:translateY(-5px)!important;box-shadow:var(--elite-shadow-lg)!important;border-color:#d5dcff!important}
.feature .icon{background:linear-gradient(135deg,#eef1ff,#f7f2df)!important;color:#4854d6!important;border:1px solid #e2e5fb!important}
.feature h4{font-size:16px!important;color:#12223b!important}.feature p{color:#6d7a91!important}
.public-course-card,.public-resource-card,.public-mock-banner,.blog-public-card,.blog-resource-card,.contact-card{
  border-radius:22px!important;box-shadow:var(--elite-shadow)!important;border-color:var(--elite-line)!important;
}
.public-course-card{overflow:hidden!important}
.public-course-image{background:linear-gradient(135deg,#0a1222,#24406e)!important}
.footer{background:#081120!important;border-top:1px solid rgba(212,175,55,.18)!important;color:#aab8ca!important}

/* ============================= AUTH ============================== */
.auth-wrap{
  min-height:100dvh!important;padding:28px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(91,109,246,.24),transparent 25%),
    radial-gradient(circle at 88% 85%,rgba(212,175,55,.16),transparent 25%),
    linear-gradient(135deg,#07101e,#132849)!important;
}
.auth-card{
  width:min(500px,100%)!important;background:rgba(255,255,255,.97)!important;color:#13213a!important;
  border:1px solid rgba(255,255,255,.50)!important;border-radius:26px!important;
  box-shadow:0 35px 100px rgba(0,0,0,.28)!important;padding:32px!important;
}
.auth-card h2,.auth-card h3{color:#0c1a30!important;font-weight:950!important}.auth-card p,.auth-card small{color:#6d7a91!important}
.auth-card .field label{color:#33415b!important}.auth-card .field input,.auth-card .field select,.auth-card .field textarea{background:#f7f9fc!important;color:#13213a!important;border:1px solid #dfe5ef!important;border-radius:12px!important;padding:12px!important}
.auth-card .field input:focus,.auth-card .field select:focus,.auth-card .field textarea:focus{border-color:#5968e8!important;box-shadow:0 0 0 4px rgba(89,104,232,.11)!important}
.auth-card .btn-primary{background:linear-gradient(135deg,#4558df,#6b59e8)!important;color:#fff!important;box-shadow:0 12px 24px rgba(69,88,223,.22)!important}
.auth-card .btn-gold{background:#f5e9bb!important;color:#70530a!important}

/* ============================= PORTALS ============================ */
.portal{background:var(--elite-bg)!important;color:var(--elite-text)!important}
.sidebar{
  width:268px!important;padding:17px 12px!important;
  background:linear-gradient(180deg,#0a1222 0%,#101a2e 58%,#0b1425 100%)!important;
  border-right:1px solid rgba(255,255,255,.07)!important;box-shadow:12px 0 45px rgba(10,19,36,.12)!important;
}
.side-brand{padding:9px 10px 18px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.side-brand .logo{background:linear-gradient(145deg,#152442,#0c1729)!important;border:1px solid rgba(212,175,55,.48)!important;color:#f4d36d!important;box-shadow:0 8px 18px rgba(0,0,0,.20)!important}
.side-brand strong{color:#fff!important;font-size:14px!important;font-weight:950!important}.side-brand small{color:#91a0b7!important}
.menu-label{color:#687993!important;font-size:9px!important;letter-spacing:1.8px!important;padding:14px 11px 7px!important}
.side-link{padding:10px 12px!important;border-radius:12px!important;color:#b5c0d1!important;font-size:12px!important;font-weight:800!important}
.side-link:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.side-link.active{background:linear-gradient(90deg,rgba(91,109,246,.20),rgba(212,175,55,.06))!important;color:#fff!important;border:1px solid rgba(91,109,246,.18)!important;box-shadow:inset 3px 0 0 #6574ff!important}
.side-link.active span:first-child{filter:drop-shadow(0 0 5px rgba(212,175,55,.20))}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.08)!important}.sidebar-profile{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.08)!important}.sidebar-profile:hover,.sidebar-profile.active{background:rgba(91,109,246,.12)!important;border-color:rgba(91,109,246,.25)!important}
.sidebar-profile-text b{color:#fff!important}.sidebar-profile-text small{color:#8998af!important}.profile-arrow{color:#f1cb59!important}

.portal-main{margin-left:268px!important;width:calc(100% - 268px)!important;background:var(--elite-bg)!important}
.portal-top{
  height:72px!important;padding:0 28px!important;background:rgba(255,255,255,.90)!important;
  border-bottom:1px solid #e4e9f2!important;box-shadow:0 8px 28px rgba(21,34,57,.06)!important;
  backdrop-filter:blur(18px)!important;
}
.portal-top h2{color:#10203a!important;font-weight:950!important;font-size:20px!important}.portal-top .eyebrow{color:#6673df!important}
.mobile-brand-mini .logo{background:linear-gradient(145deg,#0a1222,#213a68)!important;border:1px solid rgba(212,175,55,.45)!important;color:#f3d066!important}
.mobile-profile-btn{background:#f4f6fb!important;border:1px solid #e0e6f0!important;color:#21324e!important}
.content{padding:28px!important;max-width:1600px!important;background:var(--elite-bg)!important;color:var(--elite-text)!important}
.page-head{margin-bottom:22px!important}.page-head h3{font-size:28px!important;color:#10203a!important;font-weight:950!important;letter-spacing:-.7px!important}.page-head p{color:#77839a!important}.page-head .eyebrow{color:#6470dc!important}

/* Hero blocks inside portals */
.portal-main .lead-hero,.portal-main .faculty-hero,.portal-main .fee-hero,.portal-main .expense-hero,.portal-main .student-hero,.portal-main .teacher-hero,.portal-main .learning-hero{
  background:radial-gradient(circle at 90% 5%,rgba(212,175,55,.22),transparent 24%),linear-gradient(135deg,#0a1426,#182d52 68%,#263c6d)!important;
  border:1px solid rgba(255,255,255,.08)!important;border-radius:24px!important;box-shadow:0 22px 55px rgba(10,22,45,.18)!important;color:#fff!important;
}
.portal-main .lead-hero h2,.portal-main .faculty-hero h2,.portal-main .fee-hero h2,.portal-main .expense-hero h2,.portal-main .student-hero h2,.portal-main .teacher-hero h2,.portal-main .learning-hero h2{color:#fff!important;font-weight:950!important}
.portal-main .lead-hero p,.portal-main .faculty-hero p,.portal-main .fee-hero p,.portal-main .expense-hero p,.portal-main .student-hero p,.portal-main .teacher-hero p,.portal-main .learning-hero p{color:#bdc9dc!important}

/* KPI / tile system */
.portal-main .kpi-grid{gap:15px!important}
.portal-main .kpi{
  background:#fff!important;border:1px solid var(--elite-line)!important;border-radius:18px!important;
  box-shadow:0 10px 28px rgba(22,34,58,.055)!important;padding:18px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.portal-main .kpi:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,34,58,.10)!important;border-color:#d8defb!important}
.portal-main .kpi:after{background:linear-gradient(135deg,rgba(91,109,246,.08),rgba(212,175,55,.09))!important}
.portal-main .kpi .kpi-icon{background:#eef1ff!important;color:#4a59d9!important;border:1px solid #e0e4ff!important}
.portal-main .kpi strong{color:#13213a!important}.portal-main .kpi span{color:#7b879b!important}
.portal-main .portal-tile,.portal-main .portal-tile-grid .portal-tile{
  background:#fff!important;border:1px solid var(--elite-line)!important;border-radius:19px!important;
  box-shadow:0 12px 30px rgba(22,34,58,.065)!important;min-height:145px!important;
}
.portal-main .portal-tile:hover{transform:translateY(-4px)!important;border-color:#cfd7ff!important;box-shadow:0 20px 42px rgba(22,34,58,.11)!important}
.portal-main .portal-tile-title,.portal-main .portal-tile strong{color:#14233c!important}.portal-main .portal-tile p,.portal-main .tile-copy small{color:#748198!important}
.portal-main .tile-icon,.portal-main .portal-tile-icon{background:linear-gradient(135deg,#eef1ff,#f9f1d9)!important;color:#4e5fe0!important;border:1px solid #e3e6fb!important;border-radius:13px!important}

/* Generic panels/cards */
.portal-main .panel,.portal-main .card,.portal-main .workspace-card,.portal-main .quick-panel,.portal-main .settings-card,.portal-main .faculty-summary-card,.portal-main .expense-panel,.portal-main .fee-panel,.portal-main .ledger-panel,.portal-main .result-card,.portal-main .task-card,.portal-main .live-card,.portal-main .subject-access-card,.portal-main .assignment-box,.portal-main .resource-card,.portal-main .folder-card,.portal-main .course-card,.portal-main .mini-course-card{
  background:#fff!important;color:#22314a!important;border:1px solid var(--elite-line)!important;border-radius:19px!important;box-shadow:0 10px 28px rgba(22,34,58,.055)!important;
}
.portal-main .panel{overflow:hidden!important}.portal-main .panel-head{background:linear-gradient(180deg,#fff,#fbfcff)!important;border-bottom:1px solid #e8ecf3!important;padding:17px 20px!important}.portal-main .panel-head h4,.portal-main .panel-head b,.portal-main .panel-head strong{color:#14233d!important}.portal-main .panel-head small,.portal-main .muted{color:#78859b!important}.portal-main .panel-body{color:#33415a!important}

/* Forms */
.portal-main .field label{color:#34425b!important;font-weight:850!important}.portal-main .field input,.portal-main .field select,.portal-main .field textarea,.portal-main .toolbar input,.portal-main .toolbar select,.portal-main .crm-toolbar select,.portal-main .crm-search,.portal-main .course-subject-picker select{
  background:#fbfcfe!important;color:#172640!important;border:1px solid #dfe5ef!important;border-radius:11px!important;
}
.portal-main .field input:focus,.portal-main .field select:focus,.portal-main .field textarea:focus,.portal-main input.input:focus,.portal-main select.input:focus,.portal-main textarea.input:focus{border-color:#5d6be5!important;box-shadow:0 0 0 4px rgba(93,107,229,.10)!important}
.portal-main input::placeholder,.portal-main textarea::placeholder{color:#9aa6b8!important}

/* Buttons */
.portal-main .btn-primary{background:linear-gradient(135deg,#4659df,#6b59e7)!important;color:#fff!important;border:0!important;box-shadow:0 9px 20px rgba(70,89,223,.17)!important}
.portal-main .btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 13px 26px rgba(70,89,223,.22)!important}
.portal-main .btn-gold{background:linear-gradient(135deg,#f3d16a,#d4a52f)!important;color:#172033!important;border:0!important;box-shadow:0 9px 20px rgba(212,175,55,.18)!important}
.portal-main .btn-soft{background:#f2f4fa!important;color:#394760!important;border:1px solid #dfe5ef!important}.portal-main .btn-danger{background:#fff0f1!important;color:#c5333a!important;border:1px solid #ffd5d8!important}
.portal-main .icon-btn{background:#f5f7fb!important;color:#33415b!important;border:1px solid #dfe5ef!important}.portal-main .icon-btn:hover{background:#eef1ff!important;color:#4659df!important;border-color:#cfd6ff!important}

/* Tables */
.portal-main .table-wrap{background:#fff!important;border-radius:16px!important}.portal-main .lead-table{background:#fff!important;color:#33415a!important}.portal-main .lead-table th{background:#f6f8fc!important;color:#6b7890!important;border-bottom:1px solid #e5eaf2!important}.portal-main .lead-table td{border-bottom:1px solid #eef1f5!important;color:#42506a!important}.portal-main .lead-table tr:hover{background:#f8faff!important}.portal-main .lead-table td b,.portal-main .lead-name,.portal-main .person-name-link b{color:#16263f!important}

/* Course / batch workspace */
.modal-backdrop{background:rgba(5,12,24,.68)!important;backdrop-filter:blur(10px)!important}
.modal,.modal.wide,.modal.narrow,.course-workspace{background:#fff!important;color:#26344d!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:24px!important;box-shadow:0 35px 100px rgba(8,18,38,.28)!important}
.modal-head{background:linear-gradient(135deg,#0b1526,#162b4c)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:#fff!important}.modal-head h3,.modal-head h2{color:#fff!important}.modal-head .course-sub{color:#afbdd0!important}
.modal-body{background:#fff!important;color:#26344d!important}.modal-foot{background:#fbfcff!important;border-top:1px solid #e7ebf2!important}
.course-workspace-body{background:#f5f7fb!important}.course-sidebar{background:#0c1525!important;border-right-color:#1f2e47!important}.course-sidebar-title{color:#fff!important}.course-tab{background:rgba(255,255,255,.04)!important;color:#aebbd0!important;border-color:rgba(255,255,255,.08)!important}.course-tab:hover,.course-tab.active{background:linear-gradient(90deg,rgba(91,109,246,.20),rgba(212,175,55,.07))!important;color:#fff!important;border-color:rgba(91,109,246,.30)!important}.course-panel{background:#f5f7fb!important;color:#26344d!important}.course-panel h3,.course-panel h4,.course-panel h5{color:#14233d!important}

/* Student / Teacher learning cards */
.portal-main .dashboard-course-tile,.portal-main .mini-course-card{background:#fff!important;border-color:#e2e7f0!important}.portal-main .dashboard-course-name,.portal-main .mini-course-card b{color:#14233d!important}.portal-main .dashboard-course-meta,.portal-main .mini-course-card small{color:#7b879b!important}
.portal-main .student-course-grid,.portal-main .student-dashboard-panels{gap:18px!important}

/* CRM / finance visual hierarchy */
.portal-main .crm-stage{background:#fff!important;border:1px solid #e1e6ef!important;box-shadow:0 7px 18px rgba(22,34,58,.04)!important}.portal-main .crm-stage span{color:#6e7b91!important}.portal-main .crm-stage strong{color:#16263f!important}.portal-main .crm-stage:hover{box-shadow:0 14px 28px rgba(22,34,58,.08)!important}
.portal-main .crm-toolbar{background:#fbfcff!important;border-bottom-color:#e6ebf2!important}.portal-main .crm-search{background:#fff!important}.portal-main .crm-search input{background:transparent!important;color:#172640!important}
.portal-main .fee-bar-track,.portal-main .crm-source-bar,.portal-main .bar{background:#edf1f6!important}.portal-main .crm-source-bar i,.portal-main .bar i{background:linear-gradient(90deg,#5164e8,#d4af37)!important}

/* E-books and content */
.portal-main .resource-card,.portal-main .folder-card{background:#fff!important;border-color:#e1e7ef!important}.portal-main .resource-card h4,.portal-main .folder-card h4,.portal-main .folder-main b{color:#16263f!important}.portal-main .resource-card p,.portal-main .folder-main small{color:#758298!important}.portal-main .folder-icon,.portal-main .resource-icon{background:linear-gradient(135deg,#eef1ff,#f8f1dc)!important;color:#4d5ddd!important;border-color:#e2e5fb!important}

/* AI */
.portal-main .shinu-bot,.portal-main .shinu-chat-panel,.portal-main .ai-panel,.portal-main .ai-admin-panel{background:#fff!important;color:#25334b!important;border-color:#e1e7ef!important;box-shadow:0 10px 28px rgba(22,34,58,.055)!important}.portal-main .shinu-msg,.portal-main .ai-msg{background:#f4f6fb!important;color:#25334b!important;border-color:#e5e9f1!important}.portal-main .shinu-student-input input,.portal-main .ai-input input{background:#fff!important;color:#172640!important;border-color:#dfe5ef!important}

/* Mock Test — retain the functional exam UI but give it the new elite identity */
.portal-main .mock-brand-hero,.portal-main .mock-hero,.portal-main .student-test-hero{background:radial-gradient(circle at 88% 8%,rgba(212,175,55,.22),transparent 24%),linear-gradient(135deg,#081323,#172c50 62%,#263c70)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:24px!important;box-shadow:0 24px 60px rgba(10,22,45,.18)!important}
.portal-main .mock-brand-hero h1,.portal-main .mock-hero h1,.portal-main .student-test-hero h1,.portal-main .mock-brand-copy,.portal-main .mock-brand-kicker{color:#fff!important}.portal-main .mock-brand-pills span,.portal-main .mock-stat,.portal-main .mock-quick,.portal-main .mock-cap{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#d9e3f0!important}
.portal-main .mock-folder,.portal-main .mock-folder-choice,.portal-main .test-folder-card,.portal-main .mock-course-card,.portal-main .mock-panel-wide,.portal-main .mock-side-panel{background:#fff!important;color:#24334b!important;border:1px solid #e1e7ef!important;box-shadow:0 10px 26px rgba(22,34,58,.055)!important}
.portal-main .mock-qbank-question-card,.portal-main .mt-qbank-card,.portal-main .question-card{background:#fff!important;color:#25334b!important;border:1px solid #e1e7ef!important;box-shadow:0 10px 28px rgba(22,34,58,.055)!important;border-radius:18px!important}
.portal-main .mock-qbank-question-card h4,.portal-main .mt-qbank-card h4,.portal-main .question-card h4{color:#15243d!important}

/* Result cards */
.portal-main .result-card-grid{gap:14px!important}.portal-main .result-card{background:#fff!important}.portal-main .result-card strong{color:#14233d!important}.portal-main .rank-card{background:linear-gradient(135deg,#fff9df,#fff)!important;border:1px solid #eddc9c!important}

/* Notices / empty states */
.portal-main .notice{background:#f0f5ff!important;color:#42516a!important;border-color:#dbe4fb!important;border-radius:13px!important}.portal-main .empty{background:#fbfcfe!important;color:#8995a7!important;border-color:#e3e8f0!important;border-radius:15px!important}
.portal-main .progress{background:#e9edf4!important}.portal-main .progress i{background:linear-gradient(90deg,#5164e8,#d4af37)!important}

/* Badges */
.portal-main .b-new{background:#eef3ff!important;color:#3e53d6!important;border-color:#dbe2ff!important}.portal-main .b-hot{background:#fff6e7!important;color:#a46608!important;border-color:#f6e2ba!important}.portal-main .b-demo{background:#f2edff!important;color:#6941c6!important;border-color:#e4d9ff!important}.portal-main .b-enrolled{background:#eaf8ef!important;color:#168042!important;border-color:#ccebd7!important}.portal-main .b-not{background:#fff0f1!important;color:#c5353d!important;border-color:#ffd9dc!important}.portal-main .b-call{background:#f0f2f6!important;color:#56657c!important;border-color:#e1e5ec!important}.portal-main .b-contact{background:#eaf8fb!important;color:#08758f!important;border-color:#cceef4!important}

/* ============================ MOBILE ============================== */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr!important;max-width:900px!important}.hero-card{max-width:760px;width:100%;margin:auto}.sidebar{width:min(300px,88vw)!important}.portal-main{margin-left:0!important;width:100%!important}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .public-mobile-menu-btn{display:grid!important;place-items:center;width:42px;height:42px;border:1px solid #dfe5ef;border-radius:12px;background:#f6f8fc;color:#24344f;font-size:20px}
  .header-inner{padding:10px 13px!important}.public-header .nav{display:none!important}.public-header.menu-open .nav{display:flex!important;order:4;width:100%;padding:8px 0 2px;overflow-x:auto;gap:5px;border-top:1px solid #eef1f5;margin-top:5px}.public-header.menu-open .nav a{flex:0 0 auto}
  .public-header>.header-inner{flex-wrap:wrap}.public-header>.header-inner>.btn{margin-left:auto!important}
  .hero{padding:58px 16px 54px!important}.hero h2{font-size:clamp(36px,9vw,58px)!important;letter-spacing:-1.9px!important}.hero p{font-size:15px!important}.hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.hero-actions .btn{width:100%!important;justify-content:center}
  .section{padding:58px 16px!important}.section-title{text-align:left!important;margin-left:0!important}.section-title h3{font-size:30px!important}
  .portal-top{height:68px!important;padding:0 15px!important}.content{padding:22px 15px 100px!important}.page-head{align-items:flex-start!important;flex-direction:column!important}.page-head .actions{width:100%!important;display:flex!important;flex-wrap:wrap!important}.page-head .actions .btn{flex:1 1 150px!important;justify-content:center!important}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.kpi{padding:15px!important}.kpi strong{font-size:23px!important}.two-col{grid-template-columns:1fr!important}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .settings-grid{grid-template-columns:1fr!important}.settings-card:nth-child(3){grid-column:auto!important}.form-grid{grid-template-columns:1fr!important}.field.full{grid-column:auto!important}
  .table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.lead-table{min-width:780px!important}
  .course-workspace{width:96vw!important;max-height:94dvh!important}.course-workspace-body{grid-template-columns:1fr!important}.course-sidebar{border-right:0!important;border-bottom:1px solid #1f2e47!important;max-height:210px!important;overflow:auto!important}
  .mobile-bottom-nav{display:grid!important;position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;height:68px!important;background:rgba(11,19,35,.94)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:20px!important;box-shadow:0 20px 50px rgba(8,18,38,.24)!important;backdrop-filter:blur(20px)!important;z-index:80!important;padding:7px!important}
  .mobile-nav-item{border:0!important;background:transparent!important;color:#8f9bb0!important;border-radius:14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-weight:850!important}.mobile-nav-item span{font-size:19px!important}.mobile-nav-item small{font-size:9px!important}.mobile-nav-item.active{background:linear-gradient(135deg,rgba(91,109,246,.28),rgba(212,175,55,.10))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(91,109,246,.22)!important}
  .sidebar{transform:translateX(-105%)!important;transition:transform .24s ease!important;box-shadow:25px 0 70px rgba(4,10,20,.32)!important}.sidebar.mobile-open{transform:translateX(0)!important}
}
@media(max-width:600px){
  .public-header .brand h1{font-size:14px!important}.public-header .brand small{font-size:8px!important}.public-header .logo{width:40px!important;height:40px!important}.public-mobile-menu-btn{width:40px;height:40px}.public-header>.header-inner>.btn{padding:9px 11px!important;font-size:11px!important}
  .hero{padding:46px 12px 42px!important}.hero h2{font-size:35px!important;letter-spacing:-1.3px!important}.hero-actions{grid-template-columns:1fr!important}.hero-card{padding:15px!important;border-radius:20px!important}.hero-card .mini-grid{gap:8px!important}.hero-card .metric{padding:12px!important}.hero-card .metric strong{font-size:21px!important}
  .section{padding:45px 12px!important}.section-title h3{font-size:26px!important}.feature-grid{grid-template-columns:1fr!important}.feature{padding:18px!important}
  .portal-top{height:62px!important}.mobile-brand-mini h2{font-size:15px!important}.mobile-brand-mini .eyebrow{font-size:8px!important}.content{padding:16px 10px 98px!important}.page-head h3{font-size:23px!important}.page-head p{font-size:11px!important;line-height:1.55!important}
  .kpi-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}.kpi{border-radius:15px!important;padding:13px!important}.kpi .kpi-icon{width:36px;height:36px;font-size:16px}.kpi strong{font-size:20px!important}.kpi span{font-size:9px!important}
  .portal-main .lead-hero,.portal-main .faculty-hero,.portal-main .fee-hero,.portal-main .expense-hero,.portal-main .student-hero,.portal-main .teacher-hero,.portal-main .learning-hero{border-radius:18px!important;padding:18px!important}
  .panel-head,.panel-body{padding:14px!important}.portal-main .panel{border-radius:16px!important}.portal-main .btn{min-height:41px!important}.portal-main .portal-tile{min-height:120px!important;padding:15px!important}
  .modal,.modal.wide,.modal.narrow{width:100vw!important;max-width:none!important;border-radius:20px 20px 0 0!important;margin-top:auto!important;max-height:96dvh!important}.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-foot{position:sticky;bottom:0;z-index:4}
  .mock-qbank-question-grid{grid-template-columns:1fr!important}.mock-qbank-question-card{padding:16px!important;border-radius:16px!important}.mock-qbank-question-card h4{font-size:15px!important;line-height:1.55!important}
}
@media(max-width:380px){
  .hero h2{font-size:31px!important}.kpi-grid{gap:7px!important}.mobile-bottom-nav{left:6px!important;right:6px!important;bottom:6px!important}.mobile-nav-item small{font-size:8px!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
