:root {
  --ink: #0a0e1a;
  --ink2: #1c2235;
  --surface: #f5f3ef;
  --white: #ffffff;
  --accent: #00c8a0;
  --primary: #00c8a0;
  --accent2: #0066ff;
  --accent3: #ff6b35;
  --warn: #ffb830;
  --danger: #ff4455;
  --muted: #8892aa;
  --border: rgba(255,255,255,0.08);
  --card: rgba(255,255,255,0.04);
  --glow: 0 0 60px rgba(0,200,160,0.15);
  --nav-bg: rgba(10,14,26,0.72);
  --topbar-bg: rgba(10,14,26,0.82);
  --panel-bg: rgba(28,34,53,0.98);
  --input-bg: rgba(255,255,255,0.05);
  --input-border: rgba(255,255,255,0.1);
}

body.theme-light {
  --ink: #f6f8fb;
  --ink2: #ffffff;
  --surface: #ffffff;
  --white: #0a0e1a;
  --muted: #5f697d;
  --border: rgba(10,14,26,0.11);
  --card: rgba(10,14,26,0.045);
  --glow: 0 18px 60px rgba(0,102,255,0.08);
  --nav-bg: rgba(255,255,255,0.84);
  --topbar-bg: rgba(255,255,255,0.9);
  --panel-bg: rgba(255,255,255,0.98);
  --input-bg: rgba(10,14,26,0.04);
  --input-border: rgba(10,14,26,0.12);
}

*{margin:0;padding:0;box-sizing:border-box;}

body {
  font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif;
  background:var(--ink);
  color:var(--white);
  min-height:100vh;
  overflow-x:hidden;
}

/* ─── NOISE TEXTURE ─── */
body::before {
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;opacity:0.6;
}

/* ─── PAGES ─── */
.page { display:none; position:relative; z-index:1; }
.page.active { display:block; animation:pageSoftIn .32s ease both; }
@keyframes pageSoftIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ─── NAV ─── */
nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 48px;
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  background:var(--nav-bg);
}
.nav-logo {
  display:flex;align-items:center;gap:10px;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;
  letter-spacing:-0.7px;cursor:pointer;
}
.dashboard-logo{border-radius:12px;padding:6px 8px;margin:-6px -8px;transition:.2s;}
.dashboard-logo:hover{background:var(--card);box-shadow:var(--glow);}
.logo-mark {
  width:36px;height:36px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:#fff; overflow:hidden; flex-shrink:0;
}
.logo-mark.logo-image{background:#fff;border-radius:50%;padding:2px;box-shadow:0 0 0 1px rgba(255,255,255,.16);}
.logo-mark.logo-image img{width:100%;height:100%;object-fit:contain;display:block;}
.logo-mark.logo-image.small{width:30px;height:30px;padding:2px;border-radius:50%;}

.brand-mark{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#fff;padding:2px;box-shadow:0 6px 22px rgba(0,0,0,.16);overflow:hidden;flex:0 0 auto;
}
.brand-mark.small{width:34px;height:34px;}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;}
.brand-copy{display:flex;flex-direction:column;line-height:1.05;gap:3px;}
.brand-copy strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;letter-spacing:-0.7px;color:var(--white);}
.brand-copy small{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:700;}
.dashboard-logo .brand-copy strong{font-size:18px;}
.dashboard-logo .brand-copy small{font-size:9px;}
.auth-side-note-card{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--border);font-size:14px;color:var(--muted);line-height:1.6;}
.research-lead-card,.research-card{background:var(--card);border:1px solid var(--border);border-radius:20px;}
.research-lead-card{margin-top:40px;padding:28px;box-shadow:var(--glow);}
.research-lead-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.research-lead-logo{width:72px;height:72px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;padding:5px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.research-lead-logo img{width:100%;height:100%;object-fit:contain;}
.research-lead-label,.research-role{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:rgba(0,200,160,.12);border:1px solid rgba(0,200,160,.24);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px;}
.research-lead-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;line-height:1.2;margin-bottom:6px;}
.research-lead-card p,.research-meta,.research-lead-note{color:var(--muted);line-height:1.7;}
.research-lead-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);font-size:15px;}
.research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px;}
.research-card{padding:24px;}
.research-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.45;margin-bottom:8px;}
.nav-actions { display:flex;gap:12px;align-items:center; }
.btn {
  padding:10px 22px;border-radius:8px;font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif;
  font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;
}
.btn-ghost {
  background:transparent;color:var(--muted);
  border:1px solid rgba(255,255,255,0.1);
}
.btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,0.3);}
.btn-primary {
  background:var(--accent);color:var(--ink);font-weight:600;
}
.btn-primary:hover{background:#00e6b8;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,200,160,0.3);}
.btn-secondary {
  background:rgba(255,255,255,0.06);color:#fff;
  border:1px solid rgba(255,255,255,0.12);
}
.btn-secondary:hover{background:rgba(255,255,255,0.1);}
.btn-full{width:100%;padding:14px;font-size:15px;border-radius:10px;}
.btn-danger{background:var(--danger);color:#fff;}
.btn-danger:hover{background:#ff2233;}

/* ─── HERO ─── */
.hero {
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:120px 48px 80px;
  position:relative;overflow:hidden;
}
.hero-grid {
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,200,160,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,200,160,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);
}
.hero-orb {
  position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;
}
.orb1{width:500px;height:500px;background:rgba(0,200,160,0.12);top:-100px;right:-100px;}
.orb2{width:400px;height:400px;background:rgba(0,102,255,0.08);bottom:0;left:-80px;}
.orb3{width:300px;height:300px;background:rgba(255,107,53,0.06);top:30%;left:40%;}

.hero-inner{max-width:1200px;margin:0 auto;position:relative;}
.hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,200,160,0.1);border:1px solid rgba(0,200,160,0.25);
  padding:6px 16px;border-radius:100px;margin-bottom:32px;
  font-size:13px;color:var(--accent);font-weight:500;
}
.badge-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

.hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(48px,5vw,61px);
  font-weight:800;line-height:0.98;letter-spacing:-3px;
  margin-bottom:24px;
}
.hero h1 span.accent{
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub{
  font-size:clamp(16px,2vw,20px);color:var(--muted);line-height:1.7;
  max-width:580px;margin-bottom:40px;font-weight:300;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:80px;}

.hero-stats {
  display:flex;gap:40px;flex-wrap:wrap;
  padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);
}
.stat-item{}
.stat-num{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-size:36px;
  font-weight:800;
  background:linear-gradient(135deg, #10e0cf 0%, #00b8f0 50%, #006cff 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.stat-label{font-size:13px;color:var(--muted);margin-top:4px;}

/* ─── SECTIONS ─── */
section{padding:100px 48px;}
.section-inner{max-width:1200px;margin:0 auto;}
.section-tag{
  font-size:12px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;color:var(--accent);margin-bottom:16px;
}
.section-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,4vw,52px);
  font-weight:800;letter-spacing:-1.8px;line-height:1.05;margin-bottom:16px;
}
.section-desc{color:var(--muted);font-size:17px;line-height:1.7;max-width:560px;font-weight:300;}

/* ─── FEATURES ─── */
.features-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;margin-top:60px;
}
.feature-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:32px;
  transition:all .3s;position:relative;overflow:hidden;
}
.feature-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,200,160,0.03),transparent);
  opacity:0;transition:.3s;
}
.feature-card:hover{border-color:rgba(0,200,160,0.2);transform:translateY(-4px);box-shadow:var(--glow);}
.feature-card:hover::before{opacity:1;}
.feature-icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:20px;
}
.fi-green{background:rgba(0,200,160,0.12);}
.fi-blue{background:rgba(0,102,255,0.12);}
.fi-orange{background:rgba(255,107,53,0.12);}
.fi-yellow{background:rgba(255,184,48,0.12);}
.fi-purple{background:rgba(160,80,255,0.12);}
.fi-red{background:rgba(255,68,85,0.12);}
.feature-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;margin-bottom:10px;}
.feature-desc{color:var(--muted);font-size:14px;line-height:1.7;}

/* ─── DASHBOARD PREVIEW ─── */
.dashboard-preview{
  margin-top:60px;
  background:var(--ink2);border:1px solid var(--border);
  border-radius:20px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6);
}
.db-header{
  background:rgba(255,255,255,0.03);border-bottom:1px solid var(--border);
  padding:16px 24px;display:flex;align-items:center;gap:10px;
}
.db-dot{width:12px;height:12px;border-radius:50%;}
.db-dot.red{background:#ff5f57;}
.db-dot.yellow{background:#febc2e;}
.db-dot.green{background:#28c840;}
.db-title{margin-left:8px;font-size:13px;color:var(--muted);}
.db-body{padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.db-kpi{
  background:rgba(255,255,255,0.03);border:1px solid var(--border);
  border-radius:12px;padding:20px;
}
.db-kpi-label{font-size:12px;color:var(--muted);margin-bottom:8px;}
.db-kpi-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;}
.db-kpi-val.green{color:var(--accent);}
.db-kpi-val.orange{color:var(--accent3);}
.db-kpi-val.yellow{color:var(--warn);}
.db-kpi-val.blue{color:var(--accent2);}
.db-kpi-sub{font-size:11px;color:var(--muted);margin-top:6px;}
.db-alerts{padding:0 24px 24px;}
.db-alert{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:10px;margin-bottom:10px;
  background:rgba(255,255,255,0.02);border:1px solid var(--border);
}
.alert-level{
  padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;
  white-space:nowrap;
}
.al-high{background:rgba(255,68,85,0.15);color:var(--danger);}
.al-med{background:rgba(255,184,48,0.15);color:var(--warn);}
.al-low{background:rgba(0,200,160,0.15);color:var(--accent);}
.alert-text{font-size:13px;flex:1;}
.alert-score{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;color:var(--muted);}

/* ─── HOW IT WORKS ─── */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:60px;}
.step{padding:40px 32px;position:relative;}
.step:not(:last-child)::after{
  content:'→';position:absolute;right:-10px;top:50px;
  color:var(--muted);font-size:20px;
}
.step-num{
  font-family:'Plus Jakarta Sans',sans-serif;font-size:64px;font-weight:800;
  color:rgba(255,255,255,0.06);margin-bottom:16px;line-height:1;
}
.step-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;margin-bottom:10px;}
.step-desc{color:var(--muted);font-size:14px;line-height:1.7;}

/* ─── MARKET ─── */
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:60px;}
.market-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:32px;
}
.market-tier{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;}
.mt-tam{color:var(--accent2);}
.mt-sam{color:var(--accent);}
.mt-som{color:var(--warn);}
.market-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:40px;font-weight:800;margin-bottom:8px;}
.market-desc{color:var(--muted);font-size:14px;line-height:1.6;}
.progress-bar{
  height:6px;background:rgba(255,255,255,0.08);border-radius:100px;margin-top:20px;overflow:hidden;
}
.progress-fill{height:100%;border-radius:100px;transition:width 1.5s ease;}

/* ─── PRICING ─── */
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:60px;}
.price-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:20px;padding:34px 24px;position:relative;
}
.price-card.featured{
  background:rgba(0,200,160,0.06);
  border-color:rgba(0,200,160,0.3);
}
.price-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:var(--ink);
  padding:4px 16px;border-radius:100px;font-size:12px;font-weight:700;
}
.price-tier{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:8px;}
.price-amt{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(30px,3vw,38px);font-weight:800;letter-spacing:-1.2px;margin-bottom:4px;}
.price-period{font-size:13px;color:var(--muted);margin-bottom:24px;}
.price-features{list-style:none;margin-bottom:32px;}
.price-features li{
  padding:8px 0;font-size:14px;color:var(--muted);
  border-bottom:1px solid rgba(255,255,255,0.04);
  display:flex;gap:10px;align-items:center;
}
.price-features li::before{content:'✓';color:var(--accent);font-weight:700;}

/* ─── CTA BANNER ─── */
.cta-banner{
  margin:0 48px;border-radius:24px;
  background:linear-gradient(135deg,rgba(0,200,160,0.12),rgba(0,102,255,0.08));
  border:1px solid rgba(0,200,160,0.2);
  padding:80px 60px;text-align:center;
  position:relative;overflow:hidden;
}
.cta-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(0,200,160,0.1),transparent);
}
.cta-banner h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:48px;font-weight:800;letter-spacing:-1px;margin-bottom:16px;}
.cta-banner p{color:var(--muted);font-size:18px;margin-bottom:36px;}

/* ─── FOOTER ─── */
footer{
  padding:60px 48px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
}
.footer-copy{color:var(--muted);font-size:14px;}

/* ─── AUTH PAGES ─── */

.login-credential-card{
  margin:22px 0 22px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.login-credential-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;margin-bottom:4px;}
.login-credential-sub{font-size:12px;color:var(--muted);margin-bottom:12px;}
.login-credential-list{display:grid;gap:7px;}
.login-credential-row{
  display:grid;
  grid-template-columns:minmax(116px,1fr) 72px minmax(140px,1.15fr) auto;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(10,14,26,.22);
}
.login-credential-row span{font-size:12px;font-weight:700;color:rgba(255,255,255,.9);}
.login-credential-row code{font-size:12px;color:var(--accent);background:rgba(0,200,160,.12);border-radius:8px;padding:4px 6px;text-align:center;}
.login-credential-row small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.login-credential-row button{border:0;border-radius:9px;background:var(--accent);color:#06130f;font-weight:800;font-size:11px;padding:7px 10px;cursor:pointer;}
.login-credential-row button:hover{filter:brightness(1.06);}
.login-credential-pass{margin-top:12px;font-size:12px;color:var(--muted);}
.login-credential-pass b{color:var(--white);}
body.theme-light .login-credential-card{background:rgba(255,255,255,.82);border-color:rgba(15,23,42,.1);}
body.theme-light .login-credential-row{background:rgba(15,23,42,.035);border-color:rgba(15,23,42,.08);}
body.theme-light .login-credential-row span, body.theme-light .login-credential-pass b{color:#0a0e1a;}
@media (max-width:1180px){.login-credential-row{grid-template-columns:1fr 72px auto}.login-credential-row small{display:none;}}

.auth-page{
  min-height:100vh;display:flex;
  background:var(--ink);
}
.auth-side{
  flex:1;background:linear-gradient(160deg,rgba(0,200,160,0.08),rgba(0,102,255,0.05));
  border-right:1px solid var(--border);padding:60px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.auth-side-content{flex:1;display:flex;flex-direction:column;justify-content:center;}
.auth-side h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:40px;font-weight:800;letter-spacing:-1px;margin-bottom:20px;}
.auth-side p{color:var(--muted);font-size:16px;line-height:1.7;}
.auth-testimonial{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:24px;margin-top:40px;
}
.auth-test-quote{font-size:15px;line-height:1.7;margin-bottom:16px;color:rgba(255,255,255,0.85);}
.auth-test-author{font-size:13px;color:var(--muted);}

.auth-form-side{
  width:500px;flex-shrink:0;
  padding:60px 48px;display:flex;flex-direction:column;justify-content:center;
}
.auth-form-side h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;margin-bottom:8px;}
.auth-form-side .subtitle{color:var(--muted);font-size:15px;margin-bottom:36px;}

.form-group{margin-bottom:20px;}
label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:rgba(255,255,255,0.7);}
input[type=text],input[type=email],input[type=password],select{
  width:100%;background:var(--input-bg);
  border:1px solid var(--input-border);
  border-radius:10px;padding:12px 16px;color:var(--white);font-size:15px;
  font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif;transition:all .2s;outline:none;
  appearance:none;
}
input:focus,select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(0,200,160,0.15);
  background:rgba(255,255,255,0.07);
}
input::placeholder{color:var(--muted);}
select option{background:var(--ink2);color:#fff;}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-divider{
  text-align:center;font-size:13px;color:var(--muted);
  margin:20px 0;position:relative;
}
.form-divider::before,.form-divider::after{
  content:'';position:absolute;top:50%;width:42%;height:1px;
  background:rgba(255,255,255,0.08);
}
.form-divider::before{left:0;}
.form-divider::after{right:0;}

.auth-switch{text-align:center;margin-top:24px;font-size:14px;color:var(--muted);}
.auth-switch a{color:var(--accent);cursor:pointer;text-decoration:none;font-weight:500;}
.auth-switch a:hover{text-decoration:underline;}

