:root{--navy:#0b2740;--navy2:#113c60;--blue:#1772b8;--bg:#f4f7fa;--card:#fff;--line:#dce4eb;--text:#172033;--muted:#66788a;--green:#087443;--red:#b42318;--amber:#a15c00;--shadow:0 8px 30px rgba(11,39,64,.09);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071b2d,#12466f);padding:24px}.login-card{width:min(440px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.25);display:grid;gap:14px}.login-card h1{margin:0;font-size:30px}.login-card h2{margin:-8px 0 0;color:var(--navy2);font-size:19px}.login-card p{color:var(--muted);margin:0 0 10px}.login-card label,.public-form label,.form-card label{display:grid;gap:6px;font-weight:650;font-size:13px;color:#314559}.login-card input,.public-form input,.public-form select,.public-form textarea,.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #c9d4df;border-radius:10px;padding:11px 12px;background:white;color:var(--text);outline:none}.login-card input:focus,.public-form input:focus,.public-form select:focus,.public-form textarea:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,114,184,.11)}button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;background:#e9eff4;color:var(--navy);font-weight:700}button:hover{filter:brightness(.98)}button.primary,.login-card>button{background:var(--navy2);color:white}.brand-mark{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#123f64,#19a0d2);color:white;font-weight:900;letter-spacing:-1px}.brand-mark.small{width:40px;height:40px;border-radius:11px}.error{color:var(--red);font-size:13px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:white;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px}.brand strong,.brand span{display:block}.brand span{font-size:12px;opacity:.7;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:transparent;color:#d6e1ea;text-align:left;border-radius:9px;padding:11px 12px;font-weight:600}.sidebar nav button:hover,.sidebar nav button.active{background:#17496e;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;display:grid;gap:8px;font-size:12px;color:#c7d4df}.sidebar .ghost{background:rgba(255,255,255,.08);color:white}.topbar{background:white;border-bottom:1px solid var(--line);padding:19px 28px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:24px;color:var(--navy)}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.top-actions{margin-left:auto}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.pill.test{background:#fff0cc;color:#7d5200}.pill.ok{background:#dff6e9;color:var(--green)}.pill.bad{background:#fee4e2;color:var(--red)}.pill.info{background:#e2f0fb;color:#145c91}.pill.muted{background:#edf1f4;color:#536474}.content{padding:26px;max-width:1540px;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat span{color:var(--muted);font-size:12px}.stat b{display:block;font-size:30px;color:var(--navy);margin-top:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.card h2,.card h3{margin:0 0 14px;color:var(--navy)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{margin:0}.card-head-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:680px;background:white}th,td{padding:10px 11px;border-bottom:1px solid #e7edf2;text-align:left;font-size:12px;vertical-align:top}th{background:#f6f9fb;color:#516779;font-size:11px;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}tr:last-child td{border-bottom:0}tr.clickable:hover td{background:#f6faff;cursor:pointer}.muted{color:var(--muted)}.danger{color:var(--red)}.success{color:var(--green)}.warning{color:var(--amber)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:white}.toolbar .spacer{flex:1}.empty{padding:26px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(4,18,30,.62);display:grid;place-items:center;padding:20px;z-index:50}.modal-box{position:relative;width:min(980px,96vw);max-height:92vh;overflow:auto;background:white;border-radius:18px;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.modal-close{position:absolute;right:13px;top:13px;width:36px;height:36px;padding:0;font-size:23px;background:#eef3f7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:1/-1}.form-card{display:grid;gap:15px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}.check-line{display:flex!important;align-items:flex-start;gap:9px!important;font-weight:500!important}.check-line input{width:auto!important;margin-top:3px}.check-list{display:grid;gap:8px}.check-row{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px;border-radius:10px;background:#f6f8fa}.check-row.bad{background:#fff1f0}.toast{position:fixed;right:22px;bottom:22px;background:#132e47;color:white;border-radius:12px;padding:12px 16px;z-index:100;box-shadow:var(--shadow);max-width:420px}.calendar-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.cal-table{border-collapse:separate;border-spacing:0;min-width:1200px}.cal-table th,.cal-table td{min-width:42px;text-align:center;padding:8px 4px;border-right:1px solid #edf1f4}.cal-table th:first-child,.cal-table td:first-child{position:sticky;left:0;z-index:4;min-width:190px;text-align:left;background:white}.cal-table th:first-child{background:#f6f9fb}.cal-cell{height:44px;position:relative}.cal-dot{display:block;border-radius:6px;padding:3px 2px;font-size:9px;margin:1px;background:#e1effa;color:#155c8f}.cal-dot.assigned{background:#dff6e9;color:#087443}.cal-dot.unavailable{background:#fee4e2;color:#9e251a}.cal-dot.available{background:#e8f5ec;color:#14713e}.public-body{background:#eef3f7}.public-wrap{width:min(1020px,calc(100% - 32px));margin:30px auto 50px}.public-head{background:linear-gradient(135deg,#0b2740,#164f78);color:white;border-radius:20px;padding:28px;display:flex;gap:20px;align-items:center;box-shadow:var(--shadow)}.public-head h1{margin:4px 0 8px;font-size:29px}.public-head p{margin:0;color:#dbe8f0;line-height:1.45}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:#8ed2f2}.public-form{background:white;margin-top:18px;border-radius:20px;padding:28px;box-shadow:var(--shadow);display:grid;gap:18px}.section-title{border-bottom:1px solid var(--line);padding:6px 0 10px;display:flex;justify-content:space-between;gap:12px;color:var(--navy)}.section-title span{font-size:12px;color:var(--muted)}.primary.big{padding:14px 18px;font-size:16px}.public-wrap footer{text-align:center;color:var(--muted);font-size:11px;padding:22px}.result-ok{padding:15px;border-radius:11px;background:#e8f7ef;color:#12643c}.result-bad{padding:15px;border-radius:11px;background:#fff0ef;color:#9e251a}.copybox{display:flex;gap:8px}.copybox input{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px}.mobile-menu{display:none}.status-beerkezett{color:#145c91}.status-jovahagyva{color:var(--green);font-weight:700}.status-no_go{color:var(--red);font-weight:700}.status-teljesitve{color:#536474}.detail-kv{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}.detail-kv div{padding:8px;border-bottom:1px solid var(--line)}.detail-kv div:nth-child(odd){font-weight:700;color:#4a6174;background:#f7f9fb}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{padding:12px 14px;border-radius:10px;background:#eef6fb;color:#23526e;font-size:12px}.notice.warn{background:#fff3d9;color:#805300}.notice.bad{background:#fff0ef;color:#982b21}
@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:inline-block}.stats{grid-template-columns:repeat(2,1fr)}.grid2,.split{grid-template-columns:1fr}.topbar{padding:16px}.content{padding:16px}.form-grid{grid-template-columns:1fr}.public-head{align-items:flex-start}.public-form{padding:20px}.public-wrap{width:min(100% - 20px,1020px);margin-top:10px}.section-title{display:grid}.top-actions{display:none}}@media(max-width:560px){.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat b{font-size:24px}.public-head{display:grid;padding:20px}.public-head h1{font-size:23px}.card{padding:13px}.modal{padding:0}.modal-box{width:100vw;height:100vh;max-height:none;border-radius:0;padding:20px 14px}.detail-kv{grid-template-columns:120px 1fr}}
