@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600;700;800&display=swap');
:root{
  --bg:#f5f9ff;--surface:#fff;--surface-2:#edf5ff;--navy:#041f66;--navy-2:#062b88;
  --blue:#075cff;--blue-2:#043ec7;--cyan:#27d9ff;--yellow:#ffd21f;--text:#07142e;
  --muted:#59657a;--border:#d9e6f6;--success:#0a936f;--danger:#cf3348;
  --shadow:0 18px 50px rgba(4,47,135,.10);--shadow-strong:0 24px 70px rgba(4,47,135,.18);
  --radius:22px;--container:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.container{width:min(calc(100% - 40px),var(--container));margin:auto}.min16,small,.small{font-size:16px!important}h1,h2,h3,h4,.brand,.btn,.nav-link,.eyebrow{font-family:Poppins,Inter,sans-serif}.site-header{position:sticky;top:0;z-index:100;background:rgba(245,249,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(217,230,246,.8)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:var(--navy)}.brand-dot{width:13px;height:13px;border:4px solid var(--blue);border-radius:50%;display:inline-block}.brand strong{color:var(--blue)}.brand-year{padding:7px 14px;border:1px solid #90caff;border-radius:999px;background:linear-gradient(135deg,#fff,#eaf7ff);color:var(--blue);font-weight:800;font-size:16px}.nav-links{display:flex;align-items:center;gap:28px}.nav-link{font-size:16px;font-weight:600;color:#20304e}.nav-link:hover{color:var(--blue)}.btn{border:0;border-radius:999px;min-height:50px;padding:0 24px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.2s}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 12px 30px rgba(7,92,255,.24)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(7,92,255,.30)}.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--navy)}.btn-yellow{background:var(--yellow);color:#10204f}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(39,217,255,.22),transparent 25%),radial-gradient(circle at 10% 90%,rgba(255,210,31,.12),transparent 22%),linear-gradient(145deg,#03134a 0%,#0636ad 55%,#0679ef 100%);color:#fff;padding:86px 0 76px}.hero:after{content:"";position:absolute;inset:auto -10% -45% 30%;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(39,217,255,.25),transparent 65%);filter:blur(14px)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.10);border:1px solid rgba(87,224,255,.55);padding:9px 15px;border-radius:999px;font-size:16px;font-weight:700}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 14px var(--yellow)}.hero h1{margin:22px 0 18px;font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.045em}.hero h1 .yellow{color:var(--yellow)}.hero-lead{max-width:760px;font-size:20px;color:#eaf4ff;margin:0 0 26px}.glow-label{display:inline-block;padding:11px 18px;border-radius:16px;border:2px solid #58e9ff;box-shadow:0 0 0 3px rgba(39,217,255,.10),0 0 28px rgba(39,217,255,.35);font-family:Poppins;font-weight:800;font-size:clamp(18px,2vw,25px);background:rgba(0,65,189,.35)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-note{margin-top:18px;color:#d9eaff;font-size:16px}.poster-card{position:relative;border-radius:28px;padding:10px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(39,217,255,.16));box-shadow:0 26px 70px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.25)}.poster-card img{width:100%;border-radius:20px;aspect-ratio:4/5;object-fit:cover;object-position:center}.section{padding:84px 0}.section-head{max-width:850px;margin-bottom:34px}.section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:0 0 14px;letter-spacing:-.035em}.section-head p{font-size:18px;color:var(--muted);margin:0}.core-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.core-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.core-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.core-card .num{font:800 46px/1 Poppins;color:#d8e9ff}.core-card h3{font-size:28px;margin:12px 0 12px}.core-card p{color:var(--muted);font-size:17px;margin:0}.feature-band{background:linear-gradient(145deg,#061d5f,#0739ad);color:#fff;border-radius:28px;padding:38px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow-strong)}.feature-band h3{font-size:30px;margin:0 0 8px}.feature-band p{font-size:17px;color:#dbeaff;margin:0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-brand{padding:54px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 70% 25%,rgba(39,217,255,.25),transparent 25%),linear-gradient(145deg,#03134a,#064fda);color:#fff}.auth-brand h1{font-size:clamp(42px,5vw,68px);line-height:1;margin:24px 0 16px}.auth-brand p{font-size:18px;color:#dbeaff;max-width:650px}.auth-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;padding:38px;box-shadow:var(--shadow)}.auth-card h2{font-size:34px;margin:0 0 8px}.auth-card .lead{font-size:17px;color:var(--muted);margin:0 0 28px}.field{margin-bottom:18px}.field label{display:block;font-family:Poppins;font-weight:600;font-size:16px;margin-bottom:8px}.field input{width:100%;min-height:52px;border:1px solid #cfdced;border-radius:14px;padding:0 15px;font-size:17px;outline:none;background:#fff}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,92,255,.10)}.alert{border-radius:14px;padding:14px 16px;margin-bottom:18px;font-size:16px}.alert-danger{background:#fff0f2;color:#9f1f34;border:1px solid #ffd0d7}.alert-success{background:#ecfff8;color:#087457;border:1px solid #b8f0dd}.app-shell{min-height:100vh;background:#f4f8ff}.app-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.app-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.app-main{padding:38px 0 110px}.welcome{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.welcome h1{font-size:38px;line-height:1.1;margin:0}.welcome p{font-size:17px;color:var(--muted);margin:8px 0 0}.countdown{background:linear-gradient(135deg,#041f66,#075cff);color:#fff;border-radius:24px;padding:26px 28px;display:flex;justify-content:space-between;gap:26px;align-items:center;box-shadow:var(--shadow-strong)}.countdown strong{font-family:Poppins;font-size:24px}.countdown .days{font-family:Poppins;font-size:34px;font-weight:800;color:var(--yellow)}.student-core{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.student-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow);min-height:240px;display:flex;flex-direction:column}.student-card.primary{background:linear-gradient(145deg,#052268,#075cff);color:#fff;border-color:transparent}.student-card h2{font-size:28px;margin:0 0 10px}.student-card p{font-size:17px;color:var(--muted);margin:0 0 24px}.student-card.primary p{color:#dbeaff}.student-card .btn{margin-top:auto;align-self:flex-start}.preview-banner{background:#fff7d6;color:#664e00;border:1px solid #f6df7b;padding:12px 16px;border-radius:14px;margin-bottom:20px;font-size:16px}.admin-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f5f8fd}.sidebar{background:#041b58;color:#fff;padding:26px 18px;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;padding:6px 10px 24px}.side-nav{display:grid;gap:8px}.side-nav a{padding:12px 14px;border-radius:12px;font-family:Poppins;font-size:16px;font-weight:600;color:#dfeaff}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.11);color:#fff}.sidebar-bottom{position:absolute;left:18px;right:18px;bottom:22px}.admin-main{min-width:0}.admin-top{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:40}.admin-content{padding:34px}.admin-content h1{font-size:36px;margin:0 0 6px}.admin-content .sub{color:var(--muted);font-size:17px;margin:0 0 28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:16px}.stat strong{display:block;font-family:Poppins;font-size:30px;margin-top:8px}.admin-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;margin-top:22px}.panel{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.panel h2{font-size:22px;margin:0 0 18px}.status-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid #edf2f8;font-size:16px}.status-row:last-child{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#ebfff7;color:#087457;font-size:16px;font-weight:700}.pill.warn{background:#fff7dc;color:#765600}.footer{padding:34px 0 40px;color:var(--muted);font-size:16px}.mobile-bottom{display:none}.setup-shell{min-height:100vh;background:radial-gradient(circle at 80% 0%,#dbf8ff,transparent 27%),linear-gradient(180deg,#f7fbff,#eef5ff);padding:48px 20px}.setup-card{width:min(900px,100%);margin:auto;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-strong);padding:36px}.setup-card h1{font-size:38px;margin:0 0 8px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-note{background:#edf6ff;border:1px solid #cfe5ff;border-radius:16px;padding:16px;font-size:16px;color:#27466f;margin:20px 0}.checks{display:grid;gap:10px;margin:18px 0 26px}.check{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:16px}.check b.ok{color:var(--success)}.check b.bad{color:var(--danger)}
@media(max-width:980px){.nav-links{display:none}.hero-grid,.core-grid,.student-core,.auth-shell,.admin-grid{grid-template-columns:1fr}.hero{padding-top:54px}.poster-card{max-width:620px;margin:auto}.auth-brand{min-height:340px;padding:36px}.admin-layout{grid-template-columns:1fr}.sidebar{display:none}.stats{grid-template-columns:repeat(2,1fr)}.mobile-bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-strong);z-index:80;padding:8px}.mobile-bottom a{text-align:center;padding:9px 4px;border-radius:12px;font-family:Poppins;font-size:16px;font-weight:600}.mobile-bottom a.active{background:#eaf3ff;color:var(--blue)}}
@media(max-width:640px){body{font-size:16px}.container{width:min(calc(100% - 28px),var(--container))}.nav{height:70px}.brand{font-size:18px}.brand-year{display:none}.hero{padding:44px 0 52px}.hero h1{font-size:44px}.hero-lead{font-size:17px}.glow-label{font-size:18px}.section{padding:62px 0}.core-card{padding:26px}.feature-band{grid-template-columns:1fr;padding:28px}.auth-brand{padding:30px 22px}.auth-panel{padding:24px 16px}.auth-card{padding:28px 22px}.welcome{display:block}.welcome h1{font-size:32px}.countdown{display:block}.countdown .days{margin-top:6px}.student-card{padding:24px}.app-main{padding-top:24px}.admin-top{padding:0 18px}.admin-content{padding:22px 16px}.stats{grid-template-columns:1fr 1fr}.stat{padding:18px}.stat strong{font-size:26px}.setup-card{padding:26px 20px}.setup-grid{grid-template-columns:1fr}.setup-card h1{font-size:32px}}

/* ===== FASA 2 — LANDING PAGE & PUBLIC CONTROL ===== */
.public-page{background:#fff}
.draft-preview-bar{position:sticky;top:0;z-index:130;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;background:#fff5c7;border-bottom:1px solid #efd96f;color:#5e4d00;font-size:16px}.draft-preview-bar div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.draft-preview-bar a{font-family:Poppins;font-weight:700;color:#173b98}.announcement-bar{display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 20px;background:linear-gradient(90deg,#ffd21f,#ffe875);color:#10204f;font-size:16px;font-weight:700;text-align:center}.announcement-bar strong{font-family:Poppins}.public-header{background:rgba(255,255,255,.93)}.header-actions{display:flex;align-items:center;gap:10px}.public-menu-btn{display:none;min-height:46px;padding:0 17px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy);font-family:Poppins;font-size:16px;font-weight:700}.public-mobile-menu{display:none;background:#fff;border-top:1px solid var(--border);padding:10px 20px 16px}.public-mobile-menu.open{display:grid}.public-mobile-menu a{padding:12px 6px;border-bottom:1px solid #edf2f8;font-family:Poppins;font-size:16px;font-weight:600}.public-hero{padding:82px 0 88px}.public-hero .hero-copy{max-width:760px}.public-hero h1{max-width:760px}.public-poster{transform:rotate(1deg);transition:.25s}.public-poster:hover{transform:rotate(0) translateY(-4px)}.btn-glass{color:#fff;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.btn-large{min-height:58px;padding:0 30px;font-size:17px}.btn-disabled{pointer-events:none;opacity:.68;filter:saturate(.7)}.trust-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);margin-right:8px;color:#fff;font-weight:800}.hero-countdown{margin-top:24px;max-width:620px;padding:18px;border:1px solid rgba(255,255,255,.20);border-radius:20px;background:rgba(0,19,76,.28);backdrop-filter:blur(10px)}.hero-countdown>span,.promo-countdown>span{display:block;font-family:Poppins;font-size:16px;font-weight:700;margin-bottom:10px}.countdown-units{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown-units strong{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70px;border-radius:15px;background:rgba(255,255,255,.09);font-family:Poppins;font-size:25px}.countdown-units strong small{display:block;font-family:Inter;font-size:16px;font-weight:500;margin-top:2px}.countdown-units.compact strong{background:#edf5ff;color:var(--navy);min-height:64px;font-size:23px}.problem-strip{background:#f6f9ff;border-bottom:1px solid var(--border);padding:42px 0}.problem-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.problem-grid h2{font-size:clamp(30px,3vw,44px);line-height:1.08;margin:9px 0 0;letter-spacing:-.03em}.problem-grid p{font-size:19px;color:var(--muted);margin:0}.section-head.center{text-align:center;max-width:920px;margin:0 auto 48px}.section-eyebrow{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800;letter-spacing:.02em}.section-eyebrow.light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}.core-public{background:#fff}.core-premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.premium-core-card{border:1px solid var(--border);border-radius:28px;padding:34px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:440px;position:relative;overflow:hidden}.premium-core-card:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-100px;top:-100px;background:radial-gradient(circle,rgba(39,217,255,.12),transparent 65%)}.premium-core-card.primary{background:radial-gradient(circle at 85% 10%,rgba(39,217,255,.22),transparent 28%),linear-gradient(145deg,#041a58,#075cff);color:#fff;border-color:transparent;box-shadow:var(--shadow-strong)}.core-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.core-number{font-family:Poppins;font-size:54px;line-height:1;font-weight:800;color:#d7e8ff}.premium-core-card.primary .core-number{color:rgba(255,255,255,.28)}.core-kicker{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue)}.premium-core-card.primary .core-kicker{color:var(--yellow)}.premium-core-card h3{font-size:34px;line-height:1.1;margin:22px 0 12px}.premium-core-card p{font-size:18px;color:var(--muted);margin:0}.premium-core-card.primary p{color:#dceaff}.feature-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.feature-list li{position:relative;padding-left:30px;font-size:17px;color:#44516a}.feature-list li:before{content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e8f5ff;color:var(--blue);font-size:16px;font-weight:800}.premium-core-card.primary .feature-list li{color:#fff}.premium-core-card.primary .feature-list li:before{background:rgba(255,255,255,.14);color:var(--yellow)}.text-cta{margin-top:auto;font-family:Poppins;font-size:17px;font-weight:800;color:var(--blue)}.premium-core-card.primary .text-cta{color:var(--yellow)}.system-preview-section{background:linear-gradient(180deg,#f6faff,#eef5ff)}.preview-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.preview-copy h2{font-size:clamp(36px,4vw,54px);line-height:1.05;margin:15px 0}.preview-copy p{font-size:18px;color:var(--muted);margin:0}.flow-pills{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px}.flow-pills span{display:inline-flex;min-height:44px;align-items:center;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--border);font-family:Poppins;font-size:16px;font-weight:700}.flow-pills b{color:var(--blue);font-size:20px}.system-mockup{background:#fff;border:1px solid #cfe0f6;border-radius:26px;box-shadow:0 30px 80px rgba(4,47,135,.17);overflow:hidden;transform:perspective(1000px) rotateY(-2deg)}.mock-top{min-height:66px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);font-family:Poppins;font-size:16px;font-weight:700}.mock-top span:first-child{font-size:21px}.mock-top strong{color:var(--blue)}.mock-body{padding:28px;background:#f7fbff}.mock-title small{display:block;color:var(--blue);font-size:16px;font-weight:800}.mock-title strong{display:block;font-family:Poppins;font-size:30px;margin-top:4px}.mock-focus{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#041d62,#075cff);color:#fff}.mock-focus span{display:block;font-size:16px;color:#dbeaff}.mock-focus strong{display:block;font-family:Poppins;font-size:23px;margin-top:4px}.mock-focus em{font-style:normal;font-family:Poppins;font-size:16px;font-weight:800;color:#10204f;background:var(--yellow);padding:8px 11px;border-radius:999px}.mock-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.mock-cards>div{padding:20px;border:1px solid var(--border);border-radius:18px;background:#fff}.mock-cards small{display:block;color:var(--blue);font-size:16px;font-weight:800}.mock-cards strong{display:block;font-family:Poppins;font-size:23px;margin:5px 0 14px}.mock-cards span{font-size:16px;color:var(--muted)}.pricing-section{background:#fff}.pricing-layout{display:grid;grid-template-columns:1fr 500px;gap:74px;align-items:center}.pricing-copy h2{font-size:clamp(38px,4vw,56px);line-height:1.05;margin:15px 0}.pricing-copy p{font-size:19px;color:var(--muted);max-width:720px}.pricing-benefits{display:grid;gap:12px;margin-top:28px}.pricing-benefits span{font-size:17px;font-weight:600}.price-card{position:relative;background:radial-gradient(circle at 100% 0%,rgba(39,217,255,.27),transparent 28%),linear-gradient(150deg,#03174f,#075cff);color:#fff;border-radius:30px;padding:36px;box-shadow:0 30px 85px rgba(5,70,210,.30);overflow:hidden}.price-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--yellow);color:#10204f;font-family:Poppins;font-size:16px;font-weight:800}.price-product{display:block;font-family:Poppins;font-size:19px;font-weight:700;margin:20px 0 8px;color:#eaf4ff}.price-line{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.price-line del{font-family:Poppins;font-size:23px;color:#a9c7ff}.price-line strong{font-family:Poppins;font-size:58px;line-height:1;color:#fff}.saving{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.12);font-size:16px;font-weight:700}.promo-countdown{margin:22px 0;padding:16px;border-radius:20px;background:#fff;color:var(--navy)}.price-card .btn-large{width:100%;margin-top:24px}.price-note{font-size:16px;color:#dbeaff;text-align:center;margin:14px 0 0}.coming-payment-note{margin-top:14px;padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.10);font-size:16px;color:#dceaff;text-align:center}.faq-public{background:#f6f9ff}.faq-public-list{max-width:960px;margin:auto;display:grid;gap:13px}.faq-public-item{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}.faq-public-q{width:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:20px 22px;font-family:Poppins;font-size:17px;font-weight:700;color:var(--navy)}.faq-public-q b{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-size:22px;transition:.2s}.faq-public-item.open .faq-public-q b{transform:rotate(45deg)}.faq-public-a{display:none;padding:0 22px 20px}.faq-public-item.open .faq-public-a{display:block}.faq-public-a p{font-size:17px;color:var(--muted);margin:0}.final-cta-section{padding:76px 0;background:#fff}.final-cta-card{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center;padding:44px;border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(39,217,255,.25),transparent 27%),linear-gradient(145deg,#03164d,#064fd9);color:#fff;box-shadow:var(--shadow-strong)}.final-cta-card h2{font-size:clamp(34px,4vw,52px);line-height:1.06;margin:15px 0 10px}.final-cta-card p{font-size:18px;color:#dceaff;margin:0}.public-footer{background:#03133f;color:#c9d9f7;padding:54px 0 24px}.footer-public-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:52px}.public-footer .brand{color:#fff}.footer-public-grid p,.footer-public-grid a{font-size:16px;color:#c9d9f7;margin:8px 0;display:block}.footer-public-grid strong{font-family:Poppins;font-size:17px;color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:16px}

/* Admin public controls */
button,input,textarea,select{font:inherit}.field textarea,.field select{width:100%;border:1px solid #cfdced;border-radius:14px;padding:13px 15px;font-size:17px;outline:none;background:#fff;color:var(--text)}.field select{min-height:52px}.field textarea{resize:vertical;line-height:1.5}.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,92,255,.10)}.field small{display:block;color:var(--muted);margin-top:7px}.admin-mobile-nav{display:none}.public-admin{max-width:1500px}.admin-page-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.publish-bar{position:sticky;top:92px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#071f63;color:#fff;border-radius:18px;padding:16px 18px;margin-bottom:22px;box-shadow:0 16px 40px rgba(4,31,102,.18)}.publish-bar>div:first-child{display:grid}.publish-bar strong{font-family:Poppins;font-size:17px}.publish-bar span{font-size:16px;color:#cfe0ff}.publish-actions{display:flex;gap:10px;align-items:center}.publish-actions form{margin:0}.btn-ghost{background:#f4f7fb;border:1px solid var(--border);color:#34506f}.publish-bar .btn-ghost{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#fff}.public-form{display:grid;gap:22px}.form-section{padding:28px}.form-section-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #edf2f8}.form-section-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.form-section-head h2{grid-column:2;margin:0;font-size:25px}.form-section-head p{grid-column:2;margin:5px 0 0;color:var(--muted);font-size:16px}.section-kicker{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.toggle-field{display:flex;align-items:end;padding-bottom:18px}.switch-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:15px;background:#f9fbfe;width:100%;cursor:pointer}.switch-row input,.switch-compact input,.check-inline input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 auto;margin-top:2px}.switch-row span{display:grid}.switch-row strong{font-family:Poppins;font-size:16px}.switch-row small{font-size:16px;color:var(--muted)}.switch-compact{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;background:#eef5ff;font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue);cursor:pointer}.check-inline{display:flex;align-items:center;gap:9px;font-size:16px;color:#34506f}.media-control{display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:18px;background:#f9fbfe}.media-thumb{border-radius:16px;overflow:hidden;background:#eaf3ff;aspect-ratio:4/5}.media-thumb.landscape{aspect-ratio:1.91/1}.media-thumb img{width:100%;height:100%;object-fit:cover}.promotion-box{padding:20px;border-radius:18px;background:#f6f9ff;border:1px solid var(--border);margin:6px 0 20px}.price-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#041d62,#075cff);color:#fff;margin-bottom:20px}.price-preview span{font-size:16px}.price-preview strong{font-family:Poppins;font-size:28px;color:var(--yellow);margin-left:auto}.price-preview em{font-style:normal;text-decoration:line-through;color:#bdd2ff;font-size:17px}.faq-admin-list{display:grid;gap:16px;margin-bottom:16px}.faq-admin-item{display:grid;grid-template-columns:42px 1fr 1.4fr auto;gap:14px;align-items:end;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fbfdff}.faq-admin-number{align-self:start;width:38px;height:38px;border-radius:12px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-family:Poppins;font-size:16px;font-weight:800}.faq-admin-item .field{margin:0}.save-draft-bar{position:sticky;bottom:18px;z-index:34;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #cfe0f6;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-radius:18px;box-shadow:0 18px 50px rgba(4,47,135,.18)}.save-draft-bar>div{display:grid}.save-draft-bar strong{font-family:Poppins;font-size:17px}.save-draft-bar span{font-size:16px;color:var(--muted)}

@media(max-width:1100px){.pricing-layout{grid-template-columns:1fr 440px;gap:42px}.preview-layout{gap:40px}.problem-grid{gap:40px}.faq-admin-item{grid-template-columns:42px 1fr}.faq-admin-item .field:nth-of-type(2){grid-column:2}.faq-admin-item .faq-remove{grid-column:2;justify-self:start}}
@media(max-width:980px){.public-menu-btn{display:inline-flex}.public-header .nav-links{display:none}.public-header .header-actions .btn{display:none}.problem-grid,.preview-layout,.pricing-layout,.core-premium-grid,.final-cta-card,.footer-public-grid{grid-template-columns:1fr}.system-mockup{transform:none}.pricing-layout{gap:34px}.price-card{max-width:620px;width:100%;margin:auto}.admin-mobile-nav{display:flex;overflow-x:auto;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:76px;z-index:39}.admin-mobile-nav a{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#f4f7fb;font-family:Poppins;font-size:16px;font-weight:600}.admin-mobile-nav a.active{background:#eaf3ff;color:var(--blue)}.publish-bar{top:132px}.form-grid.three{grid-template-columns:1fr 1fr}.admin-page-head{align-items:flex-start}.media-control{grid-template-columns:160px 1fr}}
@media(max-width:700px){.announcement-bar{justify-content:space-between;text-align:left}.public-hero{padding:48px 0 56px}.public-poster{transform:none}.problem-grid{gap:14px}.problem-grid p{font-size:17px}.premium-core-card{padding:26px;min-height:auto}.premium-core-card h3{font-size:29px}.core-number{font-size:45px}.system-mockup{border-radius:20px}.mock-body{padding:18px}.mock-cards{grid-template-columns:1fr}.price-card{padding:28px 22px}.price-line strong{font-size:50px}.countdown-units strong{font-size:21px;min-height:64px}.countdown-units strong small{font-size:16px}.final-cta-card{padding:30px 24px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.media-control{grid-template-columns:1fr}.media-thumb{max-width:230px}.admin-page-head,.publish-bar,.save-draft-bar{display:grid}.publish-actions{flex-wrap:wrap}.publish-bar{top:132px}.save-draft-bar{bottom:10px}.save-draft-bar .btn{width:100%}.form-section{padding:22px 18px}.form-section-head{display:grid}.form-section-head>div{grid-template-columns:auto 1fr}.switch-compact{justify-self:start}.faq-admin-item{grid-template-columns:1fr}.faq-admin-number,.faq-admin-item .field:nth-of-type(2),.faq-admin-item .faq-remove{grid-column:1}.faq-admin-number{align-self:auto}}

/* ===== FASA 2.2 — PREMIUM PRODUCT-FIRST UPGRADE ===== */
.public-page-v2{background:#fff}
.public-page-v2 .container{width:min(calc(100% - 48px),1320px)}
.premium-hero{padding:78px 0 92px;background:
  radial-gradient(circle at 78% 18%,rgba(39,217,255,.25),transparent 24%),
  radial-gradient(circle at 12% 82%,rgba(255,210,31,.12),transparent 20%),
  linear-gradient(135deg,#03164f 0%,#0737b0 54%,#087cec 100%)}
.premium-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 78%);pointer-events:none}
.premium-hero .hero-grid{grid-template-columns:1.03fr .97fr;gap:76px}
.premium-hero .hero-copy{max-width:760px}
.premium-hero h1{font-size:clamp(50px,6vw,82px);max-width:760px}
.btn-hero{min-height:56px;padding:0 27px}
.hero-proof-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:570px;margin-top:26px}
.hero-proof-row>div{display:grid;gap:1px;padding:15px 17px;border-radius:17px;border:1px solid rgba(255,255,255,.19);background:rgba(1,24,84,.32);backdrop-filter:blur(10px)}
.hero-proof-row strong{font-family:Poppins;font-size:22px;line-height:1.15;color:#fff}
.hero-proof-row span{font-size:16px;color:#cfe4ff}
.hero-visual-wrap{position:relative;max-width:520px;justify-self:end}
.hero-visual-wrap .public-poster{position:relative;z-index:2;transform:rotate(1.3deg);box-shadow:0 35px 95px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.16)}
.hero-visual-wrap:before{content:"";position:absolute;inset:8% -10% -8% 10%;border-radius:42%;background:radial-gradient(circle,rgba(39,217,255,.30),transparent 65%);filter:blur(18px)}
.hero-float{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.96);color:var(--navy);box-shadow:0 18px 50px rgba(0,21,88,.28);border:1px solid rgba(255,255,255,.65);font-family:Poppins;font-size:16px;font-weight:700}
.hero-float b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#075cff,#27d9ff);color:#fff;font-size:16px}
.hero-float-a{left:-56px;top:18%}
.hero-float-b{right:-44px;bottom:14%}

.problem-strip-upgrade{padding:50px 0;background:linear-gradient(180deg,#f4f8ff,#edf5ff)}
.problem-strip-upgrade .problem-grid{grid-template-columns:1fr 1fr;gap:84px}
.problem-strip-upgrade h2{font-size:clamp(34px,3.4vw,48px);max-width:620px}
.problem-strip-upgrade p{font-size:19px;max-width:660px}

.proof-section{padding:104px 0;background:#fff}
.proof-head{margin-bottom:58px}
.proof-head h2{font-size:clamp(38px,4.2vw,58px);margin:14px 0 12px}
.product-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.product-proof-card{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:660px;padding:34px;border-radius:30px;border:1px solid var(--border);background:#fff;box-shadow:0 22px 65px rgba(4,47,135,.10)}
.product-proof-card:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-170px;top:-170px;background:radial-gradient(circle,rgba(39,217,255,.16),transparent 67%);pointer-events:none}
.analysis-proof{background:linear-gradient(155deg,#031b5f 0%,#0755ea 58%,#0878ef 100%);border-color:transparent;color:#fff;box-shadow:0 28px 80px rgba(6,67,197,.25)}
.proof-card-heading>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.proof-number{font-family:Poppins;font-size:50px;line-height:1;font-weight:800;color:#d9e9ff}
.analysis-proof .proof-number{color:rgba(255,255,255,.28)}
.product-proof-card h3{font-size:34px;line-height:1.08;margin:18px 0 10px}
.product-proof-card p{font-size:18px;color:var(--muted);margin:0}
.analysis-proof p{color:#dceaff}
.trend-preview-panel,.simulation-preview-panel{position:relative;z-index:2;margin:28px 0 22px;padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 45px rgba(0,23,93,.18)}
.analysis-proof .trend-preview-panel{background:rgba(255,255,255,.96);color:var(--navy)}
.preview-panel-label{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue);margin-bottom:12px}
.trend-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #e7eef8}
.trend-row:first-of-type{border-top:0}
.trend-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}
.trend-copy{min-width:0}
.trend-copy span{display:block;font-size:16px;color:#5f6f87}
.trend-copy strong{display:block;font-family:Poppins;font-size:18px;line-height:1.3;color:var(--navy);margin-top:2px}
.trend-row em{font-style:normal;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#fff1a8;color:#5f4b00;font-family:Poppins;font-size:16px;font-weight:800}
.simulation-preview-panel{background:linear-gradient(180deg,#f7fbff,#edf5ff);border-color:#d7e5f7}
.simulation-set-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.simulation-set-head span{font-family:Poppins;font-size:26px;font-weight:800;color:var(--navy)}
.simulation-set-head em{font-style:normal;padding:7px 10px;border-radius:999px;background:#e9fff7;color:#087457;font-size:16px;font-weight:700}
.paper-choice-grid{display:grid;gap:11px}
.paper-choice{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:17px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 24px rgba(4,47,135,.05)}
.paper-choice>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#041f66,#075cff);color:#fff;font-family:Poppins;font-size:16px;font-weight:800}
.paper-choice strong{display:block;font-family:Poppins;font-size:19px;color:var(--navy)}
.paper-choice small{display:block;font-size:16px;color:var(--muted);margin-top:1px}
.paper-choice>b{font-size:24px;color:var(--blue)}
.proof-list{margin-top:auto}
.analysis-proof .proof-list li{color:#fff}
.analysis-proof .proof-list li:before{background:rgba(255,255,255,.14);color:var(--yellow)}
.analysis-proof .text-cta{color:var(--yellow)}

.question-experience-section{padding:104px 0;background:linear-gradient(180deg,#f4f8ff 0%,#eaf3ff 100%);border-top:1px solid #e3edf9;border-bottom:1px solid #e0ebf8}
.question-experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.experience-copy h2{font-size:clamp(38px,4vw,56px);line-height:1.05;margin:15px 0}
.experience-copy p{font-size:19px;color:var(--muted);margin:0;max-width:650px}
.flow-rail{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:28px}
.flow-rail span{display:inline-flex;align-items:center;min-height:46px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #d4e2f4;font-family:Poppins;font-size:16px;font-weight:700;color:var(--navy);box-shadow:0 8px 22px rgba(4,47,135,.06)}
.flow-rail b{font-size:20px;color:var(--blue)}
.experience-note{display:grid;gap:3px;margin-top:24px;padding:16px 18px;border-left:4px solid var(--yellow);background:#fff;border-radius:0 16px 16px 0}
.experience-note strong{font-family:Poppins;font-size:16px;color:var(--navy)}
.experience-note span{font-size:16px;color:var(--muted)}
.question-demo-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid #cbdcf1;box-shadow:0 30px 80px rgba(4,47,135,.17)}
.question-demo-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;background:linear-gradient(135deg,#041f66,#075cff);color:#fff;font-family:Poppins;font-size:16px;font-weight:800}
.question-demo-top b{color:var(--yellow)}
.question-demo-meta{padding:18px 24px 0;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:700}
.question-demo-card h3{font-size:26px;line-height:1.35;margin:12px 24px 22px;color:var(--navy)}
.demo-options{display:grid;gap:11px;padding:0 24px 24px}
.demo-options>div{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;min-height:62px;padding:10px 14px;border-radius:16px;border:1px solid #d8e5f5;background:#fbfdff}
.demo-options>div:hover{border-color:#9bc6ff;background:#f1f7ff}
.demo-options span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}
.demo-options p{font-size:17px;color:#293953;margin:0}
.question-demo-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;background:#f4f8ff;border-top:1px solid var(--border)}
.question-demo-footer span{font-size:16px;color:var(--muted);max-width:520px}
.question-demo-footer b{white-space:nowrap;font-family:Poppins;font-size:16px;color:var(--blue)}

.pricing-section-upgrade{padding:104px 0;background:#fff}
.pricing-layout-upgrade{display:grid;grid-template-columns:1fr 500px;gap:78px;align-items:center}
.pricing-copy-upgrade h2{font-size:clamp(38px,4vw,58px);line-height:1.05;margin:15px 0 12px;max-width:760px}
.pricing-copy-upgrade p{font-size:19px;color:var(--muted);max-width:720px}
.premium-benefits{grid-template-columns:1fr 1fr;gap:12px 18px}
.premium-benefits span{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:14px;background:#f7faff;border:1px solid #e1eaf6;font-size:16px;font-weight:600;color:#30425f}
.premium-benefits i{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e7f3ff;color:var(--blue);font-style:normal;font-size:16px;font-weight:800}
.price-card-upgrade{padding:38px;border-radius:32px;box-shadow:0 34px 100px rgba(5,70,210,.32)}
.price-card-glow{position:absolute;width:280px;height:280px;border-radius:50%;right:-150px;top:-150px;background:radial-gradient(circle,rgba(39,217,255,.32),transparent 67%);pointer-events:none}
.price-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}
.price-trust span{font-size:16px;color:#dceaff}
.preview-dev-note{margin-top:14px;padding:11px 13px;border-radius:13px;background:#fff6c7;color:#5e4d00;border:1px solid #efd96f;font-size:16px;text-align:center}

.final-cta-card-upgrade{padding:50px;background:radial-gradient(circle at 88% 10%,rgba(39,217,255,.31),transparent 25%),linear-gradient(135deg,#03154d,#075cff);box-shadow:0 30px 90px rgba(5,70,210,.24)}
.public-footer-upgrade{padding-top:60px}

/* Admin additions for premium public controls */
.form-grid.four{grid-template-columns:repeat(4,1fr)}
.sub-control-box{margin-top:20px;padding:20px;border-radius:18px;background:#f6f9ff;border:1px solid #dbe7f6}
.sub-control-box>.field:last-child{margin-bottom:0}
.admin-subtitle{display:block;font-family:Poppins;font-size:17px;color:var(--navy);margin-bottom:14px}

@media(max-width:1120px){
  .premium-hero .hero-grid{gap:44px}
  .hero-float-a{left:-24px}.hero-float-b{right:-20px}
  .pricing-layout-upgrade{grid-template-columns:1fr 450px;gap:48px}
  .form-grid.four{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .public-page-v2 .container{width:min(calc(100% - 34px),1320px)}
  .premium-hero .hero-grid,.product-proof-grid,.question-experience-grid,.pricing-layout-upgrade{grid-template-columns:1fr}
  .hero-visual-wrap{justify-self:center;max-width:480px;margin-top:18px}
  .product-proof-card{min-height:auto}
  .question-experience-grid{gap:42px}
  .price-card-upgrade{max-width:620px;width:100%;margin:auto}
}
@media(max-width:700px){
  .premium-hero{padding:50px 0 64px}
  .premium-hero h1{font-size:46px}
  .hero-proof-row{grid-template-columns:1fr 1fr}
  .hero-float{display:none}
  .problem-strip-upgrade .problem-grid{grid-template-columns:1fr;gap:18px}
  .proof-section,.question-experience-section,.pricing-section-upgrade{padding:74px 0}
  .product-proof-card{padding:25px;border-radius:24px}
  .product-proof-card h3{font-size:29px}
  .trend-row{grid-template-columns:40px 1fr}
  .trend-row em{grid-column:2;justify-self:start}
  .paper-choice{grid-template-columns:46px 1fr auto}
  .question-demo-card{border-radius:22px}
  .question-demo-card h3{font-size:23px;margin-left:18px;margin-right:18px}
  .question-demo-meta{padding-left:18px;padding-right:18px}
  .demo-options{padding-left:18px;padding-right:18px}
  .question-demo-footer{display:grid}
  .premium-benefits{grid-template-columns:1fr}
  .price-trust{grid-template-columns:1fr}
  .form-grid.four{grid-template-columns:1fr}
}
@media(max-width:480px){
  .public-page-v2 .container{width:min(calc(100% - 26px),1320px)}
  .premium-hero h1{font-size:40px}
  .glow-label{font-size:17px}
  .hero-proof-row{grid-template-columns:1fr}
  .proof-card-heading>div{align-items:flex-start}
  .simulation-set-head{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   SMARTSPM PUBLIC THEME — BLUE HEADER/HERO + WHITE SECTIONS
   Requested refinement: only header, first hero and footer
   use full blue section backgrounds. Other public sections
   return to white while retaining blue cards/highlights.
   ========================================================= */

/* Public header joins the hero visually */
.public-page-v2 .public-header{
  background:rgba(3,19,65,.96);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:none;
}
.public-page-v2 .public-header .brand{color:#fff}
.public-page-v2 .public-header .brand strong{color:#42e4ff}
.public-page-v2 .public-header .brand-dot{border-color:#42e4ff}
.public-page-v2 .public-header .brand-year{
  color:#fff;
  border-color:rgba(126,203,255,.46);
  background:rgba(255,255,255,.08);
}
.public-page-v2 .public-header .nav-link{color:#edf6ff}
.public-page-v2 .public-header .nav-link:hover{color:#42e4ff}
.public-page-v2 .public-header .btn-secondary{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24);
}
.public-page-v2 .public-header .btn-secondary:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.38);
}
.public-page-v2 .public-menu-btn{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}
.public-page-v2 .public-mobile-menu{
  background:#031941;
  border-top-color:rgba(255,255,255,.10);
}
.public-page-v2 .public-mobile-menu a{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.10);
}

/* Keep only the first/hero section as a full blue background */
.public-page-v2 .premium-hero,
.public-page-v2 .public-hero{
  color:#fff;
}

/* All public content sections after hero return to white */
.public-page-v2 .problem-strip,
.public-page-v2 .problem-strip-upgrade,
.public-page-v2 .core-public,
.public-page-v2 .proof-section,
.public-page-v2 .system-preview-section,
.public-page-v2 .question-experience-section,
.public-page-v2 .pricing-section,
.public-page-v2 .pricing-section-upgrade,
.public-page-v2 .faq-public,
.public-page-v2 .final-cta-section{
  background:#fff;
  color:var(--text);
}

/* Soft separators only — no blue full-width bands */
.public-page-v2 .problem-strip,
.public-page-v2 .problem-strip-upgrade,
.public-page-v2 .question-experience-section,
.public-page-v2 .faq-public,
.public-page-v2 .final-cta-section{
  border-top:1px solid #edf2f8;
  border-bottom:0;
}

/* Restore normal dark headings/copy on white sections */
.public-page-v2 .problem-strip-upgrade h2,
.public-page-v2 .problem-strip-upgrade p,
.public-page-v2 .proof-section .section-head h2,
.public-page-v2 .proof-section .section-head p,
.public-page-v2 .question-experience-section .experience-copy h2,
.public-page-v2 .question-experience-section .experience-copy p,
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade h2,
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade p,
.public-page-v2 .faq-public .section-head h2,
.public-page-v2 .faq-public .section-head p{
  color:var(--text);
}
.public-page-v2 .problem-strip-upgrade p,
.public-page-v2 .proof-section .section-head p,
.public-page-v2 .question-experience-section .experience-copy p,
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade p,
.public-page-v2 .faq-public .section-head p{
  color:var(--muted);
}

/* Keep section eyebrow readable on white */
.public-page-v2 .section-eyebrow,
.public-page-v2 .section-eyebrow.light{
  background:#eaf3ff;
  color:var(--blue);
  border:1px solid #d5e8ff;
}

/* FAQ returns to premium white cards */
.public-page-v2 .faq-public-item{
  background:#fff;
  border-color:var(--border);
  box-shadow:0 12px 34px rgba(4,47,135,.07);
}
.public-page-v2 .faq-public-q{
  background:#fff;
  color:var(--navy);
}
.public-page-v2 .faq-public-q:hover{background:#f8fbff}
.public-page-v2 .faq-public-q b{
  background:#edf5ff;
  color:var(--blue);
}
.public-page-v2 .faq-public-a{border-top:1px solid #edf2f8}
.public-page-v2 .faq-public-a p{color:var(--muted)}

/* Question flow pills/note stay light on white background */
.public-page-v2 .flow-rail span{
  background:#fff;
  border-color:#d4e2f4;
  color:var(--navy);
  box-shadow:0 8px 22px rgba(4,47,135,.06);
}
.public-page-v2 .flow-rail b{color:var(--blue)}
.public-page-v2 .experience-note{
  background:#f7faff;
  border-left-color:var(--yellow);
  box-shadow:none;
}
.public-page-v2 .experience-note strong{color:var(--navy)}
.public-page-v2 .experience-note span{color:var(--muted)}

/* Question demo returns to white card; blue remains as component accent */
.public-page-v2 .question-demo-card{
  background:#fff;
  border-color:#cbdcf1;
  box-shadow:0 30px 80px rgba(4,47,135,.17);
}
.public-page-v2 .question-demo-meta{color:var(--blue)}
.public-page-v2 .question-demo-card h3{color:var(--navy)}
.public-page-v2 .demo-options>div{
  background:#fbfdff;
  border-color:#d8e5f5;
}
.public-page-v2 .demo-options>div:hover{
  background:#f1f7ff;
  border-color:#9bc6ff;
}
.public-page-v2 .demo-options span{
  background:#edf5ff;
  border:0;
  color:var(--blue);
}
.public-page-v2 .demo-options p{color:#293953}
.public-page-v2 .question-demo-footer{
  background:#f4f8ff;
  border-top-color:var(--border);
}
.public-page-v2 .question-demo-footer span{color:var(--muted)}
.public-page-v2 .question-demo-footer b{color:var(--blue)}

/* Pricing benefits return to light cards; pricing card itself remains blue */
.public-page-v2 .premium-benefits span{
  background:#f7faff;
  border-color:#e1eaf6;
  color:#30425f;
}
.public-page-v2 .premium-benefits i{
  background:#e7f3ff;
  color:var(--blue);
}

/* Final CTA remains a blue CARD on a white section */
.public-page-v2 .final-cta-card-upgrade,
.public-page-v2 .final-cta-card{
  color:#fff;
}

/* Footer remains full blue */
.public-page-v2 .public-footer,
.public-page-v2 .public-footer-upgrade{
  background:#03133f;
  color:#c9d9f7;
  border-top:1px solid rgba(255,255,255,.10);
}
.public-page-v2 .public-footer .brand{color:#fff}
.public-page-v2 .public-footer .brand strong{color:#42e4ff}
.public-page-v2 .footer-public-grid p,
.public-page-v2 .footer-public-grid a,
.public-page-v2 .footer-bottom{color:#c9d9f7}
.public-page-v2 .footer-public-grid strong{color:#fff}

@media(max-width:980px){
  .public-page-v2 .public-header{background:#031941}
}

/* =========================================================
   FASA 3 — AKAUN, PENGGUNA & KAWALAN AKSES
   Premium admin + student account experience
   Minimum font size: 16px
   ========================================================= */
.auth-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:20px;font-family:Poppins;font-size:16px;font-weight:600;color:var(--blue)}
.auth-links a:hover{text-decoration:underline}
.field code{font-size:16px;background:#edf5ff;color:var(--blue);padding:2px 7px;border-radius:7px}
.narrow-admin{max-width:1180px}
.back-link{display:inline-flex;margin-bottom:12px;font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}
.back-link:hover{text-decoration:underline}
.user-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}.user-filters .field{margin:0}.filter-action{display:flex;gap:9px;padding-bottom:1px}.user-filter-panel{margin-bottom:22px}
.reset-request-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:20px;border:1px solid #f2d66e;border-radius:18px;background:#fff8d9;color:#624b00}.reset-request-banner>div{display:grid;gap:3px}.reset-request-banner strong{font-family:Poppins;font-size:17px}.reset-request-banner span{font-size:16px}
.table-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-head h2{margin:0;font-size:23px}.table-head p{margin:3px 0 0;color:var(--muted);font-size:16px}.data-table-wrap{overflow:auto;border:1px solid #e4ebf5;border-radius:17px}.data-table{width:100%;border-collapse:collapse;min-width:940px;background:#fff}.data-table th,.data-table td{padding:16px 15px;text-align:left;border-bottom:1px solid #edf2f8;font-size:16px;vertical-align:middle}.data-table th{font-family:Poppins;font-weight:700;color:#4a5d79;background:#f8fbff;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdff}.user-cell{display:flex;align-items:center;gap:12px;min-width:260px}.user-cell>div{display:grid}.user-cell strong{font-family:Poppins;font-size:16px;color:var(--navy)}.user-cell span{font-size:16px;color:var(--muted)}.user-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f4ff,#d9eaff);color:var(--blue)!important;font-family:Poppins;font-weight:800;font-size:18px!important}.status-badge,.source-badge{display:inline-flex;align-items:center;width:max-content;padding:7px 11px;border-radius:999px;font-family:Poppins;font-size:16px;font-weight:700;white-space:nowrap}.status-badge.active,.status-badge.access-active{background:#e7fff6;color:#087457}.status-badge.inactive,.status-badge.access-inactive{background:#f1f4f8;color:#667085}.status-badge.access-expired{background:#fff0f2;color:#a02239}.status-badge.access-scheduled{background:#fff7d7;color:#765600}.status-badge.access-none{background:#eef3fa;color:#5d6b82}.source-badge.admin_manual{background:#edf5ff;color:var(--blue)}.source-badge.purchase{background:#e9fff4;color:#087457}.source-badge.system{background:#f1f3f7;color:#596579}.micro-note{display:block;margin-top:6px;font-size:16px;color:#8a5d00}.table-link{font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue);white-space:nowrap}.empty-state{min-height:260px;display:grid;place-items:center;text-align:center;align-content:center;gap:8px}.empty-state strong{font-family:Poppins;font-size:21px}.empty-state span{font-size:16px;color:var(--muted)}.empty-state .btn{margin-top:10px}
.user-summary-badges{display:flex;flex-wrap:wrap;gap:10px}.user-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.user-admin-main{display:grid;gap:22px}.user-admin-main>.panel,.user-admin-main>form>.panel{margin-bottom:0}.user-admin-side{display:grid;gap:22px;align-content:start}.user-facts .status-row strong{font-family:Poppins;font-size:16px;text-align:right}.security-actions{display:grid;gap:18px}.security-actions>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--border);border-radius:16px;background:#f8fbff}.security-actions strong{font-family:Poppins;font-size:17px}.security-actions span{font-size:16px;color:var(--muted)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row form{margin:0}.action-link-box{display:grid;gap:14px;margin-bottom:20px;padding:20px;border-radius:20px;background:linear-gradient(145deg,#061d5f,#075cff);color:#fff;box-shadow:var(--shadow)}.action-link-box>div:first-child{display:grid}.action-link-box strong{font-family:Poppins;font-size:18px}.action-link-box span{font-size:16px;color:#dbeaff}.copy-row{display:grid;grid-template-columns:1fr auto;gap:10px}.copy-row input{min-width:0;min-height:52px;border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:0 15px;background:rgba(255,255,255,.12);color:#fff;font-size:16px}.audit-mini{padding-bottom:16px}.audit-item{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid #edf2f8}.audit-item:last-child{border-bottom:0}.audit-item strong{font-family:Poppins;font-size:16px}.audit-item span{font-size:16px;color:var(--muted)}.dashboard-user-row>span:first-child{display:grid}.dashboard-user-row small{font-size:16px;color:var(--muted)}
.access-shell{min-height:100vh;display:grid;place-items:center;padding:42px 20px;background:radial-gradient(circle at 80% 0%,rgba(39,217,255,.20),transparent 28%),linear-gradient(145deg,#03134a,#075cff)}.access-card{width:min(720px,100%);padding:42px;border-radius:30px;background:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:0 30px 90px rgba(0,20,80,.30);text-align:center}.access-card .brand{justify-content:center;margin-bottom:30px}.access-card .eyebrow{background:#edf5ff;color:var(--blue);border-color:#d4e7ff}.access-card h1{font-size:clamp(38px,4vw,54px);line-height:1.05;margin:18px 0 12px}.access-card p{font-size:18px;color:var(--muted);margin:0 auto 24px;max-width:600px}.access-card p strong{color:var(--navy)}.access-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:20px;display:grid;place-items:center;background:#fff7d7;color:#725400;font-family:Poppins;font-size:30px;font-weight:800}.access-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:26px 0 18px}
.app-user-menu{display:flex;align-items:center;gap:16px;font-size:16px}.app-user-menu a{font-family:Poppins;font-weight:600;color:var(--blue)}.student-kicker{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.access-chip{padding:9px 14px;border-radius:999px;background:#e7fff6;color:#087457;font-family:Poppins;font-size:16px;font-weight:800}.student-account-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:22px 24px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.student-account-strip>div{display:grid}.student-account-strip strong{font-family:Poppins;font-size:18px}.student-account-strip span{font-size:16px;color:var(--muted)}.student-profile .admin-page-head{margin-bottom:22px}.student-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px}.student-profile-grid>div{display:grid;gap:22px}.student-profile-grid .panel{margin:0}.access-summary-card{background:linear-gradient(145deg,#041d62,#075cff);color:#fff;border:0}.access-summary-card .student-kicker{background:rgba(255,255,255,.12);color:#fff}.access-summary-card h2{font-size:34px;margin:15px 0 4px;color:var(--yellow)}.access-summary-card>p{font-size:17px;color:#dbeaff}.access-summary-card .status-row{border-color:rgba(255,255,255,.12)}.access-summary-card .status-row span{color:#dbeaff}.access-summary-card .status-row strong{color:#fff;font-family:Poppins;font-size:16px;text-align:right}.narrow-student{width:min(720px,calc(100% - 40px));margin:auto}.narrow-student>.panel{margin-top:18px}.auth-help{margin-top:20px;color:var(--blue);font-family:Poppins;font-weight:600}
@media(max-width:1180px){.user-filters{grid-template-columns:1fr 1fr}.filter-action{grid-column:1/-1}.user-admin-grid,.student-profile-grid{grid-template-columns:1fr}.user-admin-side{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.user-admin-side{grid-template-columns:1fr}.app-user-menu span{display:none}.student-account-strip{display:grid}.student-account-strip .btn{width:100%}.welcome{align-items:flex-start}.access-chip{margin-top:4px}}
@media(max-width:700px){.user-filters{grid-template-columns:1fr}.filter-action{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.filter-action .btn{width:100%}.copy-row{grid-template-columns:1fr}.copy-row .btn{width:100%}.user-summary-badges{margin-top:8px}.security-actions>div:first-child{display:grid}.button-row{display:grid}.button-row form,.button-row .btn{width:100%}.access-card{padding:30px 22px}.access-actions{display:grid}.access-actions .btn{width:100%}.app-user-menu{gap:10px}.app-user-menu a:first-of-type{display:none}.student-profile-grid{gap:16px}}

/* =========================================================
   FASA 3 — BOTTOM FIXED COUNTDOWN KERTAS __SUBJECT_UPPER__
   Muncul selepas Hero dan kekal fixed di bahagian bawah.
   Bukan floating card. Minimum font size: 16px.
   ========================================================= */
body.has-spm-scroll-countdown{padding-bottom:104px}
.spm-scroll-countdown{position:fixed;left:0;right:0;bottom:0;z-index:125;width:100%;min-height:88px;padding:12px max(20px,calc((100vw - var(--container))/2));border:0;border-top:1px solid rgba(93,218,255,.38);border-radius:0;background:radial-gradient(circle at 15% 0%,rgba(39,217,255,.17),transparent 30%),linear-gradient(100deg,#03164d 0%,#053cb2 52%,#075cff 100%);color:#fff;box-shadow:0 -16px 42px rgba(0,37,128,.24);opacity:0;visibility:hidden;transform:translateY(100%);transition:opacity .22s ease,transform .22s ease,visibility .22s;display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:24px;align-items:center}
.spm-scroll-countdown.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.spm-scroll-countdown.is-dismissed{display:none!important}
.spm-scroll-copy{min-width:0;padding:0}
.spm-scroll-label{display:block;font-family:Poppins;font-size:16px;font-weight:700;color:#d7ebff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spm-scroll-status{display:inline-block;margin-top:2px;font-family:Poppins;font-size:19px;line-height:1.2;color:var(--yellow)}
.spm-scroll-note{display:inline;margin-left:10px;font-size:16px;line-height:1.35;color:#dceaff}
.spm-scroll-units{margin:0;display:flex;gap:7px;align-items:center}
.spm-scroll-units strong{min-width:62px;min-height:58px;padding:5px 8px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.09);font-size:21px;display:grid;place-items:center;text-align:center}
.spm-scroll-units strong small{display:block;font-size:16px;line-height:1;color:#dceaff}
.spm-scroll-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:0 22px;border-radius:999px;background:var(--yellow);color:#10204f;font-family:Poppins;font-size:16px;font-weight:800;white-space:nowrap;box-shadow:0 10px 24px rgba(255,210,31,.18)}
.spm-scroll-cta:hover{transform:translateY(-1px)}
.spm-scroll-countdown.countdown-near{border-top-color:rgba(255,210,31,.58)}
.spm-scroll-countdown.countdown-critical{box-shadow:0 -16px 42px rgba(0,37,128,.24),0 -2px 0 rgba(255,210,31,.18)}
.spm-scroll-countdown.countdown-critical .spm-scroll-status{color:#fff}
.spm-scroll-countdown.countdown-ended .spm-scroll-units{display:none}
.spm-scroll-countdown.countdown-ended{grid-template-columns:1fr auto}

@media(max-width:980px){
  body.has-spm-scroll-countdown{padding-bottom:150px}
  .spm-scroll-countdown{min-height:132px;padding:12px 20px;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}
  .spm-scroll-copy{grid-column:1/2}
  .spm-scroll-units{grid-column:2/3;grid-row:1/2}
  .spm-scroll-cta{grid-column:1/-1;min-height:44px;width:100%}
  .spm-scroll-note{display:none}
}

@media(max-width:700px){
  body.has-spm-scroll-countdown{padding-bottom:138px}
  .spm-scroll-countdown{min-height:120px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
  .spm-scroll-label{font-size:16px}
  .spm-scroll-status{font-size:18px}
  .spm-scroll-units{gap:4px}
  .spm-scroll-units strong{min-width:48px;min-height:50px;padding:4px;border-radius:10px;font-size:18px}
  .spm-scroll-units strong small{font-size:16px}
  .spm-scroll-units strong[data-seconds]{display:none}
  .spm-scroll-cta{min-height:42px;font-size:16px}
  .spm-scroll-countdown.countdown-ended{grid-template-columns:1fr}
  .spm-scroll-countdown.countdown-ended .spm-scroll-cta{grid-column:1}
}

/* =========================================================
   FASA 4 — TOYYIBPAY & CHECKOUT
   Premium commerce layer. Minimum font size: 16px.
   ========================================================= */
.checkout-page,.payment-return-page{min-height:100vh;background:radial-gradient(circle at 82% 0%,rgba(38,219,255,.16),transparent 28%),#f4f8ff;color:var(--text)}
.checkout-header{background:#031941;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.checkout-header .container{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.checkout-header .brand{color:#fff}.checkout-header .brand strong{color:var(--yellow)}
.checkout-back{font-family:Poppins;font-size:16px;font-weight:700;color:#dceaff}
.checkout-shell{padding:56px 0 90px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 420px;gap:30px;align-items:start}.checkout-main h1{margin:14px 0 12px;font-size:clamp(38px,4.1vw,58px);line-height:1.03;letter-spacing:-.035em}.checkout-lead{margin:0 0 26px;max-width:780px;font-size:18px;color:var(--muted)}
.sandbox-banner{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding:16px 18px;border-radius:17px;background:#fff7d6;border:1px solid #f1d46b;color:#614900}.sandbox-banner strong{font-family:Poppins;font-size:16px}.sandbox-banner span{font-size:16px}
.checkout-form{padding:30px}.checkout-agree{margin:24px 0}.checkout-pay-btn{width:100%;min-height:58px;font-size:18px}.checkout-pay-btn:disabled{opacity:.45;cursor:not-allowed}.checkout-config-note{margin:12px 0 0;text-align:center;font-size:16px;color:#9a2d3f}.checkout-unavailable{padding:34px}.checkout-unavailable h2{margin-top:0;font-size:30px}.checkout-unavailable p{font-size:17px;color:var(--muted)}
.checkout-summary{position:sticky;top:112px;padding:30px;background:linear-gradient(145deg,#041d62,#075cff);color:#fff;border:0;box-shadow:0 26px 70px rgba(3,45,145,.24)}.checkout-summary .price-product{font-size:18px;color:#d9eaff}.checkout-summary-price{display:flex;align-items:flex-end;gap:14px;margin:18px 0 8px}.checkout-summary-price del{font-size:18px;color:#b7caec}.checkout-summary-price strong{font-family:Poppins;font-size:48px;line-height:1;color:var(--yellow)}.checkout-summary .saving{display:inline-flex;margin-bottom:22px;background:rgba(255,210,31,.14);color:#ffe97c;border:1px solid rgba(255,210,31,.28)}.checkout-lines{display:grid;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.checkout-lines span{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:16px}.checkout-lines span:last-child{border-bottom:0}.checkout-lines b{font-family:Poppins}.checkout-lines em{font-style:normal;text-align:right;color:#dbe8ff}.checkout-lines .total em{font-family:Poppins;font-weight:800;color:#fff}.checkout-trust{display:grid;gap:10px;margin-top:22px;font-size:16px;color:#dbe8ff}
.payment-return-shell{min-height:100vh;display:grid;place-items:center;padding:54px 20px}.payment-return-card{width:min(760px,100%);padding:42px;border-radius:30px;background:#fff;border:1px solid #dbe7f5;box-shadow:0 30px 90px rgba(0,40,130,.19);text-align:center}.payment-return-card .brand{justify-content:center;margin-bottom:28px}.payment-status-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:22px;display:grid;place-items:center;font-family:Poppins;font-size:34px;font-weight:800;background:#eef5ff;color:var(--blue)}.payment-status-icon.paid{background:#e7fff5;color:#087457}.payment-status-icon.failed,.payment-status-icon.payment_error{background:#fff0f2;color:#9c2138}.payment-return-card h1{margin:14px 0 10px;font-size:clamp(36px,4vw,52px);line-height:1.05}.payment-return-card>p{max-width:620px;margin:0 auto 24px;font-size:18px;color:var(--muted)}.payment-receipt-mini{display:grid;margin:24px 0;border:1px solid var(--border);border-radius:18px;overflow:hidden;text-align:left}.payment-receipt-mini span{display:flex;justify-content:space-between;gap:22px;padding:14px 17px;border-bottom:1px solid var(--border);font-size:16px}.payment-receipt-mini span:last-child{border-bottom:0}.payment-receipt-mini b{font-family:Poppins}.payment-receipt-mini em{font-style:normal;text-align:right}.payment-return-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.payment-return-actions form{margin:0}.payment-wait-note{margin-top:20px;padding:14px 16px;border-radius:15px;background:#f2f7ff;color:#4c5f7f;font-size:16px}
.payment-mode-badge{display:inline-flex;align-items:center;width:max-content;padding:8px 12px;border-radius:999px;font-family:Poppins;font-size:16px;font-weight:800;letter-spacing:.03em}.payment-mode-badge.sandbox{background:#fff4ca;color:#6d5200}.payment-mode-badge.live{background:#e5fff3;color:#087457}.payment-admin code,.payment-endpoints code{font-size:16px;word-break:break-all}.payment-test-panel{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.payment-test-panel h2{margin:0 0 4px}.payment-test-panel p{margin:0;color:var(--muted);font-size:16px}.payment-endpoints{margin-top:22px}.payment-endpoints .status-row{align-items:flex-start}.mini-check{display:flex!important;align-items:center;gap:9px;margin-top:10px!important;font-size:16px!important;font-weight:500!important;color:var(--muted)!important}.mini-check input{width:18px;height:18px}.payment-stats{margin-bottom:22px}.status-badge.payment-paid{background:#e7fff6;color:#087457}.status-badge.payment-pending,.status-badge.payment-creating_bill{background:#fff7d7;color:#765600}.status-badge.payment-failed,.status-badge.payment-payment_error{background:#fff0f2;color:#a02239}.status-badge.payment-expired,.status-badge.payment-cancelled{background:#f1f4f8;color:#667085}.payment-table code{font-size:16px}.admin-page-head .button-row{align-items:center}
@media(max-width:1050px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:relative;top:auto;order:-1}.payment-test-panel{display:grid}}
@media(max-width:700px){.checkout-header .container{min-height:72px}.checkout-shell{padding:34px 0 70px}.checkout-form,.checkout-summary,.payment-return-card{padding:26px 20px}.checkout-main h1{font-size:38px}.checkout-summary-price strong{font-size:42px}.payment-return-actions{display:grid}.payment-return-actions form,.payment-return-actions .btn{width:100%}.payment-return-actions form .btn{width:100%}.payment-receipt-mini span{display:grid;gap:4px}.payment-receipt-mini em{text-align:left}.payment-test-panel .button-row{display:grid}.payment-test-panel .button-row form,.payment-test-panel .button-row button{width:100%}}
.purchase-list{display:grid;border:1px solid var(--border);border-radius:17px;overflow:hidden}.purchase-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border);background:#fff;color:inherit}.purchase-row:last-child{border-bottom:0}.purchase-row:hover{background:#f8fbff}.purchase-row>div{display:grid;gap:4px}.purchase-row>div:last-child{text-align:right;justify-items:end}.purchase-row strong{font-family:Poppins;font-size:16px}.purchase-row span{font-size:16px;color:var(--muted)}
@media(max-width:600px){.purchase-row{align-items:flex-start}.purchase-row>div:last-child{text-align:right}}

/* FASA 5 — SMTP & SISTEM E-MEL */
.email-admin{max-width:1500px}.email-health{display:flex;align-items:center;gap:12px}.email-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 28px}.email-tabs a{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-size:16px;font-weight:700}.email-tabs a.active{background:var(--blue);border-color:var(--blue);color:#fff}.email-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.email-flow span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:12px;background:var(--soft-blue);border:1px solid #cfe0fb;font-weight:700;font-size:16px}.email-flow b{color:var(--blue);font-size:20px}.email-automation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.email-automation-grid>div{padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.email-automation-grid strong,.email-automation-grid span{display:block;font-size:16px}.email-automation-grid span{margin-top:8px;color:var(--muted);line-height:1.55}.form-inline-email{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:16px;align-items:end;max-width:760px}.panel-head-inline{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.template-list{display:grid;gap:10px}.template-category{margin:28px 0 6px;font-size:20px;color:var(--text)}.template-category:first-child{margin-top:10px}.template-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff;transition:.18s}.template-row:hover{border-color:#a9c7f7;box-shadow:0 10px 28px rgba(17,42,85,.06)}.template-row span:first-child{display:grid;gap:3px}.template-row strong,.template-row small{font-size:16px}.template-row small{color:var(--muted)}.placeholder-chips{display:flex;flex-wrap:wrap;gap:10px}.placeholder-chips code{font-size:16px;padding:8px 10px;background:var(--soft-blue);border:1px solid #cfe0fb;border-radius:10px;color:#084db8}.queue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.email-queue-list{display:grid}.email-queue-row{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:18px 0;border-bottom:1px solid var(--border)}.email-queue-row:last-child{border-bottom:0}.email-queue-main{display:grid;gap:5px;min-width:0}.email-queue-main strong,.email-queue-main span,.email-queue-main small{font-size:16px}.email-queue-main span,.email-queue-main small{color:var(--muted);overflow-wrap:anywhere}.email-error{color:#b42318!important}.email-queue-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn-small{min-height:40px;padding:0 14px!important;font-size:16px!important}.status-badge.email-sent{background:#ecfdf3;color:#027a48}.status-badge.email-pending,.status-badge.email-sending{background:#eff6ff;color:#175cd3}.status-badge.email-failed{background:#fef3f2;color:#b42318}.status-badge.email-cancelled{background:#f2f4f7;color:#475467}.email-log-list .status-row span:first-child{display:grid;gap:4px}.email-log-list .status-row small{font-size:16px;color:var(--muted)}
@media(max-width:980px){.email-automation-grid{grid-template-columns:repeat(2,1fr)}.form-inline-email{grid-template-columns:1fr}.queue-toolbar{align-items:flex-start;flex-direction:column}.email-queue-row{flex-direction:column}.email-queue-actions{justify-content:flex-start}}
@media(max-width:620px){.email-automation-grid{grid-template-columns:1fr}.email-tabs{display:grid;grid-template-columns:1fr 1fr}.email-tabs a{justify-content:center}.template-row{align-items:flex-start}.email-queue-actions{width:100%}}

/* =========================================================
   FASA 6 — ANALISIS TREND SOALAN
   Premium student experience + admin source controls.
   Minimum font size in this module: 16px.
   ========================================================= */
.trend-page{background:#f6f9ff}.trend-main{padding-top:34px;padding-bottom:120px}.trend-page .app-header{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e3ebf7}.trend-page .app-nav{height:76px;min-height:76px;max-height:76px}.narrow-trend{width:min(1180px,calc(100% - 40px));margin:auto}.back-link{display:inline-flex;margin:4px 0 20px;font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}
.trend-hero{display:grid;grid-template-columns:minmax(0,1.4fr) 300px;gap:34px;align-items:stretch;padding:42px;border-radius:32px;background:radial-gradient(circle at 80% 0%,rgba(57,222,255,.28),transparent 28%),linear-gradient(135deg,#03164e,#075cff);color:#fff;box-shadow:0 26px 70px rgba(9,75,210,.22)}.trend-hero-copy{display:grid;align-content:center}.trend-hero .student-kicker{background:rgba(255,255,255,.12);color:#fff}.trend-hero h1,.focus-hero h1,.state-detail-hero h1{margin:18px 0 12px;font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.045em;color:#fff}.trend-hero p{max-width:820px;margin:0;font-size:19px;line-height:1.65;color:#dceaff}.trend-integrity{display:flex;align-items:flex-start;gap:12px;margin-top:22px;padding:14px 16px;border:1px solid rgba(87,222,255,.34);border-radius:16px;background:rgba(2,18,67,.34);color:#eff8ff}.trend-integrity>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:var(--cyan,#36dbff);color:#06336e;font-family:Poppins;font-size:16px;font-weight:800}.trend-integrity strong{font-size:16px;line-height:1.55}.trend-hero-stat{display:grid;align-content:center;justify-items:center;text-align:center;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.10)}.trend-hero-stat>span{font-family:Poppins;font-size:16px;font-weight:700;color:#d8e8ff}.trend-hero-stat>strong{font-family:Poppins;font-size:76px;line-height:1;color:var(--yellow);margin:8px 0}.trend-hero-stat>small{font-size:16px;color:#e2eeff}.trend-hero-rule{margin-top:18px;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.18);font-family:Poppins;font-size:16px;font-weight:700;color:#fff}
.trend-filter{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 8px}.trend-filter a{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px solid #dce7f5;border-radius:999px;background:#fff;font-family:Poppins;font-size:16px;font-weight:700;color:#5f6e84}.trend-filter a.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(7,92,255,.18)}
.trend-section{margin-top:34px;padding:34px;border:1px solid #e3ebf6;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(16,55,110,.07)}.trend-section.trend-soft{background:linear-gradient(180deg,#edf5ff,#f8fbff);border-color:#d9e9ff}.trend-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.trend-section-head h2{margin:7px 0 7px;font-size:clamp(29px,3vw,40px);line-height:1.08;letter-spacing:-.035em}.trend-section-head p{margin:0;max-width:850px;font-size:17px;line-height:1.55;color:var(--muted)}.trend-section .section-kicker,.trend-next .section-kicker,.source-audit-box .section-kicker{font-size:16px}.source-count{padding:9px 13px;border-radius:999px;background:#e9f4ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800;white-space:nowrap}
.trend-ranking{display:grid;gap:14px}.trend-rank-card{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;padding:20px;border:1px solid #e3ebf5;border-radius:20px;background:#fff;transition:.18s ease}.trend-rank-card:hover{transform:translateY(-2px);border-color:#b9d5ff;box-shadow:0 15px 36px rgba(7,92,255,.09)}.rank-no{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:18px;font-weight:800}.rank-content{min-width:0}.rank-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rank-top>span:first-child{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue)}.rank-content h3{margin:6px 0 12px;font-size:22px;line-height:1.25}.attention-pill{display:inline-flex;padding:7px 10px;border-radius:999px;font-family:Poppins;font-size:16px;font-weight:800;white-space:nowrap}.attention-pill.very-high{background:#fff1b8;color:#6f5200}.attention-pill.high{background:#dcf8ff;color:#006a83}.attention-pill.attention{background:#e9f2ff;color:#1850a7}.attention-pill.support{background:#f0f3f7;color:#667085}.signal-bar{height:9px;border-radius:999px;background:#edf2f8;overflow:hidden}.signal-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#075cff,#27d9ff)}.signal-meta{display:flex;justify-content:space-between;gap:14px;margin-top:9px;font-size:16px}.signal-meta strong{font-family:Poppins;color:#123363}.signal-meta span{color:var(--blue);font-family:Poppins;font-weight:700}.trend-method-note{margin:18px 0 0;padding:14px 16px;border-left:4px solid #8fc1ff;background:#f7faff;color:#627087;font-size:16px;line-height:1.55}
.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.family-card{padding:21px;border:1px solid #d7e7fb;border-radius:20px;background:#fff}.family-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.family-card-top span{font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}.family-card-top strong{padding:6px 10px;border-radius:999px;background:#fff5c9;color:#6c5200;font-family:Poppins;font-size:16px}.family-card h3{margin:13px 0 7px;font-size:21px}.family-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}.family-states{margin-top:13px;padding-top:13px;border-top:1px solid #e7eef8;color:#627087;font-size:16px;line-height:1.5}
.subtopic-list{display:grid;gap:10px}.subtopic-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 17px;border:1px solid #e5edf7;border-radius:17px;background:#fff}.subtopic-index{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.subtopic-row>div:nth-child(2){display:grid;gap:3px}.subtopic-row>div:nth-child(2)>strong{font-family:Poppins;font-size:17px;line-height:1.35}.subtopic-row>div:nth-child(2)>span{font-size:16px;color:var(--muted)}.subtopic-signal{text-align:right;display:grid}.subtopic-signal strong{font-family:Poppins;font-size:19px;color:var(--blue)}.subtopic-signal span{font-size:16px;color:var(--muted)}
.state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.state-card{display:grid;gap:15px;padding:20px;border:1px solid #e2ebf7;border-radius:20px;background:#fff;transition:.18s ease}.state-card:hover{border-color:#a8ceff;transform:translateY(-2px);box-shadow:0 14px 32px rgba(7,92,255,.08)}.state-card>div:first-child span{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue)}.state-card h3{margin:2px 0 0;font-size:21px}.state-paper-meta{display:flex;flex-wrap:wrap;gap:7px}.state-paper-meta span{padding:6px 9px;border-radius:999px;background:#f0f5fb;color:#607086;font-size:16px}.state-card>strong{font-family:Poppins;font-size:16px;color:var(--blue)}
.trend-next{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding:32px 34px;border-radius:28px;background:linear-gradient(120deg,#03164d,#075cff);color:#fff;box-shadow:0 22px 54px rgba(7,92,255,.2)}.trend-next h2{margin:7px 0 7px;font-size:31px;color:#fff}.trend-next p{margin:0;max-width:760px;color:#dceaff;font-size:17px;line-height:1.55}.trend-next .btn{flex:0 0 auto}
.focus-hero,.state-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center;padding:34px;border-radius:28px;background:radial-gradient(circle at 80% 0%,rgba(57,222,255,.22),transparent 28%),linear-gradient(135deg,#03164e,#075cff);color:#fff;box-shadow:0 24px 64px rgba(7,92,255,.18)}.focus-hero p,.state-detail-hero p{margin:0;font-size:18px;line-height:1.55;color:#dceaff}.focus-signal{display:grid;justify-items:center;text-align:center;padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.1)}.focus-signal span{font-family:Poppins;font-size:16px;color:#dceaff}.focus-signal strong{margin:6px 0;color:var(--yellow);font-family:Poppins;font-size:23px}.focus-signal b{font-family:Poppins;font-size:42px;color:#fff}.focus-signal small{font-size:16px;color:#dceaff}.signal-state-chips{display:flex;flex-wrap:wrap;gap:10px}.signal-state-chips span{display:inline-flex;padding:10px 13px;border:1px solid #d7e7fa;border-radius:999px;background:#f7fbff;color:#174d96;font-family:Poppins;font-size:16px;font-weight:700}
.state-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.state-detail-stats>div{display:grid;justify-items:center;padding:20px 12px;border:1px solid rgba(255,255,255,.17);border-radius:20px;background:rgba(255,255,255,.1);text-align:center}.state-detail-stats span{font-family:Poppins;font-size:16px;color:#dceaff}.state-detail-stats strong{font-family:Poppins;font-size:39px;color:var(--yellow)}.state-detail-stats small{font-size:16px;color:#fff}.finding-list{display:grid;gap:11px}.finding-row{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:15px;border:1px solid #e5edf7;border-radius:16px}.finding-row>span{width:36px;height:36px;border-radius:12px;background:#edf5ff;color:var(--blue);display:grid;place-items:center;font-family:Poppins;font-size:16px;font-weight:800}.finding-row p{margin:4px 0 0;font-size:17px;line-height:1.55;color:#3f4f66}.state-chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.state-chapter-card{display:grid;gap:7px;padding:18px;border:1px solid #dce9fa;border-radius:18px;background:#fff}.state-chapter-card span{font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}.state-chapter-card strong{font-family:Poppins;font-size:17px;line-height:1.4}.state-chapter-card b{font-size:16px;color:#68768a}.source-audit-box{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-top:34px;padding:28px;border:1px dashed #bdd3ef;border-radius:24px;background:#f8fbff}.source-audit-box h2{margin:7px 0 0;font-size:28px}.source-audit-box dl{margin:0;display:grid;gap:8px}.source-audit-box dl>div{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #e6edf6}.source-audit-box dt{font-family:Poppins;font-size:16px;font-weight:700;color:#53647d}.source-audit-box dd{margin:0;font-size:16px;color:#1f365a;word-break:break-word}
.analysis-admin-stats .hash-stat{font-size:16px;word-break:break-all}.analysis-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.analysis-source-row{display:grid;grid-template-columns:auto 52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #e4ebf5;border-radius:17px;background:#fff}.analysis-source-row:hover{border-color:#b8d5fb}.analysis-source-row.unavailable{background:#f6f7f9;opacity:.72}.analysis-source-row input{width:20px;height:20px}.source-code{width:48px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.source-name{display:grid;min-width:0}.source-name strong{font-family:Poppins;font-size:17px}.source-name small{font-size:16px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-source-row .status-badge{justify-self:end}
@media(max-width:1050px){.trend-hero,.focus-hero,.state-detail-hero{grid-template-columns:1fr}.trend-hero-stat{grid-template-columns:auto auto auto;justify-content:center;column-gap:12px}.trend-hero-stat>strong{font-size:54px}.trend-hero-rule{grid-column:1/-1}.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-source-list{grid-template-columns:1fr}.source-audit-box{grid-template-columns:1fr}}
@media(max-width:820px){.trend-main{padding-top:20px}.trend-hero{padding:27px 22px;border-radius:24px}.trend-hero h1,.focus-hero h1,.state-detail-hero h1{font-size:39px}.trend-hero p{font-size:17px}.trend-section{padding:22px 18px;border-radius:22px}.trend-section-head{display:grid;align-items:start}.family-grid,.state-chapter-grid{grid-template-columns:1fr}.trend-next{display:grid;padding:26px 22px}.trend-next .btn{width:100%}.trend-ranking{gap:10px}.trend-rank-card{grid-template-columns:44px 1fr;padding:16px;gap:12px}.rank-no{width:42px;height:42px}.rank-top{align-items:flex-start}.signal-meta{display:grid;gap:4px}.state-grid{grid-template-columns:1fr}.subtopic-row{grid-template-columns:38px 1fr}.subtopic-signal{grid-column:2;text-align:left;display:flex;align-items:center;gap:7px}.state-detail-stats{grid-template-columns:1fr 1fr}.analysis-source-row{grid-template-columns:auto 48px minmax(0,1fr)}.analysis-source-row .status-badge{grid-column:3;justify-self:start}.source-audit-box dl>div{grid-template-columns:1fr;gap:3px}.trend-page .mobile-bottom{z-index:130}}
@media(max-width:560px){.trend-hero-stat{grid-template-columns:1fr}.trend-hero-stat>strong{font-size:52px}.trend-hero-rule{grid-column:auto}.trend-filter{display:grid;grid-template-columns:repeat(3,1fr)}.trend-filter a{justify-content:center;padding:0 10px}.rank-top{display:grid}.state-detail-stats{grid-template-columns:1fr}.focus-signal{padding:20px}.trend-next h2{font-size:27px}.analysis-source-row{grid-template-columns:auto 1fr}.analysis-source-row input{grid-row:1/3}.source-code{grid-column:2;width:max-content;height:auto;padding:5px 9px}.source-name{grid-column:2}.analysis-source-row .status-badge{grid-column:2}}
.dashboard-trend-strip{margin-top:22px;padding:26px;border:1px solid #dfe9f6;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:var(--shadow)}.dashboard-trend-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}.dashboard-trend-head h2{margin:9px 0 4px;font-size:27px}.dashboard-trend-head p{margin:0;max-width:760px;font-size:16px;line-height:1.5;color:var(--muted)}.dashboard-trend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-trend-grid>a{display:grid;gap:7px;padding:17px;border:1px solid #e0eaf6;border-radius:17px;background:#fff}.dashboard-trend-grid>a:hover{border-color:#b6d5ff}.dashboard-trend-grid span{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue)}.dashboard-trend-grid strong{font-family:Poppins;font-size:17px;line-height:1.35;color:var(--navy)}.dashboard-trend-grid b{font-size:16px;color:#607087}@media(max-width:820px){.dashboard-trend-head{display:grid;align-items:start}.dashboard-trend-head .btn{width:100%}.dashboard-trend-grid{grid-template-columns:1fr}}


/* =========================================================
   FASA 7 — SIMULASI SPM
   Premium exam UI. Minimum font: 16px.
   ========================================================= */
.sim-hub-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:36px;align-items:center;padding:38px;border-radius:30px;background:radial-gradient(circle at 85% 0%,rgba(39,217,255,.28),transparent 30%),linear-gradient(135deg,#03164e,#075cff);color:#fff;box-shadow:var(--shadow-strong)}.sim-hub-hero h1{margin:13px 0 10px;font-size:clamp(40px,5vw,60px);line-height:1.02}.sim-hub-hero p{margin:0;max-width:760px;color:#dceaff;font-size:18px}.sim-integrity{margin-top:20px;padding:12px 15px;border:1px solid rgba(255,255,255,.17);border-radius:15px;background:rgba(255,255,255,.09);font-size:16px;color:#fff}.sim-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sim-hero-stats>div{display:grid;place-items:center;text-align:center;padding:20px 10px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.1)}.sim-hero-stats strong{font-family:Poppins;font-size:35px;color:var(--yellow)}.sim-hero-stats span{font-size:16px;color:#fff}.sim-resume-banner{margin-top:20px;padding:18px 20px;border-radius:18px;background:#fff7d7;border:1px solid #efd86d;color:#624b00}.sim-resume-banner>div{display:grid}.sim-resume-banner strong{font-family:Poppins;font-size:17px}.sim-resume-banner span{font-size:16px}.sim-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.sim-set-card{padding:25px;border:1px solid #dce8f7;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.sim-set-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.sim-set-title h2{margin:4px 0 0;font-size:25px}.sim-set-code{font-family:Poppins;font-size:16px;font-weight:800;color:var(--blue)}.sim-paper-grid{display:grid;gap:11px}.sim-paper-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #e1eaf6;border-radius:18px;background:#f9fbff}.sim-paper-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#041f66,#075cff);color:#fff;font-family:Poppins;font-size:17px;font-weight:800}.sim-paper-card>div:nth-child(2){display:grid;gap:2px}.sim-paper-card strong{font-family:Poppins;font-size:17px}.sim-paper-card span,.sim-paper-card small{font-size:16px;color:var(--muted)}.sim-paper-card small{color:var(--blue);font-weight:700}.sim-paper-card .btn{min-height:44px;padding:0 17px}.sim-next-analysis{margin-bottom:16px}.exam-shell{min-height:100vh;background:#eef4fc;color:var(--text)}.exam-header{height:76px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px;background:#fff;border-bottom:1px solid #dbe6f3;box-shadow:0 10px 30px rgba(4,47,135,.06)}.exam-head-meta{display:flex;align-items:center;gap:18px;font-family:Poppins;font-size:16px;color:#5c6a7f}.sim-timer{min-width:118px;padding:9px 13px;border-radius:13px;background:#071f58;color:#fff;text-align:center;font-size:19px;letter-spacing:.03em}.sim-timer.critical{background:#a61d34;color:#fff}.exam-layout{width:min(100%,1500px);margin:auto;display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 76px)}.exam-sidebar{position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto;padding:24px 20px;background:#f7faff;border-right:1px solid #dbe6f3}.exam-side-top{display:grid;gap:3px;margin-bottom:17px}.exam-side-top span{font-family:Poppins;font-size:16px;font-weight:800;color:var(--navy)}.exam-side-top strong{font-size:16px;color:var(--muted)}.question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.question-palette a{height:42px;display:grid;place-items:center;border:1px solid #d6e2f1;border-radius:11px;background:#fff;font-family:Poppins;font-size:16px;font-weight:700;color:#56657a}.question-palette a.answered{background:#e7fff6;border-color:#a5e4cd;color:#087457}.question-palette a.current{outline:3px solid rgba(7,92,255,.15);border-color:var(--blue);color:var(--blue)}.question-palette a.essay-selected{box-shadow:inset 0 0 0 2px #ffd21f}.k2-palette a{height:48px;grid-template-rows:1fr auto;line-height:1}.k2-palette a small{font-size:16px;transform:scale(.85);transform-origin:center}.sim-submit-form{margin-top:20px}.sim-submit-form .btn{width:100%}.k2-rule-box{display:grid;gap:6px;margin-top:18px;padding:15px;border-radius:16px;background:#edf5ff;border:1px solid #d8e7f8}.k2-rule-box strong{font-family:Poppins;font-size:16px}.k2-rule-box span{font-size:16px;color:var(--muted);line-height:1.45}.exam-content{min-width:0;padding:42px clamp(24px,5vw,70px) 110px;background:#fff}.exam-question-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:700}.exam-question-text{max-width:1000px;margin:24px 0 30px;font-size:clamp(28px,3vw,40px);line-height:1.3}.exam-options{display:grid;gap:12px;max-width:1000px}.exam-option{width:100%;display:grid;grid-template-columns:50px minmax(0,1fr) 24px;align-items:center;gap:15px;min-height:74px;padding:10px 18px;border:1px solid #d9e5f4;border-radius:18px;background:#fff;text-align:left;color:var(--text);transition:.15s}.exam-option:hover{background:#f7fbff;border-color:#9cc7ff}.exam-option>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:17px;font-weight:800}.exam-option p{margin:0;font-size:18px}.exam-option i{width:20px;height:20px;border:2px solid #b8c7da;border-radius:50%}.exam-option.selected{border-color:var(--blue);background:#eef6ff;box-shadow:0 0 0 3px rgba(7,92,255,.08)}.exam-option.selected i{border:6px solid var(--blue);background:#fff}.exam-save-state{margin-top:15px;font-size:16px;color:#758198}.exam-save-state.error{color:var(--danger)}.exam-nav-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:34px;padding-top:24px;border-top:1px solid #edf2f8}.k2-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.k2-main-head h1{font-size:32px;line-height:1.2;margin:14px 0 0}.k2-total-mark{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:#fff5c9;color:#6b5200;font-family:Poppins;font-size:16px;font-weight:800}.essay-pick-premium{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:18px;border:1px solid #f0d96b;border-radius:18px;background:#fff9df;cursor:pointer}.essay-pick-premium input{width:22px;height:22px}.essay-pick-premium span{display:grid}.essay-pick-premium strong{font-family:Poppins;font-size:17px}.essay-pick-premium small{font-size:16px;color:#6b5a23}.k2-sub-list{display:grid;gap:18px}.k2-sub-card{padding:25px;border:1px solid #dce7f5;border-radius:22px;background:#fff;box-shadow:0 10px 34px rgba(4,47,135,.06)}.k2-sub-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.k2-sub-title>div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.k2-sub-title>div>span{width:46px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.k2-sub-title h2{margin:0;font-size:22px;line-height:1.38}.k2-sub-title>strong{white-space:nowrap;font-family:Poppins;font-size:16px;color:var(--blue)}.k2-sub-meta{margin:10px 0 17px;font-size:16px;color:var(--muted)}.k2-choice-list{display:grid;gap:10px}.k2-choice{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;width:100%;padding:13px 15px;border:1px solid #dbe6f3;border-radius:15px;background:#fbfdff;text-align:left;color:var(--text)}.k2-choice:hover{border-color:#a6cfff;background:#f4f9ff}.k2-check{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#edf3fa;color:transparent;font-family:Poppins;font-size:16px;font-weight:800}.k2-choice p{margin:0;font-size:17px;line-height:1.45}.k2-choice.selected{border-color:var(--blue);background:#edf5ff}.k2-choice.selected .k2-check{background:var(--blue);color:#fff}.k2-choice.choice-hidden{display:none}.k2-help-row{display:flex;align-items:center;gap:12px;margin-top:16px}.k2-help-status{font-size:16px;color:var(--muted)}.k2-help-box{margin-top:12px;padding:14px 16px;border-left:4px solid var(--yellow);border-radius:0 14px 14px 0;background:#fff9dd;color:#574700;font-size:16px}.sim-toast{position:fixed;left:50%;bottom:28px;z-index:200;transform:translate(-50%,30px);opacity:0;pointer-events:none;padding:13px 18px;border-radius:999px;background:#071f58;color:#fff;font-size:16px;box-shadow:0 16px 45px rgba(0,0,0,.2);transition:.2s}.sim-toast.show{transform:translate(-50%,0);opacity:1}.result-container{max-width:1180px}.result-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:center;padding:36px;border-radius:30px;background:radial-gradient(circle at 90% 0%,rgba(39,217,255,.25),transparent 28%),linear-gradient(135deg,#03164e,#075cff);color:#fff;box-shadow:var(--shadow-strong)}.result-hero h1{margin:12px 0 8px;font-size:44px}.result-hero p{margin:0;color:#dceaff;font-size:18px}.result-score{display:grid;place-items:center;padding:23px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(255,255,255,.1);text-align:center}.result-score strong{font-family:Poppins;font-size:36px;color:var(--yellow)}.result-score span{font-family:Poppins;font-size:24px;font-weight:800}.result-score small{font-size:16px;color:#dceaff}.result-focus{margin:24px 0;padding:25px;border:1px solid #dce7f5;border-radius:24px;background:#fff}.weak-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.weak-focus-grid a{display:grid;gap:5px;padding:16px;border:1px solid #e1eaf6;border-radius:17px;background:#f9fbff}.weak-focus-grid span{font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}.weak-focus-grid strong{font-family:Poppins;font-size:17px;line-height:1.35}.weak-focus-grid b{font-size:16px;color:var(--danger)}.result-review{margin-top:24px}.review-list{display:grid;gap:9px}.review-k1{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:14px;border:1px solid #e1e8f2;border-radius:15px}.review-k1.correct{border-left:4px solid #0a936f}.review-k1.wrong{border-left:4px solid #cf3348}.review-no{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800}.review-k1>div:nth-child(2){display:grid;gap:3px}.review-k1 strong{font-family:Poppins;font-size:16px}.review-k1 span,.review-k1 small{font-size:16px;color:var(--muted)}.review-k1 small{color:var(--navy)}.review-k2-list{display:grid;gap:14px}.review-k2{padding:20px;border:1px solid #e0e9f5;border-radius:18px}.review-k2-head{display:flex;justify-content:space-between;gap:14px}.review-k2-head span{font-family:Poppins;font-size:16px;color:var(--blue);font-weight:700}.review-k2-head strong{font-family:Poppins;font-size:19px}.review-k2 h3{font-size:20px;margin:9px 0 15px}.review-sub{padding:13px 0;border-top:1px solid #edf2f8}.review-sub>div{display:flex;justify-content:space-between;gap:15px}.review-sub strong{font-family:Poppins;font-size:16px}.review-sub span{font-size:16px;color:var(--blue);font-weight:700}.review-sub summary{margin-top:8px;cursor:pointer;font-family:Poppins;font-size:16px;color:var(--blue)}.review-sub li{font-size:16px;margin:5px 0}.result-actions{display:flex;justify-content:flex-end;gap:12px;margin:24px 0 20px}.sim-admin-panel{margin-top:22px}.sim-admin-list{display:grid;gap:10px}.sim-admin-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px;border:1px solid #e2eaf5;border-radius:17px;background:#fff}.sim-admin-row>input{width:21px;height:21px}.sim-admin-row>div:nth-child(2){display:grid}.sim-admin-row>div:nth-child(2)>span{font-family:Poppins;font-size:17px;font-weight:800;color:var(--blue)}.sim-admin-row strong,.sim-admin-row small{font-size:16px}.sim-admin-row small{color:var(--muted)}.sim-admin-attempts{display:grid;justify-items:end}.sim-admin-attempts span{font-size:16px;color:var(--muted)}
@media(max-width:1050px){.sim-hub-hero{grid-template-columns:1fr}.sim-set-grid{grid-template-columns:1fr}.exam-layout{grid-template-columns:240px minmax(0,1fr)}.weak-focus-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.exam-header{height:auto;min-height:72px;padding:10px 16px}.exam-header .brand-year{display:none}.exam-head-meta>span{display:none}.exam-layout{display:block}.exam-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dbe6f3;padding:16px}.question-palette{display:flex;overflow:auto;padding-bottom:5px}.question-palette a{flex:0 0 42px}.k2-palette a{flex:0 0 46px}.sim-submit-form,.k2-rule-box{display:none}.exam-content{padding:28px 17px 90px}.exam-question-text{font-size:29px}.exam-option{grid-template-columns:46px 1fr 20px;padding:10px 12px}.exam-option p{font-size:17px}.k2-main-head{display:grid}.k2-total-mark{justify-self:start}.k2-sub-card{padding:19px 15px}.k2-sub-title{display:grid}.k2-sub-title>div{grid-template-columns:42px 1fr}.k2-sub-title>strong{justify-self:start}.result-hero{grid-template-columns:1fr}.weak-focus-grid{grid-template-columns:1fr}.sim-paper-card{grid-template-columns:50px 1fr}.sim-paper-card .btn{grid-column:1/-1;width:100%}.sim-admin-row{grid-template-columns:auto 1fr}.sim-admin-attempts,.sim-admin-row>.status-badge{grid-column:2;justify-items:start;justify-self:start}.sim-hero-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.sim-hub-hero{padding:27px 20px}.sim-hub-hero h1{font-size:39px}.sim-hero-stats{grid-template-columns:1fr}.sim-set-card{padding:19px}.sim-set-title{display:grid}.exam-head-meta{gap:8px}.sim-timer{font-size:17px;min-width:105px}.exam-question-meta{display:grid}.exam-nav-actions .btn{padding:0 16px}.k2-choice{grid-template-columns:32px 1fr}.result-hero h1{font-size:37px}.review-sub>div{display:grid}.result-actions{display:grid}.result-actions .btn{width:100%}}


/* ===== FASA 8 — PRODUCTION, UAT & AUDIT ===== */
.production-admin{max-width:1560px}.production-score{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:26px;margin-bottom:22px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#041f66,#075cff);color:#fff;box-shadow:var(--shadow-strong)}.production-score>div:first-child{min-width:260px}.production-score span{font-family:Poppins;font-size:16px;font-weight:800;color:#bfe8ff}.production-score strong{display:block;font-family:Poppins;font-size:48px;line-height:1;color:var(--yellow);margin:7px 0}.production-score p{margin:0;font-size:16px;color:#dceaff}.production-meter{height:14px;border-radius:999px;background:rgba(255,255,255,.17);overflow:hidden}.production-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27d9ff,#ffd21f)}.production-score.attention .production-meter i{background:linear-gradient(90deg,#ffd21f,#ff9f43)}.production-grid{grid-template-columns:1.2fr .8fr}.health-list{display:grid}.health-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f8}.health-row:last-child{border-bottom:0}.health-dot{width:12px;height:12px;border-radius:50%;background:#cf3348;box-shadow:0 0 0 4px rgba(207,51,72,.08)}.health-dot.ok{background:#0a936f;box-shadow:0 0 0 4px rgba(10,147,111,.09)}.health-row>div{display:grid}.health-row strong{font-family:Poppins;font-size:16px}.health-row small{font-size:16px;color:var(--muted)}.uat-panel,.backup-panel{margin-top:22px}.uat-list{display:grid;gap:10px}.uat-row{display:grid;grid-template-columns:minmax(260px,1.2fr) 170px minmax(220px,.8fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e1eaf6;border-radius:16px;background:#fbfdff}.uat-copy{display:grid}.uat-copy span{font-family:Poppins;font-size:16px;font-weight:700;color:var(--blue)}.uat-copy strong{font-family:Poppins;font-size:16px}.uat-copy small{font-size:16px;color:var(--muted)}.uat-row select,.uat-row input{min-height:48px;border:1px solid #cfdced;border-radius:13px;background:#fff;padding:0 13px;font-size:16px;color:var(--text)}.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid #e7eef7;text-align:left;font-size:16px;vertical-align:top}.admin-table th{font-family:Poppins;font-size:16px;color:#41506a;background:#f7faff}.admin-table td small{display:block;font-size:16px;color:var(--muted)}.admin-table code{font-size:16px;color:#0758d1}.admin-table pre{white-space:pre-wrap;word-break:break-word;max-width:620px;font-size:16px}.table-wrap{overflow:auto;border:1px solid #e1eaf6;border-radius:16px}.audit-filter{margin-bottom:22px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.pagination span{font-size:16px;color:var(--muted)}
@media(max-width:1100px){.production-grid{grid-template-columns:1fr}.uat-row{grid-template-columns:1fr 170px}.uat-row input{grid-column:1}.uat-row .btn{grid-column:2;grid-row:2}}
@media(max-width:700px){.production-score{grid-template-columns:1fr}.production-score>div:first-child{min-width:0}.uat-row{grid-template-columns:1fr}.uat-row input,.uat-row .btn{grid-column:1;grid-row:auto}.uat-row .btn{width:100%}.pagination{display:grid}.pagination .btn{width:100%}}

/* ===== ANALISIS FOKUS — PREMIUM LAYOUT FIX ===== */
.trend-page .section-kicker{
  grid-row:auto;
  width:max-content;
  max-width:100%;
  min-height:34px;
  height:auto;
  padding:7px 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eaf4ff;
  color:var(--blue);
  font-family:Poppins,Inter,sans-serif;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.015em;
  text-align:left;
}
.trend-page .trend-section-head>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.trend-page .trend-section-head h2{
  max-width:920px;
  margin-top:12px;
}
.trend-page .trend-section-head p{
  margin-top:2px;
}

.trend-page .focus-hero{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1fr) 265px;
  gap:34px;
  padding:40px 42px;
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 12%,rgba(39,217,255,.25),transparent 24%),
    radial-gradient(circle at 10% 100%,rgba(255,210,31,.09),transparent 25%),
    linear-gradient(135deg,#03164e 0%,#063db9 58%,#0874f4 100%);
  box-shadow:0 28px 74px rgba(7,67,180,.19);
}
.trend-page .focus-hero::after{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-100px;
  bottom:-140px;
  border-radius:50%;
  background:rgba(39,217,255,.13);
  filter:blur(4px);
  pointer-events:none;
}
.trend-page .focus-hero>div:first-child{
  position:relative;
  z-index:1;
  min-width:0;
  align-self:center;
}
.trend-page .focus-hero .student-kicker{
  padding:8px 13px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.trend-page .focus-hero h1{
  max-width:760px;
  margin:16px 0 13px;
  font-size:clamp(38px,4.25vw,58px);
  line-height:1.04;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.trend-page .focus-hero p{
  max-width:770px;
  font-size:17px;
  line-height:1.6;
}
.trend-page .focus-signal{
  position:relative;
  z-index:1;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:176px;
  padding:25px 20px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 15px 34px rgba(0,29,112,.16);
  backdrop-filter:blur(8px);
}
.trend-page .focus-signal span{
  color:#dceaff;
}
.trend-page .focus-signal strong{
  margin:5px 0 3px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,210,31,.12);
  color:var(--yellow);
  line-height:1.25;
}
.trend-page .focus-signal b{
  margin:4px 0 2px;
  font-size:44px;
  line-height:1;
}
.trend-page .focus-signal small{
  line-height:1.35;
}

.trend-page .trend-integrity{
  margin-top:18px;
  padding:14px 17px;
  border:1px solid #cfe9ff;
  border-left:4px solid var(--cyan);
  border-radius:16px;
  background:linear-gradient(135deg,#f8fcff,#edf7ff);
  color:#294665;
  box-shadow:0 8px 24px rgba(16,72,135,.05);
}
.trend-page .trend-integrity>span{
  background:#dff8ff;
  color:#03688c;
  box-shadow:inset 0 0 0 1px rgba(39,217,255,.28);
}
.trend-page .trend-integrity strong{
  color:#36526f;
  font-weight:600;
}

.trend-page .trend-section{
  margin-top:28px;
  padding:32px 34px;
  border-color:#e0eaf7;
  border-radius:26px;
  box-shadow:0 16px 45px rgba(16,55,110,.065);
}
.trend-page .trend-section.trend-soft{
  background:linear-gradient(180deg,#f4f9ff 0%,#edf6ff 100%);
  border-color:#d6e7fb;
}
.trend-page .signal-state-chips{
  gap:9px;
}
.trend-page .signal-state-chips span{
  padding:9px 13px;
  border-color:#cfe1f6;
  background:#f8fbff;
  color:#164a8f;
  box-shadow:0 5px 14px rgba(22,74,143,.035);
}

.trend-page .family-grid{
  gap:14px;
}
.trend-page .family-card{
  position:relative;
  overflow:hidden;
  min-height:142px;
  padding:20px 21px 19px;
  border-color:#d8e6f7;
  border-radius:19px;
  box-shadow:0 8px 24px rgba(16,55,110,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.trend-page .family-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--cyan),var(--blue));
}
.trend-page .family-card:hover{
  transform:translateY(-2px);
  border-color:#bcd7f7;
  box-shadow:0 13px 30px rgba(16,55,110,.08);
}
.trend-page .family-card-top{
  min-height:32px;
}
.trend-page .family-card-top span{
  color:#1555ad;
}
.trend-page .family-card-top strong{
  flex:0 0 auto;
  min-width:58px;
  text-align:center;
  background:#fff3bd;
  color:#5e4900;
}
.trend-page .family-card h3{
  margin:11px 0 6px;
  font-size:20px;
  line-height:1.35;
  letter-spacing:-.012em;
}
.trend-page .family-card p{
  line-height:1.55;
}

.trend-page .subtopic-list{
  gap:9px;
}
.trend-page .subtopic-row{
  min-height:74px;
  grid-template-columns:44px minmax(0,1fr) 92px;
  gap:15px;
  padding:13px 15px;
  border-color:#dfe9f6;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 5px 18px rgba(16,55,110,.035);
}
.trend-page .subtopic-row>div:nth-child(2)>strong{
  line-height:1.4;
}
.trend-page .subtopic-signal{
  justify-items:end;
  gap:1px;
}
.trend-page .subtopic-signal strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:70px;
  padding:5px 10px;
  border-radius:999px;
  background:#edf5ff;
  font-size:18px;
}
.trend-page .subtopic-signal span{
  padding-right:6px;
}

.trend-page .trend-next{
  position:relative;
  overflow:hidden;
  margin-top:30px;
  padding:31px 34px;
  border-radius:26px;
  background:
    radial-gradient(circle at 85% 0%,rgba(39,217,255,.22),transparent 27%),
    linear-gradient(120deg,#03164d 0%,#063db9 58%,#086dEE 100%);
  box-shadow:0 22px 54px rgba(7,92,255,.18);
}
.trend-page .trend-next>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.trend-page .trend-next .section-kicker{
  color:#dff9ff;
  background:rgba(39,217,255,.13);
  border:1px solid rgba(91,232,255,.28);
}
.trend-page .trend-next h2{
  margin:13px 0 7px;
  font-size:clamp(26px,2.8vw,34px);
  line-height:1.15;
  text-wrap:balance;
}
.trend-page .trend-next p{
  max-width:720px;
}
.trend-page .trend-next .btn-yellow{
  min-width:190px;
  box-shadow:0 12px 30px rgba(255,210,31,.16);
}

@media(max-width:820px){
  .trend-page .focus-hero{
    grid-template-columns:1fr;
    gap:22px;
    padding:28px 22px;
    border-radius:24px;
  }
  .trend-page .focus-hero h1{
    font-size:clamp(34px,9vw,43px);
  }
  .trend-page .focus-signal{
    min-height:0;
    display:grid;
    grid-template-columns:1fr auto;
    justify-items:start;
    gap:2px 14px;
    padding:18px;
    text-align:left;
  }
  .trend-page .focus-signal span,
  .trend-page .focus-signal strong,
  .trend-page .focus-signal small{grid-column:1}
  .trend-page .focus-signal b{
    grid-column:2;
    grid-row:1/5;
    align-self:center;
    margin:0;
    font-size:38px;
  }
  .trend-page .trend-section{
    margin-top:22px;
    padding:23px 18px;
  }
  .trend-page .trend-section-head{
    gap:12px;
    margin-bottom:19px;
  }
  .trend-page .trend-section-head h2{
    margin-top:10px;
    font-size:clamp(27px,8vw,34px);
  }
  .trend-page .family-grid{grid-template-columns:1fr}
  .trend-page .subtopic-row{
    grid-template-columns:38px minmax(0,1fr);
    min-height:0;
    padding:14px;
  }
  .trend-page .subtopic-signal{
    grid-column:2;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    margin-top:4px;
  }
  .trend-page .subtopic-signal span{padding-right:0}
  .trend-page .trend-next{
    display:grid;
    gap:22px;
    padding:26px 22px;
  }
  .trend-page .trend-next .btn-yellow{
    width:100%;
    min-width:0;
  }
}

@media(max-width:520px){
  .trend-page .section-kicker{
    width:auto;
    max-width:100%;
    border-radius:12px;
    padding:7px 10px;
    line-height:1.3;
  }
  .trend-page .focus-signal{
    grid-template-columns:1fr;
  }
  .trend-page .focus-signal b{
    grid-column:1;
    grid-row:auto;
    margin-top:5px;
  }
}

/* ==========================================================================\n   SmartSPM __SUBJECT_NAME__ — Pricing section: single-column premium layout\n   Requested: pricing/access block must no longer split into left + right columns.\n   ========================================================================== */
.public-page-v2 .pricing-section-upgrade .pricing-layout-upgrade{
  grid-template-columns:minmax(0,1fr)!important;
  gap:34px!important;
  align-items:stretch;
  width:min(100%,920px);
  margin-inline:auto;
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade,
.public-page-v2 .pricing-section-upgrade .price-card-upgrade{
  width:100%;
  max-width:none;
  margin:0;
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade h2,
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade p{
  max-width:none;
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade{
  padding:42px;
}

@media(max-width:700px){
  .public-page-v2 .pricing-section-upgrade .pricing-layout-upgrade{
    width:100%;
    gap:26px!important;
  }
  .public-page-v2 .pricing-section-upgrade .price-card-upgrade{
    padding:28px 22px;
  }
  .public-page-v2 .pricing-section-upgrade .premium-benefits{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================\n   SmartSPM __SUBJECT_NAME__ — Pricing / Access: centered premium refinement\n   Requested: premiumkan lagi + semua kandungan utama berada di tengah.\n   ========================================================================== */
.public-page-v2 .pricing-section-upgrade{
  position:relative;
  overflow:hidden;
  padding:110px 0 122px;
  background:
    radial-gradient(circle at 50% 92%,rgba(18,103,244,.08),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.public-page-v2 .pricing-section-upgrade::before{
  content:"";
  position:absolute;
  left:50%;
  top:38px;
  width:min(78vw,980px);
  height:310px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(45,146,255,.08),transparent 68%);
  pointer-events:none;
}
.public-page-v2 .pricing-section-upgrade .pricing-layout-upgrade{
  position:relative;
  z-index:1;
  width:min(100%,980px);
  margin-inline:auto;
  gap:38px!important;
  justify-items:center;
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade .section-eyebrow{
  margin-inline:auto;
  box-shadow:0 8px 24px rgba(10,103,244,.08);
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade h2{
  max-width:820px;
  margin:16px auto 14px;
  font-size:clamp(40px,4.4vw,62px);
  line-height:1.03;
  letter-spacing:-.042em;
  text-wrap:balance;
}
.public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade p{
  max-width:760px;
  margin:0 auto;
  font-size:19px;
  line-height:1.62;
  text-align:center;
}
.public-page-v2 .pricing-section-upgrade .premium-benefits{
  width:min(100%,900px);
  margin:30px auto 0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 16px;
}
.public-page-v2 .pricing-section-upgrade .premium-benefits span{
  min-height:58px;
  align-items:center;
  padding:15px 17px;
  border-radius:17px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border:1px solid #dce8f7;
  box-shadow:0 10px 28px rgba(21,67,131,.055);
  text-align:left;
}
.public-page-v2 .pricing-section-upgrade .premium-benefits i{
  flex-basis:25px;
  width:25px;
  height:25px;
  box-shadow:inset 0 0 0 1px rgba(10,103,244,.08);
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade{
  width:min(100%,760px);
  max-width:760px;
  margin:0 auto;
  padding:42px 46px 38px;
  text-align:center;
  border:1px solid rgba(115,178,255,.28);
  box-shadow:0 34px 95px rgba(4,54,158,.27);
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .price-badge,
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .price-product,
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .saving{
  margin-left:auto;
  margin-right:auto;
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .price-product{
  width:max-content;
  max-width:100%;
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .price-line{
  justify-content:center;
  align-items:center;
  margin-top:8px;
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .price-line strong{
  font-size:clamp(54px,6vw,72px);
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .saving{
  display:flex;
  width:max-content;
  justify-content:center;
}
.public-page-v2 .pricing-section-upgrade .promo-countdown{
  width:min(100%,590px);
  margin:25px auto 0;
  padding:18px 20px;
  border:1px solid rgba(9,84,220,.09);
  box-shadow:0 12px 32px rgba(0,20,70,.08);
}
.public-page-v2 .pricing-section-upgrade .promo-countdown>span{
  text-align:center;
}
.public-page-v2 .pricing-section-upgrade .price-card-upgrade .btn-large{
  display:flex;
  width:min(100%,590px);
  margin:26px auto 0;
  justify-content:center;
}
.public-page-v2 .pricing-section-upgrade .price-note,
.public-page-v2 .pricing-section-upgrade .coming-payment-note{
  width:min(100%,590px);
  margin-left:auto;
  margin-right:auto;
}
.public-page-v2 .pricing-section-upgrade .price-trust{
  width:min(100%,590px);
  margin:20px auto 0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  text-align:center;
}
.public-page-v2 .pricing-section-upgrade .price-trust span{
  text-align:center;
}

@media(max-width:700px){
  .public-page-v2 .pricing-section-upgrade{
    padding:76px 0 88px;
  }
  .public-page-v2 .pricing-section-upgrade .pricing-layout-upgrade{
    gap:28px!important;
  }
  .public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade h2{
    font-size:clamp(36px,10vw,46px);
  }
  .public-page-v2 .pricing-section-upgrade .pricing-copy-upgrade p{
    font-size:17px;
  }
  .public-page-v2 .pricing-section-upgrade .premium-benefits{
    grid-template-columns:1fr;
    margin-top:24px;
  }
  .public-page-v2 .pricing-section-upgrade .price-card-upgrade{
    width:100%;
    padding:30px 22px 28px;
    border-radius:26px;
  }
  .public-page-v2 .pricing-section-upgrade .price-trust{
    grid-template-columns:1fr;
  }
}

/* SmartSPM shared modal — replaces browser native confirm boxes */
.smart-modal[hidden]{display:none!important}
.smart-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.smart-modal.open{opacity:1;pointer-events:auto}
.smart-modal-backdrop{position:absolute;inset:0;background:rgba(3,18,58,.56);backdrop-filter:blur(8px)}
.smart-modal-card{position:relative;width:min(100%,520px);padding:32px;border-radius:28px;background:#fff;border:1px solid #dce8f7;box-shadow:0 30px 90px rgba(4,31,102,.28);transform:translateY(12px) scale(.985);transition:transform .18s ease}
.smart-modal.open .smart-modal-card{transform:translateY(0) scale(1)}
.smart-modal-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#f1f6fd;color:#193a68;font-size:26px;line-height:1;display:grid;place-items:center}
.smart-modal-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,#eaf4ff,#dff8ff);color:var(--blue);font-family:Poppins;font-size:24px;font-weight:800}
.smart-modal-card[data-tone="yellow"] .smart-modal-icon{background:#fff4bd;color:#6c5200}
.smart-modal-card[data-tone="danger"] .smart-modal-icon{background:#fff0f2;color:#a91e37}
.smart-modal-kicker{display:block;margin-bottom:6px;color:var(--blue);font-family:Poppins;font-size:16px;font-weight:800;letter-spacing:.02em}
.smart-modal-copy h2{margin:0;font-size:28px;line-height:1.12;color:var(--navy)}
.smart-modal-copy p{margin:10px 0 0;color:var(--muted);font-size:17px;line-height:1.55}
.smart-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}
.btn-danger{background:#b4233d;color:#fff;box-shadow:0 12px 28px rgba(180,35,61,.18)}
@media(max-width:560px){.smart-modal{padding:16px}.smart-modal-card{padding:28px 20px 22px;border-radius:24px}.smart-modal-actions{display:grid;grid-template-columns:1fr}.smart-modal-actions .btn{width:100%}.smart-modal-copy h2{font-size:24px}}

/* ===== SIMULASI HUB — CTA ANALISIS TREND POLISH ===== */
.simulation-hub .sim-next-analysis{
  position:relative;
  overflow:hidden;
  margin-top:32px;
  padding:32px 34px;
  border-radius:26px;
  background:
    radial-gradient(circle at 84% 5%,rgba(39,217,255,.22),transparent 28%),
    linear-gradient(120deg,#03164d 0%,#063fbd 58%,#086df0 100%);
  box-shadow:0 22px 54px rgba(7,92,255,.18);
}
.simulation-hub .sim-next-analysis>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.simulation-hub .sim-next-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(111,232,255,.28);
  border-radius:999px;
  background:rgba(39,217,255,.12);
  color:#ddf9ff;
  font-family:Poppins,Inter,sans-serif;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  white-space:normal;
}
.simulation-hub .sim-next-analysis h2{
  margin:13px 0 7px;
  font-size:clamp(27px,2.8vw,34px);
  line-height:1.14;
  color:#fff;
  text-wrap:balance;
}
.simulation-hub .sim-next-analysis p{
  margin:0;
  max-width:760px;
  color:#dceaff;
  font-size:17px;
  line-height:1.55;
}
.simulation-hub .sim-next-analysis .btn-yellow{
  flex:0 0 auto;
  min-width:190px;
  box-shadow:0 12px 30px rgba(255,210,31,.16);
}
@media(max-width:820px){
  .simulation-hub .sim-next-analysis{
    display:grid;
    gap:20px;
    padding:26px 22px;
    border-radius:22px;
  }
  .simulation-hub .sim-next-analysis .btn-yellow{
    width:100%;
    min-width:0;
  }
}

/* SMARTSPM MASTER KIT: fallback visual sebelum imej subjek dimuat naik */
.subject-hero-placeholder{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;border-radius:28px;background:linear-gradient(145deg,#062767,#0b66ed);color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.subject-hero-placeholder span{font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:18px}.subject-hero-placeholder strong{font-size:clamp(64px,10vw,110px);line-height:1;margin:14px 0}.subject-hero-placeholder p{max-width:320px;margin:0;color:rgba(255,255,255,.78);font-size:16px;line-height:1.6}@media(max-width:820px){.subject-hero-placeholder{min-height:360px}}
/* =========================================================
   ANALISIS — SHELL / LAYOUT STABILITY FIX
   Prevent legacy trend nav min-height from fighting the shared dashboard shell.
   This removes the visible vertical snap when opening /app/analisis/.
   ========================================================= */
body.app-shell.trend-page{overflow-x:clip}
.trend-page .dashboard-shell-header{height:76px;min-height:76px;max-height:76px}
.trend-page .dashboard-shell-nav.app-nav{height:76px!important;min-height:76px!important;max-height:76px!important}
.trend-page .trend-main{min-height:calc(100dvh - 76px)}
.trend-page .student-user-dropdown-menu{will-change:transform;transform:translateZ(0)}
@media(max-width:980px){
  .trend-page .dashboard-shell-header{height:70px;min-height:70px;max-height:70px}
  .trend-page .dashboard-shell-nav.app-nav{height:70px!important;min-height:70px!important;max-height:70px!important}
  .trend-page .trend-main{min-height:calc(100dvh - 70px)}
}

