:root { color-scheme: light; --ink:#14213d; --muted:#687087; --line:#e6e9f0; --panel:#fff; --blue:#2457f5; --blue2:#6f8cff; --bg:#f5f7fb; --green:#087f5b; --orange:#c56a10; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.topbar { height:68px; padding:0 max(24px, calc((100vw - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:760; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#fff; background:linear-gradient(145deg,var(--blue),var(--blue2)); box-shadow:0 7px 18px #2457f533; }
.identity { display:flex; align-items:center; gap:10px; }
select,input,textarea { width:100%; border:1px solid #d9deea; border-radius:10px; background:#fff; padding:10px 12px; color:var(--ink); outline:none; }
select:focus,input:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px #2457f517; }
main { width:min(1120px, calc(100% - 40px)); margin:auto; padding:36px 0 70px; }
.hero { display:flex; justify-content:space-between; align-items:end; gap:24px; margin:18px 0 30px; }
.hero h1 { font-size:clamp(30px,5vw,48px); line-height:1.08; letter-spacing:-.04em; margin:5px 0 10px; }
.hero p { color:var(--muted); margin:0; }
.eyebrow { font-size:12px!important; letter-spacing:.16em; font-weight:800; color:var(--blue)!important; }
.tabs { display:flex; gap:28px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.tab { padding:13px 2px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--muted); font-weight:650; }
.tab.active { color:var(--blue); border-color:var(--blue); }
.button { border:1px solid #d9deea; border-radius:10px; background:#fff; padding:10px 16px; color:var(--ink); font-weight:650; }
.button:hover { transform:translateY(-1px); box-shadow:0 5px 16px #22315b12; }
.button.primary { background:var(--blue); color:#fff; border-color:var(--blue); }
.button.danger { color:#bf2c24; }
.button.small { padding:7px 11px; font-size:13px; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:0 6px 22px #2d3f7010; }
.poll-card { display:flex; flex-direction:column; min-height:210px; }
.poll-card h3 { margin:12px 0 8px; font-size:19px; }
.poll-card p { color:var(--muted); margin:0; }
.poll-card footer { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; align-items:center; }
.badge { display:inline-flex; align-items:center; width:max-content; padding:5px 9px; border-radius:999px; background:#eef2ff; color:#3553bd; font-size:12px; font-weight:750; }
.badge.ACTIVE { background:#e4f7ef; color:var(--green); }.badge.ENDED,.badge.ARCHIVED { background:#eef0f4; color:#5f6572; }.badge.SCHEDULED { background:#fff3df;color:var(--orange); }
.section-head { display:flex; justify-content:space-between; align-items:center; margin:24px 0 14px; }.section-head h2 { margin:0; }
.empty { text-align:center; padding:70px 20px; border:1px dashed #ccd2df; border-radius:16px; color:var(--muted); }
.loading { padding:50px; text-align:center; color:var(--muted); }
.poll-detail { max-width:820px; margin:auto; }.back { border:0;background:transparent;color:var(--blue);padding:0 0 16px; }.rich { color:#3e4658;line-height:1.7; }
.rules { display:flex; flex-wrap:wrap; gap:10px; padding:14px; background:#f6f8fe; border-radius:12px; margin:18px 0; }.rules span { font-size:13px; }
.options { display:grid; gap:10px; margin:18px 0; }.option { display:flex; align-items:flex-start; gap:12px; border:1px solid var(--line); border-radius:12px; padding:14px; cursor:pointer; }.option:has(input:checked) { border-color:var(--blue); background:#f4f6ff; }.option input { width:auto;margin-top:4px; }.option strong { display:block; }.option small { color:var(--muted); }
.detail-actions { display:flex; justify-content:space-between; align-items:center; margin-top:20px; }.counter { color:var(--muted); }.counter b { color:var(--blue);font-size:20px; }
.stats { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}.stat { background:#f7f8fb;border-radius:12px;padding:14px;}.stat b { display:block;font-size:24px;margin-top:4px;}.stat span { color:var(--muted);font-size:12px; }
table { width:100%;border-collapse:collapse; }th,td { text-align:left;padding:11px;border-bottom:1px solid var(--line); }th { color:var(--muted);font-size:12px; }
.actions { display:flex; flex-wrap:wrap; gap:8px; }
#flash { position:fixed;right:24px;top:82px;z-index:20; }.toast { padding:12px 16px;border-radius:12px;color:white;background:#19213a;box-shadow:0 10px 30px #17203a44;margin-bottom:8px; }.toast.error { background:#b92d2d; }
dialog { width:min(720px,calc(100% - 24px)); border:0;border-radius:18px;padding:0;box-shadow:0 25px 80px #14213d44; }dialog::backdrop { background:#14213d77;backdrop-filter:blur(2px); }dialog form { padding:24px; }.dialog-head { display:flex;justify-content:space-between;align-items:start; }.dialog-head h2 { margin:3px 0 20px; }.icon-button { border:0;background:transparent;font-size:28px;color:var(--muted); }.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }.form-grid label { font-size:13px;font-weight:650; }.form-grid input,.form-grid textarea,.form-grid select { margin-top:7px; }.span-2 { grid-column:span 2; }.check { display:flex;align-items:center;gap:9px; }.check input { width:auto;margin:0; }.dialog-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line); }
.admin-list { display:grid;gap:12px; }.admin-row { display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center; }.admin-row h3 { margin:0 0 5px; }.meta { color:var(--muted);font-size:13px; }.candidate-list { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.candidate-list h3 { margin:0 0 6px; }
.library-field { border:1px solid var(--line);border-radius:12px;padding:12px; }.library-field legend { font-size:13px;font-weight:650;padding:0 5px; }.library-options { display:flex;flex-wrap:wrap;gap:8px 16px; }.library-options label { display:flex;align-items:center;gap:7px;font-weight:500; }.library-options input { width:auto;margin:0; }
@media (max-width:800px) { .grid,.candidate-list { grid-template-columns:1fr; }.stats { grid-template-columns:1fr 1fr;}.admin-row { grid-template-columns:1fr; }.hero { align-items:flex-start;flex-direction:column;}.identity .muted { display:none; } }
@media (max-width:520px) { main { width:calc(100% - 24px);padding-top:22px;}.topbar { padding:0 12px;}.brand span:last-child { display:none;}.form-grid { grid-template-columns:1fr;}.span-2 { grid-column:span 1;}.tabs { gap:18px;}.stats { grid-template-columns:1fr 1fr;} }
