/* =====================================================================
   V159 — D'S EDUCATION SIGNATURE PREMIUM EDTECH SYSTEM
   Visual redesign only. Existing application logic/data is preserved.
   Design direction: clean white workspace + midnight navy + royal blue
   + warm gold + emerald. Built for fast, easy, premium daily use.
   ===================================================================== */
:root{
  --ds-navy:#071A36;
  --ds-navy-2:#0B2850;
  --ds-blue:#2563EB;
  --ds-blue-2:#3B82F6;
  --ds-blue-soft:#EEF4FF;
  --ds-gold:#E5B93F;
  --ds-gold-soft:#FFF7DF;
  --ds-green:#16A34A;
  --ds-green-soft:#EAF8EF;
  --ds-red:#E5484D;
  --ds-red-soft:#FFF0F1;
  --ds-purple:#6D5CE7;
  --ds-bg:#F6F8FC;
  --ds-card:#FFFFFF;
  --ds-line:#E3E8F0;
  --ds-text:#12233F;
  --ds-muted:#718096;
  --ds-shadow:0 8px 28px rgba(15,34,65,.06);
  --ds-shadow-lg:0 22px 60px rgba(15,34,65,.12);
  --ds-radius:18px;
}

html,body{background:var(--ds-bg)!important;color:var(--ds-text)!important}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
button,input,select,textarea{font-family:inherit!important}

/* ================================================================
   PUBLIC WEBSITE — PREMIUM EDTECH HOME
   ================================================================ */
