/* V238 GLOBAL DESIGN SYSTEM — visual-only overrides; application logic untouched */
:root{--navy:#12243a;--navy2:#1d3856;--navy3:#355675;--gold:#d9ad32;--gold2:#fff3cc;--bg:#f4f6fa;--white:#fff;--text:#17283e;--muted:#687b91;--line:#e1e7ef;--green:#168653;--red:#d94848;--orange:#d98216;--blue:#3568d4;--purple:#7350c8;--shadow:0 8px 28px rgba(21,39,62,.07);--radius:16px}
html{scroll-behavior:smooth}body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;background:var(--bg)!important;color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit!important}button{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}a{transition:color .18s ease}
/* Shared typography and spacing */
h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--navy)}p{line-height:1.6}.muted,small{color:var(--muted)}.content{padding:clamp(16px,2.2vw,30px)!important;max-width:1680px}.page-head{margin-bottom:22px}.page-head h3{font-size:clamp(22px,2vw,29px);font-weight:800;letter-spacing:-.04em}.page-head p{font-size:13px;color:var(--muted)}
/* Public website */
.public-header{box-shadow:0 2px 12px rgba(20,39,63,.035)}.header-inner{max-width:1320px;padding:14px clamp(16px,3vw,32px)}.brand h1{font-weight:850;letter-spacing:-.035em}.logo{background:linear-gradient(145deg,#f4d779,#d4a52a)!important;color:#13263c!important;border:1px solid rgba(255,255,255,.5);box-shadow:0 5px 15px rgba(173,127,16,.18)!important}.nav{gap:clamp(10px,1.6vw,22px)}.nav a{font-size:13px;font-weight:750}.hero{padding:clamp(44px,6vw,78px) 22px}.hero h2{letter-spacing:-.055em;font-weight:850}.section{padding:clamp(40px,5vw,68px) 20px}.section-title h3{font-weight:850;letter-spacing:-.04em}.feature,.hero-card,.metric,.auth-card,.live-card,.permission-card{border-color:var(--line);box-shadow:var(--shadow)}
/* Portal shell and navigation */
.sidebar{background:linear-gradient(180deg,#142940 0%,#0d1d2e 100%)!important;box-shadow:5px 0 24px rgba(12,30,49,.07);padding:18px 12px!important}.side-brand{padding:8px 8px 20px}.side-brand strong{font-weight:800;letter-spacing:-.02em}.menu-label{font-size:9px;letter-spacing:1.5px;color:#9db0c4}.side-link{border-radius:10px!important;padding:11px 12px!important;font-size:12px!important;font-weight:700!important;color:#dce6f0!important;margin:3px 0!important}.side-link:hover{background:rgba(255,255,255,.075)!important}.side-link.active{background:linear-gradient(90deg,rgba(217,173,50,.17),rgba(255,255,255,.055))!important;box-shadow:inset 3px 0 0 var(--gold)!important;color:#fff!important}.portal-main{background:var(--bg);min-width:0}.portal-top{height:66px!important;padding:0 clamp(16px,2.5vw,32px)!important;box-shadow:0 2px 10px rgba(20,39,63,.025)}.portal-top h2{font-size:clamp(18px,1.6vw,22px)!important;font-weight:850!important;letter-spacing:-.035em}.user-chip{font-size:12px}.avatar{font-weight:800}
/* Cards, panels, stats and dashboards */
.card,.panel,.box-card,.dashboard-card,.kpi,.stat-card,.metric,.feature,.live-card,.permission-card{border-radius:15px!important;border-color:var(--line)!important;box-shadow:0 5px 18px rgba(20,39,63,.045)!important}.kpi-grid{gap:14px}.kpi{padding:18px!important;background:#fff!important}.kpi strong,.kpi h3{font-weight:850;letter-spacing:-.035em}.kpi:hover,.feature:hover,.live-card:hover{box-shadow:0 10px 26px rgba(20,39,63,.085)!important}
/* Buttons and fields: unified sizes, clear focus */
.btn,button.btn,.button,.btn-primary,.btn-gold,.btn-soft,.btn-danger{border-radius:10px!important;font-weight:750!important;box-shadow:none;min-height:38px}.btn-primary{background:var(--navy)!important;color:#fff!important}.btn-primary:hover{background:#234768!important;box-shadow:0 5px 12px rgba(18,36,58,.14)}.btn-gold{background:var(--gold)!important;color:#18283b!important}.btn-gold:hover{background:#e7bf4b!important}.btn-soft{background:#edf2f7!important;color:var(--navy)!important;border:1px solid #e1e7ef!important}.btn-danger{background:#fff0f0!important;color:#b52f37!important}.field input,.field select,.field textarea,input,select,textarea{border-color:#dce4ed}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#7c9fc7;box-shadow:0 0 0 3px rgba(53,104,212,.10)}
/* Tables and data-heavy management screens */
table{border-collapse:separate;border-spacing:0;width:100%}th{background:#f3f6fa;color:#53677e;font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}th,td{border-color:#e7ecf2!important}td{font-size:12px;line-height:1.45}tbody tr:hover{background:#f8fafc}table input,table select{max-width:100%;min-width:0} .badge{border-radius:999px!important;font-weight:750!important;padding:5px 9px!important;font-size:10px!important;letter-spacing:.01em}
/* Lead management and CRM — coherent restrained palette */
.lead-management,.lead-page,.lead-workspace,.lead-dashboard,.crm-page{color:var(--text)}.lead-management .page-head,.lead-page .page-head,.lead-workspace,.crm-page .page-head{border-radius:16px}.lead-management .kpi,.lead-page .kpi{border-radius:14px}.lead-management .panel,.lead-page .panel,.lead-workspace .panel{background:#fff}.lead-management .table-wrap,.lead-page .table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}.lead-management .page-head h3,.lead-page .page-head h3{font-size:26px}.lead-management button,.lead-page button{max-width:100%}
/* Modals, notifications, and utility surfaces */
.modal{border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(12,29,48,.22)!important}.modal-head{border-bottom:1px solid var(--line)}.toast,.alert,.notice{border-radius:12px}.divider,hr{border-color:var(--line)}
/* Responsive: prevent clipping and horizontal overflow on phones */
img,video,canvas,svg{max-width:100%}.portal,.portal-main,.content,.app-shell{min-width:0}.content{overflow-wrap:anywhere}@media(max-width:900px){.portal-top{padding:0 16px!important}.content{padding:16px!important}.page-head{align-items:flex-start;flex-wrap:wrap}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nav{gap:10px}.nav a{font-size:12px}}
@media(max-width:640px){body{font-size:13px}.portal-top{height:60px!important}.portal-top h2{font-size:17px!important}.content{padding:12px!important}.page-head{gap:12px;margin-bottom:16px}.page-head h3{font-size:21px}.kpi-grid,.feature-grid,.permission-grid,.live-grid,.form-grid{grid-template-columns:1fr!important}.kpi{padding:14px!important}.header-inner{padding:10px 14px;gap:10px;flex-wrap:wrap}.brand h1{font-size:15px}.nav{width:100%;overflow-x:auto;white-space:nowrap;padding:4px 0 6px}.nav a{flex:0 0 auto}.hero{padding:36px 16px}.hero h2{font-size:clamp(32px,9vw,44px)}.hero p{font-size:14px}.section{padding:36px 14px}.section-title h3{font-size:26px}.btn,button.btn{min-height:40px}.modal{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:92dvh!important;overflow:auto}.modal-head{padding:14px!important}table{min-width:680px}.table-wrap,.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.course-workspace{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important}.auth-card{padding:22px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
