:root{--bg:#f3f2ee;--panel:#fff;--ink:#172430;--muted:#5a6b7c;--primary:#005d47;--secondary:#1e4f8d;--danger:#9f2d2d;--line:#d5dde5}*{box-sizing:border-box}body{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 0 0,#e2efe9 0,transparent 30%),var(--bg)}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}button{border:none;border-radius:8px;padding:.55rem .85rem;background:var(--primary);color:#fff;font:inherit;cursor:pointer}input,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:.5rem}label{grid-gap:.3rem;gap:.3rem}.grid,label{display:grid}.grid{grid-gap:1rem;gap:1rem}.auth-wrap{max-width:420px;margin:3rem auto}.muted{color:var(--muted)}.error{color:var(--danger)}.success{color:#0c7d54}.chip{border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;background:#f9fbfd}@media (max-width:860px){.container{padding:.75rem}}.trainer-layout{display:grid;grid-template-columns:320px 1fr 300px;grid-gap:.9rem;gap:.9rem}.insights-col,.sidebar-col{align-self:start;position:-webkit-sticky;position:sticky;top:.7rem}.active-filters-row{margin-top:.65rem;margin-bottom:.65rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--panel);padding:.35rem 0}.section-grid{display:grid;grid-gap:.55rem;gap:.55rem}.section-group-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.2rem 0}.chip-wrap{display:flex;flex-wrap:wrap;gap:.35rem}.chip-btn{background:#f8fbfd;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.35rem .6rem}.chip-btn.active{background:#edf8f2;border-color:#8ec5b3}.chip-text{display:inline-block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-row{border:1px solid var(--line);border-radius:10px;padding:.55rem .6rem;display:grid;grid-template-columns:20px 1fr;grid-gap:.5rem;gap:.5rem}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media (max-width:1200px){.trainer-layout{grid-template-columns:300px 1fr}.insights-col{grid-column:1/-1;position:static}}@media (max-width:860px){.trainer-layout{grid-template-columns:1fr}.sidebar-col{position:static}}