:root {
  --bg: #07100f;
  --bg-deep: #040908;
  --panel: rgba(13, 28, 25, .84);
  --panel-solid: #0d1d1a;
  --panel-soft: rgba(26, 48, 43, .55);
  --line: rgba(137, 255, 213, .13);
  --line-bright: rgba(137, 255, 213, .3);
  --text: #f1fff8;
  --muted: #94afa7;
  --mint: #78f5c8;
  --mint-strong: #34dba8;
  --lime: #d8ff7c;
  --amber: #ffcd67;
  --coral: #ff7f94;
  --purple: #b89bff;
  --shadow: 0 20px 60px rgba(0, 0, 0, .28);
  --radius: 20px;
  --radius-sm: 13px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg-deep); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 10% -10%, rgba(69, 201, 165, .16), transparent 32rem),
    radial-gradient(circle at 95% 10%, rgba(153, 129, 255, .13), transparent 27rem),
    linear-gradient(150deg, #071311 0%, #05100e 58%, #08121b 100%);
  font: 400 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

.app-shell { width: min(100%, 620px); margin: 0 auto; padding: 18px 17px 95px; position: relative; }
.app-topbar { display:flex; align-items:center; justify-content:space-between; gap: 12px; margin-bottom: 21px; }
.brand { display:flex; align-items:center; gap: 10px; font-weight: 800; font-size: 18px; letter-spacing:-.03em; }
.brand-mark { width: 38px; height: 38px; border: 1px solid var(--line-bright); border-radius: 12px; display:grid; place-items:center; color: var(--mint); background: linear-gradient(145deg, rgba(120,245,200,.19), rgba(120,245,200,.03)); box-shadow: 0 0 22px rgba(79, 223, 181, .14); }
.brand-mark svg { width: 23px; height: 23px; }
.eyebrow { color: var(--muted); text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.top-actions { display:flex; align-items:center; gap: 9px; }
.icon-btn { width: 39px; height: 39px; border-radius: 12px; border: 1px solid var(--line); background: rgba(20, 40, 36, .7); color: var(--muted); display:grid; place-items:center; transition:.2s ease; }
.icon-btn:hover, .icon-btn:focus-visible { color: var(--mint); border-color: var(--line-bright); transform: translateY(-1px); outline: none; }
.icon-btn svg { width: 18px; height: 18px; }
.avatar { width: 39px; height:39px; border-radius: 12px; display:grid; place-items:center; background: linear-gradient(140deg, #95f5d0, #4a9886); color:#09221b; font-weight: 900; }

.hero-card { position:relative; overflow:hidden; padding: 23px; border:1px solid var(--line); border-radius: var(--radius); background: linear-gradient(140deg, rgba(20, 55, 47, .94), rgba(9, 28, 24, .86)); box-shadow: var(--shadow); }
.hero-card:before, .hero-card:after { content:""; position:absolute; border-radius:50%; pointer-events:none; filter: blur(1px); }
.hero-card:before { width: 210px; height:210px; right:-90px; top:-96px; background: rgba(119, 245, 200, .12); box-shadow: 0 0 80px rgba(91, 236, 190, .16); }
.hero-card:after { width: 150px; height:150px; left:-112px; bottom:-112px; background: rgba(166, 141, 255, .13); }
.hero-copy { position:relative; z-index:1; }
.hero-title { margin: 5px 0 3px; font-size: clamp(25px, 7vw, 39px); line-height:1.04; letter-spacing:-.055em; }
.hero-subtitle { color: var(--muted); margin: 0; max-width: 280px; }
.hero-level { display:flex; justify-content:space-between; align-items:flex-end; margin-top: 22px; gap: 10px; }
.level-value { font-size: 29px; font-weight: 900; letter-spacing:-.06em; }
.level-value small { margin-left: 3px; color: var(--mint); font-size: 12px; letter-spacing:.08em; vertical-align: middle; }
.xp-track, .progress-track { height: 7px; border-radius:99px; background: rgba(122, 202, 176, .13); overflow:hidden; }
.xp-track { margin-top: 8px; }
.xp-fill, .progress-fill { height:100%; border-radius: inherit; background: linear-gradient(90deg, var(--mint-strong), var(--lime)); box-shadow: 0 0 14px rgba(120, 245, 200, .4); }
.hero-character { position:absolute; z-index:1; right: 11px; bottom:-9px; width: 138px; height: 158px; display:grid; place-items:center; font-size: 94px; filter: drop-shadow(0 12px 20px rgba(0,0,0,.32)); animation: miner-float 4s ease-in-out infinite; }
@keyframes miner-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-7px) rotate(2deg); } }

.stat-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 12px 0; }
.stat-card { min-height: 93px; padding: 15px; border:1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); backdrop-filter: blur(14px); }
.stat-icon { width: 31px; height:31px; display:grid; place-items:center; border-radius:10px; margin-bottom: 10px; background: rgba(120,245,200,.1); color: var(--mint); }
.stat-icon svg { width: 17px; height:17px; }
.stat-card.amber .stat-icon { color: var(--amber); background: rgba(255,205,103,.1); }
.stat-card.purple .stat-icon { color: var(--purple); background: rgba(184,155,255,.1); }
.stat-card.coral .stat-icon { color: var(--coral); background: rgba(255,127,148,.1); }
.stat-label { color: var(--muted); font-size: 11px; }
.stat-value { font-size: 18px; font-weight: 800; letter-spacing:-.04em; margin-top:2px; }
.stat-value span { color: var(--muted); font-size:11px; font-weight:600; letter-spacing:0; }