.error-msg{
  background:rgba(255,68,85,0.1);border:1px solid rgba(255,68,85,0.3);
  color:var(--danger);padding:12px 16px;border-radius:10px;font-size:14px;
  margin-bottom:20px;display:none;
}
.success-msg{
  background:rgba(0,200,160,0.1);border:1px solid rgba(0,200,160,0.3);
  color:var(--accent);padding:12px 16px;border-radius:10px;font-size:14px;
  margin-bottom:20px;display:none;
}

/* ─── USER DASHBOARD ─── */
.app-layout{display:flex;min-height:100vh;}
.sidebar{
  width:260px;flex-shrink:0;
  background:var(--ink2);border-right:1px solid var(--border);
  padding:24px 16px;display:flex;flex-direction:column;
}
.sidebar-logo{padding:8px 12px;margin-bottom:32px;}
.sidebar-nav{flex:1;}
.nav-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:10px;
  font-size:14px;font-weight:500;cursor:pointer;
  transition:all .2s;margin-bottom:4px;color:var(--muted);
}
.nav-item:hover{background:rgba(255,255,255,0.05);color:#fff;}
.nav-item.active{background:rgba(0,200,160,0.1);color:var(--accent);}
.nav-icon{font-size:18px;width:20px;text-align:center;}
.sidebar-user{
  border-top:1px solid var(--border);padding-top:16px;
  display:flex;align-items:center;gap:12px;cursor:pointer;
}
.user-avatar{
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:15px;color:#fff;flex-shrink:0;
}
.user-name{font-size:14px;font-weight:500;}
.user-role{font-size:12px;color:var(--muted);}

.main-content{flex:1;overflow-y:auto;background:var(--ink);}
.topbar{
  padding:20px 32px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  background:var(--topbar-bg);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:10;
}
.topbar-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:700;}
.topbar-actions{display:flex;gap:12px;}

.dash-body{padding:32px;}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.kpi-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:24px;
}
.kpi-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.kpi-label{font-size:13px;color:var(--muted);}
.kpi-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;}
.kb-up{background:rgba(0,200,160,0.15);color:var(--accent);}
.kb-down{background:rgba(255,68,85,0.15);color:var(--danger);}
.kb-warn{background:rgba(255,184,48,0.15);color:var(--warn);}
.kpi-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;margin-bottom:4px;}
.kpi-sub{font-size:12px;color:var(--muted);}

.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;}
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:24px;
}
.card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;margin-bottom:20px;}

.transaction-row{
  display:flex;align-items:center;gap:14px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.04);
}
.transaction-row:last-child{border-bottom:none;}
.tx-icon{
  width:36px;height:36px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}
.tx-info{flex:1;}
.tx-name{font-size:14px;font-weight:500;}
.tx-date{font-size:12px;color:var(--muted);}
.tx-amount{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;}
.tx-amount.debit{color:var(--danger);}
.tx-amount.credit{color:var(--accent);}
.tx-risk{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;}
.risk-high{background:rgba(255,68,85,0.15);color:var(--danger);}
.risk-med{background:rgba(255,184,48,0.15);color:var(--warn);}
.risk-low{background:rgba(0,200,160,0.15);color:var(--accent);}

.compliance-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.04);
}
.compliance-item:last-child{border-bottom:none;}
.comp-check{
  width:28px;height:28px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;
}
.cc-pass{background:rgba(0,200,160,0.15);}
.cc-fail{background:rgba(255,68,85,0.15);}
.cc-warn{background:rgba(255,184,48,0.15);}
.comp-label{flex:1;font-size:13px;}
.comp-score{font-size:13px;font-weight:600;color:var(--muted);}

/* Radial Progress */
.radial-wrap{text-align:center;padding:10px 0;}
svg.radial-chart{transform:rotate(-90deg);}
.radial-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;margin-top:12px;}
.radial-sub{font-size:13px;color:var(--muted);}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:16px 20px;}
  .hero{padding:100px 20px 60px;}
  section{padding:60px 20px;}
  .market-grid,.pricing-grid{grid-template-columns:1fr;}
  .auth-side{display:none;}
  .auth-form-side{width:100%;padding:40px 24px;}
  .kpi-row{grid-template-columns:1fr 1fr;}
  .content-grid{grid-template-columns:1fr;}
  .sidebar{display:none;}
  footer{padding:40px 20px;}
  .cta-banner{margin:0 20px;padding:48px 24px;}
  .steps{grid-template-columns:1fr 1fr;}
  .step::after{display:none;}
}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.animate-up{animation:fadeUp .7s ease forwards;}
.delay-1{animation-delay:.1s;opacity:0;}
.delay-2{animation-delay:.2s;opacity:0;}
.delay-3{animation-delay:.3s;opacity:0;}
.delay-4{animation-delay:.5s;opacity:0;}

/* Risk Meter */
.risk-meter{margin-top:16px;}
.risk-bar-wrap{display:flex;gap:10px;margin-bottom:10px;align-items:center;}
.risk-bar-label{font-size:12px;color:var(--muted);width:80px;text-align:right;}
.risk-bar-track{flex:1;height:8px;background:rgba(255,255,255,0.08);border-radius:100px;overflow:hidden;}
.risk-bar-fill{height:100%;border-radius:100px;}
.risk-bar-val{font-size:12px;font-weight:600;width:40px;}

/* Notification dot */
.notif{
  position:relative;display:inline-block;
}
.notif::after{
  content:'3';position:absolute;top:-6px;right:-6px;
  background:var(--danger);color:#fff;border-radius:100px;
  font-size:10px;font-weight:700;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
}

/* ─── UPLOAD ZONE ─── */
.upload-zone {
  border: 2px dashed rgba(0,200,160,0.3);
  border-radius: 16px; padding: 48px 32px;
  text-align: center; cursor: pointer;
  transition: all .25s; background: rgba(0,200,160,0.03);
  margin-bottom: 24px;
}
.upload-zone:hover, .upload-zone.drag {
  border-color: var(--accent); background: rgba(0,200,160,0.07);
  transform: translateY(-2px);
}
.upload-icon { font-size: 3rem; margin-bottom: 12px; }
.upload-title { font-family:'Plus Jakarta Sans',sans-serif; font-size:18px; font-weight:700; margin-bottom:8px; }
.upload-sub { font-size:13px; color:var(--muted); }

/* ─── PREVIEW TABLE ─── */
.preview-wrap { overflow-x:auto; border-radius:10px; border:1px solid var(--border); margin-top:16px; }
.preview-wrap table { width:100%; border-collapse:collapse; font-size:13px; min-width:600px; }
.preview-wrap th { padding:10px 14px; background:rgba(255,255,255,0.04); color:var(--muted); font-weight:500; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
.preview-wrap td { padding:10px 14px; border-bottom:1px solid rgba(255,255,255,0.03); }
.preview-wrap tr:last-child td { border-bottom:none; }
.preview-wrap tr.flagged td { background:rgba(255,68,85,0.06); }
.flag-badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; }

/* ─── ANALYSIS CARDS ─── */
.analysis-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:24px; }
.an-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:20px; }
.an-label { font-size:12px; color:var(--muted); margin-bottom:8px; }
.an-val { font-family:'Plus Jakarta Sans',sans-serif; font-size:28px; font-weight:800; }
.an-sub { font-size:11px; color:var(--muted); margin-top:6px; }

/* ─── LOADING SPINNER ─── */
.spinner { display:inline-block; width:18px; height:18px; border:2px solid rgba(0,200,160,0.2); border-top-color:var(--accent); border-radius:50%; animation:spin .7s linear infinite; vertical-align:middle; margin-right:8px; }
@keyframes spin { to{transform:rotate(360deg)} }

/* ─── AI CHAT ─── */
.ai-chat-wrap { display:flex; flex-direction:column; height:460px; background:var(--card); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.ai-chat-header { padding:16px 20px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:10px; background:rgba(0,200,160,0.05); }
.ai-online-dot { width:8px; height:8px; background:var(--accent); border-radius:50%; animation:pulse 2s infinite; }
.ai-messages { flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:12px; }
.ai-msg { max-width:85%; padding:12px 16px; border-radius:12px; font-size:14px; line-height:1.65; }
.ai-msg.bot { background:rgba(0,200,160,0.08); border:1px solid rgba(0,200,160,0.15); align-self:flex-start; border-bottom-left-radius:4px; }
.ai-msg.user { background:rgba(0,102,255,0.15); border:1px solid rgba(0,102,255,0.2); align-self:flex-end; border-bottom-right-radius:4px; }
.ai-input-row { padding:14px 16px; border-top:1px solid var(--border); display:flex; gap:10px; }
.ai-input { flex:1; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:100px; padding:10px 18px; color:#fff; font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif; font-size:14px; outline:none; transition:.2s; }
.ai-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,200,160,0.12); }
.ai-send-btn { background:var(--accent); color:var(--ink); border:none; border-radius:100px; padding:10px 22px; font-weight:700; cursor:pointer; font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif; transition:.2s; }
.ai-send-btn:hover { background:#00e6b8; }
.ai-send-btn:disabled { opacity:.4; cursor:not-allowed; }

/* ─── QUICK Q CHIPS ─── */
.quick-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.chip { padding:7px 14px; border-radius:100px; font-size:12px; font-weight:500; cursor:pointer; border:1px solid rgba(0,200,160,0.25); color:var(--accent); background:rgba(0,200,160,0.06); transition:.2s; }
.chip:hover { background:rgba(0,200,160,0.15); border-color:var(--accent); }

/* ─── TOAST ─── */
#ap-toast { position:fixed; bottom:28px; right:28px; background:rgba(28,34,53,0.97); border:1px solid var(--border); color:#fff; padding:14px 22px; border-radius:12px; font-size:14px; font-weight:500; display:none; z-index:9999; box-shadow:0 8px 40px rgba(0,0,0,.5); animation:toastIn .3s ease; }
@keyframes toastIn { from{transform:translateY(16px);opacity:0} to{transform:translateY(0);opacity:1} }

/* ─── LOGO CLICK EFFECT ─── */
.nav-logo, .logo-mark { cursor:pointer; }

/* ─── STEP PROGRESS ─── */
.step-progress { display:flex; align-items:center; gap:10px; margin-bottom:20px; font-size:13px; color:var(--muted); }
.step-progress .sp-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.15); }
.step-progress .sp-dot.done { background:var(--accent); }
.step-progress .sp-dot.active { background:var(--accent2); animation:pulse 1s infinite; }

::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:100px;}

/* Chart bars */
.mini-chart{display:flex;align-items:flex-end;gap:4px;height:48px;margin-top:12px;}
.bar{flex:1;border-radius:3px 3px 0 0;background:rgba(0,200,160,0.3);transition:.3s;}
.bar:hover{background:var(--accent);}
.bar.active{background:var(--accent);}

/* ─── GENERATED ANALYSIS OUTPUT ─── */
.result-table-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.alert-list { display:flex; flex-direction:column; gap:10px; }
.analysis-alert { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,.025); }
.analysis-alert.high { border-color:rgba(255,68,85,.25); background:rgba(255,68,85,.06); }
.analysis-alert.medium { border-color:rgba(255,184,48,.22); background:rgba(255,184,48,.05); }
.analysis-alert.low { border-color:rgba(0,200,160,.18); background:rgba(0,200,160,.04); }
.analysis-alert-main { flex:1; }
.analysis-alert-title { font-weight:700; font-size:14px; margin-bottom:4px; }
.analysis-alert-meta { color:var(--muted); font-size:12px; line-height:1.5; }
.analysis-recommendations { display:grid; gap:10px; }
.reco-item { padding:12px 14px; border-radius:10px; border:1px solid var(--border); background:rgba(255,255,255,.025); font-size:13px; line-height:1.6; }
.empty-state { padding:28px; text-align:center; color:var(--muted); border:1px dashed var(--border); border-radius:14px; background:rgba(255,255,255,.02); }
.file-meta { display:flex; gap:12px; flex-wrap:wrap; margin:14px 0 0; justify-content:center; color:var(--muted); font-size:12px; }
.file-pill { padding:5px 10px; border-radius:100px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); }
.preview-wrap .risk-score-cell { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; }
.report-log { font-size:12px; color:var(--muted); line-height:1.8; margin-top:12px; }
.status-inline { color:var(--accent); font-size:12px; margin-top:8px; display:none; }
.account-security-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.account-security-forms form{display:grid;gap:9px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}.account-security-forms input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.settings-subtitle{margin-top:20px}@media(max-width:760px){.account-security-forms{grid-template-columns:1fr}}
@media(max-width:640px){ .analysis-alert { flex-direction:column; } .file-meta{justify-content:flex-start;} }


/* ─── UPDATED NAVBAR + ROLES + MOBILE MENU ─── */
.nav-toggle,
.mobile-menu-btn,
.sidebar-close{display:none;}

.home-nav{display:grid;grid-template-columns:auto 1fr auto;gap:18px;}
.nav-menu{display:contents;}
.nav-links{justify-self:center;display:flex;gap:18px;align-items:center;}
.nav-auth-actions{justify-self:end;display:flex;gap:12px;align-items:center;}
.nav-menu a{position:relative;display:inline-flex;align-items:center;color:var(--muted);font-size:14px;text-decoration:none;font-weight:500;min-height:32px;transition:color .2s ease;}
.nav-menu a::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(0);transform-origin:left center;transition:transform .28s ease;}
.nav-menu a:hover,.nav-menu a:focus-visible{color:var(--white);}
.nav-menu a:hover::after,.nav-menu a:focus-visible::after{transform:scaleX(1);}

.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;}
.role-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:26px;transition:.25s;}
.role-card:hover{border-color:rgba(0,200,160,.25);transform:translateY(-3px);box-shadow:var(--glow);}
.role-icon{font-size:34px;margin-bottom:14px;}
.role-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:800;margin-bottom:10px;}
.role-desc{color:var(--muted);font-size:13px;line-height:1.7;}

.btn-google{background:#fff;color:#1c2235;border:1px solid rgba(255,255,255,.35);font-weight:700;}
.btn-google:hover{background:#f2f2f2;transform:translateY(-1px);}
.google-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#fff;color:#0066ff;font-weight:800;border:1px solid rgba(0,0,0,.08);}

.user-role-badge{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:999px;background:rgba(0,200,160,.1);border:1px solid rgba(0,200,160,.2);color:var(--accent);font-size:10px;font-weight:700;line-height:1.3;}
.role-insight-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,rgba(0,200,160,.08),rgba(0,102,255,.05));border:1px solid rgba(0,200,160,.2);border-radius:16px;padding:22px;margin-bottom:24px;}
.role-insight-label{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);font-weight:700;margin-bottom:6px;}
.role-insight-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;margin-bottom:6px;}
.role-insight-desc{font-size:13px;color:var(--muted);line-height:1.6;max-width:760px;}

.sidebar-backdrop{display:none;}

