:root{--bg: #f6efe6;--panel: rgba(255, 255, 255, .9);--text: #1f1712;--muted: #7a6d62;--line: rgba(31, 23, 18, .12);--primary: #2a1f1a;--primary-contrast: #fffaf3;--accent: #ffb24d;--shadow: 0 14px 40px rgba(31, 23, 18, .08);--radius: 22px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,#f9f2e9 0%,var(--bg) 100%);color:var(--text)}.app-shell{min-height:100vh;padding:24px;max-width:1240px;margin:0 auto}.hero,.navbar,.panel,.league-card,.auth-panel,.league-create-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:28px;margin-bottom:18px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem}.brand-mark,.hero-badge,.nav-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.brand-mark{width:34px;height:34px;background:var(--primary);color:var(--primary-contrast)}.hero h1{margin:12px 0 8px;font-size:clamp(2rem,3vw,3.2rem);line-height:1.05}.hero p{margin:0;color:var(--muted)}.hero-badge{gap:8px;padding:10px 14px;border:1px solid var(--line);background:#ffffffa6;font-weight:700}.navbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin-bottom:18px}.navbar-left{display:flex;flex-direction:column;gap:4px}.navbar-title{font-weight:800;font-size:1.05rem}.navbar-subtitle{color:var(--muted);font-size:.95rem}.navbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panel,.league-card,.auth-panel,.league-create-panel{padding:22px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.eyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.error-banner,.muted-box{border-radius:16px;padding:12px 14px;margin-bottom:14px}.error-banner{background:#fff2f0;border:1px solid #f1b8b0;color:#9a2f22}.muted-box{background:#1f17120a;border:1px dashed var(--line);color:var(--muted)}.primary-btn,.ghost-btn,.league-btn,.tab-btn{border:1px solid transparent;border-radius:16px;padding:11px 16px;font-weight:700;font-size:.96rem;cursor:pointer;transition:.2s ease}.primary-btn{background:var(--primary);color:var(--primary-contrast)}.primary-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.ghost-btn,.league-btn,.tab-btn{background:#fff;border-color:var(--line);color:var(--text)}.tab-row{display:flex;gap:8px;flex-wrap:wrap}.tab-btn.active{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary)}input,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;background:#fff;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}input:focus,select:focus{border-color:#2a1f1a59;box-shadow:0 0 0 4px #2a1f1a14}input::placeholder{color:#9a8f86}input:disabled,select:disabled,button:disabled{cursor:not-allowed}input:disabled,select:disabled{background:#f3f1ee;color:#8b8177;opacity:.9}button:disabled{opacity:.55}.form-grid{display:grid;gap:14px}.form-grid label{display:grid;gap:8px;font-weight:600}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.league-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.95fr);gap:18px;align-items:start}.main-column{display:grid;gap:18px}.goal-list,.leaderboard-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.goal-card,.leaderboard-item{background:#fffc;border:1px solid var(--line);border-radius:18px;padding:16px}.goal-card-top,.goal-meta,.leaderboard-item{display:flex;justify-content:space-between;gap:12px;align-items:center}.goal-card h4,.leaderboard-info strong{margin:0}.goal-card p,.leaderboard-info span,.goal-meta,.muted-text{margin:0;color:var(--muted)}.status{padding:6px 10px;border-radius:999px;background:#f3ede6;color:#6a5b4d;font-weight:700;font-size:.85rem}.status.done{background:#e8f6ea;color:#1f6b35}.progress-bar{height:10px;border-radius:999px;background:#efe8de;overflow:hidden;margin:12px 0}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffb24d,#ff7d4d)}.goal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.leaderboard-rank{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:var(--primary-contrast);font-weight:800;flex:0 0 auto}.leaderboard-info{display:flex;flex-direction:column;gap:4px;flex:1}.leaderboard-points{font-weight:800}@media (max-width: 960px){.stats-grid,.league-overview,.dashboard-grid,.two-col{grid-template-columns:1fr}.hero,.navbar{flex-direction:column;align-items:stretch}}