.app-shell:not(.portal){background:#fff!important;color:var(--ds-text)!important}
.app-shell:not(.portal) .topbar{
  min-height:34px!important;height:auto!important;padding:8px 18px!important;
  background:var(--ds-navy)!important;color:#EAF2FF!important;border:0!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:.15px!important;
}
.app-shell:not(.portal) .topbar a{color:#9FC5FF!important}

.public-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #E8EDF4!important;
  box-shadow:0 5px 24px rgba(7,26,54,.05)!important;
  backdrop-filter:blur(18px)!important;
}
.header-inner{
  max-width:1380px!important;padding:13px 26px!important;min-height:72px!important;
}
.public-header .brand{gap:12px!important;min-width:235px!important}
.public-header .logo{
  width:46px!important;height:46px!important;border-radius:14px!important;
  background:linear-gradient(145deg,var(--ds-navy),#17477F)!important;
  border:1px solid rgba(229,185,63,.55)!important;color:#F7D76A!important;
  box-shadow:0 8px 20px rgba(7,26,54,.16)!important;
}
.public-header .brand h1{font-size:16px!important;line-height:1.15!important;color:var(--ds-navy)!important;font-weight:900!important;letter-spacing:-.25px!important}
.public-header .brand small{font-size:9px!important;color:#8190A6!important;font-weight:700!important;letter-spacing:.25px!important}
.public-header .nav{gap:3px!important;align-items:center!important}
.public-header .nav a{
  padding:10px 13px!important;border-radius:999px!important;color:#506079!important;
  font-size:12px!important;font-weight:800!important;transition:.18s ease!important;text-decoration:none!important;
}
.public-header .nav a:hover,.public-header .nav a.active{background:#EEF4FF!important;color:#1D4ED8!important}
.public-header>.header-inner>.btn{border-radius:999px!important;padding:11px 18px!important;font-size:12px!important}
.public-header>.header-inner>.btn.btn-gold{background:var(--ds-blue)!important;color:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.20)!important}
.public-header>.header-inner>.btn.btn-gold:hover{background:#1D4ED8!important}

.public-mobile-menu-btn{border-radius:12px!important;background:#F3F6FA!important;border:1px solid #DEE5EF!important;color:var(--ds-navy)!important}

/* Hero: clean, bright, big-brand composition */
.app-shell:not(.portal) .hero{
  padding:76px 24px 72px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 84% 20%,rgba(37,99,235,.10),transparent 25%),
    radial-gradient(circle at 5% 80%,rgba(229,185,63,.10),transparent 22%),
    linear-gradient(180deg,#F8FAFE 0%,#FFFFFF 100%)!important;
}
.app-shell:not(.portal) .hero:before{
  width:520px!important;height:520px!important;right:-180px!important;left:auto!important;top:-250px!important;
  border:1px solid rgba(37,99,235,.08)!important;background:none!important;
}
.app-shell:not(.portal) .hero:after{
  width:330px!important;height:330px!important;left:-190px!important;bottom:-230px!important;
  border:1px solid rgba(229,185,63,.12)!important;background:none!important;
}
.hero-inner{max-width:1380px!important;grid-template-columns:minmax(0,1.05fr) minmax(390px,.75fr)!important;gap:62px!important}
.app-shell:not(.portal) .hero .eyebrow{
  color:#1D4ED8!important;background:#EEF4FF!important;border:1px solid #D9E6FF!important;
  padding:7px 12px!important;border-radius:999px!important;font-size:10px!important;letter-spacing:1.5px!important;
}
.app-shell:not(.portal) .hero h2{
  color:var(--ds-navy)!important;-webkit-text-fill-color:initial!important;background:none!important;
  font-size:clamp(42px,5vw,70px)!important;line-height:1.03!important;font-weight:950!important;
  letter-spacing:-3px!important;max-width:820px!important;margin:16px 0 18px!important;
}
.app-shell:not(.portal) .hero h2 strong,.app-shell:not(.portal) .hero h2 span{color:var(--ds-blue)!important}
.app-shell:not(.portal) .hero p{color:#5D6B82!important;font-size:16px!important;line-height:1.75!important;max-width:680px!important;margin-bottom:0!important}
.hero-actions{gap:10px!important;margin-top:28px!important}
.hero-actions .btn{min-height:50px!important;padding:13px 20px!important;border-radius:12px!important;font-size:13px!important}
.hero-actions .btn-primary{background:linear-gradient(135deg,#2563EB,#3B82F6)!important;color:#fff!important;box-shadow:0 12px 26px rgba(37,99,235,.22)!important}
.hero-actions .btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 16px 30px rgba(37,99,235,.27)!important}
.hero-actions .btn-gold{background:#FFF6D9!important;color:#7A5A00!important;border:1px solid #F0D98A!important;box-shadow:none!important}
.hero-actions .btn-gold:hover{background:#FFEEB5!important}

.hero-card{
  position:relative!important;padding:18px!important;border-radius:24px!important;
  background:#fff!important;border:1px solid #E0E7F0!important;box-shadow:var(--ds-shadow-lg)!important;
}
.hero-card:before{content:"";display:block;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--ds-blue),var(--ds-gold));margin-bottom:18px}
.hero-card img{border-color:#fff!important;box-shadow:0 15px 35px rgba(7,26,54,.13)!important}
.hero-card .metric{background:#F8FAFD!important;border:1px solid #E7ECF3!important;border-radius:14px!important;padding:14px!important}
.hero-card .metric strong{color:var(--ds-navy)!important;font-size:23px!important}.hero-card .metric span{color:#7B8799!important;font-size:11px!important}
.hero-card>div:last-child{background:linear-gradient(135deg,var(--ds-navy),#123C70)!important;border:0!important;border-radius:14px!important;padding:14px!important}

/* Public sections */
.app-shell:not(.portal) .section{padding:70px 24px!important;background:#fff!important}
.app-shell:not(.portal) .section:nth-of-type(even){background:#F8FAFD!important}
.section-inner{max-width:1380px!important}
.section-title{text-align:center!important;margin:0 auto 38px!important}
.section-title .eyebrow{color:#2563EB!important;font-size:10px!important;letter-spacing:1.6px!important}
.section-title h3{font-size:36px!important;line-height:1.12!important;color:var(--ds-navy)!important;font-weight:950!important;letter-spacing:-1.2px!important;margin:9px 0!important}
.section-title p{color:#758298!important;max-width:680px!important;margin:0 auto!important;font-size:14px!important;line-height:1.7!important}
.feature-grid{gap:18px!important}
.feature{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:18px!important;box-shadow:var(--ds-shadow)!important;padding:22px!important}
.feature:hover{transform:translateY(-4px)!important;border-color:#C9D9FA!important;box-shadow:var(--ds-shadow-lg)!important}
.feature .icon{background:#EEF4FF!important;color:#2563EB!important;border:1px solid #DCE8FF!important}
.feature h4{color:var(--ds-navy)!important;font-size:16px!important}.feature p{color:#738198!important}
.public-course-card,.public-resource-card,.public-mock-banner,.blog-public-card,.blog-resource-card,.contact-card{
  border:1px solid #E1E7EF!important;border-radius:20px!important;box-shadow:var(--ds-shadow)!important;overflow:hidden!important;background:#fff!important;
}
.public-course-card:hover,.public-resource-card:hover{transform:translateY(-4px)!important;box-shadow:var(--ds-shadow-lg)!important;border-color:#C9D9FA!important}
.public-course-image{height:210px!important;background:linear-gradient(135deg,#0A2447,#1D5AA0)!important;overflow:hidden!important}
.public-course-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.public-course-card .icon{background:#F1F5FB!important;color:#1D4ED8!important}
.public-course-card .btn-primary{background:var(--ds-blue)!important;border-radius:10px!important}
.course-price{color:var(--ds-navy)!important;font-weight:950!important}
.footer{background:var(--ds-navy)!important;border-top:4px solid var(--ds-gold)!important;color:#C8D5E7!important}

/* Public content utility cards */
.app-shell:not(.portal) .badge{border-radius:999px!important}
.app-shell:not(.portal) .b-new{background:#EEF4FF!important;color:#1D4ED8!important;border-color:#D9E6FF!important}
.app-shell:not(.portal) .b-enrolled{background:#EAF8EF!important;color:#15803D!important;border-color:#CBECD6!important}

/* ================================================================
   AUTH — PREMIUM ADMISSION EXPERIENCE
   ================================================================ */
.auth-wrap{
  background:
    radial-gradient(circle at 10% 15%,rgba(37,99,235,.13),transparent 25%),
    radial-gradient(circle at 90% 85%,rgba(229,185,63,.12),transparent 25%),
    linear-gradient(135deg,#F5F8FD,#fff)!important;
}
.auth-card{border:1px solid #E1E7F0!important;border-radius:24px!important;box-shadow:var(--ds-shadow-lg)!important;padding:32px!important}
.auth-card h2,.auth-card h3{color:var(--ds-navy)!important;font-weight:950!important}
.auth-card .btn-primary{background:linear-gradient(135deg,#2563EB,#3B82F6)!important}
.auth-card .btn-gold{background:#FFF5D7!important;color:#765800!important;border:1px solid #F0D98A!important}
.auth-card .field input,.auth-card .field select,.auth-card .field textarea{background:#FBFCFE!important;border:1px solid #DDE4ED!important;border-radius:11px!important}
.auth-card .field input:focus,.auth-card .field select:focus,.auth-card .field textarea:focus{border-color:#5B8DEF!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important}

/* ================================================================
   PORTALS — BIG-BRAND PRODUCT DASHBOARD
   ================================================================ */
.portal{background:#F5F7FB!important}
.sidebar{
  width:255px!important;padding:16px 12px!important;
  background:linear-gradient(180deg,#071A36 0%,#0A2347 55%,#071A36 100%)!important;
  border-right:1px solid rgba(255,255,255,.07)!important;box-shadow:12px 0 35px rgba(7,26,54,.12)!important;
}
.side-brand{padding:9px 10px 18px!important;margin-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.side-brand .logo{background:linear-gradient(145deg,#102D55,#0A1D37)!important;border:1px solid rgba(229,185,63,.55)!important;color:#F6D76A!important}
.side-brand strong{font-size:13px!important;color:#fff!important}.side-brand small{color:#91A6C0!important;font-size:9px!important}
.menu-label{font-size:9px!important;letter-spacing:1.7px!important;color:#6F89A7!important;padding:14px 10px 7px!important}
.side-link{padding:10px 11px!important;margin:2px 0!important;border-radius:10px!important;color:#B7C6D8!important;font-size:12px!important;font-weight:750!important}
.side-link:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.side-link.active{background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.06))!important;color:#fff!important;box-shadow:inset 3px 0 0 #4B83FF!important}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.09)!important}
.sidebar-profile{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important}
.sidebar-profile:hover,.sidebar-profile.active{background:rgba(37,99,235,.14)!important;border-color:rgba(75,131,255,.35)!important}
.sidebar-profile-text b{color:#fff!important}.sidebar-profile-text small{color:#8EA2BB!important}.profile-arrow{color:#E8C75A!important}

.portal-main{margin-left:255px!important;width:calc(100% - 255px)!important;background:#F5F7FB!important}
.portal-top{
  height:72px!important;padding:0 28px!important;background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid #E5EAF1!important;box-shadow:0 4px 20px rgba(15,34,65,.045)!important;backdrop-filter:blur(18px)!important;
}
.portal-top h2{font-size:20px!important;color:var(--ds-navy)!important;font-weight:900!important;letter-spacing:-.3px!important}
.portal-top .eyebrow{color:#64748B!important;font-size:9px!important;letter-spacing:1.5px!important}
.mobile-profile-btn{border:1px solid #E0E6EE!important;background:#F6F8FB!important;border-radius:11px!important}
.content{padding:28px!important;max-width:1600px!important;background:#F5F7FB!important}
.page-head{margin-bottom:22px!important}.page-head h3{font-size:28px!important;color:var(--ds-navy)!important;font-weight:950!important;letter-spacing:-.8px!important}.page-head p{color:#78859A!important;font-size:12px!important}.page-head .eyebrow{color:#2563EB!important;font-size:9px!important;letter-spacing:1.6px!important}

/* Dashboard hero */
.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:linear-gradient(110deg,#071A36 0%,#0D3261 58%,#1C5BA0 100%)!important;
  border:0!important;border-radius:22px!important;box-shadow:0 20px 50px rgba(7,26,54,.18)!important;color:#fff!important;position:relative!important;overflow:hidden!important;
}
.portal-main .lead-hero:after,.portal-main .faculty-hero:after,.portal-main .fee-hero:after,.portal-main .expense-hero:after,.portal-main .student-hero:after,.portal-main .teacher-hero:after,.portal-main .learning-hero:after{
  content:"";position:absolute;right:-90px;top:-100px;width:260px;height:260px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018);pointer-events:none;
}
.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:#C8D7EA!important}

/* KPI cards */
.portal-main .kpi-grid{gap:14px!important}
.portal-main .kpi{
  background:#fff!important;border:1px solid #E2E8F0!important;border-radius:16px!important;box-shadow:var(--ds-shadow)!important;padding:17px!important;min-height:125px!important;transition:.18s ease!important;
}
.portal-main .kpi:hover{transform:translateY(-3px)!important;box-shadow:0 16px 36px rgba(15,34,65,.10)!important;border-color:#CBD9F6!important}
.portal-main .kpi:after{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(229,185,63,.12))!important}
.portal-main .kpi .kpi-icon{background:#EEF4FF!important;color:#2563EB!important;border:1px solid #DDE9FF!important}
.portal-main .kpi strong{color:var(--ds-navy)!important;font-size:27px!important}.portal-main .kpi span{color:#77849A!important}

/* Feature tiles — make feature-rich portal easier to scan */
.portal-main .portal-tile,.portal-main .portal-tile-grid .portal-tile{
  background:#fff!important;border:1px solid #E2E8F0!important;border-radius:17px!important;box-shadow:var(--ds-shadow)!important;min-height:142px!important;position:relative!important;overflow:hidden!important;
}
.portal-main .portal-tile:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#2563EB,#E5B93F);opacity:0;transition:.18s ease}
.portal-main .portal-tile:hover{transform:translateY(-4px)!important;border-color:#CBD9F6!important;box-shadow:0 18px 38px rgba(15,34,65,.10)!important}
.portal-main .portal-tile:hover:before{opacity:1}
.portal-main .portal-tile-title,.portal-main .portal-tile strong{color:#132641!important;font-weight:900!important}.portal-main .portal-tile p,.portal-main .tile-copy small{color:#77849A!important}
.portal-main .tile-icon,.portal-main .portal-tile-icon{background:#EEF4FF!important;color:#2563EB!important;border:1px solid #DDE8FF!important;border-radius:13px!important}

/* Generic panels / workspaces */
.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:#253650!important;border:1px solid #E1E7EF!important;border-radius:17px!important;box-shadow:var(--ds-shadow)!important;
}
.portal-main .panel-head{background:linear-gradient(180deg,#fff,#FBFCFE)!important;border-bottom:1px solid #E9EDF3!important;padding:16px 19px!important}
.portal-main .panel-head h4,.portal-main .panel-head b,.portal-main .panel-head strong{color:#132641!important}.portal-main .panel-head small{color:#7B879A!important}.portal-main .panel-body{color:#34435A!important}

/* Course cards — visually rich but scannable */
.portal-main .course-card{overflow:hidden!important;padding:0!important}
.portal-main .course-card .course-cover{height:155px!important;background:linear-gradient(135deg,#0B2850,#2563EB)!important;position:relative!important}
.portal-main .course-card .course-cover img{width:100%!important;height:100%!important;object-fit:cover!important}
.portal-main .course-card .course-top,.portal-main .course-card>h4,.portal-main .course-card>p,.portal-main .course-card>.mini-stats,.portal-main .course-card>.course-price,.portal-main .course-card>.btn{margin-left:18px!important;margin-right:18px!important}
.portal-main .course-card .course-top{margin-top:13px!important}.portal-main .course-card>h4{font-size:17px!important;color:var(--ds-navy)!important}.portal-main .course-card>p{font-size:12px!important;line-height:1.55!important;color:#77849A!important;min-height:38px!important}
.portal-main .course-card .mini-stats{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.portal-main .course-card .mini-stats span{background:#F4F7FB!important;border:1px solid #E6EBF2!important;border-radius:999px!important;padding:5px 8px!important;color:#607087!important;font-size:9px!important}
.portal-main .course-card>.btn:last-child{margin-bottom:18px!important}

/* Forms */
.portal-main .field label{color:#34435A!important;font-size:11px!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:#172A46!important;border:1px solid #DDE4ED!important;border-radius:10px!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:#5A86E8!important;box-shadow:0 0 0 4px rgba(37,99,235,.09)!important}
.portal-main input::placeholder,.portal-main textarea::placeholder{color:#A0AABA!important}

/* Buttons */
.portal-main .btn-primary{background:linear-gradient(135deg,#2563EB,#3B82F6)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(37,99,235,.16)!important;border-radius:10px!important}
.portal-main .btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 12px 24px rgba(37,99,235,.22)!important}
.portal-main .btn-gold{background:linear-gradient(135deg,#F1CF68,#DFAF35)!important;color:#18243A!important;border:0!important;box-shadow:0 8px 18px rgba(229,185,63,.16)!important;border-radius:10px!important}
.portal-main .btn-soft{background:#F2F5F9!important;color:#40506A!important;border:1px solid #DEE5EE!important;border-radius:10px!important}
.portal-main .btn-danger{background:#FFF0F1!important;color:#C5343C!important;border:1px solid #FFD5D9!important;border-radius:10px!important}
.portal-main .icon-btn{background:#F5F7FA!important;color:#3D4D65!important;border:1px solid #DFE5ED!important;border-radius:9px!important}
.portal-main .icon-btn:hover{background:#EEF4FF!important;color:#2563EB!important;border-color:#CFE0FF!important}

/* Tables: clean enterprise style */
.portal-main .table-wrap{background:#fff!important;border-radius:15px!important;overflow:auto!important}
.portal-main .lead-table{background:#fff!important;color:#34435A!important}
.portal-main .lead-table th{background:#F7F9FC!important;color:#758198!important;border-bottom:1px solid #E4E9F0!important;font-size:10px!important}
.portal-main .lead-table td{border-bottom:1px solid #EEF1F5!important;color:#46556D!important;font-size:11px!important}
.portal-main .lead-table tr:hover{background:#F9FBFE!important}.portal-main .lead-table td b,.portal-main .lead-name,.portal-main .person-name-link b{color:#162A47!important}

/* CRM */
.portal-main .crm-stage{background:#fff!important;border:1px solid #E1E7EF!important;box-shadow:var(--ds-shadow)!important;border-radius:15px!important}.portal-main .crm-stage:hover{border-color:#C9D9FA!important;box-shadow:0 14px 30px rgba(15,34,65,.09)!important}
.portal-main .crm-toolbar{background:#FBFCFE!important;border-bottom-color:#E6EBF2!important}.portal-main .crm-search{background:#fff!important}
.portal-main .crm-source-bar,.portal-main .fee-bar-track,.portal-main .bar{background:#EDF1F6!important}.portal-main .crm-source-bar i,.portal-main .bar i{background:linear-gradient(90deg,#2563EB,#E5B93F)!important}

/* E-books / resources */
.portal-main .resource-card,.portal-main .folder-card{background:#fff!important;border-color:#E1E7EF!important;border-radius:16px!important}.portal-main .resource-card h4,.portal-main .folder-card h4,.portal-main .folder-main b{color:#152943!important}.portal-main .resource-card p,.portal-main .folder-main small{color:#77849A!important}.portal-main .folder-icon,.portal-main .resource-icon{background:#EEF4FF!important;color:#2563EB!important;border-color:#DDE8FF!important}

/* AI assistant */
.portal-main .shinu-bot,.portal-main .shinu-chat-panel,.portal-main .ai-panel,.portal-main .ai-admin-panel{background:#fff!important;color:#253650!important;border-color:#E1E7EF!important;box-shadow:var(--ds-shadow-lg)!important;border-radius:20px!important}.portal-main .shinu-msg,.portal-main .ai-msg{background:#F4F7FB!important;color:#253650!important;border-color:#E4EAF1!important}.portal-main .shinu-student-input input,.portal-main .ai-input input{background:#fff!important;color:#172A46!important;border-color:#DDE4ED!important}

/* Mock Test: same brand, exam-focused */
.portal-main .mock-brand-hero,.portal-main .mock-hero,.portal-main .student-test-hero{
  background:linear-gradient(110deg,#071A36,#0D3261 58%,#2563A5)!important;border:0!important;border-radius:22px!important;box-shadow:0 20px 48px rgba(7,26,54,.18)!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,.portal-main .mock-qbank-question-card,.portal-main .mt-qbank-card,.portal-main .question-card{
  background:#fff!important;color:#253650!important;border:1px solid #E1E7EF!important;box-shadow:var(--ds-shadow)!important;border-radius:17px!important;
}
.portal-main .mock-qbank-question-card h4,.portal-main .mt-qbank-card h4,.portal-main .question-card h4{color:#142843!important}

/* Modals — premium, easy to scan */
.modal-backdrop{background:rgba(5,15,30,.62)!important;backdrop-filter:blur(8px)!important;padding:18px!important}
.modal,.modal.wide,.modal.narrow,.course-workspace{background:#fff!important;color:#263650!important;border:1px solid #E4E9F0!important;border-radius:20px!important;box-shadow:0 30px 90px rgba(5,18,40,.25)!important;overflow:hidden!important}
.modal-head{background:linear-gradient(110deg,#071A36,#103B70)!important;border-bottom:0!important;color:#fff!important;padding:17px 20px!important}.modal-head h3,.modal-head h2{color:#fff!important}.modal-head .course-sub{color:#B9C9DD!important}
.modal-body{background:#fff!important;color:#263650!important}.modal-foot{background:#FBFCFE!important;border-top:1px solid #E7EBF1!important}
.course-workspace-body{background:#F5F7FB!important}.course-sidebar{background:#071A36!important;border-right-color:#20395D!important}.course-sidebar-title{color:#fff!important}.course-tab{background:rgba(255,255,255,.04)!important;color:#AFC0D5!important;border-color:rgba(255,255,255,.07)!important}.course-tab:hover,.course-tab.active{background:rgba(37,99,235,.22)!important;color:#fff!important;border-color:rgba(75,131,255,.30)!important}.course-panel{background:#F5F7FB!important;color:#263650!important}.course-panel h3,.course-panel h4,.course-panel h5{color:#142843!important}

/* Status badges */
.portal-main .b-new{background:#EEF4FF!important;color:#1D4ED8!important;border-color:#D9E6FF!important}.portal-main .b-hot{background:#FFF6E3!important;color:#A46608!important;border-color:#F2DFB1!important}.portal-main .b-demo{background:#F1EDFF!important;color:#6941C6!important;border-color:#E3DAFF!important}.portal-main .b-enrolled{background:#EAF8EF!important;color:#168042!important;border-color:#CBECD6!important}.portal-main .b-not{background:#FFF0F1!important;color:#C5353D!important;border-color:#FFD7DA!important}.portal-main .b-call{background:#F1F4F8!important;color:#59687C!important;border-color:#E1E6ED!important}.portal-main .b-contact{background:#EAF8FB!important;color:#08758F!important;border-color:#CDEDF3!important}

/* ================================================================
   MOBILE — PURPOSE-BUILT, NOT JUST SHRUNK DESKTOP
   ================================================================ */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr!important;max-width:920px!important}.hero-card{max-width:760px!important;width:100%!important;margin:auto!important}
  .portal-main{margin-left:0!important;width:100%!important}.sidebar{width:min(290px,88vw)!important}
}
@media(max-width:900px){
  .header-inner{padding:10px 14px!important}.public-header .nav{display:none!important}.public-header.menu-open .nav{display:flex!important;order:5;width:100%!important;overflow-x:auto!important;border-top:1px solid #EEF1F5!important;padding:8px 0 2px!important;margin-top:5px!important}
  .public-header>.header-inner{flex-wrap:wrap!important}.public-header>.header-inner>.btn{margin-left:auto!important}
  .app-shell:not(.portal) .hero{padding:58px 17px 54px!important}.app-shell:not(.portal) .hero h2{font-size:clamp(38px,8vw,58px)!important;letter-spacing:-2px!important}
  .section{padding:58px 16px!important}.section-title{text-align:left!important;margin-left:0!important}.section-title p{margin-left:0!important}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-top{height:66px!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}.two-col{grid-template-columns:1fr!important}.settings-grid{grid-template-columns:1fr!important}.form-grid{grid-template-columns:1fr!important}.field.full{grid-column:auto!important}
  .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!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 #20395D!important;max-height:220px!important;overflow:auto!important}
  .mobile-bottom-nav{display:grid!important;position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;height:66px!important;background:rgba(7,26,54,.96)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(7,26,54,.26)!important;backdrop-filter:blur(18px)!important;z-index:80!important;padding:6px!important}
  .mobile-nav-item{border:0!important;background:transparent!important;color:#90A4BE!important;border-radius:12px!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:18px!important}.mobile-nav-item small{font-size:8px!important}.mobile-nav-item.active{background:linear-gradient(135deg,rgba(37,99,235,.32),rgba(229,185,63,.10))!important;color:#fff!important}
  .sidebar{transform:translateX(-105%)!important;transition:transform .24s ease!important}.sidebar.mobile-open{transform:translateX(0)!important}
}
@media(max-width:600px){
  .public-header .brand{min-width:0!important}.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}
  .app-shell:not(.portal) .hero{padding:44px 12px 42px!important}.app-shell:not(.portal) .hero h2{font-size:34px!important;letter-spacing:-1.2px!important}.app-shell:not(.portal) .hero p{font-size:14px!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important}.hero-actions .btn{width:100%!important;justify-content:center!important}
  .hero-card{padding:14px!important;border-radius:19px!important}.hero-card .mini-grid{gap:8px!important}.hero-card .metric{padding:12px!important}.hero-card .metric strong{font-size:20px!important}
  .section{padding:45px 12px!important}.section-title h3{font-size:27px!important}.feature-grid{grid-template-columns:1fr!important}
  .content{padding:16px 10px 96px!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{padding:13px!important;border-radius:14px!important;min-height:112px!important}.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:17px!important;padding:18px!important}
  .portal-main .portal-tile{min-height:116px!important;padding:14px!important;border-radius:15px!important}.portal-main .panel{border-radius:15px!important}.portal-main .btn{min-height:41px!important}
  .modal,.modal.wide,.modal.narrow{width:100vw!important;max-width:none!important;border-radius:18px 18px 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!important;bottom:0!important;z-index:4!important}
  .mock-qbank-question-grid{grid-template-columns:1fr!important}.mock-qbank-question-card{padding:15px!important;border-radius:15px!important}
}
@media(max-width:380px){.app-shell:not(.portal) .hero h2{font-size:30px!important}.kpi-grid{gap:7px!important}.mobile-bottom-nav{left:6px!important;right:6px!important;bottom:6px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
