/* Shared ExamPath colour system. No runtime scripts or remote assets. */
:root{--ep-blue:#284ed8;--ep-violet:#7040cd;--ep-teal:#087e71;--ep-rose:#bb365a;--ep-amber:#996000;--ep-blue-soft:#edf2ff;--ep-violet-soft:#f3edff;--ep-teal-soft:#e9f8f3;--ep-rose-soft:#fff0f4;--ep-amber-soft:#fff6df;--ep-glow:0 5px 20px #3644830a;--ep-raised:0 9px 26px #36448316}
html[data-theme=dark]{--ep-blue:#a8c0ff;--ep-violet:#c6acff;--ep-teal:#8ae3cc;--ep-rose:#ffadca;--ep-amber:#f4d18d;--ep-blue-soft:#1d2e52;--ep-violet-soft:#302544;--ep-teal-soft:#183c36;--ep-rose-soft:#412b3b;--ep-amber-soft:#3c3423;--ep-glow:0 5px 20px #0002;--ep-raised:0 9px 26px #0003}
body.ep-colour:not(.exam-mode){--paper:#f4f6fd;--surface:#fff;--soft:#eef2ff;--ink:#1d2c49;--muted:#5c6c86;--line:#dce3f2;--accent:#3b51cd;--green:#3b51cd;background:radial-gradient(ellipse at 0 0,#e8e8ff 0,transparent 42%),radial-gradient(ellipse at 100% 22%,#e1f6f1 0,transparent 38%),var(--paper);color:var(--ink)}
html[data-theme=dark] body.ep-colour:not(.exam-mode){--paper:#101827;--surface:#182439;--soft:#22334f;--ink:#edf2ff;--muted:#adbbd2;--line:#33445e;--accent:#a8bcff;--green:#a8bcff;background:radial-gradient(ellipse at 0 0,#252344 0,transparent 45%),radial-gradient(ellipse at 100% 22%,#143634 0,transparent 40%),var(--paper)}
body.ep-colour:not(.exam-mode) :is(h1,h2,h3){color:var(--ink)}
body.ep-colour:not(.exam-mode) :is(.primary,.auth-anchor,.resource-link.primary){background:linear-gradient(120deg,#304cda,#7140ca);color:#fff;border:1px solid #ffffff20;border-radius:9px;box-shadow:0 4px 11px #4c45c529,inset 0 1px #ffffff26;font-weight:650;text-decoration:none;transition:box-shadow .16s,transform .16s}
body.ep-colour:not(.exam-mode) :is(.primary,.auth-anchor):not(:disabled):hover{box-shadow:0 7px 18px #4c45c53a;transform:translateY(-1px)}
body.ep-colour:not(.exam-mode) :is(.secondary,.platform-share-button,.directory-more){background:linear-gradient(115deg,var(--surface),var(--ep-blue-soft));border:1px solid var(--line);border-radius:9px;color:var(--ep-blue);font-weight:600;box-shadow:inset 0 1px #ffffff15}
body.ep-colour:not(.exam-mode) :is(.secondary,.platform-share-button,.directory-more):not(:disabled):hover{background:var(--ep-violet-soft);border-color:var(--ep-violet);color:var(--ep-violet)}
body.ep-colour:not(.exam-mode) :is(.danger,button[data-delete-plan],button[data-test-remove],#test-remove-selected){background:var(--ep-rose-soft);color:var(--ep-rose);border:1px solid var(--ep-rose);border-radius:9px;box-shadow:none}
body.ep-colour:not(.exam-mode) :is(button[data-publish],#pay-mark-free){background:linear-gradient(120deg,#087567,#126f87);color:#fff;border-color:transparent;border-radius:9px}
body.ep-colour:not(.exam-mode) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #818cf8;outline-offset:3px}
body.ep-colour:not(.exam-mode) :is(button:disabled,[aria-disabled=true]){opacity:.5;box-shadow:none;transform:none;cursor:not-allowed}
body.ep-colour:not(.exam-mode) :is(input,select,textarea){accent-color:#5b4acb;border-color:var(--line);color:var(--ink);background-color:var(--surface);border-radius:9px}
body.ep-colour:not(.exam-mode) :is(input,select,textarea):focus{border-color:var(--ep-violet)}
body.ep-colour:not(.exam-mode) :is(.sidebar,.main>header){background:var(--surface);border-color:var(--line)}
body.ep-colour:not(.exam-mode) .sidebar{background:linear-gradient(175deg,var(--surface) 35%,var(--ep-violet-soft));box-shadow:3px 0 20px #283a7506}
body.ep-colour:not(.exam-mode) .nav button.active{background:linear-gradient(115deg,#304cda,#7140ca);color:#fff;box-shadow:0 4px 12px #4b43c527,inset 0 1px #ffffff20}
body.ep-colour:not(.exam-mode) .nav button:hover:not(.active){background:var(--ep-blue-soft);color:var(--ep-blue)}
body.ep-colour:not(.exam-mode) .side-bottom{background:linear-gradient(130deg,var(--ep-blue-soft),var(--ep-teal-soft));border-color:var(--line)}
body.ep-colour:not(.exam-mode) :is(.avatar,.profile-avatar,.brand-icon){background:linear-gradient(125deg,#3454dc,#8650d5);color:#fff;border-radius:10px}
body.ep-colour:not(.exam-mode) .theme-switch{background:var(--ep-amber-soft);color:var(--ep-amber);border-color:var(--line)}
body.ep-colour:not(.exam-mode) :is(.premium-welcome,.login-intro,.admin-command){background:radial-gradient(ellipse at 95% 10%,#357a9c80,transparent 55%),linear-gradient(118deg,#193b80,#573096 70%,#733b8a);border:1px solid #ffffff20;box-shadow:0 8px 26px #37308a1c;color:#fff}
body.ep-colour:not(.exam-mode) :is(.premium-welcome,.login-intro,.admin-command) :is(h1,h2,h3,strong){color:#fff}
body.ep-colour:not(.exam-mode) :is(.premium-welcome,.login-intro) :is(p,small,.eyebrow){color:#e1e8ff}
body.ep-colour:not(.exam-mode) .premium-welcome .primary{background:linear-gradient(115deg,#c6ffe1,#8fe9e4);color:#143d45;border-color:#ffffff60;box-shadow:0 4px 14px #081b3429}
body.ep-colour:not(.exam-mode) .premium-welcome .secondary{background:#ffffff12;border-color:#ffffff50;color:#fff}
body.ep-colour:not(.exam-mode) .premium-orbit{background:linear-gradient(145deg,#ffffff16,#ffffff05);border-color:#ffffff40;box-shadow:0 0 0 15px #ffffff05,0 0 0 31px #ffffff03}
body.ep-colour:not(.exam-mode) .premium-orbit strong{color:#c6ffe1}
body.ep-colour:not(.exam-mode) :is(.directory-intro,.bundle-hero,.hub-header,.bundle-membership-summary):not(.premium-welcome){background:linear-gradient(115deg,var(--ep-blue-soft),var(--ep-violet-soft) 65%,var(--ep-teal-soft));border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--ep-glow)}
body.ep-colour:not(.exam-mode) :is(.card,.studio-card,.profile-panel,.profile-aside,.ra-card,.resource-document,.panel,.admin-library-card,.account-box,.login-layout){border-color:var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--ep-glow)}
body.ep-colour:not(.exam-mode) :is(.directory-group,.clean-test-card,.hub-resource,.stat,.studio-metrics article,.admin-kpi,.payment-plan,.bundle-family){--ep-card-accent:var(--ep-blue);--ep-card-soft:var(--ep-blue-soft)}
body.ep-colour:not(.exam-mode) :is(.directory-group,.clean-test-card,.hub-resource,.stat,.studio-metrics article,.admin-kpi,.payment-plan,.bundle-family):nth-child(4n+2){--ep-card-accent:var(--ep-violet);--ep-card-soft:var(--ep-violet-soft)}
body.ep-colour:not(.exam-mode) :is(.directory-group,.clean-test-card,.hub-resource,.stat,.studio-metrics article,.admin-kpi,.payment-plan,.bundle-family):nth-child(4n+3){--ep-card-accent:var(--ep-teal);--ep-card-soft:var(--ep-teal-soft)}
body.ep-colour:not(.exam-mode) :is(.directory-group,.clean-test-card,.hub-resource,.stat,.studio-metrics article,.admin-kpi,.payment-plan,.bundle-family):nth-child(4n+4){--ep-card-accent:var(--ep-rose);--ep-card-soft:var(--ep-rose-soft)}
body.ep-colour:not(.exam-mode) :is(.clean-test-card,.hub-resource,.stat,.studio-metrics article,.admin-kpi,.payment-plan){border:1px solid var(--line);border-top:3px solid var(--ep-card-accent);border-radius:12px;background:linear-gradient(145deg,var(--surface) 64%,var(--ep-card-soft));box-shadow:var(--ep-glow)}
body.ep-colour:not(.exam-mode) :is(.stat-icon,.test-icon,.hub-resource-symbol){background:var(--ep-card-soft,var(--ep-blue-soft));color:var(--ep-card-accent,var(--ep-blue));border-radius:9px}
body.ep-colour:not(.exam-mode) :is(.stat b,.studio-metrics strong,.admin-kpi strong){color:var(--ep-card-accent,var(--ep-blue));font-variant-numeric:tabular-nums}
body.ep-colour:not(.exam-mode) .directory-group .directory-exam-icon{background:var(--ep-card-soft);color:var(--ep-card-accent);border:1px solid var(--line);border-radius:9px}
body.ep-colour:not(.exam-mode) .directory-group .section-title h2{border-left:3px solid var(--ep-card-accent);padding-left:9px}
body.ep-colour:not(.exam-mode) .directory-exam{background:linear-gradient(110deg,var(--surface) 62%,var(--ep-card-soft));border-color:var(--line);border-radius:10px;box-shadow:0 2px 7px #24366a05;transition:border-color .16s,box-shadow .16s}
body.ep-colour:not(.exam-mode) .directory-exam:hover{border-color:var(--ep-card-accent);box-shadow:var(--ep-raised)}
body.ep-colour:not(.exam-mode) :is(.directory-arrow,.hub-exam-icon){color:var(--ep-blue)}
body.ep-colour:not(.exam-mode) .test-card-footer{background:var(--ep-card-soft);border-color:var(--line)}
body.ep-colour:not(.exam-mode) :is(.pill,.badge,.admin-library-counts span,.bundle-live-counts span){background:var(--ep-violet-soft);color:var(--ep-violet);border-radius:7px;font-weight:650}
body.ep-colour:not(.exam-mode) :is(.clean-tabs,.studio-tabs,.ra-tabs,.hub-nav){border-color:var(--line);gap:6px;scrollbar-width:thin;padding-bottom:6px}
body.ep-colour:not(.exam-mode) :is(.clean-tabs,.studio-tabs,.ra-tabs,.hub-nav)>button{background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:7px 11px;min-height:34px;line-height:1.45}
body.ep-colour:not(.exam-mode) :is(.clean-tabs,.studio-tabs,.ra-tabs,.hub-nav)>button.active{background:linear-gradient(120deg,#304cda,#7140ca);color:#fff;border-color:transparent;box-shadow:0 3px 10px #4b43c526}
body.ep-colour:not(.exam-mode) :is(.directory-filters button,.bundle-family){color:var(--ep-card-accent,var(--ep-blue));background:var(--ep-card-soft,var(--ep-blue-soft));border-color:var(--line);border-radius:9px}
body.ep-colour:not(.exam-mode) :is(.directory-filters button.active,.bundle-family.selected,.profile-menu button.active){color:#fff;background:linear-gradient(120deg,#304cda,#7140ca);border-color:transparent;box-shadow:0 3px 10px #4b43c526}
body.ep-colour:not(.exam-mode) .bundle-family.selected small{color:#ecebff}
body.ep-colour:not(.exam-mode) .bundle-page .payment-plan-best{border:2px solid var(--ep-violet)!important;box-shadow:0 5px 20px #754ac51a}
body.ep-colour:not(.exam-mode) .bundle-price-line .payment-price{color:var(--ep-card-accent,var(--ep-blue))}
body.ep-colour:not(.exam-mode) :is(.studio-notice,.notice,.bundle-active-note,.admin-preview-safety){background:linear-gradient(115deg,var(--ep-blue-soft),var(--ep-teal-soft));border:1px solid var(--line);color:var(--ink);border-radius:10px}
body.ep-colour:not(.exam-mode) :is(.studio-day-track span,.ra-track span,.admin-bar i,.admin-chart i){background:linear-gradient(0deg,#5b48c9,#4291c6);border-radius:6px}
body.ep-colour:not(.exam-mode) :is(.history-item,.plus-note,.bundle-inventory article,.bundle-demo-list article){background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ep-violet);border-radius:10px}
body.ep-colour:not(.exam-mode) :is(.empty,.studio-empty,.hub-empty,.admin-empty){background:linear-gradient(135deg,var(--surface),var(--ep-blue-soft));border:1px dashed var(--line);border-radius:12px}
body.ep-colour:not(.exam-mode) .modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--ep-violet);border-radius:15px;box-shadow:0 18px 65px #10213c30}
body.ep-colour:not(.exam-mode) :is(.ra-card,.profile-panel,.studio-card) h2{color:var(--ep-violet)}
/* Admin has existing important navigation rules; these scoped overrides win. */
body.ep-admin>header{background:var(--surface);border-bottom:2px solid var(--line);box-shadow:0 3px 18px #343c7510;color:var(--ink)}
body.ep-admin .studio>h1{color:var(--ep-blue)}
body.ep-admin .clean-tabs button{background:var(--surface)!important;color:var(--ep-blue)!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:var(--ep-glow);padding:9px!important}
body.ep-admin .clean-tabs button:nth-child(3n+2){color:var(--ep-violet)!important;background:var(--ep-violet-soft)!important}
body.ep-admin .clean-tabs button:nth-child(3n+3){color:var(--ep-teal)!important;background:var(--ep-teal-soft)!important}
body.ep-admin .clean-tabs button.active{background:linear-gradient(120deg,#304cda,#7140ca)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 14px #4b43c530}
body.ep-admin :is(.admin-table th,.admin-readiness>span){background:var(--ep-blue-soft);color:var(--ep-blue)}
body.ep-admin .admin-table tbody tr:nth-child(even){background:var(--ep-blue-soft)}
body.ep-admin :is(.admin-table td,.admin-table th,.question-row){border-color:var(--line)}
body.ep-admin #status{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ep-violet);border-radius:10px;padding:12px 14px;box-shadow:var(--ep-glow)}
body.ep-admin #status.error{border-left-color:#b42348;color:#b42348;background:#fff1f3}
body.ep-admin #status.success{border-left-color:#087567;color:#087567;background:#edf9f4}
body.ep-admin .admin-command small{color:#e1e8ff}
/* Next-rendered sign-in shares the same visual language. */
.ep-auth-page{background:radial-gradient(ellipse at 15% 5%,#e4e4ff,transparent 55%),radial-gradient(ellipse at 100% 80%,#dff6ef,transparent 50%),#f4f6fd!important;color:#1d2c49!important;display:flex;align-items:center}
.ep-auth-card{background:#fff!important;border:1px solid #dce3f2!important;border-top:4px solid #6745ca!important;border-radius:20px!important;box-shadow:0 16px 55px #443b8a18!important}
.ep-auth-card h1{color:#1d2c49}.ep-auth-card button[type=submit]{background:linear-gradient(120deg,#304cda,#7140ca)!important;color:white!important;box-shadow:0 4px 13px #4b43c52c}
.ep-auth-card button[type=button]{background:linear-gradient(115deg,#fff,#edf2ff);color:#354bc1;border-color:#dce3f2}
.ep-auth-card input{background:#fff;color:#1d2c49;border-color:#dce3f2}.ep-auth-card input:focus-visible{outline:3px solid #a5b4fc;outline-offset:2px}
@media(max-width:760px){body.ep-colour:not(.exam-mode) .sidebar{background:var(--surface);box-shadow:0 -3px 18px #293c7512}body.ep-colour:not(.exam-mode) .nav button.active{border-radius:9px;box-shadow:0 2px 8px #4b43c525}body.ep-colour:not(.exam-mode) :is(.directory-intro,.bundle-hero,.hub-header){padding:15px;border-radius:12px}body.ep-colour:not(.exam-mode) :is(.clean-tabs,.ra-tabs,.hub-nav)>button{padding:7px 9px}body.ep-admin>header{flex-wrap:wrap;gap:10px}body.ep-admin>header a{font-size:12px}}
@media(prefers-reduced-motion:reduce){body.ep-colour:not(.exam-mode) :is(button,a,.directory-exam){transition:none!important;transform:none!important}}
@media(forced-colors:active){body.ep-colour :is(button,a,.card,.panel,.directory-exam){box-shadow:none;forced-color-adjust:auto}body.ep-colour button{border:1px solid ButtonText}}