.theme-toggle{border:1px solid var(--border);background:var(--card);color:var(--white);border-radius:999px;padding:9px 14px;font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:.2s;white-space:nowrap;}
.theme-toggle:hover{border-color:rgba(0,200,160,.35);box-shadow:0 8px 24px rgba(0,200,160,.12);transform:translateY(-1px);}
.theme-toggle.compact{padding:9px 12px;border-radius:10px;}
.theme-toggle.settings-toggle{border-radius:10px;padding:12px 16px;}
body.theme-light::before{opacity:.25;}
body.theme-light .btn-secondary{background:rgba(10,14,26,.05);color:var(--white);border-color:rgba(10,14,26,.12);}
body.theme-light .btn-ghost{color:var(--muted);border-color:rgba(10,14,26,.12);}
body.theme-light .btn-ghost:hover{color:var(--white);border-color:rgba(10,14,26,.25);}
body.theme-light .auth-side{background:linear-gradient(160deg,rgba(0,200,160,0.08),rgba(0,102,255,0.06));}
body.theme-light .dashboard-preview, body.theme-light .sidebar{background:#ffffff;}
body.theme-light .db-header, body.theme-light .topbar{background:var(--topbar-bg);}
body.theme-light .nav-menu a, body.theme-light .price-features li, body.theme-light .feature-desc, body.theme-light .market-desc{color:var(--muted);}
body.theme-light .nav-menu a:hover, body.theme-light .nav-menu a:focus-visible{color:var(--white);}
body.theme-light label{color:rgba(10,14,26,.68);}
body.theme-light input::placeholder{color:#7a8496;}
body.theme-light input:focus, body.theme-light select:focus{background:rgba(10,14,26,.055);}
body.theme-light select option{background:#ffffff;color:#0a0e1a;}
body.theme-light .upload-zone{background:rgba(0,200,160,.05);}
body.theme-light .preview-wrap th{background:rgba(10,14,26,.04);}
body.theme-light .ai-input{background:var(--input-bg);border-color:var(--input-border);color:var(--white);}
body.theme-light .ai-msg.bot{background:rgba(0,200,160,.09);}
body.theme-light .ai-msg.user{background:rgba(0,102,255,.09);}
body.theme-light .sidebar-backdrop.open{background:rgba(10,14,26,.25);}


/* ─── COMFORT INTERACTIONS ─── */
.card,.kpi-card,.feature-card,.market-card,.price-card,.db-alert,.transaction-row,.compliance-item,.an-card,.role-card,.nav-user-chip,.theme-toggle,.btn,.upload-zone{will-change:transform,opacity;}
.card:hover,.kpi-card:hover,.market-card:hover,.an-card:hover{transform:translateY(-2px);border-color:rgba(0,200,160,.22);box-shadow:0 16px 50px rgba(0,0,0,.16);}
.btn:active,.nav-item:active,.chip:active{transform:scale(.98);}
.nav-item{position:relative;overflow:hidden;}
.nav-item::after{content:'';position:absolute;inset:auto 14px 7px 14px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:0;transform:scaleX(.4);transition:.25s ease;}
.nav-item.active::after{opacity:1;transform:scaleX(1);}
.nav-item.nav-pulse{animation:navPulse .38s ease both;}
@keyframes navPulse{0%{transform:translateX(0)}50%{transform:translateX(4px)}100%{transform:translateX(0)}}
.dash-body.tab-enter{animation:tabEnter .34s cubic-bezier(.2,.8,.2,1) both;}
@keyframes tabEnter{from{opacity:0;transform:translateY(14px) scale(.992);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
input,select,.ai-input{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;}
input:focus,select:focus,.ai-input:focus{transform:translateY(-1px);}
@media (prefers-reduced-motion: reduce){.page.active,.dash-body.tab-enter,.nav-item.nav-pulse,.animate-up,.delay-1,.delay-2,.delay-3,.delay-4{animation:none!important}.card:hover,.kpi-card:hover,.market-card:hover,.an-card:hover,input:focus,select:focus,.ai-input:focus{transform:none!important}}

/* ─── LIGHT MODE READABILITY FIXES ─── */
body.theme-light .btn-primary{color:#06231d;}
body.theme-light .btn-secondary:hover{background:rgba(10,14,26,.09);}
body.theme-light input[type=text],body.theme-light input[type=email],body.theme-light input[type=password],body.theme-light select{background:var(--input-bg);border-color:var(--input-border);color:#0a0e1a;}
body.theme-light .auth-test-quote,body.theme-light .tx-name,body.theme-light .alert-text,body.theme-light .comp-label,body.theme-light .card-title,body.theme-light .section-title,body.theme-light .feature-title,body.theme-light .price-amt,body.theme-light .price-tier,body.theme-light .market-num,body.theme-light .topbar-title,body.theme-light .user-name,body.theme-light .role-insight-title,body.theme-light .upload-title{color:#0a0e1a;}
body.theme-light .auth-test-author,body.theme-light .tx-date,body.theme-light .kpi-sub,body.theme-light .db-kpi-sub,body.theme-light .upload-sub,body.theme-light .an-sub,body.theme-light .radial-sub{color:#5f697d;}
body.theme-light .sidebar .nav-logo,body.theme-light .footer-copy,body.theme-light .auth-switch,body.theme-light .form-divider,body.theme-light .preview-wrap td,body.theme-light .db-title{color:#0a0e1a;}
body.theme-light [style*="color:#fff"],body.theme-light [style*="color: #fff"],body.theme-light [style*="color:rgba(255,255,255"],body.theme-light [style*="color: rgba(255,255,255"]{color:#0a0e1a!important;}
body.theme-light .btn-danger,body.theme-light .logo-mark,body.theme-light .nav-user-avatar,body.theme-light .user-avatar,body.theme-light .price-badge{color:#fff!important;}
body.theme-light code{color:#0a0e1a;background:rgba(10,14,26,.06)!important;}

body.theme-light .sidebar-nav .nav-item{color:#394255;background:transparent;}
body.theme-light .sidebar-nav .nav-item:hover{background:#f1f5f9;color:#0a0e1a;}
body.theme-light .sidebar-nav .nav-item.active{background:#e7fff6;color:#047857;border:1px solid #b9f4dd;}
body.theme-light .sidebar-nav .nav-item.active::before{background:linear-gradient(90deg,rgba(0,200,160,.16),transparent);}
body.theme-light .alert-level.al-high,body.theme-light .tx-risk.risk-high{background:#fee2e2;color:#b91c1c!important;border:1px solid #fecaca;}
body.theme-light .alert-level.al-med,body.theme-light .tx-risk.risk-med{background:#fef3c7;color:#92400e!important;border:1px solid #fde68a;}
body.theme-light .alert-level.al-low,body.theme-light .tx-risk.risk-low{background:#d1fae5;color:#047857!important;border:1px solid #a7f3d0;}
body.theme-light .alert-score-chip{background:#f8fafc;color:#334155;border-color:#dbe3ef;}
body.theme-light .confidence-chip{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
body.theme-light .alert-tab-btn{color:#4b5563;background:#f8fafc;border-color:#e5e7eb;}
body.theme-light .alert-tab-btn:hover{color:#0a0e1a;background:#eef2ff;border-color:#c7d2fe;}
body.theme-light .alert-tab-btn.active{color:#fff;background:linear-gradient(135deg,#00a884,#0066ff);border-color:transparent;}
body.theme-light .accordion-toggle b{background:#eef2ff;color:#1d4ed8;}
body.theme-light .guide-note,body.theme-light .alert-followup,body.theme-light .alert-quality-line{border-top-color:#e5e7eb;}
body.theme-light .guide-list b,body.theme-light .confidence-examples b,body.theme-light .quality-factor-grid b,body.theme-light .compare-grid b,body.theme-light .level-table b{color:#0a0e1a;}
body.theme-light .accordion-panel p,body.theme-light .accordion-panel li{color:#4b5563;}


@media(max-width:1100px){
  .role-grid{grid-template-columns:repeat(2,1fr);}
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:720px){
  .pricing-grid{grid-template-columns:1fr;}
  .hero h1{letter-spacing:-2px;}
}

@media(max-width:900px){
  nav{align-items:center;}
  .home-nav{display:flex;justify-content:space-between;}
  .nav-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--white);font-size:22px;cursor:pointer;}
  .nav-menu{position:fixed;top:72px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:12px;background:var(--panel-bg);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 22px 70px rgba(0,0,0,.2);}
  .nav-menu.open{display:flex;}
  .nav-links,.nav-auth-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .nav-menu a{padding:12px 14px;border-radius:10px;background:var(--card);}
  .nav-menu a::after{left:14px;right:14px;bottom:8px;}
  .nav-menu .btn,.nav-menu .theme-toggle{width:100%;}

  .app-layout{position:relative;}
  .sidebar{display:flex;position:fixed;top:0;bottom:0;left:0;z-index:500;width:280px;max-width:86vw;transform:translateX(-105%);transition:transform .25s ease;box-shadow:22px 0 70px rgba(0,0,0,.5);}
  .sidebar.open{transform:translateX(0);}
  .sidebar-close{display:flex;position:absolute;top:14px;right:14px;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:var(--card);color:var(--white);font-size:24px;cursor:pointer;}
  .sidebar-backdrop{display:none;position:fixed;inset:0;z-index:450;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);}
  .sidebar-backdrop.open{display:block;}
  .mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:var(--card);color:var(--white);font-size:22px;cursor:pointer;}
  .topbar{gap:12px;padding:14px 16px;}
  .topbar-title{font-size:16px;flex:1;}
  .topbar-actions{gap:8px;}
  .topbar-actions .btn{padding:9px 12px;font-size:12px;}
  .dash-body{padding:20px;}
  .role-insight-card{align-items:flex-start;flex-direction:column;}
}

@media(max-width:640px){
  .role-grid{grid-template-columns:1fr;}
  .hero-stats{gap:20px;}
  .form-row{grid-template-columns:1fr;}
  .kpi-row{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .role-insight-title{font-size:18px;}
}


/* Session, user profile, and admin visibility refinements */
.nav-user-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--card);color:var(--white);border-radius:12px;padding:7px 12px;cursor:pointer;font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif;transition:.2s}
.nav-user-chip:hover{border-color:rgba(0,200,160,.35);box-shadow:var(--glow)}
.nav-user-chip b{display:block;font-size:13px;line-height:1.1}.nav-user-chip small{display:block;color:var(--muted);font-size:11px;margin-top:2px;text-align:left}
.nav-user-avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;overflow:hidden;flex-shrink:0}.nav-user-avatar img,.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar.has-image{padding:0;overflow:hidden;background:rgba(255,255,255,.08)}
.single-auth-page{align-items:center;justify-content:center;padding:120px 24px}.verification-card{max-width:620px;text-align:center;padding:42px}.verification-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:rgba(255,184,48,.14);font-size:36px}.verification-card h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:34px;letter-spacing:-1px;margin-bottom:12px}.verification-card p{color:var(--muted);line-height:1.7}.verification-details{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0;text-align:left}.verification-details div{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:14px}.verification-details span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.verification-details b{font-size:15px}.verification-note{font-size:13px}.verification-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.profile-avatar-row{display:flex;align-items:center;gap:16px;margin-bottom:22px}.profile-avatar{width:72px;height:72px;border-radius:18px;font-size:24px}.profile-upload-btn{display:inline-flex;align-items:center;justify-content:center}.profile-help{font-size:12px;color:var(--muted);margin-top:8px}
.admin-only{display:none}
@media(max-width:900px){.nav-user-chip{width:100%;justify-content:flex-start}.verification-card{padding:30px 22px}.profile-avatar-row{align-items:flex-start}}

/* Profile image cropper */
.profile-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.profile-avatar{border-radius:16px}
.profile-avatar img,.nav-user-avatar img,.user-avatar img{aspect-ratio:1/1}
.avatar-crop-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.64);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}
.avatar-crop-modal.open{display:flex;animation:fadeIn .18s ease forwards}
.avatar-crop-card{width:min(440px,100%);background:var(--ink2);border:1px solid var(--border);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:22px;color:var(--white);animation:cropCardIn .22s ease forwards}
.avatar-crop-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}
.avatar-crop-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.3px}
.avatar-crop-subtitle{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}
.avatar-crop-close{width:34px;height:34px;border:none;border-radius:10px;background:rgba(255,255,255,.08);color:var(--white);font-size:20px;cursor:pointer;transition:.2s}
.avatar-crop-close:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.avatar-crop-body{display:flex;justify-content:center;margin:8px 0 16px}
#avatar-crop-canvas{width:320px;max-width:100%;aspect-ratio:1/1;border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(0,200,160,.12);cursor:grab;touch-action:none;background:#0a0e1a}
#avatar-crop-canvas:active{cursor:grabbing}
.avatar-crop-control{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;margin-bottom:18px}
.avatar-crop-control label{margin:0;color:var(--muted)}
.avatar-crop-control input[type=range]{accent-color:var(--accent);width:100%}
.avatar-crop-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@keyframes cropCardIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
body.theme-light .avatar-crop-card{background:#ffffff;color:#0a0e1a;border-color:rgba(10,14,26,.12)}
body.theme-light .avatar-crop-close{background:rgba(10,14,26,.06);color:#0a0e1a}
body.theme-light #avatar-crop-canvas{border-color:rgba(10,14,26,.14)}
@media(max-width:520px){.avatar-crop-card{padding:18px}.avatar-crop-actions .btn{width:100%}.avatar-crop-control{grid-template-columns:1fr}}

/* MVP add-ons */
.addon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px}.addon-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.addon-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;margin-bottom:10px}.addon-muted{color:var(--muted);font-size:13px;line-height:1.6}.addon-form{display:grid;gap:10px}.addon-form input,.addon-form select,.addon-form textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;color:var(--white);font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif}.addon-table{width:100%;border-collapse:collapse;font-size:13px}.addon-table th,.addon-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}.addon-table th{color:var(--muted);font-weight:600}.addon-actions{display:flex;gap:8px;flex-wrap:wrap}.plan-card{display:flex;flex-direction:column;gap:12px}.plan-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800}.plan-feature{color:var(--muted);font-size:13px}.usage-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.usage-fill{height:100%;background:var(--accent);border-radius:999px}.trend-bars{height:160px;display:flex;align-items:flex-end;gap:10px;padding:16px;background:rgba(255,255,255,.03);border-radius:14px}.trend-bar{flex:1;min-width:28px;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:8px 8px 2px 2px;position:relative}.trend-bar span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted)}.evidence-link{color:var(--accent);font-weight:600}.light .addon-form input,.light .addon-form select,.light .addon-form textarea{background:#fff;color:#172033;border-color:rgba(15,23,42,.14)}.light .addon-table th,.light .addon-muted,.light .trend-bar span{color:#64748b}.light .addon-table td{color:#172033;border-color:rgba(15,23,42,.08)}.light .trend-bars{background:rgba(15,23,42,.04)}

/* Role-based dashboard polish */
.role-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:20px;background:linear-gradient(135deg,rgba(0,200,160,.08),rgba(0,102,255,.055));border-color:rgba(0,200,160,.18)}
.role-hero h2,.role-page-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;letter-spacing:-.7px;margin:6px 0 10px}.role-hero p,.role-muted{color:var(--muted);line-height:1.7;font-size:14px}.role-action-grid{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.role-kpi .kpi-val{font-size:26px}.role-menu-preview{display:flex;gap:9px;flex-wrap:wrap}.role-menu-preview span{padding:8px 12px;border-radius:999px;background:rgba(0,200,160,.08);border:1px solid rgba(0,200,160,.16);color:var(--accent);font-size:12px;font-weight:700}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:18px}.role-table-wrap{margin-top:12px}.role-table th,.role-table td{font-size:13px}.sidebar-nav .nav-item{position:relative;overflow:hidden}.sidebar-nav .nav-item::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,200,160,.11),transparent);opacity:0;transition:.25s}.sidebar-nav .nav-item:hover::before,.sidebar-nav .nav-item.active::before{opacity:1}.sidebar-nav .nav-item .nav-icon{position:relative}.sidebar-nav .nav-item{animation:menuSlide .24s ease both}@keyframes menuSlide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
body.light-mode .role-hero{background:linear-gradient(135deg,#f0fffb,#eef5ff);border-color:#c6f3e8}body.light-mode .role-menu-preview span{background:#e7fff8;border-color:#b6f4e4;color:#047c68}body.light-mode .ai-chat-wrap span[style*='color:#fff']{color:#0f172a!important}
@media(max-width:900px){.role-hero{align-items:flex-start;flex-direction:column}.role-action-grid{justify-content:flex-start}.role-kpi-row{grid-template-columns:1fr 1fr}}


/* Role dashboard polish and separated transaction views */
.data-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;flex-wrap:wrap;}
.data-page-actions{display:flex;gap:10px;flex-wrap:wrap;}
.admin-user-tools{align-items:stretch;margin-bottom:20px;}
.admin-polished-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;}
.admin-cta-card{background:linear-gradient(135deg,rgba(0,200,160,.09),rgba(0,102,255,.05));border-color:rgba(0,200,160,.22);}
.admin-cta-card .btn{align-self:flex-start;}
.role-table-wrap{margin-top:12px;}
#tab-role-users .card{overflow:hidden;}
#tab-role-users .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
#tab-transactions .card code,.theme-light #tab-transactions .card code{color:var(--white);}
.theme-light #tab-transactions .card strong{color:var(--ink2)!important;}
.theme-light .role-muted,.theme-light .addon-muted{color:#5d667a;}
.theme-light .preview-wrap th{color:#4d5870;}
.theme-light .preview-wrap td{color:#172033;}
@media(max-width:900px){.data-page-head{display:block}.data-page-actions{margin-top:12px}.admin-polished-card{min-height:auto}}

/* Smart Import Kasir */
.upload-icon{width:52px;height:52px;margin:0 auto 16px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,160,.12);border:1px solid rgba(0,200,160,.25);color:var(--accent);font-family:'Plus Jakarta Sans',sans-serif;font-weight:900;font-size:16px;letter-spacing:-.5px}
.smart-import-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px}
.smart-import-panel{margin:0 0 24px}
.smart-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.smart-step{padding:10px 8px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--muted);font-size:12px;font-weight:700;text-align:center}.smart-step span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.08);margin-right:6px}.smart-step.active{color:var(--accent);border-color:rgba(0,200,160,.32);background:rgba(0,200,160,.08)}
.smart-import-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:12px}.smart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.smart-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:800;margin-bottom:6px}.smart-muted{color:var(--muted);font-size:13px;line-height:1.6}.smart-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.smart-badges span,.file-pill{padding:6px 10px;border-radius:999px;background:rgba(0,200,160,.09);border:1px solid rgba(0,200,160,.18);font-size:12px;color:var(--accent);font-weight:700}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px}.mapping-row{display:grid;grid-template-columns:1fr 1.15fr 42px;gap:8px;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:12px;padding:10px}.mapping-row span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mapping-row small{font-size:11px;color:var(--muted);text-align:right}.mapping-row select,.manual-grid input,.smart-textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--white);padding:10px 11px;font-family:'Manrope','Inter','Segoe UI',system-ui,sans-serif}.smart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.smart-actions.final{justify-content:flex-end}.smart-ok{padding:12px 14px;border-radius:12px;background:rgba(0,200,160,.08);border:1px solid rgba(0,200,160,.18);color:var(--accent);font-size:13px;margin-bottom:12px}.preview-wrap.compact{margin-top:12px;max-height:330px}.template-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.template-chip{border:1px solid rgba(0,200,160,.22);background:rgba(0,200,160,.07);color:var(--accent);border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}.smart-textarea{min-height:160px;resize:vertical;line-height:1.6}.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.theme-light .smart-import-card,.theme-light .smart-step,.theme-light .mapping-row{background:#fff;border-color:rgba(15,23,42,.10)}.theme-light .mapping-row select,.theme-light .manual-grid input,.theme-light .smart-textarea{background:#fff;color:#172033;border-color:rgba(15,23,42,.14)}.theme-light .smart-muted,.theme-light .mapping-row small{color:#64748b}.theme-light .upload-icon{color:#047c68;background:#e7fff8;border-color:#b6f4e4}
@media(max-width:720px){.smart-steps{grid-template-columns:1fr}.smart-head{display:block}.mapping-row{grid-template-columns:1fr}.smart-badges{justify-content:flex-start;margin-top:10px}}

/* reduce excessive decorative icons */
.sidebar-nav .nav-icon{display:none}.sidebar-nav .nav-item{gap:0}.card-title,.upload-title,.role-page-title{letter-spacing:-.2px}

/* Processing overlay + import history */
.process-overlay{position:fixed;inset:0;background:rgba(7,12,24,.76);backdrop-filter:blur(8px);z-index:9998;align-items:center;justify-content:center;padding:24px}
.process-card{width:min(540px,100%);background:linear-gradient(180deg,rgba(7,14,30,.98),rgba(11,20,39,.98));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 28px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.45)}
.process-steps{gap:12px}.process-line{height:1px;width:52px;background:rgba(255,255,255,.12)}
.process-spinner{width:24px;height:24px;margin:0 auto 18px;display:block;border-width:3px}
.process-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.3px;margin-bottom:8px;color:var(--white)}
.process-subtitle{font-size:14px;color:var(--muted);line-height:1.7}.process-overlay .sp-dot{flex:0 0 auto}.process-recover-btn{margin-top:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:var(--white);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.process-recover-btn:hover{background:rgba(255,255,255,.12)}.process-recover-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}
.import-history-empty{padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);font-size:13px;text-align:center}
.import-history-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.import-history-meta span{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.05);font-size:11px;color:var(--muted);border:1px solid rgba(255,255,255,.08)}
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,.1);text-transform:capitalize}
.status-pill.uploaded{background:rgba(0,102,255,.14);color:#88b7ff}.status-pill.mapped,.status-pill.validated,.status-pill.normalized{background:rgba(255,184,0,.12);color:#ffd37c}.status-pill.analyzed,.status-pill.completed{background:rgba(0,200,160,.12);color:var(--accent)}.status-pill.failed,.status-pill.needs_mapping{background:rgba(255,68,85,.12);color:#ff97a5}
.theme-light .process-overlay{background:rgba(226,232,240,.58)}.theme-light .process-card{background:#fff;border-color:rgba(15,23,42,.08);box-shadow:0 18px 48px rgba(15,23,42,.16)}.theme-light .process-line{background:rgba(15,23,42,.12)}.theme-light .process-title{color:#111827}.theme-light .process-subtitle,.theme-light .process-recover-note,.theme-light .import-history-empty,.theme-light .import-history-meta span{color:#5d667a}.theme-light .process-recover-btn{background:#fff;color:#172033;border-color:rgba(15,23,42,.14)}.theme-light .import-history-meta span{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.08)}
@media(max-width:640px){.process-card{padding:28px 20px}.process-title{font-size:21px}.process-line{width:32px}}

/* Custom dialog: replaces native alert/confirm/prompt for cleaner UX */
.ap-dialog{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(7,12,24,.72);backdrop-filter:blur(8px);z-index:10000;padding:20px}
.ap-dialog.open{display:flex}.ap-dialog-card{width:min(440px,100%);background:var(--panel-bg);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.42);padding:24px}.ap-dialog-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:800;margin-bottom:8px}.ap-dialog-message{font-size:14px;line-height:1.7;color:var(--muted);white-space:pre-line;margin-bottom:16px}.ap-dialog-input{width:100%;border:1px solid var(--input-border);background:var(--input-bg);color:var(--white);border-radius:12px;padding:12px 14px;font:inherit;margin-bottom:18px}.ap-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.theme-light .ap-dialog{background:rgba(226,232,240,.62)}
@media(max-width:560px){.ap-dialog-card{padding:20px}.ap-dialog-actions .btn{width:100%}}

