:root{
  --navy-950:#0f1d38;
  --navy-900:#14284f;
  --navy-800:#173568;
  --navy-700:#214a89;
  --blue-600:#2f66b0;
  --blue-500:#3e7bd0;
  --blue-100:#eaf2ff;
  --red-600:#cf2734;
  --red-100:#fff0f2;
  --green-600:#168566;
  --green-100:#e7f8f2;
  --amber-600:#a76a0d;
  --amber-100:#fff4db;
  --ink:#172036;
  --ink-2:#34405a;
  --muted:#6c768a;
  --line:#e4e9f2;
  --line-strong:#d4dce9;
  --surface:#ffffff;
  --surface-soft:#f7f9fc;
  --page:#f5f8fc;
  --shadow-sm:0 8px 24px rgba(17,35,70,.07);
  --shadow-md:0 18px 50px rgba(17,35,70,.10);
  --shadow-lg:0 28px 80px rgba(17,35,70,.14);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --container:1180px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--page);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--page);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:520px;z-index:-2;background:radial-gradient(circle at 8% 12%,rgba(62,123,208,.10),transparent 34%),radial-gradient(circle at 92% 18%,rgba(207,39,52,.07),transparent 28%),linear-gradient(180deg,#fbfdff 0%,#f5f8fc 100%)}
a{color:var(--blue-600);text-decoration:none}
a:hover{color:var(--navy-800)}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:#dce9ff;color:var(--navy-950)}

.skip-link{position:fixed;left:16px;top:-70px;z-index:999;background:var(--navy-900);color:#fff;padding:10px 16px;border-radius:10px;transition:.2s}
.skip-link:focus{top:16px;color:#fff}

.topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(221,228,239,.85);backdrop-filter:blur(18px)}
.topbar-inner{width:min(var(--container),calc(100% - 40px));min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);min-width:0}
.brand:hover{color:var(--ink)}
.brand-mark{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-sm);flex:0 0 auto}
.brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy strong{font-size:1.08rem;letter-spacing:.12em;color:var(--navy-950)}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:.78rem}
.nav{display:flex;align-items:center;gap:6px}
.nav>a:not(.button){color:var(--ink-2);font-weight:700;font-size:.91rem;padding:10px 13px;border-radius:10px;transition:.2s}
.nav>a:not(.button):hover{background:var(--surface-soft);color:var(--navy-800)}
.nav .nav-logout{color:#a32631!important}
.nav-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.nav-toggle span{display:block;height:2px;background:var(--navy-900);margin:5px 0;border-radius:9px}

.page-shell{width:min(var(--container),calc(100% - 40px));min-height:calc(100vh - 180px);margin:0 auto;padding:42px 0 76px}
.public-page .page-shell{padding-top:24px}

.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:center;gap:72px;padding:66px 0 84px;position:relative}
.hero-copy{max-width:760px}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--red-600);font-size:.76rem;font-weight:850;letter-spacing:.2em}
.hero-kicker span{width:28px;height:2px;background:var(--red-600);border-radius:99px}
.hero h1{font-size:clamp(2.65rem,5.5vw,5.05rem);line-height:1.02;letter-spacing:-.055em;margin:22px 0 26px;color:var(--navy-950);font-weight:860}
.hero h1 em{font-style:normal;color:var(--blue-600);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:8px;border-radius:99px;background:linear-gradient(90deg,rgba(62,123,208,.24),rgba(22,133,102,.14));z-index:-1}
.hero-lead{font-size:1.11rem;line-height:1.8;color:var(--muted);max-width:710px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 26px}
.trust-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;color:#526078;font-size:.9rem;font-weight:650}
.trust-row span{display:flex;align-items:center;gap:7px}
.trust-row b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--green-100);color:var(--green-600);font-size:.75rem}

