*{box-sizing:border-box}body{margin:0;background:#0b0c0f;color:#e7e9ee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:18px;border-bottom:1px solid #1e2128;margin-bottom:22px}.brand{font-size:20px;font-weight:700}.brand span{color:#7c9cff}.pillbar{display:flex;gap:10px;flex-wrap:wrap}.pill,.pillbar{align-items:center}.pill{display:inline-flex;gap:6px;font-size:12px;background:#16181f;border:1px solid #23262f;padding:5px 10px;border-radius:999px;color:#b7bccb}.dot{width:8px;height:8px;border-radius:50%;background:#666;display:inline-block}.dot.on{background:#2ecf72;box-shadow:0 0 6px #2ecf7288}.dot.off{background:#ef5757}.dot.pending{background:#f2b84b}.who{color:#9aa0b0;margin-left:4px}.logout,.who{font-size:13px}.logout{background:#1a1d25;border:1px solid #2a2e3a;color:#d7dae2;padding:6px 12px;border-radius:8px;cursor:pointer}.logout:hover{background:#23262f}.card{background:#12141a;border:1px solid #1e2128;border-radius:12px;padding:18px 20px;margin-bottom:20px}.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#9aa0b0;margin:0 0 14px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:14px;gap:14px}.stat{background:#0f1116;border:1px solid #1e2128;border-radius:10px;padding:14px 16px}.stat b{display:block;font-size:24px}.stat .small{color:#9aa0b0;font-size:12px;margin-top:4px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#8b90a0;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid #1e2128}td{padding:10px;border-bottom:1px solid #171921;vertical-align:top}tr:hover td{background:#14161d}.stage{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;background:#23262f;color:#cfd3de}.stage.Won{background:#123a25;color:#4fd888}.stage.Lost{background:#3a1414;color:#e77}input,select,textarea{width:100%;background:#0f1116;border:1px solid #262a35;color:#e7e9ee;border-radius:8px;padding:9px 11px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:#4a5a9c}button.primary{background:#4a63e0;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}button.primary:hover{background:#5a72ea}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:#1a1d25;border:1px solid #2a2e3a;color:#d7dae2;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer}button.ghost:hover{background:#23262f}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-box{width:100%;max-width:380px;background:#12141a;border:1px solid #1e2128;border-radius:14px;padding:28px}.login-box h1{font-size:20px;margin:0 0 4px}.login-box .sub{color:#9aa0b0;font-size:13px;margin-bottom:20px}.login-box input{margin-bottom:10px}.err{color:#ff8080;font-size:13px;margin-top:10px}.msg{color:#9aa0b0;font-size:12px;margin-top:16px}.row{display:flex;gap:10px;align-items:center}.small{font-size:12px;color:#9aa0b0}.task-log{font-size:12px;color:#b7bccb;white-space:pre-wrap;background:#0f1116;border:1px solid #1e2128;border-radius:8px;padding:10px;margin-top:6px;max-height:140px;overflow-y:auto}