.mine-card { position:relative; margin: 14px 0; padding: 21px 19px 18px; border-radius: var(--radius); background: linear-gradient(145deg, #143b31, #0d211d); border:1px solid rgba(120,245,200,.29); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), var(--shadow); text-align:center; overflow:hidden; }
.mine-card:before { content:""; position:absolute; width: 280px; height:180px; top:-100px; left:50%; transform:translateX(-50%); border-radius:50%; background:rgba(117,245,198,.13); filter:blur(8px); }
.mine-label { position:relative; color: var(--muted); text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:800; }
.mine-amount { position:relative; margin: 3px 0 4px; font-size: 35px; font-weight: 900; letter-spacing:-.07em; }
.mine-amount span { font-size:12px; letter-spacing:.08em; color: var(--mint); margin-left: 4px; }
.mine-meta { position:relative; display:flex; align-items:center; justify-content:center; gap: 7px; color:var(--muted); font-size: 11px; }
.pulse-dot { width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow: 0 0 0 0 rgba(120,245,200,.55); animation:pulse 1.8s infinite; }
@keyframes pulse { 0% {box-shadow:0 0 0 0 rgba(120,245,200,.55)} 70%{box-shadow:0 0 0 8px rgba(120,245,200,0)} 100%{box-shadow:0 0 0 0 rgba(120,245,200,0)} }
.mine-button { position:relative; margin-top: 19px; width: min(100%, 280px); min-height: 56px; border:0; border-radius: 16px; color:#082019; background: linear-gradient(110deg, var(--mint), var(--lime)); font-size:16px; font-weight:900; box-shadow: 0 9px 23px rgba(73, 229, 175, .21); transition: transform .18s, box-shadow .18s; }
.mine-button:hover, .mine-button:focus-visible { transform: translateY(-2px); box-shadow: 0 13px 29px rgba(73, 229, 175, .34); outline:none; }
.mine-button:active { transform: scale(.98); }
.mine-button.is-mining { background: linear-gradient(110deg, #d8ff7c, #78f5c8); }
.coin-pop { position:absolute; left:50%; top: 36%; pointer-events:none; color: var(--lime); font-weight: 900; animation: coin-up .8s ease-out forwards; text-shadow: 0 0 14px rgba(216,255,124,.45); }
@keyframes coin-up { 0%{opacity:0;transform:translate(-50%,0) scale(.8)} 15%{opacity:1} 100%{opacity:0;transform:translate(-50%,-68px) scale(1.1)} }

.section-head { display:flex; align-items:center; justify-content:space-between; gap: 12px; margin: 23px 2px 11px; }
.section-title { margin:0; font-size: 15px; letter-spacing:-.02em; }
.section-link { color: var(--mint); font-size:11px; font-weight:800; }
.section-link:hover { color:var(--lime); }
.panel { border:1px solid var(--line); border-radius: var(--radius); background: var(--panel); backdrop-filter: blur(14px); box-shadow: var(--shadow); }
.quick-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.quick-link { min-height:81px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:14px; background:rgba(14,31,27,.75); color:var(--muted); font-size:10px; font-weight:700; text-align:center; transition:.2s ease; }
.quick-link:hover, .quick-link:focus-visible { color:var(--mint); border-color:var(--line-bright); transform:translateY(-2px); outline:none; }
.quick-link .quick-icon { width:27px; height:27px; display:grid; place-items:center; border-radius:9px; background:rgba(120,245,200,.1); color:var(--mint); }
.quick-link svg { width:15px; height:15px; }

.task-list { display:flex; flex-direction:column; gap:8px; padding: 9px; }
.task-row { display:flex; align-items:center; gap:11px; min-height:65px; padding:10px; border-radius:14px; background:rgba(22,45,39,.65); border:1px solid transparent; }
.task-row:hover { border-color: var(--line); }
.task-icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background: rgba(120,245,200,.1); color: var(--mint); }
.task-icon svg { width:19px; height:19px; }
.task-copy { min-width: 0; flex:1; }
.task-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:800; }
.task-reward { margin-top:2px; color:var(--amber); font-size:11px; }
.task-action { flex:0 0 auto; border:1px solid rgba(120,245,200,.25); border-radius:9px; padding:7px 10px; color:var(--mint); background:rgba(120,245,200,.08); font-size:10px; font-weight:800; }
.task-action.done { color:var(--muted); border-color:var(--line); background:transparent; }

.streak-card { display:flex; align-items:center; gap:13px; padding:15px; }
.streak-badge { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:rgba(255,205,103,.12); color:var(--amber); font-size:20px; }
.streak-copy { flex:1; }
.streak-copy strong { display:block; font-size:13px; }
.streak-copy span { color:var(--muted); font-size:11px; }
.streak-days { display:flex; gap:4px; margin-top:9px; }
.streak-day { width:22px; height:4px; border-radius:20px; background:rgba(255,205,103,.16); }
.streak-day.active { background:var(--amber); box-shadow:0 0 8px rgba(255,205,103,.45); }
.claim-btn { border:1px solid rgba(255,205,103,.3); border-radius:10px; padding:9px 10px; color:var(--amber); background:rgba(255,205,103,.08); font-size:10px; font-weight:800; }

.bottom-nav { position:fixed; z-index:20; left:50%; bottom:12px; transform:translateX(-50%); width:min(calc(100% - 28px), 590px); display:grid; grid-template-columns:repeat(5,1fr); gap:3px; padding:8px; border:1px solid var(--line-bright); border-radius:18px; background:rgba(7,20,17,.92); backdrop-filter: blur(18px); box-shadow:0 15px 40px rgba(0,0,0,.45); }
.nav-item { min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border-radius:11px; color:var(--muted); font-size:9px; font-weight:700; transition:.2s; }
.nav-item svg { width:17px; height:17px; }
.nav-item.active, .nav-item:hover, .nav-item:focus-visible { color:var(--mint); background:rgba(120,245,200,.1); outline:none; }

.page-heading { margin:10px 0 21px; }
.page-heading h1 { margin:5px 0 2px; font-size:29px; letter-spacing:-.06em; }
.page-heading p { margin:0; color:var(--muted); }
.filter-tabs { display:flex; gap:8px; overflow:auto; padding:2px 1px 11px; scrollbar-width:none; }
.filter-tabs::-webkit-scrollbar { display:none; }
.filter-tab { white-space:nowrap; border:1px solid var(--line); border-radius:20px; padding:8px 12px; color:var(--muted); background:rgba(14,31,27,.7); font-size:10px; font-weight:800; }
.filter-tab.active { color:#0b241c; border-color:var(--mint); background:var(--mint); }
.task-large { display:flex; align-items:flex-start; gap:13px; padding:16px; margin-bottom:9px; }
.task-large .task-icon { flex-basis:44px; width:44px; height:44px; }
.task-large .task-copy { padding-top: 1px; }
.task-large .task-name { overflow:visible; white-space:normal; font-size:13px; }
.task-progress { margin-top:9px; }
.task-progress-line { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; margin-bottom:5px; }
.task-progress .progress-track { height:5px; }
.task-large .task-action { margin-left:auto; }

.profile-card { padding:20px; }
.profile-head { display:flex; align-items:center; gap:14px; }
.profile-avatar { width:72px; height:72px; display:grid; place-items:center; border:1px solid rgba(120,245,200,.36); border-radius:22px; background:linear-gradient(145deg, rgba(120,245,200,.25), rgba(184,155,255,.2)); font-size:43px; box-shadow:0 0 30px rgba(120,245,200,.12); }
.profile-name { margin:0; font-size:19px; letter-spacing:-.04em; }
.profile-handle { color:var(--muted); font-size:11px; }
.badge { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:20px; color:var(--mint); background:rgba(120,245,200,.1); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.profile-xp { margin-top:20px; }
.profile-xp-head { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; margin-bottom:6px; }
.profile-xp-head strong { color:var(--text); }
.profile-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:16px; }
.profile-stat { padding:13px; border-radius:13px; background:rgba(25,49,43,.65); }
.profile-stat small { display:block; color:var(--muted); font-size:10px; }
.profile-stat strong { display:block; margin-top:3px; font-size:15px; letter-spacing:-.03em; }
.profile-stat strong em { color:var(--mint); font-style:normal; font-size:10px; }

.referral-hero { padding:22px; text-align:center; }
.referral-hero .hero-title { font-size:27px; }
.referral-link { display:flex; align-items:center; gap:8px; padding:10px; margin-top:17px; border:1px dashed rgba(120,245,200,.33); border-radius:12px; background:rgba(3,16,13,.3); text-align:left; }
.referral-link code { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--mint); font-size:10px; }
.copy-btn { flex:0 0 auto; border:0; border-radius:8px; padding:7px 9px; background:var(--mint); color:#072018; font-size:10px; font-weight:900; }
.referral-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:17px; }
.referral-metric { padding:11px 5px; border-radius:11px; background:rgba(120,245,200,.07); }
.referral-metric strong { display:block; font-size:17px; }
.referral-metric span { color:var(--muted); font-size:9px; }
.leaderboard-list { padding:9px; }
.leader-row { display:flex; align-items:center; gap:10px; padding:12px 9px; border-bottom:1px solid rgba(137,255,213,.08); }
.leader-row:last-child { border:0; }
.rank { width:22px; color:var(--muted); font-weight:900; text-align:center; }
.rank.top { font-size:17px; }
.leader-avatar { width:33px; height:33px; display:grid; place-items:center; border-radius:11px; background:rgba(184,155,255,.15); color:var(--purple); font-weight:900; font-size:11px; }
.leader-copy { flex:1; min-width:0; }
.leader-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.leader-copy span { color:var(--muted); font-size:10px; }
.leader-score { color:var(--mint); font-size:11px; font-weight:800; }

.boost-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:9px; }
.boost-card { padding:15px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.boost-card.featured { border-color:rgba(216,255,124,.4); background:linear-gradient(140deg, rgba(85,104,45,.42), rgba(18,43,34,.8)); }
.boost-head { display:flex; justify-content:space-between; align-items:flex-start; }
.boost-multiplier { color:var(--lime); font-size:24px; font-weight:900; letter-spacing:-.08em; }
.boost-price { color:var(--amber); font-size:11px; font-weight:800; }
.boost-duration { color:var(--muted); font-size:10px; margin:3px 0 12px; }
.buy-btn { width:100%; border:1px solid rgba(120,245,200,.25); border-radius:10px; padding:8px; color:var(--mint); background:rgba(120,245,200,.08); font-size:10px; font-weight:800; }
.featured .buy-btn { border-color:var(--lime); color:#17220e; background:var(--lime); }

.empty-state { padding:32px 19px; text-align:center; color:var(--muted); }
.empty-state .empty-icon { width:48px; height:48px; margin:0 auto 11px; display:grid; place-items:center; border-radius:16px; color:var(--mint); background:rgba(120,245,200,.1); }

/* Admin shell */
.admin-body { background: #060b0c; }
.admin-shell { min-height:100vh; display:flex; }
.admin-sidebar { position:fixed; z-index:40; inset:0 auto 0 0; width:256px; padding:22px 14px; border-right:1px solid rgba(137,255,213,.1); background:#091310; transform:translateX(-100%); transition:transform .25s ease; }
.admin-shell.sidebar-open .admin-sidebar { transform:translateX(0); box-shadow:30px 0 80px rgba(0,0,0,.45); }
.admin-sidebar .brand { padding:0 10px 23px; }
.admin-nav-label { padding:17px 11px 7px; color:#5f7a71; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.admin-nav { display:flex; flex-direction:column; gap:3px; }
.admin-nav a { display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:11px; color:var(--muted); font-size:12px; font-weight:700; }
.admin-nav a svg { flex:0 0 auto; width:16px; height:16px; }
.admin-nav a:hover, .admin-nav a.active { color:var(--mint); background:rgba(120,245,200,.1); }
.admin-main { width:100%; min-width:0; padding:17px; }
.admin-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 auto 23px; max-width:1260px; }
.admin-topbar .top-left { display:flex; align-items:center; gap:10px; }
.admin-main-content { max-width:1260px; margin:0 auto; }
.admin-menu-btn { display:grid; place-items:center; width:39px; height:39px; border:1px solid var(--line); border-radius:11px; background:var(--panel); color:var(--muted); }
.admin-overlay { display:none; position:fixed; z-index:30; inset:0; padding:0; border:0; border-radius:0; background:rgba(0,0,0,.58); }
.admin-shell.sidebar-open .admin-overlay { display:block; }
.admin-title { margin:0; font-size:25px; letter-spacing:-.055em; }
.admin-subtitle { margin:3px 0 0; color:var(--muted); font-size:11px; }
.admin-profile { display:flex; align-items:center; gap:9px; }
.admin-profile .avatar { width:34px; height:34px; border-radius:10px; font-size:11px; }
.admin-profile-copy { display:none; }
.admin-profile-copy strong { display:block; font-size:11px; }
.admin-profile-copy span { color:var(--muted); font-size:9px; }
.admin-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.admin-stat { padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.admin-stat .stat-label { font-size:10px; }
.admin-stat .stat-value { margin-top:6px; font-size:24px; }
.admin-stat .stat-change { margin-top:7px; color:var(--mint); font-size:10px; }
.admin-stat .stat-change.down { color:var(--coral); }
.admin-panel { padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.admin-panel + .admin-panel { margin-top:13px; }
.admin-panel-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.admin-panel-title { margin:0; font-size:13px; letter-spacing:-.015em; }
.admin-panel-link { color:var(--mint); font-size:10px; font-weight:800; }
.chart-placeholder { position:relative; height:180px; overflow:hidden; border-radius:12px; background:linear-gradient(180deg, rgba(120,245,200,.06), rgba(120,245,200,.005)); }
.chart-placeholder:before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(137,255,213,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(137,255,213,.08) 1px, transparent 1px); background-size:25% 25%; opacity:.5; }
.chart-placeholder svg { position:absolute; inset:14px 10px 17px; width:calc(100% - 20px); height:calc(100% - 31px); }
.chart-labels { position:absolute; inset:auto 9px 3px; display:flex; justify-content:space-between; color:#6f8d82; font-size:9px; }
.table-wrap { width:100%; overflow:auto; }
.data-table { width:100%; min-width:550px; border-collapse:collapse; font-size:11px; }
.data-table th { padding:9px 11px; color:#6f8d82; border-bottom:1px solid var(--line); text-align:left; font-size:9px; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.data-table td { padding:11px; border-bottom:1px solid rgba(137,255,213,.08); white-space:nowrap; }
.data-table tbody tr:hover { background:rgba(120,245,200,.04); }
.table-user { display:flex; align-items:center; gap:8px; }
.table-user .avatar { width:28px; height:28px; border-radius:9px; font-size:10px; }
.table-user strong { display:block; font-size:11px; }
.table-user span { display:block; color:var(--muted); font-size:9px; }
.status { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:20px; color:var(--mint); background:rgba(120,245,200,.1); font-size:9px; font-weight:800; }
.status:before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.status.warning { color:var(--amber); background:rgba(255,205,103,.1); }
.status.danger { color:var(--coral); background:rgba(255,127,148,.1); }
.status.muted { color:var(--muted); background:rgba(148,175,167,.1); }
.action-btn { border:1px solid var(--line); border-radius:8px; padding:6px 9px; color:var(--muted); background:rgba(120,245,200,.05); font-size:9px; font-weight:800; }
.action-btn:hover { color:var(--mint); border-color:var(--line-bright); }
.action-btn.primary { color:#0a251d; border-color:var(--mint); background:var(--mint); }
.action-btn.danger { color:var(--coral); }
.toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:9px; margin-bottom:13px; }
.search { position:relative; flex:1; min-width:180px; }
.search svg { position:absolute; left:11px; top:50%; transform:translateY(-50%); width:14px; color:var(--muted); }
.form-input, .form-select, .form-textarea { width:100%; border:1px solid var(--line); border-radius:9px; padding:10px 11px; color:var(--text); background:rgba(8,20,17,.85); outline:none; }
.search .form-input { padding-left:34px; }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--mint); box-shadow:0 0 0 3px rgba(120,245,200,.08); }
.form-label { display:block; margin:0 0 6px; color:var(--muted); font-size:10px; font-weight:700; }
.form-group { margin-bottom:13px; }
.form-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.form-textarea { min-height:110px; resize:vertical; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--line); border-radius:9px; padding:10px 13px; color:var(--muted); background:rgba(120,245,200,.06); font-size:10px; font-weight:800; }
.btn:hover { color:var(--mint); border-color:var(--line-bright); }
.btn-primary { color:#092019; border-color:var(--mint); background:var(--mint); }
.btn-primary:hover { color:#092019; background:var(--lime); border-color:var(--lime); }
.btn-danger { color:var(--coral); border-color:rgba(255,127,148,.28); background:rgba(255,127,148,.07); }
.btn svg { width:14px; height:14px; }
.settings-list { display:flex; flex-direction:column; gap:2px; }
.setting-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:13px 0; border-bottom:1px solid rgba(137,255,213,.08); }
.setting-row:last-child { border-bottom:0; }
.setting-copy strong { display:block; font-size:11px; }
.setting-copy span { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.toggle { position:relative; width:40px; height:22px; border:0; border-radius:20px; background:#1c332d; flex:0 0 auto; }
.toggle:after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#78938a; transition:.2s; }
.toggle.on { background:rgba(120,245,200,.38); }
.toggle.on:after { left:21px; background:var(--mint); box-shadow:0 0 11px rgba(120,245,200,.55); }
.kpi-row { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; }
.kpi-bar { flex:1; height:6px; overflow:hidden; border-radius:20px; background:rgba(148,175,167,.11); }
.kpi-bar span { display:block; height:100%; border-radius:inherit; background:var(--mint); }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:25px; background:radial-gradient(circle at 50% 0%, rgba(120,245,200,.13), transparent 29rem), #060d0b; }
.login-card { width:min(100%, 410px); padding:29px; border:1px solid var(--line-bright); border-radius:22px; background:rgba(11,27,23,.9); box-shadow:var(--shadow); }
.login-card .brand { margin-bottom:26px; }
.login-title { margin:0; font-size:25px; letter-spacing:-.06em; }
.login-subtitle { margin:5px 0 23px; color:var(--muted); font-size:11px; }
.login-footer { margin-top:19px; color:var(--muted); font-size:10px; text-align:center; }
.login-footer a { color:var(--mint); }
.alert { padding:10px 12px; border:1px solid rgba(120,245,200,.22); border-radius:9px; color:var(--mint); background:rgba(120,245,200,.08); font-size:10px; }

@media (min-width: 700px) {
  .app-shell { padding: 26px 24px 110px; }
  .hero-character { right: 45px; }
  .stat-grid { grid-template-columns:repeat(4,1fr); }
  .quick-grid { gap:10px; }
  .quick-link { min-height:90px; }
  .admin-sidebar { transform:none; }
  .admin-shell.sidebar-open .admin-sidebar { box-shadow:none; }
  .admin-main { margin-left:256px; padding:25px 28px 40px; }
  .admin-menu-btn, .admin-overlay { display:none !important; }
  .admin-profile-copy { display:block; }
  .admin-topbar { margin-bottom:29px; }
  .admin-grid { grid-template-columns:repeat(4,1fr); gap:13px; }
  .admin-content-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:13px; align-items:start; }
  .form-grid.two { grid-template-columns:repeat(2,1fr); }
}

@media (min-width: 1100px) {
  .admin-main { padding:30px 40px 50px; }
  .admin-panel { padding:19px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
