/* NAPOLCOM Mastery Premium Design Layer v15 */
:root{
  --brand:#2457e6;--brand-2:#6d5dfc;--brand-soft:#eef3ff;
  --accent:#ff7a59;--success:#16a36a;--warning:#f4b740;--danger:#dc4c64;
  --navy:#10233f;--navy-2:#17375f;--ink:#17263c;--muted:#66758a;
  --paper:#f3f6fb;--surface:#fff;--line:#dfe6ef;
  --shadow-sm:0 8px 24px rgba(16,35,63,.07);
  --shadow-md:0 18px 48px rgba(16,35,63,.12);
  --radius:18px;--radius-lg:26px;
}
html{font-size:16px;scroll-behavior:smooth}
body{background:linear-gradient(180deg,#f8faff 0,#f3f6fb 36%,#f6f8fb 100%);color:var(--ink);line-height:1.55}
body,button,input,select,textarea{font-family:Inter,"Segoe UI",Arial,sans-serif}
button,a,input,select,textarea{transition:.2s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,87,230,.22);outline-offset:2px}

/* Main shell */
.app-shell{grid-template-columns:286px minmax(0,1fr)}
.sidebar{width:286px;background:linear-gradient(180deg,#0f2849 0%,#112f52 55%,#0d223d 100%);padding:22px 16px;border-right:1px solid rgba(255,255,255,.07);box-shadow:16px 0 40px rgba(9,25,47,.12)}
.sidebar-scroll{min-height:100%;display:flex;flex-direction:column}
.brand{padding:4px 10px 22px}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 10px 28px rgba(71,92,230,.34)}
.brand b{font-size:15px}.brand small{font-size:8px;color:#a9bad0}
.sidebar nav{gap:7px}.sidebar nav a{min-height:49px;height:auto;padding:11px 14px;border-radius:13px;font-size:13px;color:#b7c5d6;position:relative}.sidebar nav a:hover{transform:translateX(3px);background:rgba(255,255,255,.08)}.sidebar nav a.active{background:linear-gradient(90deg,rgba(75,110,232,.28),rgba(109,93,252,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.sidebar nav a.active:before{left:0;height:28px;width:4px;background:#81a5ff}.sidebar nav i{font-size:19px}
.streak-card{padding:15px;border-radius:15px;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.1)}
.profile{padding:16px 6px 5px}.profile>span{width:42px;height:42px}
.workspace{grid-column:2}.topbar{height:82px;padding:0 clamp(22px,3vw,52px);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(16,35,63,.05)}
.content{padding:38px clamp(20px,3vw,52px) 64px;max-width:1540px}

/* Type hierarchy */
.kicker{font-size:10px;letter-spacing:2px;color:var(--brand);font-weight:900}
.welcome h1,.page-title h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-1.8px;color:var(--navy)}
.welcome>div>p:last-child,.page-title>div>p:last-child{font-size:14px;line-height:1.65;max-width:720px}
.panel-head h3,.section-head h3{font-size:24px}

/* Buttons and back controls */
.btn,.subscription-top .btn,.smart-top>a,.intel-top>a,.mock-top>a,.mock-controls button,.mock-top button,dialog button,.setup-link{
  min-height:46px;padding:12px 18px;border-radius:13px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer
}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:0 5px 15px rgba(16,35,63,.04)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#cbd6e4}
.btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 12px 28px rgba(36,87,230,.23)}
.btn.coral{border-color:transparent;background:linear-gradient(135deg,#ff6f55,#ff9368);color:#fff;box-shadow:0 12px 28px rgba(255,122,89,.22)}
.btn.ghost{background:#fff;border:1px solid var(--line)}
.back-btn,.subscription-top>a.btn,.smart-top>a:first-child,.intel-top>a:first-child,.mock-top>a:first-child,.setup-link{min-height:44px!important;padding:11px 17px!important;border-radius:13px!important;background:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important;font-size:13px!important;font-weight:850!important;box-shadow:var(--shadow-sm)!important}
.back-btn:hover,.subscription-top>a.btn:hover,.smart-top>a:first-child:hover,.intel-top>a:first-child:hover,.mock-top>a:first-child:hover,.setup-link:hover{transform:translateX(-3px);border-color:#b9c9df!important}

/* Cards */
.panel,.subject-grid article,.metric-grid article,.intel-panel,.plan-card,.account-card,.payment-card,.subscription-card,.question-shell,.answer-review,.result-hero{border:1px solid rgba(207,218,232,.9)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;background:rgba(255,255,255,.98)!important}
.panel{padding:26px}.panel:hover,.subject-grid article:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.mission{padding:25px 28px;border-radius:22px;background:linear-gradient(120deg,#153457,#2457e6 130%);box-shadow:0 18px 42px rgba(18,55,98,.23)}
.mission h2{font-size:27px}.mission p{font-size:13px}.mission-icon{width:58px;height:58px;border-radius:17px}
.dash-grid{gap:24px}.subject-grid{gap:15px}.subject-grid article{padding:20px}.subject-grid h4{font-size:13px}.subject-icon{width:42px;height:42px;border-radius:13px}
.exam-date{border-radius:20px;box-shadow:var(--shadow-sm)}

/* Forms */
label{font-size:12px;font-weight:800;color:#394b63;gap:7px}
input,select,textarea{width:100%;min-height:48px;border:1px solid #ced8e6;border-radius:12px;background:#fff;padding:12px 14px;color:var(--ink);font-size:14px}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#afbdd0}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(36,87,230,.1);outline:none}
.alert{padding:14px 16px;border-radius:13px;font-size:13px}

/* Auth */
.auth-layout{min-height:100vh}.auth-hero{background:radial-gradient(circle at 15% 10%,rgba(109,93,252,.34),transparent 34%),linear-gradient(145deg,#0c2748,#173d69 70%,#2457e6);padding:clamp(34px,6vw,82px)}
.auth-hero h1{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-2.5px}.auth-form{background:linear-gradient(180deg,#fff,#f8faff)}.auth-form>div{max-width:500px}.auth-form h2{font-size:clamp(34px,4vw,48px);line-height:1.05}.auth-tabs{padding:5px;background:#edf2f8;border-radius:14px}.auth-tabs a{min-height:42px;border-radius:10px;font-size:12px}.auth-tabs a.active{background:#fff;box-shadow:0 5px 16px rgba(16,35,63,.08)}.new-user-card{border-radius:18px;background:linear-gradient(135deg,#f3f6ff,#fff7f3);border:1px solid #dce5f4;padding:22px}.setup-link{margin-top:18px;width:max-content}

/* Questions */
.question-shell,.answer-review{max-width:930px;padding:clamp(24px,4vw,42px);border-radius:24px!important}.question-shell h2,.answer-review h2{font-size:clamp(25px,3vw,34px)}.answer-list{gap:13px}.answer-list label{min-height:64px;border-radius:14px;padding:14px;font-size:14px}.answer-list label:hover{border-color:#9fb3d6;background:#f8faff;transform:translateY(-1px)}.answer-list label span{width:36px;height:36px;border-radius:10px}.confidence{font-size:12px;flex-wrap:wrap}

/* Tables / admin */
.metric-grid{gap:15px}.metric-grid article{padding:22px}.metric-grid article b{font-size:clamp(28px,3vw,40px);color:var(--navy)}.metric-grid article span{font-size:9px;letter-spacing:1.4px}.performance-table>div,.domain-row{min-height:62px;padding:14px 8px}.admin-grid{gap:22px}.form-grid{gap:14px}
.payment-row,.account-row{border-radius:16px!important;border:1px solid var(--line)!important;background:#fff!important;box-shadow:var(--shadow-sm)!important}

/* Subscription modal */
.subscription-gate-backdrop{background:rgba(7,19,37,.72);backdrop-filter:blur(7px)}.subscription-gate-card{border-radius:28px!important;box-shadow:0 35px 100px rgba(5,18,38,.38)!important}.subscription-gate-primary{min-height:52px;border-radius:14px!important;font-size:14px!important;background:linear-gradient(135deg,var(--brand),var(--brand-2))!important}.subscription-gate-secondary{min-height:46px;font-size:13px!important}.subscription-gate-close{width:42px!important;height:42px!important;font-size:24px!important}

/* Premium specialist pages */
.smart-top,.intel-top,.mock-top,.subscription-top{min-height:78px;padding:14px clamp(16px,3vw,44px)!important;box-shadow:0 10px 35px rgba(16,35,63,.09)}
.smart-main,.intel-main{padding:clamp(24px,4vw,54px)!important}.smart-card,.intel-hero,.mock-question{border-radius:22px!important;box-shadow:var(--shadow-sm)!important}.mock-controls button{min-width:140px}.mock-controls{gap:12px}.mock-choices label{border-radius:15px!important;min-height:62px!important}.exam-nav{border-radius:18px!important}

/* Responsive */
@media(max-width:1100px){.app-shell{grid-template-columns:245px minmax(0,1fr)}.sidebar{width:245px}.subject-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.admin-summary-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){
  .app-shell{display:block}.sidebar{width:min(88vw,310px);transform:translateX(-102%);transition:.25s ease}.sidebar.open{transform:translateX(0)}.workspace{grid-column:auto}.topbar{height:68px;padding:0 16px}.menu{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eef3ff;color:var(--brand)}.content{padding:24px 15px 92px}.welcome,.page-title{align-items:flex-start;gap:18px}.welcome h1,.page-title h1{font-size:38px}.exam-date{display:none}.subject-grid{grid-template-columns:1fr}.panel{padding:20px}.mission{align-items:flex-start;flex-wrap:wrap;padding:21px}.mission .btn{width:100%;margin:0}.answer-list{grid-template-columns:1fr}.form-grid,.admin-grid{grid-template-columns:1fr!important}.metric-grid,.admin-summary-grid{grid-template-columns:1fr 1fr!important}.top-pills{display:none}.btn{min-height:48px;padding:13px 16px}.page-title>div:last-child{width:100%}.page-title>div:last-child .btn{width:100%}.auth-layout{grid-template-columns:1fr}.auth-hero{display:none}.auth-form{padding:28px 18px}.smart-top,.intel-top,.mock-top,.subscription-top{flex-wrap:wrap;gap:10px}.smart-top>a,.intel-top>a,.mock-top>a,.subscription-top>a.btn{order:1}.mock-controls{grid-template-columns:1fr!important}.mock-controls button{width:100%;min-width:0}.payment-reference-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:460px){.metric-grid,.admin-summary-grid{grid-template-columns:1fr!important}.payment-reference-grid{grid-template-columns:1fr!important}.welcome h1,.page-title h1{font-size:34px}.question-shell,.answer-review{padding:20px}.subscription-gate-card{width:calc(100vw - 22px)!important;padding:22px!important}.mobile-bottom a{font-size:10px}.btn,.back-btn{width:100%}}

/* V16 dashboard cleanup: roadmap removed; learner actions prioritized. */
.dashboard-quick-panel{min-height:100%;}
.dashboard-quick-actions{display:grid;gap:12px;margin-top:18px;}
.dashboard-quick-actions>a{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--v15-line,#dfe7f1);border-radius:16px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.dashboard-quick-actions>a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,43,75,.10);border-color:#b9c9dc;}
.dashboard-quick-actions>a>i{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(135deg,#e9f0ff,#f5f8ff);color:#2456a6;font-style:normal;font-weight:900;font-size:18px;}
.dashboard-quick-actions>a span{display:grid;gap:3px;}
.dashboard-quick-actions>a b{font-size:15px;color:#16263a;}
.dashboard-quick-actions>a small{color:#718096;line-height:1.35;}
@media(max-width:760px){.dashboard-quick-actions>a{padding:14px}.dashboard-quick-actions>a>i{width:40px;height:40px;flex-basis:40px}}
