:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#edf3ff;background:#080e1a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top left,#182b49 0,transparent 45%),#080e1a}button,input,select{font:inherit}button{cursor:pointer}.app{max-width:1440px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.logo{font-size:28px;font-weight:900;letter-spacing:-1.5px}.logo b{color:#56e1c1}.sub,.muted{color:#91a1bb}.topright{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill,.btn{border:1px solid #2b3c56;border-radius:12px;padding:10px 14px;background:#162238;color:#eaf3ff}.btn.primary{background:#3f9fff;color:#07152c;border:0;font-weight:800}.btn.green{background:#22d4a3;color:#06251e;border:0;font-weight:800}.btn.danger{color:#ff9ca8}.pill{font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:24px}.panel{background:#101b2d;border:1px solid #26354c;border-radius:20px;padding:20px;box-shadow:0 18px 60px #0003}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{padding:17px;border-radius:17px;background:#101b2d;border:1px solid #26354c}.stat .value{font-size:29px;font-weight:900;margin:5px 0}.stat small{color:#94a9c5}.calhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.calhead h2{margin:0;font-size:24px}.controls{display:flex;gap:7px;align-items:center}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week div{text-align:center;color:#91a1bb;padding:8px 0;font-size:12px;font-weight:700}.day{min-height:103px;border:1px solid #283a54;border-radius:12px;background:#142138;color:#e8f1ff;padding:9px;display:flex;flex-direction:column;align-items:stretch;gap:7px;text-align:left;transition:.15s}.day:hover{border-color:#5abaff;transform:translateY(-1px)}.day.out{opacity:.35}.day.today{outline:2px solid #55b7ff}.num{font-size:13px;font-weight:800}.tag{border-radius:7px;padding:6px 5px;font-size:11px;font-weight:850;letter-spacing:.2px;text-align:center}.day-shift{background:#ffcc61;color:#392600}.night-shift{background:#7888ff;color:#0a1041}.rest-shift{background:#2a986e;color:#e4fff4}.leave-shift{background:#f2a3d8;color:#4a1236}.sick-shift{background:#c7354a;color:#fff}.exempt-shift{background:#47d6cf;color:#062c30}.empty-shift{background:#29384e;color:#aebdd2}.tiny{font-size:10px;color:#a9bbd5;text-align:center}.side h3{margin:0 0 14px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:12px;color:#a6b9d2}.field input,.field select{width:100%;background:#0a1526;border:1px solid #344560;color:#f2f7ff;border-radius:10px;padding:11px}.side .btn{width:100%;margin:5px 0}.note{font-size:12px;line-height:1.55;color:#a5b5cb}.divider{height:1px;background:#2b3a52;margin:18px 0}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend span{font-size:11px;padding:7px 10px;border-radius:7px}.toast{position:fixed;bottom:18px;right:18px;background:#214e4c;color:white;padding:12px 16px;border-radius:12px;display:none;z-index:5;max-width:330px}.app{display:none}body.signed-in .app{display:block}body.signed-in #loginBtn{display:none}body:not(.signed-in) #logoutBtn{display:none}body:not(.signed-in) .auth{display:grid}.auth{display:none;position:fixed;inset:0;background:#030812d9;z-index:9;place-items:center;padding:20px}.auth.show{display:grid}.auth .panel{max-width:400px;width:100%}.auth h2{margin-top:0}.auth .btn{width:100%;margin:6px 0}.footer{font-size:12px;color:#7188a6;margin:18px 0}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffbf55;margin-right:6px}.status-dot.on{background:#28d9a3}@media(max-width:980px){.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.app{padding:12px}.panel{padding:13px}.day{min-height:78px;padding:5px;gap:4px}.days,.week{gap:3px}.tag{font-size:9px;padding:5px 1px}.tiny{font-size:8px}.logo{font-size:23px}.stat .value{font-size:24px}.calhead h2{font-size:20px}}

