.ic{display:inline-block;margin-right:6px}
/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal{width:min(520px,92vw);background:var(--card);border:1px solid #1b2543;border-radius:16px;box-shadow:var(--shadow);padding:18px}
body[data-theme="light"] .modal{background:#fff;border-color:#e5e7eb}
.modal h3{margin:0 0 8px 0}
.modal p{margin:0 0 12px 0;color:var(--muted)}
.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
.modal .field{margin-top:8px}

/* Wallet deposit / withdraw sheets */
.wallet-modal{background:#f9fafb;border-radius:20px;padding:18px 18px 16px 18px;max-width:420px;width:100%;color:#111827}
body[data-theme="light"] .wallet-modal{background:#ffffff}
.wallet-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wallet-modal-head h3{margin:0;font-size:16px;font-weight:700;color:#111827}
.wallet-close{border:none;background:transparent;font-size:20px;line-height:1;color:#6b7280;cursor:pointer;padding:0 4px}
.wallet-sub{font-size:13px;color:#6b7280;margin:0 0 14px 0}
.wallet-qr{width:160px;height:160px;margin:6px auto 14px auto;border-radius:18px;background:repeating-linear-gradient(45deg,#e5e7eb 0,#e5e7eb 2px,#f9fafb 2px,#f9fafb 4px);box-shadow:0 10px 25px rgba(15,23,42,.18)}
.wallet-section-title{margin:8px 0 4px 0;font-size:12px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.12em}
.wallet-note{font-size:11px;color:#6b7280;margin:0 0 10px 0}
.wallet-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px}
.wallet-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#9ca3af}
.wallet-asset{font-size:14px;font-weight:600;color:var(--muted)}
.wallet-amount{font-size:12px;color:#6b7280}
.wallet-cta{width:100%;margin-top:10px}

/* Mining ticker row animation */
.mine-row{position:relative}
.mine-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(124,92,255,.15),transparent);animation:mineflow 3s linear infinite}
@keyframes mineflow{0%{width:0}50%{width:60%}100%{width:0}}
:root{--bg:#0b1220;--bg2:#0e1628;--card:#111a2b;--card2:#0f1a33;--text:#e5eeff;--muted:#9bb0d1;--primary:#7c5cff;--accent:#33d1b6;--danger:#ff5c7c;--warning:#f9c74f;--success:#37d67a;--shadow:0 10px 30px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:radial-gradient(1200px 600px at 70% -10%,#1a2440 0%,transparent 60%),linear-gradient(180deg,#0b1220 0%,#0b1220 100%);color:var(--text)}
body[data-theme="light"]{--bg:#f7fafc;--bg2:#edf2f7;--card:#ffffff;--card2:#f9fbff;--text:#111827;--muted:#5b6b85;--primary:#5b67ff;--accent:#00bfa6;--danger:#e11d48;--warning:#d97706;--success:#059669;background:radial-gradient(1100px 600px at 70% -10%,#eaf1ff 0%,transparent 60%),linear-gradient(180deg,#f7fafc 0%,#f7fafc 100%)}
a{color:inherit;text-decoration:none}
.container{max-width:100%;width:100%;margin:0 auto;padding:24px}
.header{position:sticky;top:0;z-index:30;background:rgba(10,15,25,.7);backdrop-filter:blur(10px);border-bottom:1px solid #1c2741}
body[data-theme="light"] .header{background:rgba(255,255,255,.7);border-bottom:1px solid #e5e7eb}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.5px}
.brand-badge{width:32px;height:32px;border-radius:10px;background:conic-gradient(from 230deg, var(--primary), var(--accent));box-shadow:var(--shadow)}
.nav-links{display:flex;gap:12px;flex-wrap:wrap}
.nav-links a{padding:10px 14px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid #1b2543;color:var(--text)}
body[data-theme="light"] .nav-links a{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.01));border:1px solid #e5e7eb}
.nav-links a.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(124,92,255,.2) inset}
.main{padding:28px}
.auth-layout{min-height:100vh;display:grid;grid-template-rows:1fr auto}
.auth-layout>.auth{place-self:center}
/* Layout with sidebar for role pages */
.layout{display:grid;grid-template-columns:260px 1fr;gap:16px}
.sidebar{position:sticky;top:16px;height:fit-content;background:linear-gradient(180deg,#0f1730,#0c1429);border:1px solid #1b2543;border-radius:16px;padding:12px}
body[data-theme="light"] .sidebar{background:#fff;border-color:#e5e7eb}
.sidebar .brand{margin-bottom:8px}
.sidebar a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;color:var(--text)}
.sidebar a:hover{background:rgba(255,255,255,.04)}
.sidebar a.active{border-color:var(--primary);background:rgba(124,92,255,.08)}
.content{min-height:60vh}
.breadcrumb{display:none;color:var(--muted);font-size:12px;margin-bottom:8px}
@media(max-width:940px){
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .sidebar.show{display:block;position:fixed;top:16px;left:16px;right:16px;z-index:40;max-width:320px;max-height:calc(100vh - 32px);overflow:auto}
  .breadcrumb{display:block;cursor:pointer}
}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:stretch;padding:30px;background:radial-gradient(900px 500px at 0% 0%,rgba(79,70,229,.45),transparent),linear-gradient(180deg,#0b1220,#050816);border:1px solid #1c2741;border-radius:24px;overflow:hidden}
body[data-theme="light"] .hero{background:radial-gradient(900px 500px at 0% 0%,rgba(79,70,229,.12),transparent),linear-gradient(180deg,#f7fafc,#eef2ff);border-color:#e5e7eb}
.hero h1{font-size:32px;line-height:1.15;margin:0 0 10px 0}
.hero p{color:var(--muted);font-size:15px;max-width:32rem}
.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none}
/* floating token icons in the background */
.hero::before{background-image:url('data:image/svg+xml,%3Csvg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" stroke="%239ca3af" stroke-width="1" opacity="0.22"%3E%3Ccircle cx="18" cy="22" r="6"/%3E%3Ccircle cx="92" cy="46" r="5"/%3E%3Ccircle cx="64" cy="12" r="4"/%3E%3Ccircle cx="28" cy="96" r="5"/%3E%3Ccircle cx="108" cy="88" r="6"/%3E%3C/g%3E%3C/svg%3E');background-repeat:repeat;background-size:220px 220px;opacity:.24;animation:heroFloatBg 40s linear infinite}
body[data-theme="light"] .hero::before{opacity:.14}
/* dot field at bottom */
.hero::after{bottom:-40px;top:auto;height:160px;width:220%;left:-20%;background-image:radial-gradient(circle,#facc15 1px,transparent 1px);background-size:26px 18px;background-position:0 0;opacity:.65;transform-origin:50% 100%;animation:dotRise 18s linear infinite}
body[data-theme="light"] .hero::after{opacity:.45;filter:hue-rotate(-20deg)}
.hero-visual{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}
.hero-orbit{position:relative;width:260px;height:260px;border-radius:40px;background:url('../../562.jpg') center/cover no-repeat;box-shadow:0 30px 80px rgba(15,23,42,.9);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-avatar{width:120px;height:120px;border-radius:32px;background:transparent;border:none;box-shadow:none}
.coin{position:absolute;width:42px;height:42px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#facc15,#eab308);display:flex;align-items:center;justify-content:center;font-weight:800;color:#1f2937;box-shadow:0 8px 20px rgba(0,0,0,.6);animation:floatCoin 6s ease-in-out infinite}
.coin.c1{top:16px;right:26px;animation-delay:0s}
.coin.c2{bottom:20px;left:12px;animation-delay:1.2s}
.coin.c3{top:40%;left:-6px;animation-delay:2.4s}
.hero-caption{margin-top:14px;font-size:13px;color:var(--muted);max-width:260px;text-align:center}
@keyframes floatCoin{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-12px) translateX(4px)}}
@keyframes heroFloatBg{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-220px,-60px,0)}}
@keyframes dotRise{0%{transform:translate3d(0,40px,0) scale3d(1,1,1)}50%{transform:translate3d(0,0,0) scale3d(1.02,1.08,1)}100%{transform:translate3d(0,40px,0) scale3d(1,1,1)}}
.hero-panel{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.hero-panel .cta{margin-top:10px}
.hero-metrics{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-top:8px}
.countdown{display:flex;gap:8px;margin-top:6px;font-size:12px;color:var(--muted)}
.countdown span{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px;border-radius:10px;background:rgba(15,23,42,.8);min-width:54px}
body[data-theme="light"] .countdown span{background:rgba(255,255,255,.9)}
.countdown strong{font-size:16px;color:var(--text)}
.countdown label{text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.hero-progress{display:flex;flex-direction:column;gap:6px}
.hero-progress-head,.hero-progress-foot{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}
.hero-progress-foot span:last-child{text-align:right}
.hero-progress .progress{margin-top:2px}
.hero-progress .progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .4s ease}
.cta{display:flex;gap:12px;margin-top:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:12px;border:1px solid #1b2543;background:linear-gradient(180deg,#171f36,#0f1730);color:var(--text)}
body[data-theme="light"] .btn{background:linear-gradient(180deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;color:#111827}
.btn.primary{background:linear-gradient(180deg,#7c5cff,#5c49ff);border-color:#5a49e6}
.btn.success{background:linear-gradient(180deg,#37d67a,#27b36a);border-color:#24985b}
.btn.warn{background:linear-gradient(180deg,#f9c74f,#e3ae3e);border-color:#d09f38;color:#0b1220}
.btn.danger{background:linear-gradient(180deg,#ff5c7c,#ff3d62);border-color:#e03656}
.btn.ghost{background:transparent}
.btn.loading{position:relative;opacity:.8;pointer-events:none}
.btn.loading::after{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}
body[data-theme="light"] .btn.loading::after{border:2px solid rgba(0,0,0,.2);border-top-color:#111827}
@keyframes spin{to{transform:rotate(360deg)}}
.grid{display:grid;gap:16px}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.section{margin-top:32px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.section-head h2{margin:4px 0 0 0;font-size:22px}
.section-head>p{max-width:380px;color:var(--muted);font-size:14px}
.section-grid{margin-top:6px}
.stat-card .num{font-size:30px}
.stat-card p{font-size:13px;color:var(--muted)}
.feature-card h3{display:flex;align-items:center;gap:8px}
.feature-card .ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:rgba(15,23,42,.85);border:1px solid #1f2937}
body[data-theme="light"] .feature-card .ic{background:#f3f4ff;border-color:#e5e7eb}
.feature-card p{font-size:14px;color:var(--muted)}
.faq-grid{align-items:start}
.faq-item{padding:0;overflow:hidden}
.faq-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.faq-icon{font-size:18px;transition:transform .2s ease}
.faq-body{padding:0 16px 0 16px;max-height:0;opacity:0;transform:translateY(-4px);transition:max-height .24s ease,opacity .24s ease,transform .24s ease;padding-bottom:0}
.faq-body p{font-size:14px;color:var(--muted);margin:0 0 14px 0}
.faq-item.open .faq-body{max-height:220px;opacity:1;transform:translateY(0);padding-bottom:10px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.card{background:linear-gradient(180deg,#0f1730,#0c1429);border:1px solid #1b2543;border-radius:16px;padding:18px;box-shadow:var(--shadow)}
body[data-theme="light"] .card{background:var(--card);border:1px solid #e5e7eb}
.card h3{margin:0 0 8px 0;font-size:16px}
.num{font-size:26px;font-weight:800}
.kicker{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.2em}
.num+.kicker{margin-top:10px}
.kicker+.btn{margin-top:12px}
.btn+.kicker{margin-top:14px}
.field+.btn,.split+.btn{margin-top:14px}
.kicker+ .grid,.kicker+ .split{margin-top:14px}
.card p{margin:0 0 14px 0}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:12px;color:var(--muted)}
.input,select,textarea{height:42px;border-radius:12px;border:1px solid #1b2543;background:#0d1731;color:var(--text);padding:0 12px}
body[data-theme="light"] .input,body[data-theme="light"] select,body[data-theme="light"] textarea{background:#fff;border:1px solid #e5e7eb;color:#111827}
input[readonly]{background:#0b1326;color:var(--muted)}
body[data-theme="light"] input[readonly]{background:#f9fafb}
textarea{height:120px;padding:12px;resize:vertical}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid #1b2543;text-align:left}
body[data-theme="light"] .table th,body[data-theme="light"] .table td{border-bottom-color:#e5e7eb}
.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid #1b2543;background:#0c1429;font-size:12px}
body[data-theme="light"] .badge{background:#f7fafc;border:1px solid #e5e7eb}
body[data-theme="light"] .badge.ok{border-color:#34d399;background:#ecfdf5}
body[data-theme="light"] .badge.warn{border-color:#f59e0b;background:#fffbeb}
body[data-theme="light"] .badge.err{border-color:#ef4444;background:#fef2f2}
.badge.ok{border-color:#2d9b67;background:#142b22}
.badge.warn{border-color:#d09f38;background:#2b2514}
.badge.err{border-color:#e03656;background:#2b1419}
.tabs{display:flex;gap:8px;margin-bottom:12px}
.tab{padding:10px 12px;border-radius:10px;border:1px solid #1b2543}
.tab.active{border-color:var(--primary)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px 0}
.section-title h2{margin:0}
.stat-spark{height:48px;width:100%;display:block}
.footer{margin-top:30px;padding-top:12px;border-top:1px solid #1b2543;color:var(--muted);font-size:12px}
.kwi{color:var(--accent);font-weight:700}
.auth{max-width:560px;margin:0 auto}
.auth .card{padding:22px}
.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:stretch;background:#020617;padding:24px}
body[data-theme="light"] .auth-page{background:#020617}
.auth-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);min-height:100%;max-width:1120px;width:100%;border-radius:32px;overflow:hidden}
.auth-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(135deg,#7c5cff,#4c1d95);overflow:hidden}
.auth-visual-hero{max-width:520px;width:100%;aspect-ratio:16/10;border-radius:32px;background:url('../../619.jpg') center/cover no-repeat,linear-gradient(135deg,#312e81,#020617);box-shadow:0 30px 80px rgba(15,23,42,.9);position:relative;overflow:hidden}
.auth-visual-hero::before{content:"";position:absolute;inset:24px;border-radius:28px;border:1px solid rgba(255,255,255,.24);opacity:.7}
.auth-visual-hero::after{content:"";position:absolute;bottom:-40px;left:-20%;right:-20%;height:160px;background-image:radial-gradient(circle,#facc15 1px,transparent 1px);background-size:24px 18px;opacity:.75;filter:blur(.2px)}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:32px}
.auth-card{width:100%;max-width:420px;background:radial-gradient(900px 600px at 90% 0%,rgba(79,70,229,.35),transparent),#020617;border-radius:24px;border:1px solid #1b2543;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:26px}
.auth-card h1{margin:0 0 8px 0;font-size:22px}
.auth-card .kicker{letter-spacing:.16em}
.auth-meta{margin-top:4px;color:var(--muted);font-size:13px}
.auth-alt{margin-top:16px;font-size:13px;color:var(--muted)}
.auth-alt a{color:var(--primary);font-weight:500}
.auth-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:13px;color:var(--muted)}
.auth-row a{color:var(--primary)}
.auth-social-row{display:flex;align-items:center;gap:10px;margin-top:18px}
.auth-social-row::before,.auth-social-row::after{content:"";flex:1;height:1px;background:#1f2937}
.auth-social-row span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.auth-social-btns{display:flex;gap:10px;margin-top:10px}
.auth-social-btn{flex:1;display:flex;align-items:center;justify-content:center;height:40px;border-radius:12px;border:1px solid #1b2543;background:#020617;font-size:13px;color:var(--muted);cursor:pointer;gap:8px}
.auth-social-btn svg{width:16px;height:16px}
.auth-social-btn.google{border-color:#4b5563;background:linear-gradient(180deg,#020617,#020617)}
.auth-social-btn.apple{border-color:#4b5563;background:#020617}
.auth-social-btn.facebook{border-color:#1d4ed8;background:#020617}
.auth-social-btn:hover{border-color:var(--primary);color:var(--text)}
.auth-footer{margin-top:18px;font-size:11px;color:var(--muted)}
.auth-footer a{color:var(--primary)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.copy{cursor:pointer}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px dashed #243055;color:var(--muted)}
.toast{position:fixed;right:16px;bottom:16px;background:#0c1429;color:var(--text);border:1px solid #1b2543;border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;opacity:0;transform:translateY(8px);transition:all .25s}
body[data-theme="light"] .toast{background:#fff;color:#111827;border:1px solid #e5e7eb}
.toast.show{opacity:1;transform:translateY(0)}
.progress{height:10px;background:#0b1326;border-radius:999px;overflow:hidden;border:1px solid #1b2543}
body[data-theme="light"] .progress{background:#f3f4f6;border-color:#e5e7eb}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));animation:flow 2.2s linear infinite}
@keyframes flow{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.mining{position:relative;overflow:hidden}
.mining::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.06),transparent);animation:shine 2.2s infinite}
@keyframes shine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.hidden{display:none}
@media(max-width:940px){
  .hero{grid-template-columns:1fr}
  .grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-page{padding:16px}
  .auth-split{grid-template-columns:1fr;max-width:480px;border-radius:24px}
  .auth-visual{display:none}
  .auth-panel{padding:0}
}
@media(max-width:640px){.grid.cols-3,.grid.cols-2,.grid.cols-4{grid-template-columns:1fr}.nav-links{display:none}}

/* Topbar for role pages */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.topbar h2{margin:0;font-size:18px;font-weight:800}
.top-left{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid #1b2543;background:linear-gradient(180deg,#0f1730,#0c1429)}
body[data-theme="light"] .menu-btn{background:#fff;border-color:#e5e7eb}
.menu-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.user-menu{position:relative}

/* Theme toggle */
.theme-toggle{position:fixed;right:16px;bottom:16px;z-index:50;width:40px;height:40px;border-radius:999px;border:1px solid #1b2543;background:linear-gradient(180deg,#0f1730,#0c1429);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:var(--shadow)}
body[data-theme="light"] .theme-toggle{background:#ffffff;border-color:#e5e7eb}
.user-menu .trigger{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid #1b2543;border-radius:999px;background:linear-gradient(180deg,#0f1730,#0c1429)}
body[data-theme="light"] .user-menu .trigger{background:#fff;border-color:#e5e7eb}
.user-menu .avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--accent));color:white}
.user-menu .name{font-size:14px}
.user-menu .caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--muted)}
.menu{position:absolute;right:0;top:120%;min-width:160px;background:var(--card);border:1px solid #1b2543;border-radius:12px;padding:6px;box-shadow:var(--shadow);display:none}
body[data-theme="light"] .menu{background:#fff;border-color:#e5e7eb}
.menu a,.menu button{display:flex;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:inherit}
.menu a:hover,.menu button:hover{background:rgba(255,255,255,.05)}
.menu.show{display:block}

/* SVG icon helper */
.ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}

/* Tables on mobile */
@media(max-width:640px){.table{display:block;overflow-x:auto;white-space:nowrap}.section-title{flex-direction:column;align-items:flex-start;gap:8px}}

/* Mobile drawer toggle visible */
@media(max-width:940px){.menu-btn{display:inline-flex}}
