:root{
  --forest:#0B5D45; --teal:#0E8C7E; --mint:#3FB59A; --saffron:#F2A33A; --rose:#C2437E; --indigo:#4C5FD5; --sky:#1F7FA8;
  --bg:#F5F8F6; --surface:#FFFFFF; --ink:#13241E; --muted:#56645E; --line:#DCE4E0; --soft:#EAF4F0;
  --err:#A3361C; --err-bg:#FBE9E3; --ok:#0B6B4C; --ok-bg:#E2F5EC;
  --f-display:"Literata",Georgia,serif; --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E1513; --surface:#16201C; --ink:#E4ECE8; --muted:#9AA8A1; --line:#2A3631; --soft:#17302A;
  --err:#F2A383; --err-bg:#341F17; --ok:#7FD8B0; --ok-bg:#17302A; color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0E1513; --surface:#16201C; --ink:#E4ECE8; --muted:#9AA8A1; --line:#2A3631; --soft:#17302A; --err:#F2A383; --err-bg:#341F17; --ok:#7FD8B0; --ok-bg:#17302A; color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55}
a{color:var(--teal)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
h1,h2,h3{font-family:var(--f-display);line-height:1.15;letter-spacing:-.01em;margin:0 0 .4em}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.nav .logo img{height:58px;display:block}
.nav .links{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;border:0;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:linear-gradient(100deg,var(--forest),var(--teal));color:#fff;box-shadow:0 6px 18px -8px rgba(11,93,69,.7)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-warm{background:var(--saffron);color:#2B1A02}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--teal)}
.btn-sm{padding:7px 12px;font-size:.88rem;border-radius:8px}
.hero{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(60% 80% at 85% 10%,rgba(242,163,58,.45),transparent 60%),
  radial-gradient(50% 70% at 70% 100%,rgba(194,67,126,.45),transparent 60%),
  radial-gradient(45% 60% at 100% 60%,rgba(76,95,213,.45),transparent 60%),
  linear-gradient(120deg,#08402F 0%,#0B5D45 35%,#0E8C7E 100%)}
.hero .nav .links a:not(.btn){color:#fff;text-decoration:none;padding:8px 10px}
.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-body{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:40px 0 80px}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:5px 12px;border-radius:99px;margin-bottom:16px}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:650}
.hero h1 em{font-style:italic;color:#FFD08A}
.hero p.lead{font-size:1.12rem;max-width:36em;opacity:.93}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-art{position:relative;justify-self:center;width:min(380px,100%)}
.hero-art .card{background:rgba(255,255,255,.96);color:var(--ink);border-radius:18px;padding:18px;box-shadow:0 30px 60px -25px rgba(0,0,0,.5)}
.hero-art .card h4{margin:0 0 10px;font:600 .8rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#56645E}
.rank{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;font-size:.92rem;color:#13241E}
.bar{height:8px;border-radius:99px;background:#EAF0ED;overflow:hidden;grid-column:1/-1;margin-bottom:6px}
.bar i{display:block;height:100%;border-radius:99px}
.chip{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px}
.float{position:absolute;background:#fff;color:#13241E;border-radius:12px;padding:8px 12px;font-size:.8rem;font-weight:600;box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}
section{padding:72px 0}
.section-head{text-align:center;max-width:40em;margin:0 auto 40px}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.section-head p{color:var(--muted)}
.apps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.app-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.app-card::before{content:"";position:absolute;inset:0 0 auto;height:6px}
.app-card.ev::before{background:linear-gradient(90deg,var(--teal),var(--indigo))}
.app-card.cl::before{background:linear-gradient(90deg,var(--saffron),var(--rose))}
.app-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#fff}
.ev .app-icon{background:linear-gradient(135deg,var(--teal),var(--indigo))}
.cl .app-icon{background:linear-gradient(135deg,var(--saffron),var(--rose))}
.app-card h3{font-size:1.5rem;margin:4px 0 0}
.app-card p{margin:0;color:var(--muted)}
.app-card ul{margin:4px 0 8px;padding-left:1.1em}
.app-card li{margin:3px 0}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:99px;background:var(--soft);color:var(--forest)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag{color:#9FE3C8}}
.app-card .btn{align-self:flex-start;margin-top:auto}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.feature .dot{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;margin-bottom:10px;color:#fff;font-weight:700}
.feature h3{font-size:1.08rem;font-family:var(--f-body);font-weight:600}
.feature p{margin:0;color:var(--muted);font-size:.93rem}
.band{background:linear-gradient(120deg,#0B5D45,#0E8C7E 60%,#1F7FA8);color:#fff;border-radius:22px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.band h2{margin:0}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
/* auth pages */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-side{background:
  radial-gradient(60% 50% at 90% 0%,rgba(242,163,58,.5),transparent 60%),radial-gradient(60% 50% at 0% 100%,rgba(194,67,126,.45),transparent 60%),
  linear-gradient(140deg,#08402F,#0E8C7E);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.auth-side .quote{font-family:var(--f-display);font-size:1.6rem;line-height:1.3;max-width:16em}
.auth-main{display:flex;align-items:center;justify-content:center;padding:32px 16px}
.panel{width:100%;max-width:420px}
.panel h1{font-size:1.9rem}
.seg{display:flex;background:var(--soft);border-radius:11px;padding:4px;margin:18px 0}
.seg button{flex:1;border:0;background:transparent;padding:9px;border-radius:8px;font-weight:600;cursor:pointer;color:var(--muted)}
.seg button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.08)}
label{display:block;font-weight:500;font-size:.9rem;margin:12px 0 4px}
.input{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface)}
.input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(14,140,126,.18)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.msg{padding:10px 12px;border-radius:10px;font-size:.92rem;margin:12px 0}
.msg.err{background:var(--err-bg);color:var(--err)}
.msg.ok{background:var(--ok-bg);color:var(--ok)}
.hint{color:var(--muted);font-size:.85rem}
.full{width:100%}
.linkbtn{background:none;border:0;color:var(--teal);cursor:pointer;padding:0;font-weight:500}
.demo-note{background:#FFF4DE;color:#7A4A06;border-radius:10px;padding:10px 12px;font-size:.88rem;margin-top:14px}
/* dashboard/admin */
.topbar{background:linear-gradient(100deg,#0B5D45,#0E8C7E 55%,#1F7FA8);color:#fff;position:relative}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,var(--saffron) 0 33%,var(--rose) 33% 66%,var(--indigo) 66%)}
.topbar .nav a{color:#fff;text-decoration:none}
.topbar .logo img{background:#fff;border-radius:12px;padding:6px 12px;height:54px}
.topbar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.page{padding:36px 0 64px}
.status{border-radius:16px;padding:22px;border:1px solid var(--line);background:var(--surface);margin-bottom:22px}
.status.pending{border-left:6px solid var(--saffron)}
.status.blocked{border-left:6px solid var(--err)}
table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line)}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}
th{background:var(--soft);font-weight:600}
.pill{font-size:.76rem;font-weight:600;padding:3px 9px;border-radius:99px;display:inline-block}
.pill.pending{background:#FFF0D6;color:#8A5300}.pill.approved{background:#DFF5EA;color:#0B6B4C}.pill.blocked{background:#FBE3DC;color:#A3361C}.pill.admin{background:#E6E9FB;color:#3442A8}
.tablewrap{overflow-x:auto}
@media (max-width:900px){.hero-body{grid-template-columns:1fr;padding-bottom:56px}.features{grid-template-columns:1fr 1fr}.auth{grid-template-columns:1fr}.auth-side{display:none}}
@media (max-width:640px){.float{display:none}.apps,.features,.row2{grid-template-columns:1fr}.nav .links .hide-sm{display:none}.band{padding:28px}section{padding:52px 0}}
.app-card.pt::before{background:linear-gradient(90deg,var(--rose),var(--indigo))}
