:root{--bg:#0d1117;--panel:#161b22;--panel-2:#1c2330;--border:#2a3242;--text:#e6edf3;--muted:#8b98a9;--accent:#37c978;--accent-dim:rgba(55,201,120,0.14);--danger:#f26d6d;--warn:#e8b23e}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;min-height:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font:inherit}.bo-layout{display:flex;min-height:100vh}.bo-side{width:220px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.bo-brand{font-weight:800;font-size:17px;letter-spacing:-.02em;margin-bottom:18px}.bo-brand span{color:var(--accent)}.bo-side a{padding:9px 12px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:500}.bo-side a:hover{background:var(--panel-2);color:var(--text)}.bo-side a.on{background:var(--accent-dim);color:var(--accent)}.bo-side .bo-user{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted);line-height:1.5}.bo-side .bo-user b{color:var(--text);display:block;overflow:hidden;text-overflow:ellipsis}.bo-logout{margin-top:8px;width:100%;background:none;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:7px;font-size:13px}.bo-logout:hover{border-color:var(--danger);color:var(--danger)}.bo-main{flex:1 1;padding:28px 32px;max-width:1200px}.bo-main h1{font-size:21px;margin-bottom:4px;letter-spacing:-.02em}.bo-sub{color:var(--muted);font-size:13.5px;margin-bottom:24px}.bo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:26px}.bo-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.bo-card .k{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}.bo-card .v{font-size:26px;font-weight:800;margin-top:6px}.bo-card .v small{font-size:14px;color:var(--muted);font-weight:500}.bo-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.bo-table td,.bo-table th{padding:10px 14px;text-align:left;font-size:13.5px}.bo-table th{background:var(--panel-2);color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.bo-table tr+tr td{border-top:1px solid var(--border)}.bo-table td.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--muted)}.bo-wrap{border-radius:12px;overflow-x:auto;margin-bottom:26px}.bo-badge{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:700}.bo-badge.ISSUED,.bo-badge.NEW{background:rgba(75,141,245,.15);color:#7fb0ff}.bo-badge.CONTACTED{background:rgba(232,178,62,.15);color:var(--warn)}.bo-badge.QUALIFIED{background:rgba(55,201,120,.12);color:var(--accent)}.bo-badge.REDEEMED,.bo-badge.WON{background:var(--accent-dim);color:var(--accent)}.bo-badge.LOST,.bo-badge.off{background:rgba(242,109,109,.13);color:var(--danger)}.bo-badge.role{background:var(--panel-2);color:var(--muted)}.bo-form{display:grid;grid-gap:12px;gap:12px;max-width:460px}.bo-form label{font-size:12.5px;color:var(--muted);display:grid;grid-gap:5px;gap:5px;font-weight:600}.bo-input,.bo-select{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px}.bo-input:focus,.bo-select:focus{outline:none;border-color:var(--accent)}.bo-btn{background:var(--accent);color:#06220f;border:none;border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px}.bo-btn:hover{filter:brightness(1.08)}.bo-btn:disabled{opacity:.5;cursor:default}.bo-btn.ghost{background:none;border:1px solid var(--border);color:var(--text)}.bo-btn.sm{padding:6px 12px;font-size:12.5px}.bo-error{color:var(--danger);font-size:13.5px}.bo-ok{color:var(--accent);font-size:13.5px}.bo-empty{color:var(--muted);padding:26px;text-align:center;font-size:14px}.bo-login{min-height:100vh;display:grid;place-items:center;padding:20px}.bo-login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:34px 30px}.bo-login-card h1{font-size:20px;margin-bottom:6px}.bo-login-card p{color:var(--muted);font-size:13.5px;margin-bottom:22px}.bo-login-links{font-size:13px;color:var(--muted)}.bo-login-links a{color:var(--accent);font-weight:600}.bo-login-links a:hover{text-decoration:underline}.bo-pass-wrap{position:relative;display:grid}.bo-pass-wrap .bo-input{padding-right:42px}.bo-pass-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);padding:6px;display:grid;place-items:center;border-radius:6px}.bo-pass-eye:hover{color:var(--text);background:var(--panel)}.bo-detail{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:26px;display:grid;grid-gap:8px;gap:8px;font-size:14px}.bo-detail .row{display:flex;gap:10px}.bo-detail .row b{min-width:110px;color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;padding-top:1px}@media (max-width:760px){.bo-layout{flex-direction:column}.bo-side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.bo-side .bo-user{margin:0 0 0 auto;border:none;padding:0}.bo-main{padding:18px 14px}}