:root{--bg:#f6f7fb;--card:#fff;--ink:#171b31;--muted:#71788e;--navy:#11152c;--purple:#6d5efc;--purple2:#493ce2;--soft:#f0efff;--border:#e8e9f1;--gold:#dfbc82;--green:#117f66;--red:#b33e48;--shadow:0 18px 50px rgba(22,26,57,.055);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}p{line-height:1.65}h1,h2,h3{letter-spacing:-.035em;margin:0}h2{font-size:clamp(24px,3vw,34px)}.muted{color:var(--muted)}.hidden{display:none!important}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border)}.topbar-inner{max-width:1310px;margin:auto;height:100%;padding:0 32px;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--navy);font-size:20px;font-weight:850;letter-spacing:-.07em;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.19em;color:#8b8ea2;font-weight:800;margin-top:6px}.brand-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#f2ddb6;font-size:17px;letter-spacing:-.07em}.top-link{color:#53596c;font-size:13px;font-weight:650}.top-link:hover{color:var(--purple)}.page-wrap{max-width:1310px;margin:0 auto;padding:36px 32px 60px}.hero{position:relative;overflow:hidden;min-height:355px;display:flex;align-items:center;border-radius:26px;background:linear-gradient(105deg,#10142d,#1b1b46 68%,#2a2167);color:white;padding:56px 65px}.hero-copy{position:relative;z-index:1;max-width:670px}.eyebrow,.section-number{font-size:11px;font-weight:850;letter-spacing:.16em;color:#776afc}.hero .eyebrow{color:#d4c08f;display:flex;align-items:center;gap:10px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d8bd84;box-shadow:0 0 0 5px rgba(216,189,132,.15)}.hero h1{font-size:clamp(36px,5vw,61px);line-height:1.12;margin:22px 0 18px;font-weight:790}.hero h1 em{font-style:normal;color:#c6b0ff}.hero-text{max-width:580px;color:#c3c6d8;font-size:15px;margin:0}.hero-text strong{color:#fff}.hero-stats{display:flex;align-items:center;gap:12px;margin-top:28px;color:#d1d2e0;font-size:12px}.stat-num{font-size:28px;font-weight:850;letter-spacing:-.04em;color:#fff}.stat-divider{height:24px;width:1px;background:#565870;margin:0 12px}.hero-art{position:absolute;right:2%;top:0;bottom:0;width:450px;display:flex;align-items:center;justify-content:center;opacity:.75}.art-ring{position:absolute;border-radius:50%;border:1px solid rgba(211,200,254,.15)}.art-ring.outer{width:420px;height:420px}.art-ring.inner{width:310px;height:310px;border-color:rgba(211,200,254,.25)}.art-big{font-size:225px;line-height:1;font-weight:800;letter-spacing:-.15em;transform:translateX(-18px);color:#9b88fd;text-shadow:0 18px 45px rgba(20,11,55,.45)}.art-small{position:absolute;right:6%;bottom:19%;font-weight:800;letter-spacing:.2em;font-size:12px;line-height:1.5;color:#d6c2b3}.ballot-panel{padding:44px 0 0}.ballot-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.ballot-heading h2{margin-top:12px}.ballot-heading p{margin:8px 0 0;font-size:13px}.progress-info{text-align:right;min-width:110px}.progress-info strong{font-size:27px;letter-spacing:-.05em}.progress-info small{display:block;color:#82889c;font-size:11px}.progress-track{margin-top:24px;height:7px;background:#e5e5f1;border-radius:99px;overflow:hidden}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#7668fb,#9d7dff);border-radius:inherit;transition:width .2s}.toolbar{margin:28px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}.searchbox{height:54px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:0 18px;display:flex;align-items:center;gap:12px;flex:1;max-width:680px;box-shadow:0 5px 20px rgba(0,0,0,.018)}.searchbox:focus-within{border-color:#8d81ff;box-shadow:0 0 0 3px rgba(118,104,251,.12)}.searchbox input{width:100%;border:0;outline:0;color:var(--ink);font-size:13px;background:transparent}.searchbox input::placeholder{color:#a0a5b4}.search-icon{font-size:25px;color:#969bb0;transform:translateY(-2px)}kbd{font-size:9px;letter-spacing:.08em;color:#aaaebe;border:1px solid #e5e7ed;padding:6px 8px;border-radius:5px;white-space:nowrap}.filter-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:#50576d;font-weight:600;white-space:nowrap}.filter-toggle input{accent-color:var(--purple);width:16px;height:16px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.candidate-card{background:#fff;border:1px solid #e8e8f0;border-radius:18px;padding:25px 26px 23px;min-width:0;box-shadow:var(--shadow);transition:border-color .18s,transform .18s}.candidate-card.is-rated{border-color:#dcd5ff}.candidate-card:hover{transform:translateY(-2px)}.candidate-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.candidate-number{color:#a4a4b7;font-size:11px;font-weight:800;letter-spacing:.15em}.status-pill{font-size:10px;font-weight:800;color:#999eb0;background:#f4f5f9;border-radius:100px;padding:7px 10px;white-space:nowrap}.is-rated .status-pill{background:#eaf8f1;color:#278b70}.candidate-card h3{font-size:20px;letter-spacing:-.03em;margin:13px 0 7px}.candidate-title{font-size:13px;color:#595e73;font-weight:650;line-height:1.5}.candidate-company{font-size:12px;color:var(--purple2);font-weight:700;margin-top:6px}.description{font-size:12.5px;color:#72788a;line-height:1.75;margin:15px 0 17px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:pre-line}.description.expanded{display:block}.read-more{background:none;border:0;color:#6558ed;font-weight:750;font-size:11px;padding:0;margin-top:-5px;margin-bottom:20px}.read-more:hover{text-decoration:underline}.scoring-block{border-top:1px solid #f0f0f4;padding-top:17px}.score-label{display:flex;justify-content:space-between;margin-bottom:12px;font-size:11px;color:#8b90a0;font-weight:750;letter-spacing:.03em}.score-label .score-result{color:#6e60f9}.score-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.score-btn{min-width:0;aspect-ratio:1/1;max-height:46px;border:1px solid #e7e9f2;border-radius:9px;background:#f9fafe;color:#555b70;font-size:12px;font-weight:750;transition:background .13s,color .13s,border-color .13s}.score-btn:hover{border-color:#8b7fff;background:#f0edff}.score-btn.selected{background:#6e5dfe;border-color:#6e5dfe;color:#fff;box-shadow:0 4px 12px rgba(110,93,254,.20)}.score-hints{display:flex;justify-content:space-between;margin-top:8px;color:#a4a7b5;font-size:10px}.submit-bar{margin-top:25px;padding:22px 28px;background:#fff;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow)}.submit-bar strong{font-size:15px}.submit-bar p{color:#868b9d;font-size:11px;margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:11px;padding:15px 23px;font-size:13px;font-weight:780;transition:all .15s;white-space:nowrap}.btn.primary{background:var(--purple);color:#fff}.btn.primary:hover:not(:disabled){background:var(--purple2);box-shadow:0 8px 20px rgba(109,94,252,.24)}.btn.primary:disabled{background:#d0d0dc;cursor:not-allowed;color:#fff}.btn.outline{border-color:#e1e3ec;background:#fff;color:#555970}.btn.outline:hover{border-color:#aea9f5}.btn.small{padding:9px 12px;font-size:11px;gap:6px}.btn.danger-btn{background:#fff2f2;color:#ae3d45}.site-footer{max-width:1310px;margin:0 auto;padding:25px 32px 40px;display:flex;justify-content:space-between;gap:15px;color:#a4a8b6;font-size:11px}.site-footer a{color:#777da0}.alert{padding:14px 17px;border-radius:12px;background:#edecff;color:#4d46a2;margin:15px 0;font-size:13px;line-height:1.6}.alert.danger{background:#fff0f0;color:#a33b45}.alert.warning{background:#fff7e8;color:#865a1c}.loading,.empty-state{text-align:center;padding:60px 20px;color:#8d92a3;background:white;border-radius:16px;grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:rgba(13,16,36,.72);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{width:min(100%,490px);background:white;border-radius:21px;padding:38px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.2)}.modal h2{font-size:29px;margin:13px 0}.modal p{font-size:13px;color:#73798a;line-height:1.7}.modal-close{position:absolute;right:20px;top:14px;border:0;background:transparent;color:#aaa;font-size:27px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.success-screen{border-radius:20px;background:#fff;padding:70px 35px;text-align:center;box-shadow:var(--shadow)}.success-icon{width:74px;height:74px;border-radius:50%;margin:0 auto 20px;background:#e8f9ef;color:#198963;display:flex;align-items:center;justify-content:center;font-size:34px}.success-screen h2{margin-bottom:15px}.success-screen p{max-width:520px;margin:auto;color:#787e92}.install-body{background:#f6f7fb}.install-shell{max-width:850px;margin:45px auto;padding:0 24px}.install-panel{background:white;border-radius:24px;margin:25px 0;padding:45px;box-shadow:var(--shadow)}.install-panel h1{font-size:44px;margin:10px 0}.install-panel>p{margin:0 0 28px}.install-form h3{font-size:16px;margin:30px 0 16px;padding-top:20px;border-top:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid label,.full-label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:700;color:#555b6f}.form-grid input,.full-label input,.full-label select,.login-input,.form-input{padding:13px 14px;border:1px solid #dfe2eb;border-radius:9px;background:#fff;outline:none;color:#171b31;width:100%}.form-grid input:focus,.full-label input:focus,.login-input:focus{border-color:#9085ff}.install-form>.btn{margin-top:30px}.footnote{font-size:12px;color:#888da0;text-align:center}.privacy-page{max-width:850px;padding:65px 32px 90px;margin:auto}.privacy-page h1{font-size:42px;margin:14px 0 25px}.privacy-page h2{font-size:21px;margin:35px 0 8px}.privacy-page p{font-size:14px;color:#596071}.privacy-page a{color:var(--purple2)}
/* Admin */
.admin-shell{max-width:1320px;margin:auto;padding:42px 32px 65px}.admin-bar{background:#11162d;color:#fff}.admin-bar .brand{color:#fff}.admin-bar .brand-icon{background:#302c57}.admin-bar .top-link{color:#d4d5ea}.admin-bar form{display:inline}.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-head h1{font-size:40px;margin:8px 0}.admin-head p{margin:0;color:#85899d;font-size:13px}.admin-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:29px 0}.metric-card{background:#fff;padding:22px;border:1px solid var(--border);border-radius:16px}.metric-card small{color:#8b90a2;font-size:11px;font-weight:700}.metric-card strong{display:block;font-size:33px;letter-spacing:-.05em;margin:10px 0 0}.metric-card .metric-caption{display:block;font-size:11px;color:#969aaa;margin-top:3px}.admin-nav{display:flex;gap:7px;border-bottom:1px solid #e4e6f0;margin:28px 0 22px}.admin-nav a{padding:13px 20px;font-size:13px;font-weight:750;color:#7c8092;border-bottom:3px solid transparent}.admin-nav a.active{color:#6757ea;border-bottom-color:#7769fd}.admin-section{background:#fff;border:1px solid var(--border);border-radius:18px;padding:27px;box-shadow:var(--shadow)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.section-header h2{font-size:23px}.section-header p{font-size:12px;color:#8a90a0;margin:6px 0 0}.table-scroll{overflow:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.data-table th{padding:12px 12px;border-bottom:1px solid #e7e9f2;color:#9397a9;text-transform:uppercase;letter-spacing:.08em;font-size:10px;text-align:left;background:#fbfcff}.data-table td{padding:14px 12px;border-bottom:1px solid #eff0f5;color:#55596c}.data-table tbody tr:hover{background:#fafaff}.data-table .td-name{font-weight:750;color:#282d45}.data-table .td-score{font-size:15px;font-weight:800;color:#6458ea}.data-table .td-rank{color:#9ca0b2;font-weight:800}.rank-first{color:#a67634!important}.badge-soft{display:inline-flex;padding:5px 9px;font-size:10px;font-weight:750;border-radius:99px;background:#f0f2f8;color:#858a9e}.badge-soft.ok{background:#e8f8ef;color:#238267}.badge-soft.warn{background:#fff4d9;color:#a66f23}.badge-soft.no{background:#ffeded;color:#ba4550}.inline-form{display:inline-flex;align-items:center;gap:6px}.weight-input{width:65px!important;padding:7px!important;font-size:12px}.detail-link{color:#6559e8;font-weight:700;font-size:11px}.admin-copy{max-width:780px;font-size:13px;color:#73798c;line-height:1.75}.admin-upload{max-width:650px;padding:22px;background:#fafaff;border:1px dashed #d9d8ef;border-radius:14px;margin-top:25px}.admin-upload input[type=file]{display:block;padding:17px;background:white;border:1px solid var(--border);width:100%;border-radius:9px;margin:12px 0 18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setting-box{padding:24px;background:#f9faff;border-radius:12px;border:1px solid #eff0f7}.setting-box h3{font-size:18px;margin:0 0 10px}.setting-box p{font-size:12px;color:#83889a}.login-wrap{max-width:460px;margin:100px auto;padding:24px}.login-panel{padding:36px;background:white;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);margin-top:25px}.login-panel h1{font-size:30px;margin:0 0 12px}.login-panel p{font-size:13px;color:#898da0;margin:0 0 24px}.login-panel label{font-size:12px;font-weight:750;color:#52586a}.login-panel .login-input{margin:8px 0 20px}.login-panel .btn{width:100%}.file-hint{font-size:12px;color:#969ba9}.ip-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;white-space:nowrap;color:#636d8c}.empty-small{padding:35px;text-align:center;color:#959aaa}.result-search{width:260px;max-width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:9px;font-size:12px}.admin-tab-section+.admin-tab-section{margin-top:22px}
@media(max-width:1000px){.hero{padding:48px}.hero-art{right:-110px;opacity:.34}.admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-card{padding:21px}.score-row{gap:4px}}@media(max-width:720px){.topbar{height:66px}.topbar-inner{padding:0 18px}.page-wrap{padding:18px 16px 45px}.hero{padding:37px 27px;min-height:295px;border-radius:20px}.hero h1{font-size:38px}.hero-art{opacity:.17;right:-220px}.hero-text{font-size:13px}.ballot-panel{padding-top:32px}.ballot-heading h2{font-size:25px}.candidate-grid{grid-template-columns:1fr;gap:14px}.candidate-card{padding:23px}.toolbar{align-items:stretch;flex-direction:column;gap:15px}.searchbox{max-width:none}.submit-bar{align-items:stretch;flex-direction:column;padding:20px}.submit-bar .btn{width:100%}.site-footer{padding:23px 18px 35px;flex-direction:column}.admin-shell{padding:27px 15px 45px}.admin-head{align-items:start;flex-direction:column}.admin-head h1{font-size:30px}.admin-section{padding:18px}.admin-nav{overflow:auto}.admin-nav a{padding:12px}.settings-grid,.form-grid{grid-template-columns:1fr}.install-shell{margin:20px auto;padding:0 15px}.install-panel{padding:25px}.modal{padding:26px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.privacy-page{padding:35px 20px}.privacy-page h1{font-size:34px}}@media(max-width:390px){.score-btn{font-size:11px;border-radius:6px}.candidate-card{padding:18px}.score-row{gap:3px}.searchbox kbd{display:none}}

.admin-header-actions{display:flex;gap:25px;align-items:center}.logout-link{background:none;border:0;cursor:pointer}.setting-title{margin-top:15px}.settings-form{display:grid;gap:11px}

/* Részleges pontozás: tévesen kiválasztott pontszám visszavonása */
.clear-score{display:inline-block;margin-top:14px;padding:7px 0;border:0;background:transparent;color:#71788e;font-size:12px;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.clear-score:hover,.clear-score:focus-visible{color:#b33e48}
