:root{--text:#1f2933;--muted:#7b8794;--bg:#f4f5f7;--card:#fff;--border:#e1e4e8;--accent:#2563eb;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh}.topbar{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.topbar nav{gap:1rem;display:flex}.topbar nav a.active{color:var(--text);font-weight:600}.topbar .spacer{flex:1}.topbar .who{color:var(--muted)}.content{max-width:960px;margin:1.5rem auto;padding:0 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.card h2,.card h3{margin-top:0}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}input,select,textarea,button{font:inherit;border:1px solid var(--border);background:#fff;border-radius:6px;padding:.5rem .6rem}textarea{width:100%}button{background:var(--accent);color:#fff;border-color:var(--accent);cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:none;padding:0}.table{border-collapse:collapse;width:100%;margin-top:.75rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .6rem}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.muted{color:var(--muted)}.error{color:#b91c1c}.badge{color:#334;background:#eef;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;display:inline-block}.badge.new{color:#1e40af;background:#e0edff}.badge.contacted{color:#92400e;background:#fef3c7}.badge.qualified{color:#5b21b6;background:#ddd6fe}.badge.won,.badge.sent{color:#166534;background:#dcfce7}.badge.lost,.badge.failed{color:#991b1b;background:#fee2e2}.loglist{padding:0;list-style:none}.loglist li{border-bottom:1px solid var(--border);padding:.4rem 0}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login{flex-direction:column;gap:.6rem;width:320px;display:flex}.login input{width:100%}
