/* V232 visible visual redesign. CSS-only; preserves existing markup, data and feature logic. */
:root{--ds232-navy:#102a43;--ds232-ink:#172b4d;--ds232-gold:#d4af37;--ds232-bg:#f3f6fb;--ds232-line:#dce5ef;--ds232-shadow:0 12px 30px rgba(16,42,67,.08)}
body{background:var(--ds232-bg);color:var(--ds232-ink)}
/* Portal frame and navigation */
#app .portal{background:linear-gradient(135deg,#f4f7fb 0%,#eef3f9 100%)!important}
#app .sidebar{width:268px!important;padding:18px 13px!important;background:linear-gradient(180deg,#102a43 0%,#0b1b2d 100%)!important;box-shadow:8px 0 28px rgba(10,31,52,.10)!important;border-right:1px solid rgba(255,255,255,.07)}
#app .side-brand{padding:10px 10px 22px!important;margin-bottom:15px!important;gap:12px!important}
#app .side-brand .logo{width:44px!important;height:44px!important;border-radius:14px!important;background:linear-gradient(135deg,#f5d76e,#c49a22)!important;color:#102a43!important;box-shadow:0 8px 18px rgba(212,175,55,.22)!important}
#app .side-brand strong{font-size:13px!important;line-height:1.4!important;color:#fff!important}
#app .menu-label{padding:17px 12px 7px!important;color:#9fb4ca!important;font-size:9px!important;letter-spacing:1.5px!important}
#app .side-link{min-height:43px!important;padding:10px 12px!important;margin:4px 0!important;border:1px solid transparent!important;border-radius:12px!important;color:#dce7f2!important;font-size:12px!important;transition:background .18s,border-color .18s,transform .18s!important}
#app .side-link:hover{background:rgba(255,255,255,.08)!important;transform:translateX(2px)}
#app .side-link.active{background:linear-gradient(90deg,rgba(212,175,55,.20),rgba(255,255,255,.07))!important;border-color:rgba(212,175,55,.28)!important;box-shadow:inset 3px 0 0 #e2bf4c!important;color:#fff!important}
#app .portal-main{margin-left:268px!important;width:calc(100% - 268px)!important}
#app .portal-top{height:78px!important;padding:0 30px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid #e2e9f1!important;box-shadow:0 4px 18px rgba(16,42,67,.035)!important;backdrop-filter:blur(14px)}
#app .portal-top h2{font-size:22px!important;font-weight:800!important;letter-spacing:-.45px!important}
#app .portal-top .eyebrow{font-size:9px!important;letter-spacing:1.5px!important;color:#a17d14!important}
#app .mobile-header-actions .icon-btn{width:40px!important;height:40px!important;border-radius:13px!important;background:#f5f7fb!important;border-color:#e2e8f0!important}
#app .content{padding:28px 30px 36px!important;max-width:1600px!important}
#app .page-head{margin-bottom:23px!important;align-items:center!important}
#app .page-head h3{font-size:clamp(23px,2vw,30px)!important;font-weight:850!important;letter-spacing:-.6px!important;color:#102a43!important}
#app .page-head p{font-size:13px!important;line-height:1.6!important;color:#667b91!important}
/* Consistent surfaces and action controls */
#app .panel,#app .kpi,#app .live-card,#app .attendance-student-card,#app .attendance-teacher-card,#app .lead-card,#app .course-card,#app .student-app-tile-v161{border:1px solid #e0e7f0!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(16,42,67,.055)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#app .panel{background:#fff!important}
#app .panel-head{padding:19px 21px!important;background:linear-gradient(180deg,#fff,#fbfcfe)!important}
#app .panel-body{padding:21px!important}
#app .kpi{padding:20px!important;min-height:150px!important}
#app .kpi strong{font-size:30px!important;font-weight:850!important;letter-spacing:-.8px!important}
#app .btn{min-height:40px;border-radius:11px!important;font-weight:800!important;box-shadow:none!important}
#app .btn-primary{background:#102a43!important;color:#fff!important}
#app .btn-gold{background:linear-gradient(135deg,#f3d66e,#d4af37)!important;color:#102a43!important}
#app .btn-soft{background:#edf3f8!important;color:#183a58!important;border:1px solid #e0e8f0!important}
#app input,#app select,#app textarea{border-radius:11px!important;border-color:#d7e1eb!important;min-height:40px}
#app input:focus,#app select:focus,#app textarea:focus{border-color:#c5a12f!important;box-shadow:0 0 0 3px rgba(212,175,55,.16)!important}
#app .lead-table th{background:#f1f5f9!important;color:#496178!important;padding:14px 13px!important}
#app .lead-table td{padding:14px 13px!important}
/* Student dashboard gets a clear app-like hierarchy */
#app .student-dashboard-v161{max-width:1240px!important}
#app .student-dashboard-v161 .student-welcome-v194{border-radius:24px!important;box-shadow:0 18px 40px rgba(16,42,67,.17)!important;border:1px solid rgba(255,255,255,.18)!important}
#app .student-dashboard-v161 .student-welcome-kicker-v187{letter-spacing:1.7px!important;font-weight:900!important}
#app .student-dashboard-v161 .student-tile-grid-v161{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:22px!important}
#app .student-dashboard-v161 .student-app-tile-v161{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;min-height:174px!important;padding:20px!important;background:#fff!important;color:#102a43!important;overflow:hidden!important}
#app .student-dashboard-v161 .student-app-tile-v161:before{content:"";position:absolute;right:-24px;top:-28px;width:100px;height:100px;border-radius:50%;background:rgba(212,175,55,.10);pointer-events:none}
#app .student-dashboard-v161 .student-app-tile-v161:hover{transform:translateY(-3px)!important;box-shadow:0 16px 30px rgba(16,42,67,.12)!important;border-color:#d4af37!important}
#app .student-dashboard-v161 .student-app-icon-v161{width:46px!important;height:46px!important;display:grid!important;place-items:center!important;border-radius:15px!important;background:#edf3f8!important;font-size:23px!important;margin-bottom:13px!important}
#app .student-dashboard-v161 .student-app-title-v161{font-size:14px!important;font-weight:850!important;color:#173650!important}
#app .student-dashboard-v161 .student-app-tile-v161>strong{font-size:26px!important;line-height:1.2!important;margin:7px 0!important;color:#102a43!important}
#app .student-dashboard-v161 .student-app-tile-v161>small{font-size:11px!important;line-height:1.5!important;color:#6b7f92!important;max-width:90%!important}
#app .student-dashboard-v161 .student-app-arrow-v161{position:absolute!important;right:17px!important;bottom:15px!important;color:#b18b16!important;font-size:20px!important}
/* Live classes */
#app .live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
#app .live-card{background:linear-gradient(180deg,#fff,#fbfcff)!important;padding:20px!important}
#app .live-head b{font-size:15px!important;color:#102a43!important}
#app .live-info span{background:#f3f6fa!important;border:1px solid #e5ebf2!important;border-radius:9px!important;padding:7px 9px!important;font-size:11px!important;color:#526b82!important}
/* Mock-test admin and student workspaces */
#app .mt-admin-host .page-head,#app .mock-workflow-head{border-radius:18px!important}
#app .mt-admin-host .panel,#app .mtm-shell,#app .mtx-shell{border-radius:18px!important}
#app .mtm-header,#app .mtx-header{border-radius:16px!important}
#app .mtm-option{border:1px solid #dbe4ee!important;border-radius:13px!important;padding:14px 16px!important;background:#fff!important;transition:border-color .15s,background .15s!important}
#app .mtm-option:hover{border-color:#d4af37!important;background:#fffdf5!important}
#app .mtm-nav-dot{border-radius:10px!important;font-weight:800!important}
/* Tables, dialogs and empty states */
#app .modal{border-radius:22px!important;border:1px solid #e0e7ef!important;box-shadow:0 24px 80px rgba(8,24,40,.25)!important}
#app .modal-head{background:#fbfcfe!important}
#app .empty{border:1px dashed #d4dfeb!important;border-radius:15px!important;background:#fbfcfe!important;margin:10px 0!important}
@media(max-width:1000px){#app .sidebar{width:248px!important}#app .portal-main{margin-left:248px!important;width:calc(100% - 248px)!important}#app .content{padding:22px 20px 30px!important}#app .student-dashboard-v161 .student-tile-grid-v161{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){#app .sidebar{width:min(300px,86vw)!important;padding:17px 13px!important}#app .portal-main{margin-left:0!important;width:100%!important}#app .content{padding:16px 13px calc(100px + env(safe-area-inset-bottom))!important}#app .portal-top{height:auto!important;min-height:68px!important;padding:10px 13px!important}#app .portal-top h2{font-size:18px!important}#app .page-head{align-items:stretch!important;gap:12px!important}#app .page-head h3{font-size:23px!important}#app .student-dashboard-v161 .student-tile-grid-v161{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;margin-top:15px!important}#app .student-dashboard-v161 .student-app-tile-v161{min-height:158px!important;padding:14px!important;border-radius:16px!important}#app .student-dashboard-v161 .student-app-icon-v161{width:40px!important;height:40px!important;border-radius:12px!important;font-size:20px!important;margin-bottom:10px!important}#app .student-dashboard-v161 .student-app-title-v161{font-size:12px!important}#app .student-dashboard-v161 .student-app-tile-v161>strong{font-size:23px!important}#app .student-dashboard-v161 .student-app-tile-v161>small{font-size:10px!important}#app .live-grid{grid-template-columns:minmax(0,1fr)!important}#app .live-card{padding:15px!important}#app .kpi-grid{gap:10px!important}#app .kpi{padding:14px!important;min-height:125px!important}#app .kpi strong{font-size:24px!important}#app .panel-head,#app .panel-body{padding:15px!important}#app .mtm-option{min-height:52px!important;padding:13px!important}}
@media(max-width:380px){#app .student-dashboard-v161 .student-tile-grid-v161{gap:8px!important}#app .student-dashboard-v161 .student-app-tile-v161{padding:11px!important;min-height:150px!important}#app .student-dashboard-v161 .student-app-title-v161{font-size:11px!important}#app .content{padding-left:9px!important;padding-right:9px!important}}
@media(prefers-reduced-motion:reduce){#app *{transition:none!important;animation:none!important}}