body.theme-light .brand-copy strong{color:#0a0e1a;}
body.theme-light .brand-mark{box-shadow:0 10px 24px rgba(15,23,42,.10);}
@media(max-width:768px){.brand-copy strong{font-size:18px;}.research-lead-card h3{font-size:22px;}.research-lead-head{align-items:flex-start;}}

/* Home institutional + team */
.institution-grid,.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:42px}
.institution-card,.team-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.institution-card:hover,.team-card:hover{transform:translateY(-3px);border-color:rgba(0,200,160,.18);box-shadow:var(--glow)}
.institution-title,.team-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.4px}
.institution-title{font-size:18px;margin-bottom:10px}.institution-desc,.team-desc{color:var(--muted);font-size:14px;line-height:1.75}
.team-role{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:rgba(0,200,160,.12);color:var(--accent);font-size:12px;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:.7px}
.team-name{font-size:20px;line-height:1.35;margin-bottom:8px}.team-meta{font-size:13px;color:var(--accent3);font-weight:600;margin-bottom:14px}
.report-shell{font-family:Arial,sans-serif;padding:28px 34px;color:#122033}.report-shell h1{font-size:24px;margin-bottom:8px}.report-shell p{font-size:14px;line-height:1.65;color:#425066}.report-intro{margin-bottom:22px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 20px}.report-card{border:1px solid #dbe3ef;border-radius:14px;padding:16px;background:#f8fbff}.report-card b{display:block;font-size:12px;color:#6b7a90;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.report-card strong{font-size:22px;color:#0f172a}.report-section{margin-top:24px}.report-section h2{font-size:16px;margin-bottom:10px}.report-list{padding-left:18px}.report-list li{margin-bottom:7px;line-height:1.6}.risk-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.risk-pill.high{background:#ffe3e6;color:#b42318}.risk-pill.medium{background:#fff3cd;color:#8a6100}.risk-pill.low{background:#dcfce7;color:#166534}.print-table{width:100%;border-collapse:collapse;margin-top:12px}.print-table th,.print-table td{border:1px solid #dbe3ef;padding:8px 10px;text-align:left;font-size:12px;vertical-align:top}.print-table th{background:#eff6ff;font-size:12px}.csv-note{display:block;font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:768px){.report-grid{grid-template-columns:1fr}.team-name{font-size:18px}}

/* Smooth anchored landing navigation */
#features,#promo-proof,#institution,#why-auditpulse,#how-it-works,#market,#promo-insight,#research-team{scroll-margin-top:96px;}

/* Homepage anchor scroll calibration */
#home-top, #features, #how-it-works, #research-team {
  scroll-margin-top: 96px;
}

/* Revisi V12: logo website sederhana */
.brand-mark{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#fff;padding:3px;box-shadow:0 6px 22px rgba(0,0,0,.16);overflow:hidden;flex:0 0 auto;
}
.brand-mark.small{width:36px;height:36px;}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;}
.research-lead-logo{width:80px;height:80px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.research-lead-logo img{width:100%;height:100%;object-fit:contain;}
@media(max-width:768px){.brand-mark{width:42px;height:42px;padding:3px}.brand-mark.small{width:32px;height:32px}}

/* Smart Import format guide and detector */
.format-guide-card{margin-bottom:24px;padding:18px 20px;}
.format-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.format-guide-desc{font-size:13px;color:var(--muted);line-height:1.65;margin-top:6px;max-width:880px;}
.format-support-pill{border:1px solid rgba(109,247,224,.35);background:rgba(109,247,224,.08);color:var(--accent);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;}
.format-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.format-guide-box{border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:16px;padding:14px;min-height:120px;}
.format-guide-box h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;margin:0 0 10px;color:rgba(255,255,255,.88);}
.format-guide-box p,.format-guide-box li{font-size:13px;color:var(--muted);line-height:1.65;}
.format-guide-box ul{margin:0 0 8px 18px;padding:0;}
.format-chip-list{display:flex;gap:8px;flex-wrap:wrap;}
.format-chip-list span{font-size:12px;color:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);padding:5px 8px;border-radius:999px;}
.format-guide-box.required{border-color:rgba(109,247,224,.28);}
.format-guide-box.warning{border-color:rgba(255,193,7,.28);background:rgba(255,193,7,.045);}
.format-guide-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(109,247,224,.07);border:1px solid rgba(109,247,224,.2);font-size:13px;color:rgba(255,255,255,.78);}
.detector-card{border-color:rgba(109,247,224,.22);}
.detector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;}
.detector-grid>div{border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035);padding:10px;}
.detector-grid small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;}
.detector-grid b{font-size:13px;color:rgba(255,255,255,.9);font-weight:700;text-transform:capitalize;}
.detector-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.detector-tags span{font-size:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);padding:5px 8px;border-radius:999px;color:rgba(255,255,255,.76);}
.detector-tags .warn{border-color:rgba(255,193,7,.35);color:#ffd76a;background:rgba(255,193,7,.08);}
.format-warning-list{margin-top:10px;display:grid;gap:6px;}
.format-warning-list div{font-size:12px;line-height:1.55;color:#ffd76a;background:rgba(255,193,7,.07);border:1px solid rgba(255,193,7,.18);border-radius:10px;padding:8px 10px;}
@media (max-width: 820px){.format-guide-grid,.detector-grid{grid-template-columns:1fr}.format-guide-card{padding:16px}.format-guide-head{gap:10px}.format-support-pill{width:100%;text-align:center}}

/* Alert education center: Risk Score, Confidence, and Data Quality guidance */
.alerts-hero{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(124,92,255,.08));
}
.alerts-hero h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;margin:6px 0 8px;}
.alerts-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;max-width:760px;}
.alerts-hero-badge{border:1px solid rgba(0,212,255,.26);background:rgba(0,212,255,.08);padding:10px 14px;border-radius:999px;color:var(--accent2);font-size:12px;font-weight:800;white-space:nowrap;}
.alert-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;}
.kpi-sub{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5;}
.alert-edu-shell{display:flex;flex-direction:column;gap:16px;}
.alert-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:8px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025);}
.alert-tab-btn{
  border:1px solid transparent;
  background:transparent;
  color:var(--muted);
  border-radius:14px;
  padding:10px 14px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:0!important;
  line-height:1.2;
  cursor:pointer;
  transition:.22s ease;
}
.alert-tab-btn:hover{color:var(--white);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.alert-tab-btn.active{color:var(--white);background:linear-gradient(135deg,var(--primary),var(--accent2));box-shadow:0 12px 30px rgba(0,212,255,.13);}
.alert-tab-panel{display:none;animation:tabFadeIn .22s ease;}
.alert-tab-panel.active{display:block;}
.alert-panel-card{padding:20px;}
.alert-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.alert-panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.6;}
.alert-review-list{display:flex;flex-direction:column;gap:12px;}
.alert-review-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:rgba(255,255,255,.025);transition:.2s ease;}
.alert-review-card:hover{transform:translateY(-1px);border-color:rgba(0,212,255,.18);}
.alert-review-card.high{background:rgba(255,68,85,.055);border-color:rgba(255,68,85,.22);}
.alert-review-card.medium{background:rgba(255,184,48,.05);border-color:rgba(255,184,48,.2);}
.alert-review-card.low{background:rgba(0,200,160,.04);border-color:rgba(0,200,160,.16);}
.alert-review-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.alert-score-chip,.confidence-chip{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:rgba(255,255,255,.03);}
.confidence-chip{color:var(--accent2);border-color:rgba(0,212,255,.22);}
.alert-review-main{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;}
.alert-review-main h3{font-size:15px;font-weight:800;margin:0 0 6px;line-height:1.35;}
.alert-review-main p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;}
.alert-amount{font-family:'Plus Jakarta Sans',sans-serif;font-weight:900;color:var(--white);font-size:16px;white-space:nowrap;}
.alert-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.alert-meta-grid div{border:1px solid var(--border);border-radius:12px;padding:9px;background:rgba(255,255,255,.02);min-width:0;}
.alert-meta-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px;}
.alert-meta-grid b{display:block;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.alert-followup,.alert-quality-line{font-size:12.5px;line-height:1.6;color:var(--muted);border-top:1px solid var(--border);padding-top:10px;}
.alert-quality-line{margin-top:8px;}
.alert-followup b,.alert-quality-line b{color:var(--white);}
.risk-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.guide-card{padding:20px;}
.guide-card-wide{grid-column:1/-1;}
.guide-card p{color:var(--muted);font-size:14px;line-height:1.75;margin:8px 0 0;}
.level-table{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.level-table div{display:grid;grid-template-columns:auto 56px 1fr;gap:10px;align-items:start;border:1px solid var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.025);}
.level-table small{grid-column:3;color:var(--muted);font-size:12px;line-height:1.5;}
.level-dot{width:12px;height:12px;border-radius:999px;margin-top:3px;}
.level-dot.low{background:var(--accent);}.level-dot.med{background:var(--warn);}.level-dot.high{background:var(--danger);}
.guide-list{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.guide-list div{padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);}
.guide-list b{display:block;font-size:13px;margin-bottom:5px;}
.guide-list span{display:block;color:var(--muted);font-size:12.5px;line-height:1.65;}
.guide-list.compact div{padding:11px;}
.not-risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.not-risk-grid span{display:block;border:1px solid rgba(0,200,160,.2);background:rgba(0,200,160,.045);border-radius:14px;padding:11px;color:var(--white);font-size:12.5px;line-height:1.5;}
.guide-note{border-top:1px solid var(--border);padding-top:12px;margin-top:14px!important;}
.risk-accordion{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.accordion-item{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.025);}
.accordion-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;background:transparent;color:var(--white);padding:14px 16px;font-size:14px;font-weight:800;cursor:pointer;text-align:left;}
.accordion-toggle b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--accent2);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease;border-top:1px solid transparent;}
.accordion-item.open .accordion-panel{max-height:360px;padding:0 16px 14px;border-top-color:var(--border);}
.accordion-panel p,.accordion-panel li{color:var(--muted);font-size:13px;line-height:1.7;}
.accordion-panel ul{margin:12px 0 0 18px;padding:0;}
.confidence-examples,.quality-factor-grid,.compare-grid{display:grid;gap:10px;margin-top:12px;}
.confidence-examples div,.quality-factor-grid div,.compare-grid div{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);padding:12px;}
.confidence-examples b,.quality-factor-grid b,.compare-grid b{display:block;font-size:13px;margin-bottom:5px;}
.confidence-examples span,.quality-factor-grid span,.compare-grid span,.compare-grid small{display:block;color:var(--muted);font-size:12.5px;line-height:1.6;}
.compare-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@keyframes tabFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

