:root{--p:#4f46e5;--p2:#7c3aed;--bg:#f5f6fb;--card:#fff;--tx:#0f172a;--mu:#64748b;--bd:#e5e7eb;--ok:#059669;--warn:#d97706;--bad:#dc2626;--r:14px;--sh:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06)}
*{box-sizing:border-box}html,body{margin:0}body{font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased}
a{color:var(--p);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.25}h1{font-size:1.25rem}h2{font-size:1.35rem}h3{font-size:1.05rem}h4{font-size:.95rem;margin-top:1em}
code{background:var(--pl);padding:1px 6px;border-radius:6px;font-size:.85em}.muted{color:var(--mu)}.small{font-size:.85em}.center{text-align:center}.r{text-align:right}.pos{color:var(--ok)}.neg{color:var(--bad)}.w100{width:100%}.grow{flex:1}.hide-sm{}
.logo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--p),var(--p2));color:#fff;font-weight:800}.logo.big{width:64px;height:64px;font-size:2rem;border-radius:18px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;color:var(--tx)}.brand small{font-size:.7rem;background:var(--badbg);color:var(--bad);padding:2px 6px;border-radius:6px}.brand.center{justify-content:center;margin-bottom:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:10px 16px;background:var(--p);color:#fff;font:600 14px/1.2 inherit;cursor:pointer;transition:.15s;white-space:nowrap;text-decoration:none}
.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--card);color:var(--tx);border:1px solid var(--bd)}.btn.ghost:hover{background:var(--soft)}.btn.danger{background:var(--bad);color:#fff}.btn.ghost.danger{background:var(--card);color:var(--bad)}
.btn.sm{padding:6px 10px;font-size:13px;border-radius:8px}.btn.lg{padding:14px 22px;font-size:16px}.btn.loading{opacity:.7;pointer-events:none}
.iconbtn{border:0;background:transparent;font-size:18px;cursor:pointer;padding:6px 8px;border-radius:8px;color:var(--mu)}.iconbtn:hover{background:var(--soft)}
input,select,textarea{font:inherit;color:inherit;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--card);width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--pl);border-color:var(--p)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--p)}input[type=color]{padding:2px;height:42px}
.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--tx2)}.form label.check,label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-form .full{grid-column:1/-1}
.form.mini{flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:6px}.form.mini input,.form.mini select{width:auto;padding:6px 8px}
.shell{display:flex;min-height:100vh}.side{width:250px;background:var(--card);border-right:1px solid var(--bd);padding:18px 14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0;z-index:30}
.side nav{display:flex;flex-direction:column;gap:2px;flex:1}.side nav a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;color:var(--tx2);font-weight:500}.side nav a span{width:22px;text-align:center}.side nav a:hover{background:var(--soft)}.side nav a.on{background:var(--pl);color:var(--p);font-weight:700}
.pill{background:var(--bad);color:#fff;font-size:11px;padding:1px 7px;border-radius:99px;margin-left:auto}.logout{margin-top:auto}
.main{flex:1;min-width:0;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;padding:14px 24px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:20}.top h1{margin:0;flex:1}
.who{display:flex;align-items:center;gap:8px}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pl);color:var(--p);font-weight:700;flex-shrink:0}
.mob{display:none}.content{padding:24px;max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}.cardh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cardh h3{margin:0}
.welcome{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--p)}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.stat{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh)}.stat span{color:var(--mu);font-size:13px}.stat b{font-size:1.35rem}.stat a{font-size:13px}.warnbg{background:var(--warnbg);border-color:#fde68a}
.quick{display:flex;gap:10px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2.wide-left{grid-template-columns:2fr 1fr}.grid2.wide-right{grid-template-columns:1fr 2fr}.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.sec{margin:6px 0 -6px}.swcard{display:flex;flex-direction:column;gap:8px;color:var(--tx);transition:.15s}a.swcard:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(79,70,229,.12)}.swcard p{margin:0;font-size:14px;flex:1}
.swhead{display:flex;justify-content:space-between;align-items:flex-start}.swicon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:26px}.swicon.sm{width:40px;height:40px;font-size:20px}.swicon.lg{width:72px;height:72px;font-size:36px}
.meta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:4px 0;font-size:13px}.meta dt{color:var(--mu)}.meta dd{margin:0;font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.actions.r{justify-content:flex-end}.actions form{flex:1}.price{font-size:14px;color:var(--mu)}.price b{color:var(--tx)}
.launchmini{display:flex;align-items:center;gap:10px;padding:12px}.launchmini div{flex:1;display:flex;flex-direction:column;min-width:0}.launchmini b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--soft);color:var(--tx2);text-transform:capitalize}.badge.ok{background:var(--okbg);color:var(--oktx)}.badge.warn{background:var(--warnbg);color:var(--warntx)}.badge.bad{background:var(--badbg);color:var(--badtx)}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--mu);font-weight:600;padding:10px;border-bottom:1px solid var(--bd);white-space:nowrap}
.tbl td{padding:10px;border-bottom:1px solid var(--bd);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--pl)}.tbl th.r,.tbl td.r{text-align:right}.tbl .acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}
.empty{color:var(--mu);text-align:center;padding:20px}.emptybig{text-align:center;padding:36px 16px}.emptybig .big,.big{font-size:44px;margin-bottom:6px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar input[type=search],.toolbar .q{max-width:340px;flex:1 1 200px}.toolbar select{width:auto}.toolbar h3{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--bd);border-radius:99px;background:var(--card);font-size:13px;color:var(--tx);cursor:pointer}.chip.check{font-weight:500}
.alert{padding:10px 14px;border-radius:10px;font-size:14px;margin:6px 0}.alert.error{background:var(--badbg);color:var(--badtx)}.alert.success{background:var(--okbg);color:var(--oktx)}.alert.info{background:var(--pl);color:var(--infotx)}
.toast{position:fixed;right:20px;bottom:20px;z-index:1000;padding:12px 18px;border-radius:12px;color:#fff;background:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.2);animation:tin .25s;max-width:90vw}.toast.success{background:#047857}.toast.error{background:#b91c1c}.toast.info{background:#3730a3}
@keyframes tin{from{transform:translateY(20px);opacity:0}}
.note{padding:10px 0;border-bottom:1px solid var(--bd)}.note:last-child{border:0}.note p{margin:2px 0}.note.unread{border-left:3px solid var(--p);padding-left:10px}
.plan{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--bd);border-radius:12px;margin-top:10px}.plan div{display:flex;flex-direction:column}.plan .r{align-items:flex-end;gap:4px}
.planedit{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:8px;align-items:center;margin-bottom:8px}
.listrow{display:flex;justify-content:space-between;padding:10px;border-radius:10px;color:var(--tx)}.listrow:hover,.listrow.on{background:var(--pl)}
.balcard{background:var(--p),var(--p2));color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px}.balcard b{font-size:2.2rem}.balcard span,.balcard small{opacity:.85}
.inline{display:inline-flex;gap:6px;align-items:center}.inline input{width:auto}.w60{width:70px!important}.w80{width:90px!important;padding:4px 6px}.w100p{width:110px!important;padding:6px 8px;text-align:right}
details summary{list-style:none;display:inline-flex}details summary::-webkit-details-marker{display:none}
.authbg{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--p)}
.authcard{width:100%;max-width:440px;background:var(--card);padding:32px;border-radius:20px;box-shadow:0 20px 60px rgba(79,70,229,.12)}.authcard h2{text-align:center}
.landing{background:var(--card)}.lnav{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw}.hero{text-align:center;padding:9vh 5vw 6vh;max-width:900px;margin:0 auto}.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}.hero p{font-size:1.15rem;color:var(--mu);max-width:640px;margin:16px auto 28px}
.grad{background:var(--p),#db2777);}.wrap{max-width:1200px;margin:0 auto 60px;padding:0 5vw}.lfoot{text-align:center;color:var(--mu);padding:30px;border-top:1px solid var(--bd)}
.receipt{padding:30px;max-width:700px;margin:auto}.receipt h2{display:flex;align-items:center;gap:10px}
.loadingbox{display:grid;place-items:center;padding:40px}.spinner{width:34px;height:34px;border:3px solid var(--pl);border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.side{position:fixed;left:0;transform:translateX(-100%);transition:.25s;box-shadow:0 0 40px rgba(0,0,0,.2)}.side.open{transform:none}.mob{display:inline-block}.grid2,.grid2.wide-left,.grid2.wide-right{grid-template-columns:1fr}.content{padding:16px}.top{padding:12px 16px}.hide-sm{display:none}.planedit{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.row2,.row3,.grid-form{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat b{font-size:1.1rem}}
@media print{body *{visibility:hidden}#printarea,#printarea *{visibility:visible}#printarea{position:absolute;left:0;top:0;width:100%}.noprint{display:none}.receipt *{visibility:visible}}
#printarea{display:none}@media print{#printarea{display:block}}

/* ======================= MT MINE THEME v7 — solid Canva colours, light + dark ======================= */
@font-face{font-family:"Jakarta";src:url(/assets/fonts/jakarta-0.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--p:#6E3AFF;--p2:#5322E5;--teal:#00B4D8;--coral:#FF6B6B;--sun:#FFB703;--leaf:#10B981;--sky:#2563EB;--pink:#EC4899;--violet:#7B2CBF;--ink:#1E1B4B;
  --bg:#F5F4FB;--card:#FFFFFF;--soft:#F1EFF9;--pl:#EEE8FF;--tx:#16133A;--tx2:#3E3A63;--mu:#6E6A8F;--bd:#E6E3F2;
  --ok:#059669;--warn:#D97706;--bad:#E11D48;--okbg:#D9F7EA;--oktx:#047857;--warnbg:#FFF2CC;--warntx:#92400E;--badbg:#FFE1E6;--badtx:#BE123C;--infotx:#4C1D95;
  --side:#1E1B4B;--sidetx:#C9C5EA;--sidehi:#2B2763;--r:20px;--sh:0 4px 20px -2px rgba(110,58,255,.08);--sh2:0 14px 34px rgba(110,58,255,.22);color-scheme:light}
[data-theme=dark]{--bg:#0E0C1D;--card:#17142D;--soft:#1F1B3A;--pl:#2A2257;--tx:#F1EFFC;--tx2:#D3CFF0;--mu:#9C97C0;--bd:#2C2850;--ink:#0A0817;
  --okbg:#0F3B2E;--oktx:#5EEAB0;--warnbg:#3D2E07;--warntx:#FCD34D;--badbg:#45121F;--badtx:#FDA4B4;--infotx:#C4B5FD;
  --side:#120F26;--sidetx:#A9A4CF;--sidehi:#221D45;--sh:0 4px 18px rgba(0,0,0,.35);--sh2:0 14px 34px rgba(0,0,0,.5);color-scheme:dark}
html,body{background:var(--bg);color:var(--tx)}
body{font-family:"Jakarta","Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;transition:background .2s,color .2s}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.015em;color:var(--tx)}a{color:var(--p)}[data-theme=dark] a{color:#A78BFA}
.muted,small.muted{color:var(--mu)}code{background:var(--pl);color:var(--tx)}
.logo{background:var(--p);border-radius:12px;color:#fff;box-shadow:none}
/* buttons */
.btn{background:var(--p);color:#fff;border-radius:999px;font-weight:700;box-shadow:0 6px 16px -6px rgba(110,58,255,.6);transition:transform .08s,background .15s}
.btn:hover{background:var(--p2);filter:none}.btn:active{transform:scale(.97)}
.btn.ghost{background:var(--card);color:var(--tx);border:1.5px solid var(--bd);box-shadow:none}.btn.ghost:hover{border-color:var(--p);color:var(--p);background:var(--card)}
.btn.danger{background:var(--bad);box-shadow:0 6px 16px -6px rgba(225,29,72,.6)}.btn.ghost.danger{background:var(--card);color:var(--bad);box-shadow:none}
.iconbtn{color:var(--mu)}.iconbtn:hover{background:var(--soft)}
/* forms */
input,select,textarea{background:var(--card);color:var(--tx);border:1.5px solid var(--bd);border-radius:14px}
input::placeholder,textarea::placeholder{color:var(--mu)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px var(--pl)}
.form label{color:var(--tx2)}input:disabled{opacity:.7}
/* surfaces */
.card,.stat,.authcard{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh)}
.tbl th{color:var(--mu);border-bottom:1px solid var(--bd)}.tbl td{border-bottom:1px solid var(--bd)}.tbl tr.click:hover td{background:var(--soft)}
.badge{background:var(--soft);color:var(--tx2);border-radius:999px;font-weight:700}.badge.ok{background:var(--okbg);color:var(--oktx)}.badge.warn{background:var(--warnbg);color:var(--warntx)}.badge.bad{background:var(--badbg);color:var(--badtx)}
.alert.error{background:var(--badbg);color:var(--badtx)}.alert.success{background:var(--okbg);color:var(--oktx)}.alert.info{background:var(--pl);color:var(--infotx)}
.chip{background:var(--card);color:var(--tx);border:1.5px solid var(--bd);border-radius:999px;font-weight:600}
.pos{color:var(--ok)}.neg{color:var(--bad)}[data-theme=dark] .pos{color:#34D399}[data-theme=dark] .neg{color:#FB7185}
/* shell */
.side{background:var(--side);border-right:0;color:#fff}.side .brand{color:#fff}
.side nav a{color:var(--sidetx);font-weight:600;border-radius:14px;padding:9px 10px}.side nav a span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(255,255,255,.07)}
.side nav a:hover{background:var(--sidehi);color:#fff}.side nav a.on{background:var(--p);color:#fff}.side nav a.on span{background:rgba(255,255,255,.2)}
.side .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}.side .btn.ghost:hover{border-color:#fff;color:#fff}
.side select,.side .swpick select{background:var(--sidehi);color:#fff;border-color:rgba(255,255,255,.12)}.side select option{background:var(--card);color:var(--tx)}
.top{background:var(--card);border-bottom:1px solid var(--bd);backdrop-filter:none}.top h1{color:var(--tx)}
.avatar{background:var(--sun);color:#1E1B4B;font-weight:800}
.themebtn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1.5px solid var(--bd);background:var(--card);color:var(--tx);font-size:18px;cursor:pointer;flex-shrink:0;transition:transform .15s}
.themebtn:hover{border-color:var(--p);transform:rotate(-15deg)}.themebtn .moon{display:none}[data-theme=dark] .themebtn .moon{display:inline}[data-theme=dark] .themebtn .sun{display:none}
.side .themebtn{background:var(--sidehi);border-color:rgba(255,255,255,.15);color:#fff}
/* stats (portal + admin) — solid colour tiles */
.stat{border:0;color:#fff;background:var(--p);padding:18px}.stat span{color:rgba(255,255,255,.85);font-weight:600}.stat b{font-size:1.45rem;color:#fff}.stat a{color:#fff;font-weight:700}
.stats .stat:nth-child(6n+2){background:var(--teal)}.stats .stat:nth-child(6n+3){background:var(--coral)}.stats .stat:nth-child(6n+4){background:var(--sun)}.stats .stat:nth-child(6n+4) *{color:#1E1B4B}
.stats .stat:nth-child(6n+5){background:var(--leaf)}.stats .stat:nth-child(6n){background:var(--sky)}.stat.warnbg{background:var(--coral)!important}
.welcome{background:var(--p);color:#fff;border:0}.welcome h2,.welcome b{color:#fff}.welcome .muted,.welcome p{color:rgba(255,255,255,.88)}.welcome .btn{background:#fff;color:var(--p)}.welcome .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.balcard{background:var(--p);border:0;color:#fff}.balcard b{color:#fff}
.swicon{border-radius:16px}a.swcard{color:var(--tx)}a.swcard:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:var(--p)}
.plan{border-color:var(--bd);background:var(--card)}.listrow{color:var(--tx)}.listrow:hover,.listrow.on{background:var(--pl)}
.note{border-bottom:1px solid var(--bd)}.note.unread{border-left-color:var(--p)}
.toast{border-radius:16px;background:var(--ink);color:#fff;box-shadow:var(--sh2)}.toast.success{background:var(--leaf)}.toast.error{background:var(--bad)}.toast.info{background:var(--sky)}
/* auth + landing */
.authbg{background:var(--p)}[data-theme=dark] .authbg{background:#120F26}
.authcard{border-radius:28px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);border:0}
.authtop{position:fixed;top:16px;right:16px;z-index:5}
.landing{background:var(--bg)}.lnav{background:var(--card);border-bottom:1px solid var(--bd)}.hero h1{color:var(--tx)}.grad{color:var(--p)}.hero p{color:var(--mu)}
.lfoot{border-top:1px solid var(--bd)}
.receipt{background:var(--bg)}
.spinner{border-color:var(--pl);border-top-color:var(--p)}
.mob{color:var(--tx)}
.themebtn .moon,[data-theme=dark] .themebtn .sun{display:none!important}[data-theme=dark] .themebtn .moon,.themebtn .sun{display:inline!important}
.themebtn span{background:none!important;padding:0!important;border:0!important;width:auto!important;height:auto!important}
.lockic{width:72px;height:72px;border-radius:24px;background:var(--pl);display:grid;place-items:center;font-size:34px;margin:0 auto 12px}