:root{color:#e8eff9;background:#07101e}
body{background:radial-gradient(ellipse at top left,#172a46 0,transparent 45%),#07101e}
.logo{font-size:27px;letter-spacing:1px;font-weight:850}.logo b{color:#c9a86a}
.top{padding:15px 20px;background:#101d30;border:1px solid #31445d;border-radius:17px}
.panel,.stat{background:#101e31;border-color:#33445b}
.btn.primary{background:linear-gradient(120deg,#d6b678,#b79559);color:#101c2b}
.day:hover{border-color:#d1b070}
.auth{background:#06101c}
.auth:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,13,26,.37),rgba(5,13,26,.25)),url("../teve.png");background-size:cover;background-position:center center;opacity:.76;pointer-events:none}
.auth:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,20,.16),rgba(3,10,20,.34));pointer-events:none}
.auth .panel{position:relative;z-index:1;max-width:435px;background:rgba(12,25,44,.95);border:1px solid #62728a;box-shadow:0 26px 85px #000a;padding:30px;border-radius:20px;backdrop-filter:blur(12px)}
.auth .panel h2{font-size:21px;text-align:center;margin:14px 0 5px;letter-spacing:.2px}
.auth-mark{font-weight:900;font-size:27px;letter-spacing:2px;color:#d7b87b;text-align:center}
.szonyir-shield{width:29px;height:29px;flex:none}.auth-mark{display:flex;align-items:center;justify-content:center;gap:11px}.auth-sub{text-align:center;color:#9eafc7;font-size:10px;letter-spacing:2px;margin-bottom:22px}
.auth .note{text-align:center;color:#acbbd0}
.auth .field label{color:#d4deed;font-weight:650}
.auth .field input{background:#091628;border-color:#40536c;min-height:47px}
.auth #connect{margin-top:16px;padding:14px;letter-spacing:.5px}
@media(max-width:600px){.auth .panel{padding:23px}.auth:before{background-position:55% center}}

/* SZONYIR 1.4 – hivatalos, letisztult naptárfelület */
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#eaf2fc;background:#081526}
body{background:linear-gradient(160deg,#0a2344 0,#09192d 38%,#07111f 100%);min-height:100vh}
.app{max-width:1560px;padding:24px 28px 38px}
.top{border-radius:4px;border:1px solid #2d557e;border-top:4px solid #2d8acb;background:#0b2b50;box-shadow:0 6px 22px #0002;padding:19px 23px}
.logo{font-size:27px;letter-spacing:.65px}.logo b{color:#bcdcf7}.sub{font-size:12px;letter-spacing:.25px;margin-top:5px}
.panel,.stat{border-radius:5px;background:#102740;border:1px solid #355371;box-shadow:0 7px 22px #0002}
.panel{padding:22px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:18px 0}.stat{padding:16px 19px;border-left:3px solid #438cc2}.stat .value{font-size:27px;font-weight:750}.stat small{color:#b3c9df}
.layout{grid-template-columns:minmax(0,1fr) minmax(315px,350px);gap:15px;margin-top:16px}
.calhead{border-bottom:1px solid #355371;padding-bottom:16px;margin-bottom:15px}.calhead h2{font-size:23px;font-weight:750;letter-spacing:.2px}
.btn,.pill{border-radius:4px;background:#173858;border:1px solid #477095;color:#f1f7ff;padding:10px 13px}.btn:hover{background:#24517b;border-color:#79b6e0}.btn.primary{background:#216da8;color:#fff;border:1px solid #4b9bd3}.btn.green{background:#147c77;color:#fff;border:1px solid #42aaa0}.btn.danger{border-color:#8d4b58}
.controls{gap:5px}.controls .btn{min-width:37px;padding:9px 11px}
.legend{gap:7px;margin:4px 0 10px}.legend span{border-radius:3px;padding:7px 9px;font-size:10px;letter-spacing:.35px;font-weight:800}
.week,.days{gap:3px}.week div{background:#173858;border:1px solid #355371;color:#d5e7f9;font-size:12px;padding:11px 0}
.day{min-height:109px;border-radius:3px;background:#132f4d;border:1px solid #365576;padding:9px 7px;gap:8px;transition:background .15s,border-color .15s;min-width:0;overflow:hidden}
.day:hover{transform:none;background:#1c4165;border-color:#74b8e5}.day.out{opacity:.32}.day.today{outline:2px solid #6dc7ff;outline-offset:-2px;background:#194365}.num{font-size:14px;font-weight:800;color:#eaf4ff}
.tag{border-radius:2px;padding:6px 3px;font-size:10px;line-height:1.25;letter-spacing:0;overflow-wrap:anywhere}.tiny{font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.side h3{font-size:16px;font-weight:750;border-left:3px solid #5aa9dc;padding-left:10px;margin:0 0 18px}
.field{min-width:0;gap:7px;margin:14px 0}.field label{font-size:12px;color:#c2d8ed;font-weight:650}.field input,.field select{display:block;max-width:100%;min-width:0;border-radius:3px;border:1px solid #6585a6;background:#0b2036;color:#fff;padding:12px 10px;min-height:46px;font-size:13px}
.field select{padding-right:26px;text-overflow:ellipsis}.field input:focus,.field select:focus{outline:2px solid #6bb8ec;outline-offset:1px}
.field-hint{font-size:11px;color:#b6cee3;line-height:1.5;margin-top:2px}.side .btn{border-radius:3px}.note{line-height:1.65}.divider{background:#365576}
.footer{color:#a4bdd5}.auth .panel{border-radius:7px}
@media(max-width:1150px){.layout{grid-template-columns:minmax(0,1fr) 310px}.day{min-height:93px;padding:7px 4px}.tag{font-size:9px}}
@media(max-width:980px){.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.side{max-width:none}}
@media(max-width:600px){.app{padding:10px}.top{padding:15px 13px}.panel{padding:12px}.stats{gap:7px}.stat{padding:12px 10px}.stat .value{font-size:22px}.calhead{align-items:flex-start}.calhead h2{font-size:20px}.controls{width:100%;justify-content:space-between}.controls .btn{flex:1;padding:8px 5px}.day{min-height:82px;padding:5px 2px;gap:5px}.days,.week{gap:2px}.num{font-size:12px}.tag{font-size:8px;padding:5px 1px}.tiny{font-size:8px}.week div{font-size:10px;padding:8px 0}.legend span{font-size:9px;padding:6px}}

/* SZONYIR 1.5 – kompakt összesítő, kijelölés és karbantartási menü */
.summary-block{margin:16px 0 12px}.summary-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#e9f4ff;font-size:13px;letter-spacing:.3px}.summary-heading strong{font-size:15px}.summary-heading span{color:#91b4d3;font-size:11px;margin-left:8px}
.summary-block .stats{margin:0}.stats-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats-compact .stat{padding:12px 16px}.stats-compact .stat .value{font-size:24px;margin:4px 0}.stats-compact .stat small{font-size:11px}
.summary-details{margin-top:9px;border:1px solid #355371;background:#0d253c;border-radius:4px}.summary-details summary,.admin-details summary{list-style:none;cursor:pointer;color:#cce7fa;font-weight:700;font-size:12px;padding:11px 14px;user-select:none}.summary-details summary::-webkit-details-marker,.admin-details summary::-webkit-details-marker{display:none}.summary-details summary:before,.admin-details summary:before{content:"▸";color:#70b9e9;margin-right:9px}.summary-details[open] summary:before,.admin-details[open] summary:before{content:"▾"}.summary-details summary:hover,.admin-details summary:hover{background:#1b405f}.summary-details summary:focus-visible,.admin-details summary:focus-visible{outline:2px solid #6bb8ec;outline-offset:-2px}
.stats-extra{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 11px 11px}.stats-extra .stat{padding:11px 12px}.stats-extra .stat .value{font-size:21px}
.day.selected{outline:2px solid #f1c968;outline-offset:-2px;border-color:#f1c968;background:#493f2c;box-shadow:inset 0 0 0 1px #b28b42}.day.selected .num{color:#fff0c5}.day.selected:hover{background:#5a4b2e}.day.selected.today{outline:2px solid #f1c968;box-shadow:inset 0 0 0 1px #b28b42,0 0 0 2px #6dc7ff}
.admin-details{border:1px solid #355371;border-radius:4px;background:#0c2136;margin-top:8px}.admin-content{padding:0 12px 12px}.admin-content .note{margin:10px 0}
@media(max-width:980px){.stats-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.summary-heading span{display:none}.stats-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.stats-compact .stat{padding:9px 7px}.stats-compact .stat .value{font-size:17px}.stats-compact .stat small{font-size:9px}.stats-extra{gap:6px;padding:0 7px 7px}.stats-extra .stat .value{font-size:18px}}

/* SZONYIR 1.5.1 – visszafogottabb belépési gomb */
.auth #connect{background:#15466d;border:1px solid #36759e;color:#f3f8ff;box-shadow:none}
.auth #connect:hover{background:#1b567f;border-color:#5b9bc3}
.auth #connect:focus-visible{outline:2px solid #9ccde9;outline-offset:2px}
