:root { --bg:#0e1116; --card:#161b23; --line:#242c38; --ink:#e8edf4; --dim:#8b98a9; --acc:#2a9d8f; --bad:#c0392b; }
html, body { background:var(--bg); color:var(--ink); font:15px/1.5 "Segoe UI",system-ui,sans-serif; margin:0; }
h1 { font-size:1.6rem; margin:0; } h3 { margin:.2rem 0 .8rem; font-size:1.05rem; color:var(--acc); }
h4 { margin:1rem 0 .4rem; font-size:.95rem; color:var(--dim); }
.hdr { padding:1.2rem 2rem .4rem; border-bottom:1px solid var(--line); }
.sub { color:var(--dim); font-size:.9rem; }
.tabs { display:flex; gap:.3rem; margin-top:.7rem; flex-wrap:wrap; }
button { background:#1d2530; color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:.35rem .8rem; cursor:pointer; font-size:.9rem; }
button:hover { border-color:var(--acc); }
button.pri { background:var(--acc); color:#04211d; font-weight:600; border:0; }
button.del { background:transparent; border:0; color:var(--bad); }
.tab { background:transparent; border:0; color:var(--dim); border-bottom:2px solid transparent; border-radius:0; }
.tab.on { color:var(--ink); border-bottom-color:var(--acc); }
main.content { padding:1rem 2rem 2rem; max-width:1180px; margin:0 auto; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1rem; }
.cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
@media (max-width:900px){ .cols { grid-template-columns:1fr; } }
.kpis { display:flex; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; }
.kpi { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:.6rem 1.4rem; text-align:center; }
.kpi span { font-size:1.7rem; font-weight:700; color:var(--acc); display:block; }
.kpi label { color:var(--dim); font-size:.8rem; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-bottom:.6rem; }
.grid.four { grid-template-columns:2fr 1fr .5fr 1fr; }
input, select, textarea { width:100%; box-sizing:border-box; background:#0e1420; color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:.45rem .6rem; font:inherit; }
textarea { resize:vertical; margin-bottom:.6rem; }
select { width:auto; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th, td { text-align:left; padding:.4rem .5rem; border-bottom:1px solid var(--line); }
th { color:var(--dim); font-weight:500; }
.pill { background:#22304200; border:1px solid var(--line); border-radius:99px; padding:.05rem .55rem; font-size:.78rem; color:var(--dim); }
.pill.offer, .pill.interview { color:#7bd88f; border-color:#2f5d3a; }
.pill.rejected, .pill.withdrawn { color:#e07a6a; border-color:#5d2f2f; }
.score { color:var(--acc); font-weight:600; }
ul { margin:.3rem 0; padding-left:1.2rem; }
.dim { color:var(--dim); }
.chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.chip { background:#1d2530; border:1px solid var(--line); border-radius:99px; padding:.15rem .7rem; font-size:.85rem; }
.fun { display:flex; align-items:center; gap:.5rem; margin:.35rem 0; }
.fun label { width:90px; color:var(--dim); font-size:.85rem; }
.fun .bar { flex:1; height:8px; background:#0e1420; border-radius:4px; overflow:hidden; }
.fun .bar i { display:block; height:100%; background:var(--acc); }
pre { background:#0e1420; border:1px solid var(--line); border-radius:8px; padding:.8rem; max-height:300px; overflow:auto; font-size:.8rem; white-space:pre-wrap; }
code { background:#0e1420; padding:.05rem .35rem; border-radius:4px; }
footer { color:var(--dim); text-align:center; padding:1rem; font-size:.8rem; }
#blazor-error-ui { background:#2b1d1d; color:#e8edf4; bottom:0; box-shadow:0 -1px 2px rgba(0,0,0,.4); display:none; left:0; padding:.6rem 1.25rem .7rem; position:fixed; width:100%; z-index:1000; }
#blazor-error-ui .dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }

.chat-fab { position:fixed; right:1.2rem; bottom:1.2rem; width:3rem; height:3rem; border-radius:50%; background:var(--acc); color:#04211d; font-size:1.3rem; border:0; box-shadow:0 2px 10px rgba(0,0,0,.5); z-index:1100; }
.chat-panel { position:fixed; right:1.2rem; bottom:4.6rem; width:min(26rem, calc(100vw - 2.4rem)); height:min(30rem, calc(100vh - 6rem)); background:var(--card); border:1px solid var(--line); border-radius:12px; display:flex; flex-direction:column; z-index:1100; box-shadow:0 6px 24px rgba(0,0,0,.55); }
.chat-head { display:flex; align-items:center; gap:.4rem; padding:.55rem .8rem; border-bottom:1px solid var(--line); }
.chat-head .grow { flex:1; }
.chat-msgs { flex:1; overflow-y:auto; padding:.6rem .8rem; }
.msg { margin-bottom:.6rem; font-size:.9rem; }
.msg.user b { color:var(--acc); }
.msg.assistant b { color:#7bd88f; }
.msg.assistant.offline { color:var(--dim); }
.msg div { white-space:pre-wrap; }
.chat-input { display:flex; gap:.4rem; padding:.5rem .6rem; border-top:1px solid var(--line); }
.mini { font-size:.75rem; padding:.15rem .5rem; }
