:root{--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--ink-2:#6e6e73;--line:#e5e5ea;--brand:#0071e3;--brand-2:#6c5ce7;--green:#34c759;--red:#ff3b30;--orange:#ff9500;--radius:18px;--shadow:0 1px 3px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.06);--shadow-hover:0 4px 12px rgba(0,0,0,.1),0 16px 40px rgba(0,0,0,.1);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}.container{max-width:1080px;margin:0 auto;padding:0 16px}h1,h2,h3{letter-spacing:-.02em}.muted{color:var(--ink-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.grid{display:grid;grid-gap:16px;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:12px;padding:12px 18px;font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;transition:transform .12s ease,filter .15s ease,opacity .15s ease;text-decoration:none}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}.btn.secondary{background:#e8e8ed;color:var(--ink)}.btn.ghost{background:#f0f0f3;color:var(--ink);padding:8px 14px;border-radius:10px}.btn.ghost:hover{background:#e5e5ea}.input,.select,textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font-size:15px;font-family:var(--font);background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease;outline:none}.input:focus,.select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.15)}.label{font-size:13px;margin-bottom:6px;display:block}.badge,.label{font-weight:600;color:var(--ink-2)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;font-size:12px;background:#e8e8ed}.badge.green{background:rgba(52,199,89,.15);color:#1a7f37}.badge.blue{background:rgba(0,113,227,.12);color:var(--brand)}.badge.orange{background:rgba(255,149,0,.15);color:#b25e00}a.card{display:block;text-decoration:none;color:inherit;cursor:pointer}a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}button{font-family:var(--font)}