.hero-showcase{position:relative;padding:28px;overflow:hidden;background:#fff;border:1px solid rgba(219,226,238,.95)}
.showcase-glow{position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;top:-90px;background:radial-gradient(circle,rgba(62,123,208,.18),rgba(62,123,208,0) 70%);pointer-events:none}
.logo-frame{width:220px;height:220px;margin:0 auto 24px;padding:4px;border-radius:24px;background:#fff;display:grid;place-items:center;position:relative;z-index:1}
.logo-frame img{width:100%;height:100%;object-fit:contain;background:#fff}
.showcase-label{display:block;text-align:center;color:var(--red-600);font-size:.7rem;font-weight:850;letter-spacing:.18em;margin-bottom:7px}
.hero-showcase h2{text-align:center;font-size:1.65rem;line-height:1.25;margin:0 0 22px;color:var(--navy-950)}
.showcase-modules{display:grid;gap:9px}
.showcase-modules>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}
.showcase-modules>div>span{width:34px;height:34px;border-radius:10px;background:var(--blue-100);color:var(--blue-600);display:grid;place-items:center;font-size:.72rem;font-weight:850}
.showcase-modules strong{font-size:.88rem;color:var(--ink)}
.showcase-modules small{font-size:.72rem;color:var(--muted);white-space:nowrap}

.section{padding:58px 0}
.section-heading{max-width:720px;margin-bottom:28px}
.section-heading-split{max-width:none;display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:60px}
.section-heading h2,.process-copy h2{font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.12;letter-spacing:-.035em;margin:12px 0;color:var(--navy-950)}
.section-heading p,.process-copy p{line-height:1.75;margin:0}
.eyebrow{display:inline-flex;color:var(--red-600);font-size:.73rem;font-weight:850;letter-spacing:.2em}
.section-services{padding-top:34px}

.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-card{padding:26px;display:flex;flex-direction:column;min-height:330px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:#cdd8ea}
.service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.service-card-top>span{font-size:2rem;font-weight:850;color:#e5eaf2}
.service-card h3{font-size:1.35rem;margin:0 0 12px;color:var(--navy-950)}
.service-card p{color:var(--muted);line-height:1.7;flex:1;margin:0 0 24px}
.service-meta{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.service-meta strong{color:var(--navy-800);font-size:.88rem}
.service-meta span{font-size:.77rem;color:var(--muted)}
.module-icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#e7efff,#dff6f0);color:var(--navy-800);font-weight:900;letter-spacing:.05em;box-shadow:inset 0 0 0 1px rgba(47,102,176,.08)}
.module-personality .module-icon{background:linear-gradient(135deg,#f9e9f5,#eee7ff)}
.module-endurance .module-icon{background:linear-gradient(135deg,#fff4dc,#ffe9e3)}
.module-mmpi .module-icon{background:linear-gradient(135deg,#e5f7f5,#e6eefc);color:#185a67}

.process-section{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px;align-items:start;padding-top:82px}
.process-copy{position:sticky;top:120px}
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;display:flex;gap:18px;min-height:170px;box-shadow:var(--shadow-sm)}
.step>b{font-size:1.55rem;line-height:1;color:#cad4e5;min-width:38px}
.step h3{font-size:1.05rem;margin:0 0 9px;color:var(--navy-950)}
.step p{color:var(--muted);line-height:1.65;margin:0;font-size:.92rem}

.info-band{display:grid;grid-template-columns:74px .85fr 1.15fr;align-items:center;gap:28px;padding:36px 40px;background:linear-gradient(135deg,#122953 0%,#214b8a 58%,#2f66b0 100%);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}
.info-band::after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-95px;bottom:-130px;background:rgba(255,255,255,.06)}
.info-band-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:1.8rem;font-weight:900;color:#ffd6da}
.info-band h2{font-size:1.55rem;line-height:1.25;margin:8px 0 0;color:#fff}
.info-band p{margin:0;color:#e6edf9;line-height:1.75;position:relative;z-index:1}
.info-band .eyebrow{color:#ffb9bf}

.card{background:var(--surface);border:1px solid rgba(219,226,238,.95);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.button{appearance:none;border:0;border-radius:12px;background:linear-gradient(135deg,var(--navy-800),var(--blue-600));color:#fff!important;padding:12px 19px;font-weight:780;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 10px 22px rgba(47,102,176,.20);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(47,102,176,.24);filter:saturate(1.05)}
.button:focus-visible{outline:3px solid rgba(62,123,208,.3);outline-offset:2px}
.button-lg{padding:14px 22px;border-radius:13px;font-size:.97rem}
.button-outline{background:#fff;color:var(--navy-800)!important;border:1px solid var(--line-strong);box-shadow:none}
.button-outline:hover{background:#f8faff}
.button-danger{background:linear-gradient(135deg,#b92732,var(--red-600))}
.button-success{background:linear-gradient(135deg,#117156,var(--green-600))}
.button-muted{background:#70798b}
.button-sm{padding:9px 14px;border-radius:10px;font-size:.86rem}
.button-full{width:100%}

.auth-page .page-shell{padding-top:52px}
.auth-wrap{min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:72px;align-items:center}
.auth-brand{text-align:center;padding:30px}
.auth-brand img{width:240px;height:240px;object-fit:contain;margin:0 auto 24px;background:#fff;border-radius:24px}
.auth-brand h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 14px;color:var(--navy-950)}
.auth-brand p{color:var(--muted);max-width:500px;margin:0 auto;line-height:1.75}
.form-card{padding:32px}
.form-card h2{font-size:1.65rem;margin:0 0 12px;color:var(--navy-950)}
.form-card label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:720;font-size:.88rem;margin:15px 0;color:var(--ink-2)}
.form-card input,.form-card select,.form-card textarea,.form-grid input,.form-grid select,.form-grid textarea,.input{width:100%;border:1px solid var(--line-strong);border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(62,123,208,.12)}
textarea{min-height:105px;resize:vertical}
.form-foot{text-align:center;color:var(--muted);font-size:.89rem;margin:19px 0 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.form-grid .full{grid-column:1/-1}
.alert-list{background:var(--red-100);border:1px solid #ffcbd0;color:#97242d;border-radius:12px;padding:10px 15px}
.alert-list p{margin:7px 0}

.flash-stack{position:fixed;z-index:100;right:20px;top:92px;display:grid;gap:10px}
.flash{min-width:290px;max-width:430px;padding:14px 18px;border-radius:12px;color:#fff;box-shadow:var(--shadow-md);transition:.4s}
.flash-success{background:#168361}.flash-danger{background:#be2e37}.flash-warning{background:#a96f13}.flash-info{background:#2f66b0}.flash.fade{opacity:0;transform:translateY(-12px);pointer-events:none}

.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding:4px 0 2px}
.dashboard-head h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.035em;margin:8px 0;color:var(--navy-950)}
.dashboard-head p{color:var(--muted);margin:0;line-height:1.65}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stat{padding:22px;position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;top:-28px;background:var(--blue-100)}
.stat span{color:var(--muted);font-size:.82rem;font-weight:650}
.stat strong{display:block;font-size:2rem;line-height:1.15;margin-top:9px;color:var(--navy-950)}
.stat-text{font-size:1rem!important;line-height:1.35!important}
.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.panel{padding:24px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.panel-head h2{margin:0;color:var(--navy-950);font-size:1.28rem}

.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--line)}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:#fafcff}
.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafd;white-space:nowrap}
.table td{font-size:.9rem}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:820;background:#edf1f6;color:#526079;white-space:nowrap}
.badge-approved,.badge-completed,.badge-active{background:var(--green-100);color:#147255}
.badge-rejected,.badge-inactive{background:#ffe3e5;color:#a5262e}
.badge-pending,.badge-waiting_verification{background:var(--amber-100);color:#8b6011}
.badge-in_progress{background:var(--blue-100);color:#285b9f}
.empty-state{text-align:center;padding:54px 26px}
.empty-state h1{font-size:3rem;margin:0}.empty-state h2{color:var(--navy-950)}.empty-state p{color:var(--muted);line-height:1.7}
.progress{height:10px;background:#e8edf5;border-radius:999px;overflow:hidden}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-500),var(--green-600));border-radius:999px}
.profile-list{display:grid;gap:0}
.profile-list div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}
.profile-list div:last-child{border-bottom:0}
.profile-list span{color:var(--muted)}
.package-card{padding:28px}
.package-card .price{font-size:2.4rem;font-weight:850;margin:10px 0;color:var(--navy-950)}
.package-card ul{padding-left:20px;color:var(--muted);line-height:1.8}
.payment-box{padding:25px;background:#f8faff;border:1px dashed #aebbd6;border-radius:16px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}

.test-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.test-module-card{padding:24px;display:flex;flex-direction:column;gap:12px;min-height:350px;transition:.2s}
.test-module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.test-module-card h3{margin:2px 0;color:var(--navy-950)}
.test-module-card p{color:var(--muted);line-height:1.65;flex:1}
.test-module-card .button{margin-top:8px}
.compact-module-list{display:grid;gap:10px;margin-top:20px}
.compact-module-list div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.compact-module-list span{color:var(--muted);font-size:.88rem;line-height:1.5}
.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;padding:6px;background:#eef2f8;border-radius:14px;width:max-content;max-width:100%}
.module-tabs a{padding:10px 15px;border-radius:10px;color:var(--ink-2);font-weight:750;font-size:.88rem}
.module-tabs a.active{background:#fff;color:var(--navy-800);box-shadow:var(--shadow-sm)}
.module-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}

.question-card{padding:22px;margin-bottom:14px}
.question-card h4{margin:0 0 8px;color:var(--navy-950)}
.question-meta{font-size:.78rem;color:var(--muted)}
.test-shell{max-width:930px;margin:auto}
.test-top{position:sticky;top:94px;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:15px 19px;margin-bottom:20px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-md);backdrop-filter:blur(12px)}
.timer{font-size:1.35rem;font-weight:850;color:var(--red-600);font-variant-numeric:tabular-nums}
.question{padding:26px;margin-bottom:18px}
.question h3{font-size:1.08rem;line-height:1.62;color:var(--navy-950)}
.question-image{display:block;max-height:270px;margin:18px auto;border-radius:12px;background:#fff}
.options{display:grid;gap:10px;margin-top:16px}
.option{display:flex;gap:12px;align-items:center;border:1px solid var(--line-strong);border-radius:12px;padding:13px 14px;cursor:pointer;background:#fff;transition:.18s}
.option:hover{background:#f4f8ff;border-color:#b8c9e4}
.option:has(input:checked){background:#edf4ff;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(62,123,208,.08)}
.option input{accent-color:var(--blue-600);width:18px;height:18px;flex:0 0 auto}
.memory-box{background:linear-gradient(135deg,#132b58,#214b8a);color:#fff;padding:25px;border-radius:16px;line-height:1.8}
.kraepelin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.kraepelin-question{padding:16px;margin:0;text-align:center}
.kraepelin-question h3{font-size:1.25rem;margin:8px 0}
.number-answer{max-width:70px;margin:auto;text-align:center;font-size:1.25rem;font-weight:800}
.paired-options .option{align-items:flex-start;padding:16px}
.test-intro-card{padding:34px}
.lead{font-size:1.06rem;line-height:1.75;color:var(--muted)}

.result-report{max-width:980px;margin:auto}
.result-report-head{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.result-logo{width:88px;height:88px;object-fit:contain;border-radius:16px;background:#fff}
.result-score{text-align:center;padding:36px}
.result-score strong{display:block;font-size:4rem;line-height:1;color:var(--navy-800)}
.result-summary-box{padding:24px;background:#f8fafd;border:1px solid var(--line);border-radius:16px;margin:24px 0}
.subtest-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.subtest-result{padding:18px}
.trait-list{display:grid;gap:16px}
.trait-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}
.trait-bar{height:12px;background:#e8edf5;border-radius:999px;overflow:hidden}
.trait-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue-500),var(--green-600));border-radius:999px}
.result-stats{margin-top:25px}
.completion-symbol{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:#147255;font-size:3rem;font-weight:900;margin:20px auto}

.footer{background:#fff;border-top:1px solid var(--line);padding:26px 0}
.footer-inner{width:min(var(--container),calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:11px}
.footer-brand div{display:flex;flex-direction:column}
.footer-brand strong{letter-spacing:.08em;color:var(--navy-950)}
.footer-brand span{font-size:.8rem;color:var(--muted)}
.footer-meta{text-align:right;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.78rem}
.footer-meta small{font-size:.74rem}

.text-muted{color:var(--muted)}.text-danger{color:var(--red-600)}.text-success{color:var(--green-600)}
.mt-0{margin-top:0}.mt-2{margin-top:16px}.mb-0{margin-bottom:0}.pt-0{padding-top:0}
.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.center-actions{justify-content:center}
.divider{border:0;border-top:1px solid var(--line);margin:24px 0}
.white-logo-surface,.white-logo-surface img,.result-logo,.logo-frame,.logo-frame img,.brand-mark,.brand-mark img,.auth-brand img{background:#fff!important}

@media print{
  .topbar,.footer,.button,.flash-stack,.no-print{display:none!important}
  body{background:#fff}.page-shell{width:100%;padding:0}.card{box-shadow:none}.result-score{border:1px solid #ddd}
}

@media(max-width:980px){
  .topbar-inner,.page-shell,.footer-inner{width:min(100% - 28px,var(--container))}
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:14px;right:14px;top:70px;background:#fff;padding:12px;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch}
  .nav.open{display:flex}.nav>a{width:100%}
  .hero{grid-template-columns:1fr;gap:34px;padding-top:34px}.hero-copy{text-align:center;margin:auto}.hero-kicker{justify-content:center}.hero-actions,.trust-row{justify-content:center}.hero-showcase{max-width:620px;width:100%;margin:auto}.showcase-modules{grid-template-columns:repeat(3,1fr)}.showcase-modules>div{grid-template-columns:38px 1fr}.showcase-modules small{grid-column:2;white-space:normal}
  .section-heading-split{grid-template-columns:1fr;gap:10px}.service-grid,.test-module-grid,.module-summary-grid{grid-template-columns:1fr}
  .process-section{grid-template-columns:1fr;gap:30px}.process-copy{position:static;max-width:720px}
  .info-band{grid-template-columns:62px 1fr}.info-band p{grid-column:1/-1;padding-left:90px}
  .auth-wrap,.content-grid{grid-template-columns:1fr}.auth-wrap{gap:24px}.auth-brand img{width:180px;height:180px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .subtest-results{grid-template-columns:repeat(2,1fr)}
  .kraepelin-grid{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:680px){
  body{font-size:15px}.page-shell{padding:28px 0 56px}.public-page .page-shell{padding-top:16px}
  .topbar-inner{min-height:68px}.brand-mark{width:43px;height:43px}.brand-copy strong{font-size:.98rem}.brand-copy small{font-size:.72rem}
  .hero{padding:30px 0 58px}.hero h1{font-size:clamp(2.35rem,12vw,3.45rem)}.hero-lead{font-size:1rem}.hero-actions{display:grid}.button-lg{width:100%}.trust-row{gap:12px;font-size:.82rem}
  .hero-showcase{padding:20px}.logo-frame{width:170px;height:170px;margin-bottom:18px}.showcase-modules{grid-template-columns:1fr}.showcase-modules>div{grid-template-columns:38px 1fr auto}.showcase-modules small{grid-column:auto;white-space:nowrap}
  .section{padding:40px 0}.section-heading h2,.process-copy h2{font-size:2rem}.steps-grid{grid-template-columns:1fr}.step{min-height:0}
  .info-band{grid-template-columns:52px 1fr;padding:26px 22px;gap:18px}.info-band-icon{width:50px;height:50px;border-radius:16px}.info-band p{grid-column:1/-1;padding-left:0}
  .footer-inner{align-items:flex-start;flex-direction:column}.footer-meta{text-align:left}
  .auth-page .page-shell{padding-top:26px}.auth-wrap{display:block}.auth-brand{padding:6px 0 24px}.auth-brand img{width:130px;height:130px;margin-bottom:14px}.auth-brand h1{font-size:2rem}.form-card{padding:23px}
  .dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:2.25rem}
  .stats-grid,.compact-stats,.subtest-results,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
  .content-grid{display:block}.content-grid>*+*{margin-top:18px}
  .test-top{top:78px}.kraepelin-grid{grid-template-columns:repeat(2,1fr)}
  .result-report-head{align-items:flex-start}.result-logo{width:70px;height:70px}
  .flash-stack{left:12px;right:12px}.flash{min-width:0}
}

/* Tahap 2.6 — IST FA */
.fa-reference-card{padding:20px;margin:0 0 18px;text-align:center}
.fa-reference-card p{margin:.45rem 0 .8rem}
.fa-reference-image{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;border-radius:12px;background:#fff;border:1px solid var(--line)}
.fa-instruction-image{width:100%;max-width:760px;max-height:none;height:auto}
@media (max-width:640px){.fa-reference-card{padding:14px}.fa-reference-image{border-radius:9px}.question-image{max-width:100%;height:auto}}

/* Tahap 2.8 — IST ME */
.memory-stage-card{max-width:920px;margin:0 auto}
.memory-stage-timer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0;padding:18px 22px;border:1px solid #d9e2f2;border-radius:16px;background:#f7f9fd}
.memory-stage-timer span{font-weight:700;color:#667085}
.memory-stage-timer strong{font-size:2rem;letter-spacing:.06em;color:#173f7a}
.memory-list{font-size:1.05rem;line-height:2;white-space:normal}
.module-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.module-actions .button,.module-actions form,.module-actions form .button{width:100%}
@media(max-width:640px){.module-actions{grid-template-columns:1fr}.memory-stage-timer{align-items:flex-start;flex-direction:column}.memory-stage-timer strong{font-size:1.7rem}}


.module-mmpi{border-color:#d5e7e6}
.mmpi-shell{max-width:980px}
.test-status-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.timer-untimed{font-size:.86rem;color:var(--navy-800);background:#edf4ff;border:1px solid #d8e5f8;padding:7px 10px;border-radius:999px}
.mmpi-progress-card{position:sticky;top:168px;z-index:15;margin-bottom:20px;padding:18px 20px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.mmpi-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.mmpi-progress-copy>div{display:grid;gap:4px}
.mmpi-progress-copy strong{font-size:.95rem;color:var(--navy-950)}
.mmpi-progress-copy>span{font-weight:850;color:var(--navy-800)}
.mmpi-progress-card p{margin-top:10px}
.mmpi-question[hidden]{display:none!important}
.mmpi-question{min-height:250px}
.mmpi-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
.mmpi-options .option{justify-content:center;font-weight:800;padding:16px 18px}
.mmpi-options .option span{font-size:1rem}
.mmpi-navigation{position:sticky;bottom:16px;z-index:25;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}
.mmpi-navigation button[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.mmpi-navigation button[hidden]{display:none}
.mmpi-finish-note{text-align:right;margin:10px 4px 0}
.mmpi-missing{border-color:#d94b55!important;box-shadow:0 0 0 4px rgba(217,75,85,.12)!important}
@media(max-width:1100px){
  .service-grid,.test-module-grid,.module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .service-grid,.test-module-grid,.module-summary-grid{grid-template-columns:1fr}
  .mmpi-progress-card{top:145px;padding:14px}
  .mmpi-progress-copy{align-items:flex-start}
  .mmpi-options{grid-template-columns:1fr 1fr}
  .mmpi-navigation{justify-content:stretch;bottom:8px}
  .mmpi-navigation .button{flex:1;padding:11px 10px}
  .test-status-inline{gap:7px}
  .mmpi-progress-label{width:100%;text-align:right}
}


/* Tahap 3.1 — compact premium home + PAPI Kostick */
.home31-page .page-shell{width:min(1280px,calc(100% - 40px));padding:18px 0 34px;min-height:0}
.home31{min-height:calc(100vh - 130px);position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);grid-template-rows:1fr auto;gap:22px 44px;align-items:center;padding:28px 0 22px;isolation:isolate;overflow:hidden}
.home31-grid{position:absolute;inset:0;z-index:-3;opacity:.5;background-image:linear-gradient(rgba(23,53,104,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,53,104,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.home31-orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-2;pointer-events:none;animation:home31Float 11s ease-in-out infinite}
.home31-orb-a{width:460px;height:460px;right:-180px;top:-160px;background:radial-gradient(circle at 35% 35%,rgba(69,130,220,.24),rgba(69,130,220,.03) 58%,transparent 72%)}
.home31-orb-b{width:330px;height:330px;left:-150px;bottom:40px;background:radial-gradient(circle at 50% 50%,rgba(19,144,117,.15),rgba(207,39,52,.04) 58%,transparent 72%);animation-delay:-5s}
.home31-copy{max-width:720px;padding:12px 0 18px}
.home31-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--red-600);font-size:.71rem;letter-spacing:.17em;font-weight:900}
.home31-kicker i{display:block;width:27px;height:2px;background:var(--red-600);border-radius:10px}
.home31-kicker b{letter-spacing:.08em;background:#fff;border:1px solid #dbe5f3;color:var(--blue-600);padding:5px 8px;border-radius:999px;box-shadow:var(--shadow-sm)}
.home31 h1{margin:18px 0 18px;color:var(--navy-950);font-size:clamp(3rem,5.65vw,5.55rem);line-height:.98;letter-spacing:-.062em;font-weight:900}
.home31 h1 span{background:linear-gradient(110deg,var(--blue-600),#3c8bca 55%,var(--green-600));-webkit-background-clip:text;background-clip:text;color:transparent}
.home31-copy>p{max-width:675px;margin:0;color:#657189;font-size:1.05rem;line-height:1.78}
.home31-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 24px}.home31-actions .button span{font-size:1.12rem}.button-ghost{background:#fff;color:var(--navy-800)!important;border:1px solid #dbe3ef;box-shadow:var(--shadow-sm)}.button-ghost:hover{background:#f9fbff}
.home31-metrics{display:flex;gap:9px;flex-wrap:wrap}.home31-metrics>div{min-width:94px;display:flex;align-items:baseline;gap:7px;padding:10px 13px;border:1px solid rgba(216,225,239,.9);border-radius:13px;background:rgba(255,255,255,.74);backdrop-filter:blur(12px)}.home31-metrics strong{font-size:1.08rem;color:var(--navy-900)}.home31-metrics span{font-size:.74rem;color:var(--muted);font-weight:750}
.home31-console{position:relative;padding:22px;border-radius:28px;box-shadow:0 34px 90px rgba(25,52,98,.16);background:linear-gradient(150deg,rgba(255,255,255,.97),rgba(248,251,255,.93));overflow:hidden}.home31-console::before{content:"";position:absolute;inset:-1px;border-radius:28px;padding:1px;background:linear-gradient(135deg,rgba(55,112,196,.28),rgba(255,255,255,.7),rgba(23,133,102,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.home31-console-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.home31-mini-brand{display:flex;align-items:center;gap:11px}.home31-mini-brand>span{width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.home31-mini-brand img{width:100%;height:100%;object-fit:contain}.home31-mini-brand div{display:grid}.home31-mini-brand small{font-size:.65rem;letter-spacing:.16em;color:var(--muted);font-weight:850}.home31-mini-brand strong{font-size:.98rem;color:var(--navy-950)}.home31-live{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:999px;background:#ecfaf5;color:#107459;font-size:.68rem;font-weight:900;letter-spacing:.08em}.home31-live i{width:7px;height:7px;background:#18a579;border-radius:50%;box-shadow:0 0 0 5px rgba(24,165,121,.12);animation:home31Pulse 2s infinite}
.home31-spotlight{min-height:146px;display:grid;grid-template-columns:66px 1fr auto;gap:17px;align-items:center;padding:20px;border-radius:22px;background:linear-gradient(135deg,#112a55,#1e4d8c 58%,#3474bf);color:#fff;position:relative;overflow:hidden}.home31-spotlight::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;top:-90px;background:rgba(255,255,255,.08)}.home31-spotlight-icon{width:62px;height:62px;border-radius:19px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-weight:950;font-size:1.05rem;letter-spacing:.05em}.home31-spotlight span{font-size:.67rem;letter-spacing:.14em;color:#b9d4f9;font-weight:900}.home31-spotlight h2{margin:4px 0 5px;color:#fff;font-size:1.35rem;letter-spacing:-.02em}.home31-spotlight p{margin:0;color:#dce9fa;font-size:.82rem;line-height:1.55}.home31-spotlight>strong{font-size:2.55rem;line-height:1;color:#fff;opacity:.92;position:relative;z-index:1}.swap-in{animation:home31Swap .36s ease both}
.home31-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:11px}.home31-module{appearance:none;text-align:left;border:1px solid #e0e7f1;border-radius:15px;background:#fff;padding:12px;cursor:pointer;display:grid;gap:2px;transition:.22s ease;color:var(--ink)}.home31-module:hover{transform:translateY(-2px);border-color:#bccce3;box-shadow:var(--shadow-sm)}.home31-module.active{border-color:#8fb2df;background:linear-gradient(145deg,#f3f8ff,#fff);box-shadow:0 10px 26px rgba(47,102,176,.10)}.home31-module span{font-size:.64rem;color:#9ba8bb;font-weight:850}.home31-module strong{font-size:.86rem;color:var(--navy-900)}.home31-module small{font-size:.66rem;color:var(--muted)}
.home31-security{display:flex;justify-content:space-between;gap:8px;margin-top:13px;padding:10px 4px 0;color:#6b778c;font-size:.71rem;font-weight:720}.home31-security span{display:flex;align-items:center;gap:5px}.home31-security i{font-style:normal;color:var(--green-600)}
.home31-flow{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1.5fr 1.1fr;align-items:center;gap:22px;padding:15px 18px;border-radius:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px)}.home31-flow-title{display:grid;gap:2px}.home31-flow-title span{font-size:.64rem;letter-spacing:.15em;font-weight:900;color:var(--red-600)}.home31-flow-title strong{color:var(--navy-900);font-size:.9rem}.home31-flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.home31-flow li{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:11px;background:#f5f8fc}.home31-flow li b{font-size:.65rem;color:var(--blue-600)}.home31-flow li span{font-size:.73rem;font-weight:800;color:#40506c}.home31-flow p{margin:0;color:#788398;font-size:.69rem;line-height:1.45}.home31-flow p strong{color:#536178}
.home31-reveal{opacity:0;transform:translateY(15px)}.home31-reveal.is-visible{animation:home31Reveal .7s cubic-bezier(.2,.8,.2,1) forwards}.home31-console.home31-reveal{animation-delay:.08s}.home31-flow.home31-reveal{animation-delay:.16s}
@keyframes home31Reveal{to{opacity:1;transform:none}}@keyframes home31Swap{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes home31Pulse{50%{box-shadow:0 0 0 8px rgba(24,165,121,0)}}@keyframes home31Float{50%{transform:translate3d(0,18px,0) scale(1.04)}}

.papi-shell{max-width:980px}.papi-progress-card{position:sticky;top:168px;z-index:15;margin-bottom:20px;padding:18px 20px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.papi-question[hidden]{display:none!important}.papi-question{min-height:220px}.papi-question h3{font-size:.92rem;color:var(--muted);font-weight:700;margin-bottom:12px}.papi-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.papi-options .option{position:relative;min-height:118px;align-items:flex-start;padding:18px 17px;border-width:1.5px}.papi-options .option:has(input:checked){border-color:#6f9ed8;background:linear-gradient(145deg,#edf5ff,#fff);box-shadow:0 10px 28px rgba(47,102,176,.1)}.papi-choice-badge{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#edf3fb;color:var(--navy-800);font-size:.78rem}.papi-options .option span{line-height:1.58}.papi-missing{border-color:#d94b55!important;box-shadow:0 0 0 4px rgba(217,75,85,.12)!important}.papi-navigation button[hidden]{display:none}.papi-navigation button[disabled]{opacity:.45;cursor:not-allowed}.papi-progress-label{font-size:.84rem;color:var(--navy-800);font-weight:800}
@media(max-width:980px){.home31-page .page-shell{width:min(100% - 28px,780px)}.home31{grid-template-columns:1fr;grid-template-rows:auto;gap:24px;padding-top:24px}.home31-copy{text-align:center;margin:auto}.home31-actions,.home31-metrics{justify-content:center}.home31-console{max-width:720px;width:100%;margin:auto}.home31-flow{grid-column:auto;grid-template-columns:1fr}.home31-flow-title{text-align:center}.home31-flow p{text-align:center}.home31 h1{font-size:clamp(2.7rem,8vw,4.6rem)}}
@media(max-width:640px){.home31-page .page-shell{padding-top:6px}.home31{min-height:0;padding:15px 0 20px}.home31 h1{font-size:clamp(2.5rem,13vw,3.7rem);margin-top:14px}.home31-copy>p{font-size:.96rem}.home31-actions{display:grid;margin:22px 0 18px}.home31-metrics{display:grid;grid-template-columns:1fr 1fr}.home31-metrics>div{justify-content:center}.home31-console{padding:15px;border-radius:22px}.home31-spotlight{grid-template-columns:52px 1fr;min-height:142px;padding:16px}.home31-spotlight-icon{width:50px;height:50px;border-radius:15px}.home31-spotlight>strong{display:none}.home31-modules{grid-template-columns:1fr 1fr}.home31-security{font-size:.65rem;flex-wrap:wrap;justify-content:center}.home31-flow{padding:14px}.home31-flow ol{grid-template-columns:1fr 1fr}.home31-flow li{justify-content:center}.papi-progress-card{top:145px;padding:14px}.papi-options{grid-template-columns:1fr}.papi-options .option{min-height:0}.papi-navigation{justify-content:stretch;bottom:8px}.papi-navigation .button{flex:1;padding:11px 8px}}
@media(prefers-reduced-motion:reduce){.home31-orb,.home31-live i,.home31-reveal,.swap-in{animation:none!important;transition:none!important}.home31-reveal{opacity:1;transform:none}}


/* Kraepelin — 60 baris × 30 detik */
.kraepelin-shell{max-width:1180px}
.kraepelin-progress-card{padding:18px 20px;margin-bottom:16px;background:linear-gradient(135deg,#f8fbff,#f4f8ff)}
.kraepelin-progress-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:10px}
.kraepelin-progress-copy>div{display:flex;flex-direction:column;gap:4px}.kraepelin-progress-copy strong{font-size:1.15rem;color:var(--navy-950)}
.kraepelin-row-label{font-weight:800;color:var(--navy-800);white-space:nowrap}
.kraepelin-stage{padding:24px;overflow:hidden}
.kraepelin-stage-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.kraepelin-stage-head>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafd;display:flex;flex-direction:column;gap:3px}
.kraepelin-stage-head span{font-size:.76rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.kraepelin-stage-head strong{color:var(--navy-950)}
.kraepelin-scroll{overflow-x:auto;overflow-y:hidden;padding:14px 4px 18px;scrollbar-width:thin;scroll-behavior:smooth}
.kraepelin-track{width:max-content;min-width:100%;padding:18px 22px;border:1px solid #dce5f2;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fbfe);box-shadow:inset 0 1px 0 #fff}
.kraepelin-digits{display:grid;grid-template-columns:repeat(var(--kraepelin-digits),42px);align-items:center;justify-content:start}
.kraepelin-digits span{display:grid;place-items:center;height:46px;font-size:1.65rem;line-height:1;font-weight:850;font-variant-numeric:tabular-nums;color:var(--navy-950);border-right:1px dashed #dfe6f1}
.kraepelin-digits span:last-child{border-right:0}
.kraepelin-answers{display:grid;grid-template-columns:repeat(var(--kraepelin-slots),42px);margin-left:21px;margin-top:8px}
.kraepelin-answers input{width:32px;height:38px;margin:0 auto;border:1.5px solid #bdcbe0;border-radius:9px;background:#fff;text-align:center;font-size:1.15rem;font-weight:850;color:var(--blue-700);outline:none;transition:.12s}
.kraepelin-answers input:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(62,123,208,.13);transform:translateY(-1px)}
.kraepelin-answers input:not(:placeholder-shown){background:#edf4ff}
.kraepelin-keyboard-hint{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.8rem}.kraepelin-keyboard-hint span:before{content:'•';margin-right:7px;color:var(--blue-500)}
.kraepelin-auto-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid #d9e5f5;border-radius:14px;background:#f7faff;color:var(--muted)}.kraepelin-auto-note strong{color:var(--navy-900)}
.kraepelin-chart{display:grid;grid-template-columns:repeat(60,minmax(4px,1fr));gap:3px;align-items:end;height:180px;padding:18px 14px 8px;border:1px solid var(--line);border-radius:15px;background:#f8fafd;overflow:hidden}
.kraepelin-chart span{display:block;min-height:2px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--blue-500),var(--navy-700));position:relative}.kraepelin-chart span:hover:after{content:attr(data-label);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:5px 7px;border-radius:7px;background:#0d1f3f;color:#fff;font-size:.72rem;white-space:nowrap;z-index:4}
.kraepelin-result-note{margin-top:10px;font-size:.8rem;color:var(--muted)}
@media(max-width:680px){.kraepelin-stage{padding:16px}.kraepelin-stage-head{grid-template-columns:1fr 1fr}.kraepelin-stage-head>div:last-child{grid-column:1/-1}.kraepelin-track{padding:14px}.kraepelin-digits{grid-template-columns:repeat(var(--kraepelin-digits),38px)}.kraepelin-digits span{height:42px;font-size:1.45rem}.kraepelin-answers{grid-template-columns:repeat(var(--kraepelin-slots),38px);margin-left:19px}.kraepelin-answers input{width:30px;height:36px}.kraepelin-auto-note{align-items:flex-start;flex-direction:column}.kraepelin-progress-copy{align-items:flex-start;flex-direction:column}}


/* SIPSIKA 3.3 — global motion & polished interaction layer */
html{scroll-behavior:smooth}
.topbar{transition:box-shadow .28s ease,background .28s ease,border-color .28s ease}
.topbar.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 10px 32px rgba(18,45,87,.08);border-bottom-color:rgba(214,224,239,.9)}
.brand-mark img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s ease}.brand:hover .brand-mark img{transform:rotate(-4deg) scale(1.06);filter:saturate(1.08)}
.button,.module-tabs a,.option,.test-module-card{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background .22s ease}
.button:hover{transform:translateY(-2px)}.button.ui-pressed,.module-tabs a.ui-pressed{transform:translateY(1px) scale(.985)!important}
.test-module-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(23,53,104,.12)}
.progress{overflow:hidden}.progress>span{position:relative;transition:width .55s cubic-bezier(.2,.8,.2,1)}.progress>span:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.42) 45%,transparent 75%);transform:translateX(-120%);animation:sipsikaProgressSheen 2.8s ease-in-out infinite}
.ui-reveal{opacity:0;transform:translateY(14px) scale(.995)}.ui-reveal.ui-visible{animation:sipsikaReveal .58s cubic-bezier(.2,.8,.2,1) var(--ui-delay,0ms) both}
.question:focus-within,.form-card:focus-within{box-shadow:0 18px 46px rgba(31,73,135,.11)}
.timer:not(.timer-untimed){animation:sipsikaTimerGlow 2s ease-in-out infinite}.home31-console{will-change:transform;animation:sipsikaConsoleFloat 7.5s ease-in-out infinite}.home31-spotlight{box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.home31-kicker b{background:linear-gradient(135deg,#fff,#eef6ff);color:var(--navy-800);border-color:#d6e3f4}
.home31-flow{box-shadow:0 16px 44px rgba(29,62,111,.08)}
@keyframes sipsikaReveal{to{opacity:1;transform:none}}@keyframes sipsikaProgressSheen{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}@keyframes sipsikaTimerGlow{50%{box-shadow:0 0 0 5px rgba(51,111,190,.08)}}@keyframes sipsikaConsoleFloat{50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ui-reveal{opacity:1!important;transform:none!important}.ui-reveal.ui-visible,.home31-console,.progress>span:after,.timer{animation:none!important}.button,.module-tabs a,.option,.test-module-card,.brand-mark img{transition:none!important}}

/* SIPSIKA 3.4 — participant reports, professional demo identity, non-overlay test status */
.participant-dashboard .page-shell{padding-top:34px}
.dashboard-hero34{position:relative;overflow:hidden;padding:28px 30px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#f6f9fe 72%,#edf5ff 100%);border-color:#dce6f4;box-shadow:0 20px 54px rgba(24,53,98,.08)}
.dashboard-hero34::after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-110px;top:-135px;background:radial-gradient(circle,rgba(55,116,196,.16),rgba(55,116,196,0) 68%);pointer-events:none}
.dashboard-hero34-copy{position:relative;z-index:1;max-width:780px}.dashboard-title-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.dashboard-title-row h1{margin-right:4px}.dashboard-hero34-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.demo-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 11px;border-radius:999px;background:#eef5ff;border:1px solid #d3e2f5;color:#235791;font-size:.72rem;font-weight:850;letter-spacing:.035em}.demo-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#2f7ac7;box-shadow:0 0 0 4px rgba(47,122,199,.10)}

/* The testing status rail remains in normal document flow. It never floats over questions. */
.test-page .test-top{position:relative;top:auto;z-index:2;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(26,56,101,.07)}
.test-page .mmpi-progress-card,.test-page .papi-progress-card{position:relative;top:auto;z-index:1}
.test-page .timer{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:7px 10px;border-radius:10px;background:#fff4f5;border:1px solid #ffd7db;box-shadow:none!important}
.test-page .timer.timer-untimed{min-width:auto;background:#edf4ff;border-color:#d8e5f8}
.test-page .test-status-inline{row-gap:7px}
@media(max-width:680px){.test-page .test-top{align-items:flex-start;gap:10px;flex-direction:column}.test-page .test-status-inline{width:100%;justify-content:space-between}.dashboard-hero34{padding:23px}.dashboard-hero34-actions{width:100%}.dashboard-hero34-actions .button{flex:1}}

.report-hub{display:grid;gap:26px}.report-hub-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:34px;align-items:center;padding:34px;background:linear-gradient(135deg,#102a55 0%,#1d4c8a 58%,#3377bf 100%);color:#fff;border:0;box-shadow:0 30px 70px rgba(18,51,103,.19)}
.report-hub-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-150px;top:-210px;background:rgba(255,255,255,.08)}.report-hub-copy{position:relative;z-index:1}.report-hub-copy .eyebrow{color:#bcd6fb}.report-hub-copy h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;letter-spacing:-.04em;color:#fff}.report-hub-copy p{max-width:720px;margin:0 0 18px;color:#dce9fa;line-height:1.7}.report-hub-copy .demo-pill{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);color:#fff}.report-hub-copy .demo-pill::before{background:#68d6b3;box-shadow:0 0 0 4px rgba(104,214,179,.14)}
.report-hub-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-hub-stats>div{min-height:105px;padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:space-between}.report-hub-stats span{font-size:.72rem;color:#c9dcf7}.report-hub-stats strong{font-size:1.85rem;color:#fff}.report-hub-stats .report-date{font-size:.95rem;line-height:1.35}
.report-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.report-section-head h2{margin:6px 0 0;color:var(--navy-950);font-size:1.75rem}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-card{padding:22px;display:grid;gap:16px;min-height:330px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.report-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(23,53,104,.11);border-color:#cbd9eb}.report-card-top,.report-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-card-copy small{color:var(--muted);font-weight:700}.report-card-copy h3{margin:7px 0 8px;color:var(--navy-950);font-size:1.2rem}.report-card-copy p{margin:0;color:var(--muted);line-height:1.6;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.report-card-metric{display:flex;justify-content:space-between;align-items:end;padding:14px 15px;border-radius:13px;background:#f6f9fd;border:1px solid #e3eaf4}.report-card-metric span{font-size:.78rem;color:var(--muted);font-weight:700}.report-card-metric strong{font-size:1.5rem;color:var(--navy-900)}.report-card-foot{margin-top:auto;padding-top:4px}.report-card-foot>span{font-size:.76rem;color:var(--muted)}.report-policy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:24px;align-items:center;padding:24px 26px;background:linear-gradient(135deg,#fbfdff,#f5f8fc)}.report-policy h3{margin:5px 0 0;color:var(--navy-950)}.report-policy p{margin:0;color:var(--muted);line-height:1.65}.report-empty{text-align:center;padding:54px 28px}.report-empty-icon{width:64px;height:64px;margin:0 auto 16px;display:grid;place-items:center;border-radius:19px;background:#edf5ff;color:var(--blue-600);font-size:1.65rem;font-weight:900}.report-empty h2{margin:0 0 8px;color:var(--navy-950)}.report-empty p{margin:0 auto 20px;max-width:560px;color:var(--muted)}
@media(max-width:980px){.report-hub-hero{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr}.report-policy{grid-template-columns:1fr}.report-hub-stats{max-width:650px}}
@media(max-width:620px){.report-hub-hero{padding:25px}.report-hub-stats{grid-template-columns:1fr}.report-hub-stats>div{min-height:78px}.report-section-head{align-items:flex-start;flex-direction:column}.report-card-foot{align-items:flex-start;flex-direction:column}.report-card-foot .button{width:100%}}