body.theme-light .alerts-hero,body.theme-light .alert-tabs,body.theme-light .alert-review-card,body.theme-light .level-table div,body.theme-light .guide-list div,body.theme-light .accordion-item,body.theme-light .confidence-examples div,body.theme-light .quality-factor-grid div,body.theme-light .compare-grid div,body.theme-light .alert-meta-grid div{background:#fff;border-color:#e5e7eb;}
body.theme-light .alerts-hero h2,body.theme-light .alert-review-main h3,body.theme-light .alert-amount,body.theme-light .accordion-toggle,body.theme-light .alert-followup b,body.theme-light .alert-quality-line b,body.theme-light .not-risk-grid span{color:#0a0e1a;}
body.theme-light .alert-tab-btn:hover{color:#0a0e1a;background:#f7f8fb;}
body.theme-light .alert-tab-btn.active{color:#fff;}
body.theme-light .not-risk-grid span{background:#ecfdf7;border-color:#b7f0df;}

body.theme-light .alert-review-card.high{background:#fff7f7;border-color:#fecaca;}
body.theme-light .alert-review-card.medium{background:#fffbeb;border-color:#fde68a;}
body.theme-light .alert-review-card.low{background:#f0fdf4;border-color:#bbf7d0;}
body.theme-light .alert-tab-btn{color:#4b5563;background:#f8fafc;border-color:#e5e7eb;}
body.theme-light .alert-tab-btn:hover{color:#0a0e1a;background:#eef2ff;border-color:#c7d2fe;}
body.theme-light .alert-tab-btn.active{color:#fff;background:linear-gradient(135deg,#00a884,#0066ff);border-color:transparent;}
body.theme-light .alert-meta-grid b{color:#0a0e1a;}

@media(max-width:1100px){
  .alert-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .not-risk-grid,.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:820px){
  .alerts-hero{flex-direction:column;}
  .alerts-hero-badge{white-space:normal;}
  .alert-kpi-grid,.risk-guide-grid{grid-template-columns:1fr;}
  .guide-card-wide{grid-column:auto;}
  .alert-review-main{flex-direction:column;}
  .alert-amount{white-space:normal;}
  .alert-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  .alerts-hero{padding:16px;border-radius:18px;}
  .alert-tabs{display:grid;grid-template-columns:1fr;}
  .alert-tab-btn{width:100%;}
  .alert-panel-card,.guide-card{padding:16px;}
  .alert-meta-grid,.not-risk-grid,.compare-grid{grid-template-columns:1fr;}
  .level-table div{grid-template-columns:auto 56px 1fr;}
  .level-table small{grid-column:1/-1;}
}

/* V21: Light-mode readability fixes for Smart Import format guide */
body.theme-light .format-guide-card{background:#ffffff;border-color:#e2e8f0;box-shadow:0 16px 40px rgba(15,23,42,.06);}
body.theme-light .format-guide-desc{color:#475569;}
body.theme-light .format-support-pill{color:#047857;background:#ecfdf5;border-color:#a7f3d0;}
body.theme-light .format-guide-box{background:#f8fafc;border-color:#e2e8f0;}
body.theme-light .format-guide-box.required{background:#f0fdf4;border-color:#bbf7d0;}
body.theme-light .format-guide-box.recommended{background:#f8fafc;border-color:#cbd5e1;}
body.theme-light .format-guide-box.supported{background:#eff6ff;border-color:#bfdbfe;}
body.theme-light .format-guide-box.warning{background:#fffbeb;border-color:#fde68a;}
body.theme-light .format-guide-box h4{color:#0f172a;}
body.theme-light .format-guide-box p,body.theme-light .format-guide-box li{color:#475569;}
body.theme-light .format-guide-box b,body.theme-light .format-guide-box strong{color:#0f172a;}
body.theme-light .format-chip-list span{color:#0f172a;background:#ffffff;border-color:#cbd5e1;}
body.theme-light .format-guide-note{color:#334155;background:#eff6ff;border-color:#bfdbfe;}
body.theme-light .format-guide-note b,body.theme-light .format-guide-note strong{color:#0f172a;}
body.theme-light .detector-card{background:#ffffff;border-color:#dbeafe;}
body.theme-light .detector-grid > div{background:#f8fafc;border-color:#e2e8f0;}
body.theme-light .detector-grid b{color:#0f172a;}
body.theme-light .detector-tags span{color:#334155;background:#ffffff;border-color:#cbd5e1;}
body.theme-light .detector-tags .warn,body.theme-light .format-warning-list div{color:#92400e;background:#fffbeb;border-color:#fde68a;}

/* Role simplification v24 */
.role-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;}
.role-hero h2{margin:8px 0 8px;font-size:clamp(24px,3vw,34px);}
.role-hero p{margin:0;color:var(--muted);line-height:1.7;max-width:860px;}
.role-action-grid{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:220px;}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;}
.role-kpi-row{margin-bottom:18px;}
.role-kpi .kpi-sub,.role-muted{color:var(--muted);line-height:1.65;}
.role-menu-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.role-menu-preview span{border:1px solid var(--border);background:var(--card);color:var(--white);padding:8px 10px;border-radius:999px;font-weight:800;font-size:12px;}
.role-page-title{margin:0 0 14px;color:var(--white);}
.role-table-wrap{margin-top:12px;}
.role-table th,.role-table td{white-space:nowrap;}
.admin-polished-card{min-height:160px;}
.admin-cta-card{display:flex;align-items:center;justify-content:space-between;gap:16px;}
@media (max-width: 860px){.role-hero{flex-direction:column}.role-action-grid{justify-content:flex-start}.role-grid{grid-template-columns:1fr}.admin-cta-card{align-items:flex-start;flex-direction:column}.role-table th,.role-table td{white-space:normal;}}

/* v26 role/UI refinements */
.role-register-note{
  margin-top: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(0,211,184,.22);
  border-radius: 12px;
  background: rgba(0,211,184,.08);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.role-register-note b{ color: var(--text); }
.nav-item[data-tab="tab-compliance"],
#tab-compliance[data-legacy-hidden="true"]{
  display: none !important;
}
#tab-compliance{
  /* Tab legacy disimpan, menu dinonaktifkan. */
}
.alert-tab-panel{
  padding-top: 12px !important;
  margin-top: 0 !important;
}
.alert-tab-panel.active{
  display: block;
}
.alert-review{
  margin-top: 0 !important;
}
.ai-advisor-grid{
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.ai-side-panel,
.ai-context-panel,
.ai-chat-panel{
  min-width: 0;
}
.ai-context-panel{
  padding: 24px;
  border-color: rgba(0,211,184,.35);
  overflow: hidden;
}
.ai-context-lines{
  font-size: 12px;
  color: var(--muted);
  line-height: 2;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.ai-context-lines b,
.ai-context-lines strong{ color: var(--text); }
.ai-chat-window,
.ai-messages{
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 980px){
  .ai-advisor-grid{
    grid-template-columns: 1fr;
  }
}

/* v28 access, user management, and backup UX refinements */
.access-note{border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin:0 0 16px;line-height:1.65;color:var(--muted);background:rgba(255,255,255,.035)}
.access-note b{color:var(--text)}
.access-note.success{border-color:rgba(0,211,184,.3);background:rgba(0,211,184,.08)}
.access-note.readonly{border-color:rgba(59,130,246,.28);background:rgba(59,130,246,.08)}
.access-note.danger{border-color:rgba(255,68,85,.28);background:rgba(255,68,85,.08)}
.backup-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 18px}
.backup-guide-card,.backup-action-card{min-width:0}
.backup-action-grid{align-items:stretch}
.backup-status-wrap{margin:0 0 18px}
.backup-status-card{border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:16px;padding:14px 16px;line-height:1.6;color:var(--muted);margin:12px 0}
.backup-status-card b{display:block;color:var(--text);margin-bottom:2px}
.backup-status-card.success{border-color:rgba(0,211,184,.35);background:rgba(0,211,184,.08)}
.backup-status-card.danger{border-color:rgba(255,68,85,.32);background:rgba(255,68,85,.08)}
.backup-status-card.info{border-color:rgba(59,130,246,.28);background:rgba(59,130,246,.08)}
.backup-status-extra{margin-top:4px;overflow-wrap:anywhere;word-break:break-word}
.backup-button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.wrap-anywhere{overflow-wrap:anywhere;word-break:break-word}
.legacy-disabled-card{border-style:dashed!important;opacity:.96}
body.theme-light .access-note,body.theme-light .backup-status-card{color:#475569;background:#f8fafc;border-color:#d9e2ef}
body.theme-light .access-note b,body.theme-light .backup-status-card b{color:#0f172a}
body.theme-light .access-note.success,body.theme-light .backup-status-card.success{background:#ecfdf5;border-color:#a7f3d0}
body.theme-light .access-note.readonly,body.theme-light .backup-status-card.info{background:#eff6ff;border-color:#bfdbfe}
body.theme-light .access-note.danger,body.theme-light .backup-status-card.danger{background:#fff1f2;border-color:#fecdd3}
@media(max-width:860px){.backup-guide-grid{grid-template-columns:1fr}.backup-action-grid{grid-template-columns:1fr}}

/* ════════════════════════════════════════════════
   PREMIUM LAYER — inline-SVG icons, refined surfaces
   Added for the premium redesign (light mode default).
════════════════════════════════════════════════ */

/* ─── Icon base ─── */
.ic{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;flex:0 0 auto;line-height:0;vertical-align:-0.16em;color:inherit;}
.ic svg{width:100%;height:100%;display:block;stroke:currentColor;}
.card-title .ic,.section-title .ic{width:1.05em;height:1.05em;margin-right:.5em;color:var(--accent);vertical-align:-0.14em;}
.btn .ic{width:1.05em;height:1.05em;margin-right:.45em;vertical-align:-0.12em;}
.btn .ic:last-child{margin-right:0;margin-left:.4em;}

/* ─── Risk level dots (replaces colored-circle emoji) ─── */
.lvl-dot{display:inline-block;width:.62em;height:.62em;border-radius:50%;margin-right:.5em;vertical-align:.02em;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent);}
.lvl-dot.high{background:var(--danger);box-shadow:0 0 0 3px rgba(255,68,85,.18);}
.lvl-dot.med{background:var(--warn);box-shadow:0 0 0 3px rgba(255,184,48,.2);}
.lvl-dot.low{background:var(--accent);box-shadow:0 0 0 3px rgba(0,200,160,.2);}

/* ─── Theme toggle (icon + label) ─── */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;}
.theme-toggle .ic{width:16px;height:16px;color:var(--accent);}
.theme-toggle span{line-height:1;}

/* ─── Feature cards: premium icon tiles ─── */
.feature-icon{display:flex;align-items:center;justify-content:center;}
.feature-icon .ic{width:26px;height:26px;color:#fff;}
body.theme-light .feature-icon .ic{color:#0a1f1a;}

/* ─── Sidebar nav icons: re-enabled as crisp SVGs ─── */
.sidebar-nav .nav-icon{display:inline-flex!important;align-items:center;justify-content:center;width:20px;height:20px;color:var(--muted);transition:color .2s ease;}
.sidebar-nav .nav-item{gap:12px!important;}
.sidebar-nav .nav-item.active .nav-icon,.sidebar-nav .nav-item:hover .nav-icon{color:var(--accent);}
.nav-icon .ic{width:20px;height:20px;}

/* ─── Inline data lines (AI context, recommendations) ─── */
.ai-context-lines .ic,.reco-item .ic,.analysis-alert .ic{width:16px;height:16px;margin-right:.5em;vertical-align:-0.16em;color:var(--accent);}
.role-menu-preview .ic{width:15px;height:15px;margin-right:.35em;color:var(--accent);}

/* ─── Premium polish ─── */
.btn{letter-spacing:.1px;}
.btn-primary{background:linear-gradient(135deg,var(--accent),#00a98a);box-shadow:0 6px 18px rgba(0,200,160,.22);}
.btn-primary:hover{background:linear-gradient(135deg,#06d8b0,var(--accent));box-shadow:0 12px 30px rgba(0,200,160,.32);}
.card{border-radius:18px;}
body.theme-light{background:linear-gradient(180deg,#fbfcfe 0%,#f4f7fb 100%);}
body.theme-light::before{opacity:.25;}
body.theme-light .card,body.theme-light .kpi-card,body.theme-light .feature-card,body.theme-light .institution-card{background:#ffffff;border-color:#e7ecf3;box-shadow:0 10px 30px rgba(15,23,42,.05);}
body.theme-light .card:hover,body.theme-light .kpi-card:hover,body.theme-light .feature-card:hover{box-shadow:0 18px 46px rgba(15,23,42,.09);border-color:rgba(0,200,160,.28);}
body.theme-light .nav-icon{color:#64748b;}
body.theme-light #ap-toast{background:#fff;color:#0f172a;box-shadow:0 14px 50px rgba(15,23,42,.16);}
/* Keep hamburger/menu glyph buttons tidy */
.nav-toggle .ic,.mobile-menu-btn .ic,.sidebar-close .ic{width:22px;height:22px;}

/* ═══════════════════════════════════════
   PREMIUM HOMEPAGE LAYER
═══════════════════════════════════════ */

/* ─── Hero split layout ─── */
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.hero-text{/* left column — inherits text alignment from .hero */}

/* Light mode hero background */
body.theme-light .hero{background:linear-gradient(155deg,#f0f9ff 0%,#f6f0ff 50%,#fff9f0 100%);}
body.theme-light .hero-grid{background-image:linear-gradient(rgba(0,102,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,102,255,.03) 1px,transparent 1px);}
body.theme-light .hero-meta{border-top-color:rgba(10,14,26,.1);}
body.theme-light .hero-meta-txt strong{color:#0a0e1a;}
body.theme-light .hmn-val{color:var(--accent);}

/* Hero CTA button sizing */
.btn-hero{padding:16px 32px!important;font-size:16px!important;font-weight:700!important;}
.hero-btn-outline{padding:16px 28px;border:1.5px solid var(--border)!important;background:transparent;color:var(--white);}
body.theme-light .hero-btn-outline{border-color:rgba(10,14,26,.18)!important;color:#0a0e1a;}
.hero-btn-outline:hover{border-color:var(--accent)!important;color:var(--accent)!important;background:rgba(0,200,160,.06)!important;box-shadow:none!important;}

/* Hero meta strip (USU logo + quick stats) */
.hero-meta{padding-top:32px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;margin-top:16px;}
.hero-meta-trust{display:flex;align-items:center;gap:14px;}
.hero-usu-logo{width:48px;height:48px;border-radius:50%;object-fit:contain;background:#fff;padding:3px;box-shadow:0 4px 14px rgba(0,0,0,.14);flex-shrink:0;}
.hero-meta-txt{display:flex;flex-direction:column;gap:2px;}
.hero-meta-txt strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:rgba(255,255,255,.9);}
.hero-meta-txt span{font-size:12px;color:var(--muted);}
.hero-meta-nums{display:flex;align-items:center;gap:18px;}
.hmn-item{display:flex;flex-direction:column;gap:2px;}
.hmn-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;color:var(--accent);line-height:1;}
.hmn-lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.hmn-sep{width:1px;height:28px;background:var(--border);}

/* Hero visual column */
.hero-visual{position:relative;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(24px) rotateY(-3deg)}to{opacity:1;transform:translateY(0) rotateY(-2deg)}}
.animate-fade{animation:heroFadeUp .9s cubic-bezier(.22,1,.36,1) both;}

/* ─── Dashboard mockup ─── */
.hm-wrap{
  background:linear-gradient(150deg,#0d1226 0%,#141b30 100%);
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 48px 120px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.1);
  position:relative;overflow:visible;
  transform:perspective(1000px) rotateY(-2deg) rotateX(1deg);
  transition:transform .5s ease;
}
.hm-wrap:hover{transform:perspective(1000px) rotateY(0) rotateX(0);}
.hm-chrome{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06);border-radius:20px 20px 0 0;background:rgba(255,255,255,.025);}
.hm-dots{display:flex;gap:7px;}
.hm-dots span{width:11px;height:11px;border-radius:50%;display:inline-block;}
.hm-dots span:nth-child(1){background:#ff5f57;}
.hm-dots span:nth-child(2){background:#ffbd2e;}
.hm-dots span:nth-child(3){background:#28c840;}
.hm-url{flex:1;background:rgba(255,255,255,.06);border-radius:6px;padding:5px 14px;font-size:11px;color:rgba(255,255,255,.4);font-family:'DM Mono','Courier New',monospace;text-align:center;}
.hm-body{padding:14px;}
.hm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px;}
.hm-kpi{padding:10px 11px;border-radius:10px;border:1px solid;}
.hm-kpi-green{background:rgba(0,200,160,.1);border-color:rgba(0,200,160,.22);}
.hm-kpi-green .hm-kn{color:#00c8a0;}
.hm-kpi-red{background:rgba(255,68,85,.1);border-color:rgba(255,68,85,.22);}
.hm-kpi-red .hm-kn{color:#ff4455;}
.hm-kpi-yellow{background:rgba(255,184,48,.1);border-color:rgba(255,184,48,.22);}
.hm-kpi-yellow .hm-kn{color:#ffb830;}
.hm-kpi-blue{background:rgba(0,102,255,.1);border-color:rgba(0,102,255,.22);}
.hm-kpi-blue .hm-kn{color:#0066ff;}
.hm-kl{font-size:9px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm-kn{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;line-height:1;margin-bottom:2px;}
.hm-kt{font-size:9px;color:rgba(255,255,255,.35);}
.hm-lower{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;}
.hm-chart,.hm-alist{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:11px;padding:11px;}
.hm-slabel{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.38);margin-bottom:8px;}
.hm-bars{display:flex;align-items:flex-end;gap:5px;height:66px;margin-bottom:5px;}
.hm-b{flex:1;border-radius:3px 3px 0 0;background:rgba(0,200,160,.25);min-height:4px;display:block;}
.hm-b-hi{background:rgba(0,200,160,.85);box-shadow:0 0 10px rgba(0,200,160,.35);}
.hm-months{display:flex;justify-content:space-between;}
.hm-months span{flex:1;text-align:center;font-size:8px;color:rgba(255,255,255,.25);}
.hm-alrt{display:flex;align-items:flex-start;gap:7px;padding:6px 8px;border-radius:7px;border:1px solid;margin-bottom:5px;}
.hm-alrt:last-child{margin-bottom:0;}
.hm-alrt-h{background:rgba(255,68,85,.08);border-color:rgba(255,68,85,.2);}
.hm-alrt-h .hm-adot{background:#ff4455;}
.hm-alrt-m{background:rgba(255,184,48,.08);border-color:rgba(255,184,48,.2);}
.hm-alrt-m .hm-adot{background:#ffb830;}
.hm-alrt-l{background:rgba(0,200,160,.08);border-color:rgba(0,200,160,.2);}
.hm-alrt-l .hm-adot{background:#00c8a0;}
.hm-adot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.hm-at{font-size:10px;color:rgba(255,255,255,.75);font-weight:500;}
.hm-al{font-size:9px;color:rgba(255,255,255,.35);margin-top:2px;}

/* Floating badges on mockup */
.hm-float-done{
  position:absolute;bottom:-22px;left:-20px;
  background:linear-gradient(135deg,#00c8a0,#009e80);
  border-radius:14px;padding:11px 16px;
  display:flex;align-items:center;gap:10px;
  box-shadow:0 16px 40px rgba(0,200,160,.38);color:#fff;
  min-width:196px;
}
.hm-fd-ic{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hm-fd-ic .ic{width:18px;height:18px;color:#fff;}
.hm-fd-t{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;}
.hm-fd-s{font-size:10px;opacity:.82;white-space:nowrap;}
.hm-float-ai{
  position:absolute;top:-18px;right:12px;
  background:rgba(10,14,26,.88);backdrop-filter:blur(12px);
  border:1px solid rgba(0,200,160,.22);border-radius:100px;
  padding:7px 14px;display:flex;align-items:center;gap:8px;
  font-size:11px;color:rgba(255,255,255,.82);
  box-shadow:0 8px 24px rgba(0,0,0,.32);white-space:nowrap;
}
.hm-ai-dot{width:7px;height:7px;border-radius:50%;background:#00c8a0;animation:pulse 2s infinite;flex-shrink:0;}

/* ─── Institution section ─── */
.institution-header{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;flex-wrap:wrap;margin-bottom:44px;}
.institution-usu-badge{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);padding:18px 22px;border-radius:18px;flex-shrink:0;min-width:226px;}
.institution-usu-img{width:54px;height:54px;border-radius:50%;object-fit:contain;background:#fff;padding:4px;box-shadow:0 6px 18px rgba(0,0,0,.14);}
.institution-usu-info{display:flex;flex-direction:column;gap:3px;}
.institution-usu-info strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:var(--white);}
.institution-usu-info span{font-size:12px;color:var(--muted);}
.institution-usu-tag{display:inline-flex;padding:2px 8px;border-radius:20px;background:rgba(0,200,160,.1);border:1px solid rgba(0,200,160,.2);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.3px;}
.institution-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:rgba(0,200,160,.1);color:var(--accent);}
.institution-icon .ic{width:22px;height:22px;}
body.theme-light .institution-usu-badge{background:#fff;border-color:#e7ecf3;}

/* ─── How it works step icons ─── */
.step-icon-wrap{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.step-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,rgba(0,200,160,.15),rgba(0,102,255,.1));border:1px solid rgba(0,200,160,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-icon .ic{width:22px;height:22px;color:var(--accent);}
.step .step-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;color:rgba(255,255,255,.25);letter-spacing:1px;}
body.theme-light .step .step-num{color:rgba(10,14,26,.25);}
body.theme-light .step-icon{background:linear-gradient(135deg,rgba(0,200,160,.1),rgba(0,102,255,.07));border-color:rgba(0,200,160,.18);}

/* ─── Research team section ─── */
.research-header{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px;}
.research-usu-logo{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;flex-shrink:0;}
.research-usu-logo img{width:80px;height:80px;border-radius:50%;object-fit:contain;background:#fff;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.research-usu-caption{display:flex;flex-direction:column;gap:2px;}
.research-usu-caption span{font-size:12px;color:var(--muted);text-align:center;}
.research-nuptk{font-size:13px;color:var(--muted);margin-top:4px;}
.research-nuptk b{color:var(--white);}
body.theme-light .research-nuptk b{color:#0a0e1a;}

/* ─── Footer improvements ─── */
footer{flex-wrap:wrap;gap:24px;}
.footer-brand{display:flex;flex-direction:column;gap:12px;}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
.footer-usu{display:flex;align-items:center;gap:10px;}
.footer-usu-logo{width:32px;height:32px;border-radius:50%;object-fit:contain;background:#fff;padding:2px;box-shadow:0 3px 10px rgba(0,0,0,.12);}
.footer-usu span{font-size:13px;color:var(--muted);}
.footer-links{display:flex;gap:16px;}
.footer-links a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--accent);}
body.theme-light .footer-right .footer-usu span,body.theme-light .footer-copy{color:#64748b;}

/* ─── Mobile responsive for new sections ─── */
@media(max-width:980px){
  .hero-split{grid-template-columns:1fr;gap:40px;}
  .hero-visual{order:-1;}
  .hm-wrap{transform:none;max-width:460px;margin:0 auto;}
  .hm-float-done{bottom:-14px;left:8px;}
}
@media(max-width:640px){
  .hm-kpis{grid-template-columns:repeat(2,1fr);}
  .institution-header,.research-header{flex-direction:column;}
  .institution-usu-badge{min-width:unset;width:100%;}
  .footer-right{align-items:flex-start;}
  .hero-meta-nums{flex-wrap:wrap;gap:12px;}
}

/* ─── Light mode overrides for new elements ─── */
body.theme-light .hm-wrap{border-color:rgba(10,14,26,.1);}
body.theme-light .research-card,body.theme-light .research-lead-card{background:#fff;border-color:#e7ecf3;}

/* ═══════════════════════════════════════
   PROMO BANNER SECTIONS (person images)
═══════════════════════════════════════ */

.promo-section{padding:96px 48px;}
#promo-proof{scroll-margin-top:96px;}
#promo-insight{scroll-margin-top:96px;}
.promo-light{background:var(--ink2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.promo-dark{background:linear-gradient(145deg,#060c1c 0%,#0a1530 50%,#060c1c 100%);border-top:1px solid rgba(255,255,255,.06);}
body.theme-light .promo-light{background:linear-gradient(160deg,#f0f9ff 0%,#f5f3ff 100%);border-top-color:#e7ecf3;border-bottom-color:#e7ecf3;}
body.theme-light .promo-dark{background:linear-gradient(145deg,#062d62 0%,#0a2a5b 48%,#071b43 100%);}
.promo-dark .section-tag{color:#84fff0!important;background:rgba(132,255,240,.13)!important;border-color:rgba(132,255,240,.34)!important;}
.promo-dark .section-title{color:#f8fbff!important;text-shadow:0 2px 20px rgba(0,0,0,.16);}
.promo-dark .section-desc{color:#c7d7ef!important;}
.promo-dark .promo-hl-t{color:#f7fbff!important;}
.promo-dark .promo-hl-d{color:#abc0dc!important;}
.promo-dark .promo-hl-ic{background:rgba(132,255,240,.13)!important;border-color:rgba(132,255,240,.32)!important;color:#84fff0!important;}
.promo-dark .promo-cta .btn:not(.btn-primary){border-color:rgba(224,242,255,.24)!important;background:rgba(255,255,255,.08)!important;color:#e8f2ff!important;}
.promo-dark .promo-cta .btn:not(.btn-primary):hover{background:rgba(255,255,255,.13)!important;border-color:rgba(132,255,240,.34)!important;}

.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.promo-reverse{direction:rtl;}
.promo-reverse>*{direction:ltr;}

/* Image column */
.promo-img-col{position:relative;}
.promo-img-wrap{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(0,200,160,.06),rgba(0,102,255,.06));}
.promo-img{width:100%;height:auto;display:block;object-fit:cover;max-height:580px;border-radius:28px;transition:transform .5s ease;}
.promo-img-wrap:hover .promo-img{transform:scale(1.02);}
.promo-light .promo-img-wrap{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.38);}
.promo-light .promo-img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;border-radius:28px;}
.promo-light .promo-img-wrap:hover .promo-img{transform:none;}
.promo-light{padding-top:72px;padding-bottom:72px;}
.promo-light .promo-grid{grid-template-columns:minmax(360px,500px) minmax(0,1fr);}
.promo-light .promo-img-col{width:min(100%,500px);justify-self:center;}
.promo-dark .promo-img-col{justify-self:end;width:min(100%,540px);}
.promo-dark .promo-img-wrap{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);box-shadow:0 28px 90px rgba(0,0,0,.24);}
.promo-dark .promo-img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;border-radius:28px;}
.promo-dark .promo-img-wrap:hover .promo-img{transform:none;}
/* Graceful fallback when image file doesn't exist yet */
.promo-img-wrap.promo-img-missing{min-height:400px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,200,160,.08),rgba(0,102,255,.06));border:2px dashed rgba(0,200,160,.2);}
.promo-img-wrap.promo-img-missing::after{content:'Gambar segera hadir';font-size:14px;color:var(--muted);font-style:italic;}

/* Text column */
.promo-highlights{display:flex;flex-direction:column;gap:20px;margin:28px 0 32px;}
.promo-hl{display:flex;align-items:flex-start;gap:14px;}
.promo-hl-ic{width:38px;height:38px;border-radius:11px;background:rgba(0,200,160,.1);border:1px solid rgba(0,200,160,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);}
.promo-hl-ic .ic{width:18px;height:18px;}
.promo-hl-t{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:var(--white);margin-bottom:4px;line-height:1.3;}
.promo-hl-d{font-size:13px;color:var(--muted);line-height:1.65;}
.promo-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
body.theme-light .promo-light .promo-hl-t{color:#0a0e1a;}
body.theme-light .promo-light .promo-hl-d{color:#475569;}

/* ═══════════════════════════════════════
   COMPREHENSIVE MOBILE & TABLET FIXES
═══════════════════════════════════════ */

/* ─── Tablet 980px ─── */
@media(max-width:980px){
  /* Hero */
  .hero{padding:80px 32px 60px;}
  .hero h1{font-size:clamp(42px,7vw,72px);}
  .hero-split{grid-template-columns:1fr;gap:36px;}
  /* Text first, dashboard mockup below — headline hooks the user before the visual */
  .hero-text{order:1;}
  .hero-visual{order:2;padding:0 24px;}
  .hm-wrap{transform:none;max-width:500px;margin:0 auto;}
  .hm-float-done{bottom:-14px;left:4px;}

  /* Sections */
  section{padding:72px 32px;}
  .promo-section{padding:72px 32px;}

  /* Promo grids */
  .promo-grid{grid-template-columns:1fr;gap:40px;}
  .promo-reverse{direction:ltr;}
  .promo-reverse .promo-text-col{order:-1;}
  .promo-img{max-height:420px;}
  .promo-light .promo-grid{gap:34px;}
  .promo-light .promo-text-col{order:1;max-width:720px;}
  .promo-light .promo-img-col{order:2;width:min(100%,620px);justify-self:center;}
  .promo-light .promo-img-wrap{width:100%;max-height:none;}
  .promo-light .promo-img{height:100%;max-height:none;object-fit:contain;}
  .promo-dark .promo-grid{gap:34px;}
  .promo-dark .promo-text-col{order:1;max-width:720px;}
  .promo-dark .promo-img-col{order:2;width:min(100%,620px);justify-self:center;}
  .promo-dark .promo-img-wrap{width:100%;max-height:none;}
  .promo-dark .promo-img{height:100%;max-height:none;object-fit:cover;}

  /* Steps */
  .steps{grid-template-columns:1fr 1fr;}
}

/* ─── Mobile large 768px ─── */
@media(max-width:768px){
  /* Hero */
  .hero{padding:72px 24px 48px;}
  .hero h1{font-size:clamp(36px,8vw,60px);}
  .hero-text{text-align:left;}
  .hero-visual{padding:0 8px;}

  /* Dashboard mockup adjustments */
  .hm-lower{grid-template-columns:1fr;}
  .hm-alist{display:none;} /* hide alert list on mobile — keep chart */
  .hm-float-ai{right:4px;font-size:10px;padding:5px 10px;}

  /* Avoid two stacked dashboards on phones — hero mockup already covers this */
  .dashboard-preview-section{display:none;}

  /* Steps */
  .steps{grid-template-columns:1fr;gap:24px;}
  .step::after{display:none;}

  /* Research lead */
  .research-lead-head{flex-wrap:wrap;}

  /* Promo */
  .promo-img{max-height:340px;}
  .promo-section{padding:60px 24px;}
  .promo-light .section-title{font-size:clamp(32px,7vw,48px);line-height:1.08;}
  .promo-light .section-desc{font-size:15px;line-height:1.75;}
  .promo-light .promo-img-col{width:min(100%,560px);}
  #promo-proof{scroll-margin-top:82px;}
  .promo-dark .section-title{font-size:clamp(32px,7vw,48px);line-height:1.08;}
  .promo-dark .section-desc{font-size:15px;line-height:1.75;}
  .promo-dark .promo-img-col{width:min(100%,560px);}
  #promo-insight{scroll-margin-top:82px;}
}

/* ─── Mobile 640px ─── */
@media(max-width:640px){
  /* Hero */
  .hero{padding:64px 16px 40px;}
  .hero h1{font-size:clamp(32px,9.5vw,52px);letter-spacing:-1.5px;}
  .hero-sub{font-size:14px;line-height:1.7;}
  .hero-split{gap:28px;}
  .hero-visual{padding:0;}
  .hero-cta{flex-direction:column;align-items:stretch;gap:10px;}
  .hero-cta .btn{width:100%;text-align:center;justify-content:center;}
  .btn-hero{padding:14px 24px!important;}
  .hero-btn-outline{padding:14px 24px!important;}
  .hero-meta{gap:12px;margin-top:12px;padding-top:24px;}
  .hero-meta-nums{flex-wrap:wrap;gap:10px;}
  .hmn-sep{display:none;}
  .hero-badge{font-size:11px;padding:7px 12px;}

  /* Dashboard mockup compact */
  .hm-wrap{max-width:100%;}
  .hm-kpis{grid-template-columns:repeat(2,1fr);}
  .hm-kn{font-size:17px!important;}
  .hm-float-done{left:0;bottom:-10px;min-width:unset;padding:8px 12px;gap:8px;}
  .hm-fd-s{display:none;}
  .hm-float-ai{top:-14px;right:0;font-size:10px;padding:5px 9px;}
  .hm-ai-dot{width:6px;height:6px;}

  /* Sections */
  section{padding:56px 16px;}
  .section-title{font-size:clamp(24px,6.5vw,38px)!important;letter-spacing:-.5px!important;}
  .section-desc{font-size:14px;}

  /* Features grid */
  .features-grid{grid-template-columns:1fr!important;gap:14px;}

  /* Institution */
  .institution-header,.research-header{flex-direction:column;gap:20px;}
  .institution-usu-badge{min-width:unset;width:100%;}

  /* Market grid */
  .market-grid{grid-template-columns:1fr;}

  /* Steps */
  .steps{grid-template-columns:1fr;gap:20px;}

  /* Research */
  .research-lead-card{padding:20px 18px;}
  .research-lead-head h3{font-size:18px;}
  .research-grid{grid-template-columns:1fr;}

  /* CTA */
  .cta-banner{padding:36px 20px!important;margin:0!important;border-radius:20px!important;}
  .cta-banner h2{font-size:clamp(20px,6vw,32px)!important;letter-spacing:-.5px!important;}
  .cta-banner>div[style]{flex-direction:column!important;align-items:stretch!important;}
  .cta-banner .btn{width:100%!important;text-align:center!important;}

  /* Footer */
  footer{flex-direction:column;align-items:flex-start;gap:20px;}
  .footer-right{align-items:flex-start;}
  .footer-links{flex-wrap:wrap;gap:10px;}
  .footer-copy{font-size:12px;}

  /* Promo sections */
  .promo-section{padding:48px 16px;}
  .promo-grid{gap:28px;}
  .promo-img{max-height:260px;object-position:top center;}
  .promo-img-wrap{border-radius:20px;}
  .promo-light .promo-grid{gap:24px;}
  .promo-light .promo-img-wrap{border-radius:20px;}
  .promo-light .promo-img{max-height:none;border-radius:20px;object-position:center;}
  .promo-light .promo-hl{gap:12px;}
  .promo-light .promo-hl-ic{width:34px;height:34px;border-radius:10px;}
  .promo-dark .promo-grid{gap:24px;}
  .promo-dark .promo-img-wrap{border-radius:20px;}
  .promo-dark .promo-img{max-height:none;border-radius:20px;object-position:center;}
  .promo-dark .promo-hl{gap:12px;}
  .promo-dark .promo-hl-ic{width:34px;height:34px;border-radius:10px;}
  .promo-dark .section-desc,
  .promo-dark .promo-hl-d{color:#d3e1f5!important;}
  .promo-highlights{margin:20px 0 24px;gap:16px;}
  .promo-cta{flex-direction:column;align-items:stretch;}
  .promo-cta .btn{width:100%;text-align:center;justify-content:center;}
}

/* ─── Mobile small 480px ─── */
@media(max-width:768px){
  .promo-img-wrap.promo-img-missing{min-height:220px;}
}
@media(max-width:480px){
  /* Hero ultra small */
  .hero{padding:56px 16px 36px;}
  .hero h1{font-size:clamp(28px,10vw,44px);letter-spacing:-1px;}
  .hero-sub{font-size:13px;}
  .hero-badge{font-size:11px;}
  .hero-meta-txt strong{font-size:13px;}
  .hmn-val{font-size:18px!important;}
  .hmn-lbl{font-size:10px;}

  /* Mockup further compact */
  .hm-body{padding:8px;}
  .hm-kpis{gap:4px;}
  .hm-kpi{padding:7px 8px;}
  .hm-kl{font-size:8px;}
  .hm-kn{font-size:15px!important;}
  .hm-bars{height:44px;}

  /* Nav */
  nav{padding:12px 16px;}
  .nav-logo .brand-copy strong{font-size:16px;}

  /* Section */
  section{padding:44px 14px;}
  .promo-section{padding:40px 14px;}
  .promo-img{max-height:220px;}
  .promo-light .section-title{font-size:30px;line-height:1.12;}
  .promo-light .promo-img{max-height:none;}
  .promo-dark .section-title{font-size:30px;line-height:1.12;}
  .promo-dark .promo-img{max-height:none;}
}

/* Final specificity guard for the dark promo in light UI mode. */
body.theme-light #promo-insight.promo-dark,
body.theme-light #promo-insight.promo-dark *{
  color:inherit;
}
body.theme-light #promo-insight.promo-dark .section-tag{
  color:#84fff0!important;
  background:rgba(132,255,240,.13)!important;
  border-color:rgba(132,255,240,.34)!important;
}
body.theme-light #promo-insight.promo-dark .section-title,
body.theme-light #promo-insight.promo-dark .promo-hl-t{
  color:#f8fbff!important;
}
body.theme-light #promo-insight.promo-dark .section-desc{
  color:#c7d7ef!important;
}
body.theme-light #promo-insight.promo-dark .promo-hl-d{
  color:#abc0dc!important;
}
body.theme-light #promo-insight.promo-dark .promo-cta .btn:not(.btn-primary){
  color:#e8f2ff!important;
}
@media(max-width:640px){
  body.theme-light #promo-insight.promo-dark .section-desc,
  body.theme-light #promo-insight.promo-dark .promo-hl-d{
    color:#d3e1f5!important;
  }
}

/* Final mobile hero cleanup */
@media(max-width:640px){
  .hero{
    min-height:auto!important;
    padding:96px 16px 40px!important;
  }
  .hero-split{gap:24px!important;}
  .hero-text{min-width:0;}
  .hero h1{
    max-width:100%!important;
    font-size:38px!important;
    line-height:1.04!important;
    letter-spacing:0!important;
    margin-bottom:18px!important;
  }
  .hero-sub{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.72!important;
    margin-bottom:24px!important;
  }
  .hero-cta{
    gap:10px!important;
    margin-bottom:0!important;
  }
  .hero-cta .btn{
    min-height:50px;
  }
  .hero-meta{
    margin-top:28px!important;
    padding-top:20px!important;
    gap:14px!important;
  }
  .hero-meta-trust{
    gap:12px;
  }
  .hero-meta-nums{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px!important;
    width:100%;
  }
  .hmn-item{min-width:0;}
  .hmn-val{font-size:20px!important;}
  .hmn-lbl{font-size:10px;}
  .hero-visual{
    margin-top:4px;
    padding:0!important;
  }
  .features-grid,
  .institution-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  #why-auditpulse .features-grid,
  #features .features-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .feature-card,
  .institution-card{
    padding:18px!important;
    border-radius:18px!important;
  }
  .feature-icon,
  .institution-icon{
    width:40px!important;
    height:40px!important;
    margin-bottom:14px!important;
  }
  .feature-icon .ic,
  .institution-icon .ic{
    width:18px!important;
    height:18px!important;
  }
  .feature-title,
  .institution-title{
    font-size:15px!important;
    line-height:1.32!important;
    margin-bottom:8px!important;
  }
  .feature-desc,
  .institution-desc{
    font-size:13px!important;
    line-height:1.62!important;
  }
  #how-it-works .steps{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:28px!important;
  }
  #how-it-works .step{
    padding:18px 16px!important;
    border:1px solid var(--border)!important;
    border-radius:18px!important;
    background:var(--card)!important;
    min-width:0;
  }
  #how-it-works .step::after{
    display:none!important;
  }
  #how-it-works .step-icon-wrap{
    gap:10px!important;
    margin-bottom:12px!important;
    align-items:center!important;
  }
  #how-it-works .step-icon{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    flex:0 0 40px;
  }
  #how-it-works .step-icon .ic{
    width:18px!important;
    height:18px!important;
  }
  #how-it-works .step .step-num{
    font-size:20px!important;
    margin-bottom:0!important;
  }
  #how-it-works .step-title{
    font-size:15px!important;
    line-height:1.3!important;
    margin-bottom:8px!important;
  }
  #how-it-works .step-desc{
    font-size:12px!important;
    line-height:1.6!important;
  }
}

@media(max-width:480px){
  .hero{
    padding:92px 16px 34px!important;
  }
  .hero h1{
    font-size:34px!important;
    line-height:1.05!important;
  }
  .hero-sub{
    font-size:14px!important;
  }
  .features-grid,
  .institution-grid{
    gap:10px!important;
  }
  #why-auditpulse .features-grid,
  #features .features-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .feature-card,
  .institution-card{
    padding:16px!important;
  }
  .feature-title,
  .institution-title{
    font-size:14px!important;
  }
  .feature-desc,
  .institution-desc{
    font-size:12px!important;
    line-height:1.55!important;
  }
  #how-it-works .steps{
    gap:10px!important;
  }
  #how-it-works .step{
    padding:16px 14px!important;
    border-radius:16px!important;
  }
  #how-it-works .step-icon{
    width:36px!important;
    height:36px!important;
    flex-basis:36px;
  }
  #how-it-works .step .step-num{
    font-size:18px!important;
  }
  #how-it-works .step-title{
    font-size:14px!important;
  }
  #how-it-works .step-desc{
    font-size:11.5px!important;
    line-height:1.55!important;
  }
}

/* Hide market section */
#market{
  display:none!important;
}

/* Hide research lead logo image */
.research-lead-card .research-lead-logo{
  display:none!important;
}

/* Hide footer USU badge */
.footer-right .footer-usu{
  display:none!important;
}

/* Tidy promo insight section on mobile */
@media(max-width:640px){
  #promo-insight{
    padding:44px 16px 48px!important;
  }
  #promo-insight .promo-grid{
    gap:26px!important;
  }
  #promo-insight .section-tag{
    display:inline-flex!important;
    align-self:flex-start;
    width:auto!important;
    padding:6px 12px!important;
    margin-bottom:16px!important;
    border-radius:999px!important;
    line-height:1!important;
    letter-spacing:.14em!important;
  }
  #promo-insight .section-title{
    font-size:32px!important;
    line-height:1.08!important;
    margin-bottom:14px!important;
  }
  #promo-insight .section-desc{
    max-width:none!important;
    font-size:14px!important;
    line-height:1.72!important;
  }
  #promo-insight .promo-highlights{
    margin:22px 0 24px!important;
    gap:12px!important;
  }
  #promo-insight .promo-hl{
    gap:12px!important;
    padding:14px 14px 14px 12px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.05)!important;
  }
  #promo-insight .promo-hl-ic{
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
    flex:0 0 36px;
  }
  #promo-insight .promo-hl-t{
    font-size:15px!important;
    margin-bottom:3px!important;
  }
  #promo-insight .promo-hl-d{
    font-size:12.5px!important;
    line-height:1.6!important;
  }
  #promo-insight .promo-cta{
    gap:10px!important;
  }
  #promo-insight .promo-cta .btn{
    min-height:48px;
    border-radius:14px!important;
  }
  #promo-insight .promo-img-col{
    width:min(100%,420px)!important;
    justify-self:center!important;
  }
  #promo-insight .promo-img-wrap{
    border-radius:22px!important;
  }
}

/* Responsive top hero artwork with person */
.hero-person-visual{
  width:100%;
}
.hero-person-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:linear-gradient(145deg,#fff,#eaf5ff);
  box-shadow:0 34px 90px rgba(21,72,130,.18),0 10px 28px rgba(15,23,42,.08);
}
.hero-person-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:80% center;
}
body.theme-light .hero-person-frame{
  border-color:rgba(37,99,235,.12);
  box-shadow:0 34px 90px rgba(37,99,235,.14),0 10px 28px rgba(15,23,42,.07);
}

@media(min-width:981px){
  .hero-person-frame{
    max-width:590px;
    margin-left:auto;
  }
}

@media(max-width:980px){
  .hero-visual.hero-person-visual{
    order:1!important;
    width:100%;
    max-width:720px;
    margin:0 auto;
    padding:0;
  }
  .hero-text{
    order:2!important;
  }
  .hero-visual.hero-person-visual::before{
    display:none!important;
    content:none!important;
  }
  .hero-person-frame{
    border-radius:24px;
  }
}

@media(max-width:640px){
  .hero{
    padding-top:88px!important;
  }
  .hero-split{
    gap:24px!important;
  }
  .hero-person-frame{
    border-radius:20px;
  }
}

@media(max-width:480px){
  .hero{
    padding-top:86px!important;
  }
  .hero-person-frame{
    border-radius:18px;
  }
}

@media(max-width:480px){
  #promo-insight{
    padding:40px 14px 44px!important;
  }
  #promo-insight .section-title{
    font-size:29px!important;
    line-height:1.1!important;
  }
  #promo-insight .promo-hl{
    padding:12px!important;
    border-radius:14px!important;
  }
  #promo-insight .promo-hl-t{
    font-size:14px!important;
  }
  #promo-insight .promo-hl-d{
    font-size:12px!important;
    line-height:1.55!important;
  }
}

/* Cohesive responsive hero: phone + tablet */
.hero-inner{
  width:100%;
}

@media(max-width:980px){
  .hero{
    min-height:auto;
    padding:112px 32px 56px;
  }
  .hero-inner{
    max-width:720px;
  }
  .hero-split{
    gap:32px;
  }
  .hero h1{
    max-width:690px;
    margin-bottom:20px;
    font-size:clamp(44px,7vw,54px);
    line-height:1.03;
    letter-spacing:-1.8px;
  }
  .hero-sub{
    max-width:660px;
    margin-bottom:28px;
    font-size:16px;
    line-height:1.7;
  }
  .hero-cta{
    margin-bottom:0;
  }
  .hero-meta{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    align-items:center;
    gap:18px;
    margin-top:28px;
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(12px);
  }
  body.theme-light .hero-meta{
    border-color:rgba(15,23,42,.1);
    background:rgba(255,255,255,.66);
    box-shadow:0 14px 36px rgba(15,23,42,.06);
  }
  .hero-meta-nums{
    display:grid;
    grid-template-columns:repeat(3,minmax(70px,1fr));
    align-items:center;
    gap:16px;
    padding-left:18px;
    border-left:1px solid var(--border);
  }
  .hmn-item{
    min-width:0;
  }
  .hmn-val{
    font-size:20px;
  }
  .hmn-sep{
    display:none;
  }
  .hero-visual{
    margin-top:0;
    padding:0;
  }
  .hero-visual::before{
    content:'PREVIEW HASIL AUDIT';
    display:block;
    width:min(100%,620px);
    margin:0 auto 12px;
    color:var(--muted);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.4px;
  }
  .hm-wrap{
    width:min(100%,620px);
    max-width:620px;
  }
  .dashboard-preview-section{
    display:none;
  }
}

@media(max-width:700px){
  .hero-meta{
    grid-template-columns:1fr;
  }
  .hero-meta-nums{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:14px 0 0;
    border-top:1px solid var(--border);
    border-left:0;
  }
}

@media(max-width:640px){
  .hero{
    padding:96px 16px 46px!important;
  }
  .hero-inner{
    max-width:none;
  }
  .hero-split{
    gap:26px!important;
  }
  .hero h1{
    font-size:clamp(34px,7vw,40px)!important;
    line-height:1.04!important;
    letter-spacing:-.8px!important;
    margin-bottom:16px!important;
  }
  .hero-sub{
    font-size:14px!important;
    line-height:1.68!important;
    margin-bottom:22px!important;
  }
  .hero-cta{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr);
    gap:10px!important;
  }
  .hero-cta .btn{
    width:100%;
    min-height:50px;
    padding:13px 18px!important;
    justify-content:center;
    text-align:center;
  }
  .hero-meta{
    grid-template-columns:1fr;
    gap:14px!important;
    margin-top:20px!important;
    padding:16px!important;
    border:1px solid var(--border)!important;
    border-radius:18px;
  }
  .hero-meta-nums{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px!important;
    padding:14px 0 0;
    border-top:1px solid var(--border);
    border-left:0;
  }
  .hmn-val{
    font-size:20px!important;
  }
  .hero-visual::before{
    width:100%;
    margin-bottom:10px;
  }
  .hm-wrap{
    width:100%;
  }
}

@media(max-width:480px){
  .hero{
    padding:92px 16px 42px!important;
  }
  .hero h1{
    font-size:34px!important;
    letter-spacing:-.6px!important;
  }
  .hero-cta{
    grid-template-columns:1fr;
  }
  .hero-cta .btn{
    min-height:48px;
  }
  .hero-meta{
    padding:14px!important;
  }
  .hero-usu-logo{
    width:42px;
    height:42px;
  }
  .hero-meta-txt strong{
    font-size:12.5px;
  }
  .hero-meta-txt span{
    font-size:11px;
  }
  .hmn-val{
    font-size:18px!important;
  }
  .hero-visual::before{
    font-size:9px;
  }
}

/* Mobile promo: full-bleed banner before the Audit Cerdas copy */
@media(max-width:640px){
  #promo-insight{
    padding:0 16px 48px!important;
    overflow:hidden;
  }
  #promo-insight .promo-grid{
    gap:28px!important;
  }
  #promo-insight .promo-img-col{
    order:1!important;
    width:calc(100% + 32px)!important;
    max-width:none!important;
    margin-right:-16px;
    margin-left:-16px;
    justify-self:stretch!important;
  }
  #promo-insight .promo-text-col{
    order:2!important;
  }
  #promo-insight .promo-img-wrap,
  #promo-insight .promo-img{
    width:100%!important;
    border-radius:0!important;
  }
  #promo-insight .promo-img-wrap{
    aspect-ratio:16/9;
    box-shadow:none;
  }
  #promo-insight .promo-img{
    object-fit:cover;
    object-position:center;
  }
}

/* Phone hero: edge-to-edge visual with a clean handoff into the copy */
@media(max-width:640px){
  .hero{
    padding-top:67px!important;
    overflow-x:clip;
  }
  .hero-visual.hero-person-visual{
    width:calc(100% + 32px)!important;
    max-width:none!important;
    margin-right:-16px!important;
    margin-left:-16px!important;
  }
  .hero-person-frame{
    aspect-ratio:3/1;
    border:0;
    border-radius:0!important;
    box-shadow:none;
  }
  .hero-person-image{
    object-position:center;
  }
}

@media(max-width:480px){
  .hero-split{
    gap:22px!important;
  }
  .hero-person-frame{
    border-radius:0!important;
  }
}

/* Keep the first mobile viewport focused on the essential conversion content. */
@media(max-width:640px){
  .hero-cta.hero-cta-single{
    grid-template-columns:1fr!important;
  }
  .hero-meta{
    margin-top:18px!important;
    padding:12px 14px!important;
  }
  .hero-meta-trust{
    display:none!important;
  }
  .hero-meta-nums{
    padding-top:0!important;
    border-top:0!important;
  }
  #features .features-grid,
  #institution .institution-grid{
    margin-top:28px!important;
  }
}

/* Unified editorial rhythm for the complete homepage. */
#page-home .section-title,
#page-home .cta-banner h2{
  font-size:clamp(34px,4vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-1.4px!important;
}
#page-home .section-desc,
#page-home .cta-banner p{
  font-size:16px!important;
  line-height:1.65!important;
}
#page-home .feature-title,
#page-home .institution-title,
#page-home .step-title,
#page-home .promo-hl-t{
  font-size:17px!important;
  line-height:1.35!important;
}
#page-home .feature-desc,
#page-home .institution-desc,
#page-home .step-desc,
#page-home .promo-hl-d,
#page-home .market-desc,
#page-home .market-desc > div{
  font-size:13px!important;
  line-height:1.6!important;
}
#page-home .research-name{
  font-size:17px!important;
  line-height:1.45!important;
}
#page-home #features .features-grid,
#page-home #why-auditpulse .features-grid,
#page-home #institution .institution-grid,
#page-home #how-it-works .steps,
#page-home #market .market-grid{
  margin-top:36px!important;
}

@media(max-width:640px){
  #page-home .section-tag{
    font-size:11px!important;
    line-height:1.2!important;
  }
  #page-home .section-title,
  #page-home .cta-banner h2{
    font-size:28px!important;
    line-height:1.1!important;
    letter-spacing:-.7px!important;
    margin-bottom:12px!important;
  }
  #page-home .section-desc,
  #page-home .cta-banner p{
    font-size:14px!important;
    line-height:1.62!important;
  }
  #page-home .feature-title,
  #page-home .institution-title,
  #page-home .step-title,
  #page-home .promo-hl-t{
    font-size:14px!important;
    line-height:1.35!important;
  }
  #page-home .feature-desc,
  #page-home .institution-desc,
  #page-home .step-desc,
  #page-home .promo-hl-d,
  #page-home .market-desc,
  #page-home .market-desc > div{
    font-size:12px!important;
    line-height:1.55!important;
  }
  #page-home .research-name{
    font-size:16px!important;
    line-height:1.42!important;
  }
  #page-home #features .features-grid,
  #page-home #why-auditpulse .features-grid,
  #page-home #institution .institution-grid,
  #page-home #how-it-works .steps,
  #page-home #market .market-grid{
    margin-top:28px!important;
  }
}

/* Dashboard role and menu refinement */
.role-hero{
  align-items:center;
  padding:26px 28px;
}
.role-hero h2{
  font-size:clamp(26px,3vw,34px);
  line-height:1.15;
  letter-spacing:-.8px;
}
.role-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.role-summary-card{
  min-width:0;
  padding:20px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
}
.role-summary-card span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.role-summary-card strong{
  display:block;
  color:var(--white);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.45px;
}
.role-summary-card p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
body.theme-light .role-summary-card{
  background:#fff;
  border-color:#e2e8f0;
  box-shadow:0 12px 32px rgba(15,23,42,.05);
}
body.theme-light .role-summary-card strong{color:#0f172a;}
.admin-user-tools .admin-polished-card{min-height:0;}

.dashboard-page-head{margin-bottom:22px;}
.dashboard-page-head .role-page-title{margin-bottom:6px;}
.reports-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.reports-grid .card{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.reports-grid .card-title{margin-bottom:10px;}
.report-card-desc{
  flex:1;
  margin-bottom:20px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.reset-upload-btn{
  border-color:rgba(255,68,85,.3);
  color:var(--danger);
}
.reset-upload-btn:hover{
  border-color:rgba(255,68,85,.55);
  background:rgba(255,68,85,.08);
}
body.theme-light .reset-upload-btn{
  border-color:#fecdd3;
  color:#be123c;
}
body.theme-light .reset-upload-btn:hover{background:#fff1f2;}

/* Secondary actions stay available without crowding the main flow. */
.action-menu,.workspace-tools{position:relative;}
.action-menu summary,.workspace-tools summary,.format-guide-summary{
  cursor:pointer;
  list-style:none;
}
.action-menu summary::-webkit-details-marker,
.workspace-tools summary::-webkit-details-marker,
.format-guide-summary::-webkit-details-marker{display:none;}
.action-menu-popover,.workspace-tools-panel{
  position:absolute;
  z-index:30;
  top:calc(100% + 8px);
  display:flex;
  min-width:220px;
  flex-direction:column;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel-bg);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
.action-menu-popover{right:0;}
.workspace-tools-panel{left:0;min-width:250px;}
.action-menu-popover .btn,.workspace-tools-panel .btn{
  width:100%;
  justify-content:center;
}
.format-guide-details{
  overflow:visible;
  padding:0;
}
.format-guide-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
}
.format-guide-summary b{
  display:block;
  color:var(--white);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:15px;
}
.format-guide-summary small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.format-guide-content{
  padding:0 20px 20px;
  border-top:1px solid var(--border);
}
.format-guide-content>.format-guide-desc{margin:16px 0;}
body.theme-light .format-guide-summary b{color:#0f172a;}
#tab-transactions .upload-zone{
  margin-bottom:16px;
  padding:34px 24px;
}

@media(max-width:900px){
  .role-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:640px){
  .topbar{
    gap:8px;
    padding:10px 12px;
  }
  .mobile-menu-btn{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }
  .topbar-title{
    display:-webkit-box;
    min-width:0;
    overflow:hidden;
    flex:1;
    font-size:15px;
    line-height:1.2;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .topbar-actions{
    gap:6px;
    flex:0 0 auto;
  }
  .topbar .theme-toggle.compact{display:none;}
  .topbar-home-btn{
    width:38px!important;
    height:38px;
    padding:0!important;
    justify-content:center;
  }
  .topbar-home-label{display:none;}
  .topbar-actions .btn-danger{
    padding:9px 10px;
    font-size:12px;
  }
  .dash-body{padding:18px 16px;}
  .role-hero{
    gap:18px;
    padding:22px;
  }
  .role-hero h2{font-size:24px;}
  .role-action-grid{
    display:grid;
    width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .role-action-grid .btn{
    width:100%;
    justify-content:center;
  }
  .role-summary-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .role-summary-card{padding:16px 18px;}
  .role-summary-card strong{font-size:19px;}
  .data-page-head{margin-bottom:16px;}
  .data-page-actions{
    display:grid;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .data-page-actions>.btn,
  .data-page-actions>.action-menu,
  .action-menu>summary{
    width:100%;
    justify-content:center;
  }
  .data-page-actions>.reset-upload-btn{grid-column:1/-1;}
  .action-menu-popover,.workspace-tools-panel{
    position:static;
    width:100%;
    min-width:0;
    margin-top:8px;
    box-shadow:none;
  }
  #tab-transactions .upload-zone{padding:30px 18px;}
  .smart-import-primary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .smart-import-primary>.btn{
    width:100%;
    justify-content:center;
  }
  .smart-import-primary>.workspace-tools{
    width:100%;
    grid-column:1/-1;
  }
  .workspace-tools>summary{
    width:100%;
    justify-content:center;
  }
  .format-guide-summary{
    align-items:flex-start;
    flex-direction:column;
    padding:16px;
  }
  .format-guide-summary .format-support-pill{
    width:auto;
    text-align:left;
  }
  .format-guide-content{padding:0 16px 16px;}
  .reports-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .report-card-desc{
    margin-bottom:16px;
    font-size:13px;
  }
  #tab-reports .card{padding:20px;}
}

/* Unified homepage hero: the horizontal campaign image leads on every device. */
.hero{
  min-height:auto;
  justify-content:flex-start;
  padding:88px 0 64px;
  overflow-x:clip;
}
.hero-inner{
  width:100%;
  max-width:none;
}
.hero-split{
  grid-template-columns:1fr;
  gap:40px;
}
.hero-visual.hero-person-visual{
  order:-1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.hero-visual.hero-person-visual::before{
  display:none!important;
  content:none!important;
}
.hero-person-frame{
  width:100%;
  max-width:none!important;
  margin:0!important;
  aspect-ratio:3/1;
  border:0;
  border-radius:0!important;
  box-shadow:none!important;
}
.hero-person-image{
  object-fit:cover;
  object-position:center;
}
.hero-person-frame picture{
  display:block;
  width:100%;
  height:100%;
}
.hero-text{
  order:2!important;
  width:min(1200px,calc(100% - 96px));
  margin:0 auto;
}

@media(max-width:980px){
  .hero{
    padding:72px 0 56px!important;
  }
  .hero-inner{max-width:none;}
  .hero-split{gap:32px;}
  .hero-text{
    width:min(720px,calc(100% - 64px));
  }
}

@media(max-width:640px){
  .hero{
    padding:67px 0 46px!important;
  }
  .hero-split{gap:24px!important;}
  .hero-text{
    width:calc(100% - 32px);
  }
}

/* Desktop returns to the focused split layout with a dedicated 4:5 visual. */
@media(min-width:901px){
  .hero{
    min-height:100vh;
    justify-content:center;
    padding:120px 48px 80px;
    overflow:hidden;
  }
  .hero-inner{
    width:100%;
    max-width:1200px;
    margin:0 auto;
  }
  .hero-split{
    grid-template-columns:minmax(0,1.05fr) minmax(380px,.78fr);
    gap:64px;
    align-items:center;
  }
  .hero-text{
    order:1!important;
    width:auto;
    margin:0;
  }
  .hero-visual.hero-person-visual{
    order:2!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 0 0 auto!important;
  }
  .hero-person-frame{
    width:100%;
    max-width:520px!important;
    aspect-ratio:4/5;
    border:1px solid rgba(255,255,255,.72);
    border-radius:28px!important;
    box-shadow:0 34px 90px rgba(21,72,130,.18),0 10px 28px rgba(15,23,42,.08)!important;
  }
  .hero-person-image{
    object-fit:cover;
    object-position:center;
  }
  body.theme-light .hero-person-frame{
    border-color:rgba(37,99,235,.12);
    box-shadow:0 34px 90px rgba(37,99,235,.14),0 10px 28px rgba(15,23,42,.07)!important;
  }
}

@media(min-width:901px) and (max-width:1100px){
  .hero{
    padding:104px 32px 64px!important;
  }
  .hero-split{
    grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);
    gap:36px;
  }
  .hero h1{
    font-size:clamp(44px,5vw,54px);
    line-height:1;
    letter-spacing:-2px;
  }
  .hero-sub{
    font-size:16px;
    line-height:1.65;
  }
  .hero-visual.hero-person-visual,
  .hero-person-frame{
    max-width:420px!important;
  }
  .hero-meta{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:22px;
    padding:14px 16px;
  }
  .hero-meta-nums{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding:14px 0 0;
    border-top:1px solid var(--border);
    border-left:0;
  }
  .hmn-val{font-size:18px;}
}

/* Promo proof is intentionally copy-led; the decorative portrait is hidden. */
#promo-proof .promo-img-col{
  display:none!important;
}
#promo-proof .promo-grid{
  grid-template-columns:minmax(0,760px)!important;
  justify-content:center;
  gap:0!important;
}
#promo-proof .promo-text-col{
  width:100%;
  max-width:760px;
  margin:0 auto;
}

/* Section-specific homepage rhythm from the desktop layout review. */
#why-auditpulse{
  padding-top:57px;
  padding-bottom:57px;
}
#how-it-works{
  padding:27px 31px;
}
#promo-insight{
  padding-top:71px;
  padding-bottom:71px;
}
#research-team{
  padding-bottom:55px;
}
#final-cta{
  padding-top:30px;
  padding-bottom:30px;
}

@media(max-width:900px){
  #why-auditpulse{
    padding:52px 20px;
  }
  #how-it-works{
    padding:48px 20px;
  }
  #promo-insight{
    padding:60px 24px;
  }
  #research-team{
    padding-bottom:48px;
  }
  #final-cta{
    padding:30px 20px;
  }
}
/* Account security and privacy */
.settings-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;max-width:1000px}.settings-card-copy{color:var(--muted);font-size:14px;margin:8px 0 18px}.settings-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.session-list{display:grid;gap:8px;margin-top:16px}.session-item{border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.session-item b{color:var(--text);display:block}.mfa-setup-panel{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}.mfa-setup-panel img{display:block;width:180px;height:180px;max-width:100%;background:#fff;border-radius:8px;margin:10px 0}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.recovery-codes code{padding:8px;background:var(--surface);border-radius:6px;text-align:center}@media(max-width:760px){.settings-security-grid{grid-template-columns:1fr}.settings-action-row .btn{width:100%}.session-item{flex-direction:column}.recovery-codes{grid-template-columns:1fr}}
