:root{--bg:#f4f7f5;--card:#ffffff;--text:#112218;--muted:#5a6b61;--brand:#0f766e;--brand-2:#166534;--danger:#b91c1c;--border:#d4e2d9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#ecfdf5 0,#f4f7f5 45%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:980px;margin:0 auto;padding:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.stack{display:grid;grid-gap:12px;gap:12px}.row{display:flex;gap:10px;align-items:center}.grid2{grid-gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}button,input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit}button{cursor:pointer;background:white}button.primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:white;border:none}button.ghost{background:transparent}.icon-btn{min-width:34px;max-width:34px;height:34px;padding:0;justify-content:center;border-radius:8px}.icon-btn,.inline-btn{width:auto;display:inline-flex;align-items:center}.inline-btn{gap:6px;padding:6px 10px}small{color:var(--muted)}.badge{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--border)}.phase-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.phase-locked{opacity:.5}@media (max-width:900px){.grid2,.grid3,.phase-grid{grid-template-columns:1fr}}