:root{
  --bg:#f6f4ef;
  --panel:#fffaf2;
  --card:#ffffff;
  --text:#26221d;
  --muted:#766f66;
  --line:#e7dfd3;
  --primary:#7a3f22;
  --primary-dark:#5c2d18;
  --danger:#b3261e;
  --ok:#1f7a45;
  --warning:#b26a00;
  --info:#2867a8;
  --shadow:0 10px 30px rgba(46,34,20,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.app-shell{min-height:100vh;display:flex}
.sidebar{width:280px;background:#241914;color:#fff;padding:22px;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;gap:22px;z-index:10}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.brand-mark{width:44px;height:44px;border-radius:14px;background:#c58d5b;display:grid;place-items:center;font-weight:800;color:#241914}
.brand small{display:block;color:#cdbfb4;margin-top:3px}
.sidebar nav{display:flex;flex-direction:column;gap:6px}
.sidebar nav a,.logout{display:block;padding:11px 12px;border-radius:12px;color:#efe7dc;text-decoration:none;font-weight:600}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.11)}
.logout{margin-top:auto;background:rgba(255,255,255,.08)}
.content{margin-left:280px;width:calc(100% - 280px);padding:28px;max-width:1680px}
.content.full{margin:0;width:100%;max-width:none;padding:0}
.topbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px}
.topbar small{display:block;color:var(--muted)}
.mobile-menu{display:none;border:0;background:#fff;border-radius:10px;padding:10px 12px;font-size:20px;box-shadow:var(--shadow)}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
h1{font-size:32px;margin:0 0 6px;letter-spacing:-.03em}
h2{font-size:20px;margin:0 0 14px}
h3{font-size:16px;margin:12px 0 6px}
p{line-height:1.55}.page-head p,.muted{color:var(--muted);margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.metric span{display:block;color:var(--muted);font-weight:700}.metric strong{display:block;font-size:34px;margin:8px 0}.metric small{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-col.wide-left{grid-template-columns:1.3fr .7fr}
.rowline{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.rowline:last-child{border-bottom:0}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.alert{border-radius:12px;padding:10px 12px;margin:8px 0;background:#f4f4f4;border-left:4px solid #999}.alert.danger{background:#fff1ef;border-left-color:var(--danger)}.alert.warning{background:#fff7e6;border-left-color:var(--warning)}.alert.info{background:#eef6ff;border-left-color:var(--info)}
.flash{padding:12px 14px;border-radius:14px;margin-bottom:16px;font-weight:700}.flash.success{background:#eaf7ef;color:#11552d}.flash.error{background:#ffeceb;color:#8a1812}
.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:hover{text-decoration:none;background:#faf7f1}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.small{padding:7px 10px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.tiny{border:0;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer;background:#eee}.tiny.ok{background:#e5f5eb;color:var(--ok)}.tiny.danger{background:#ffe9e7;color:var(--danger)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.single{grid-template-columns:1fr}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:13px;color:#4c453d}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:#fff;font:inherit;color:var(--text)}textarea{min-height:82px;resize:vertical}.toolbar,.mini-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.mini-form label{min-width:150px}.mini-form input,.mini-form select{min-width:120px}.inline{display:inline-flex;gap:6px;align-items:center;margin:2px}.decision-form input{width:150px}.mt{margin-top:12px}.check{flex-direction:row;align-items:center;gap:7px}.check input{width:auto}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.pill{display:inline-flex;border-radius:999px;padding:4px 8px;background:#f0ece5;font-size:12px;font-weight:800}.pill.ok{background:#e5f5eb;color:var(--ok)}.pill.muted{background:#eee;color:#777}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekdays strong{text-align:center;color:var(--muted);font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-cell{min-height:170px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:9px;transition:.15s}.day-cell.other-month{opacity:.38}.day-cell.drop-target{outline:3px dashed var(--primary);background:#fff7ed}.day-head{display:flex;justify-content:space-between;gap:5px;align-items:flex-start;margin-bottom:8px}.day-head strong{font-size:18px}.day-head small{font-size:10px;color:var(--muted);text-align:right}.shift-card{background:#fff;border:1px solid var(--line);border-left:5px solid #ddd;border-radius:12px;padding:8px;margin-bottom:7px;font-size:12px;box-shadow:0 3px 12px rgba(0,0,0,.04);cursor:grab}.shift-card.dragging{opacity:.5}.shift-card form{text-align:right;margin-top:3px}.shift-card small{color:var(--muted)}
.open-shift-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:16px;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}.open-shift-row.sürgős,.open-employee.sürgős{border-color:#ffb4ae;background:#fff7f6}.responses{display:grid;gap:8px}.response-card{border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff}.response-card span,.response-card small{display:block;color:var(--muted)}.public-card{max-width:760px;margin:40px auto}.big-shift,.next-shift{display:flex;flex-direction:column;gap:8px;background:#fff7ed;border:1px solid #ecd0ad;border-radius:18px;padding:18px;margin:12px 0}.big-shift strong,.next-shift strong{font-size:22px}.big-shift span,.next-shift span{font-size:18px;font-weight:800}.open-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.answer-buttons{display:grid;gap:8px}.answer-buttons input{margin-bottom:4px}.employee-hero{background:linear-gradient(135deg,#fff,#fff0dc)}.action-card{font-size:18px;font-weight:900;min-height:110px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text)}
.mobile-calendar{display:grid;gap:10px}.mobile-day{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.mobile-day.today{border-color:var(--primary);box-shadow:0 0 0 3px rgba(122,63,34,.12)}.free-day{display:inline-flex;margin-top:8px;border-radius:999px;background:#eee;color:#666;padding:5px 9px;font-weight:800}.my-shift{margin-top:8px;padding:10px;border-left:4px solid var(--primary);background:#fff8f0;border-radius:12px}.swap-card{border:1px solid var(--line);border-radius:14px;padding:12px;margin:8px 0}.swap-card span{display:block;color:var(--muted);margin:4px 0}.notifications{display:grid;gap:8px}.notification{display:block;border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--text);background:#fff7ed}.notification.seen{background:#fff}.notification strong,.notification span,.notification small{display:block}.notification span{color:var(--muted);margin:4px 0}.profile-card{max-width:800px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top left,#fff3df,#f6f4ef 45%,#eadcca)}.login-card{width:100%;max-width:430px;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:30px}.login-card h1{font-size:34px}.hint{margin-top:14px;color:var(--muted);background:#f7f2ea;border-radius:14px;padding:12px;font-size:13px}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.two-col,.two-col.wide-left{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,1fr)}.calendar-weekdays{display:none}.open-list{grid-template-columns:1fr}.form-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;width:270px}.menu-open .sidebar{transform:translateX(0)}.content{margin-left:0;width:100%;padding:16px}.mobile-menu{display:block;margin-right:auto}.topbar{justify-content:space-between}.page-head{flex-direction:column}.dashboard-grid{grid-template-columns:1fr}.form-grid,.form-grid.compact{grid-template-columns:1fr}.calendar-grid{grid-template-columns:1fr}.day-cell{min-height:auto}.open-shift-row{grid-template-columns:1fr}.mini-form{display:grid;grid-template-columns:1fr}.mini-form label,.mini-form input,.mini-form select{min-width:0}.btn{width:100%;justify-content:center}.actions{width:100%}.actions .btn{flex:1}.content.full{padding:0}.login-card{padding:22px}.big-shift span,.next-shift span{font-size:16px}}
@media print{body{background:#fff}.sidebar,.topbar,.toolbar,.actions,.btn,button,form{display:none!important}.content{margin:0;width:100%;padding:0}.card{box-shadow:none;border:0}.calendar-grid{display:block}.day-cell{break-inside:avoid;margin-bottom:8px}.page-head{margin-bottom:10px}}
.lang-switch{display:inline-flex;gap:4px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.lang-switch a{min-width:34px;text-align:center;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;color:var(--muted);text-decoration:none}
.lang-switch a.active{background:var(--primary);color:#fff}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
select[multiple]{min-height:150px;padding:8px}
.form-grid small{font-weight:600;color:var(--muted)}
@media(max-width:760px){.checkbox-grid{grid-template-columns:1fr}.lang-switch{margin-right:auto}.topbar .lang-switch{order:2;width:auto}.topbar{gap:8px;flex-wrap:wrap}}
.employee-calendar-card{overflow:hidden}
.employee-calendar-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.employee-calendar-title h2{margin:0}
.employee-calendar-title span{border-radius:999px;background:#f0ece5;padding:6px 10px;font-weight:900;color:var(--muted);font-size:13px}
.calendar-help{background:#fff7ed;border-color:#ecd0ad;color:#4b3427}
.employee-calendar-grid .employee-day{min-height:150px}
.employee-day.today{border-color:var(--primary);box-shadow:0 0 0 3px rgba(122,63,34,.12)}
.calendar-my-shift{display:flex;flex-direction:column;gap:3px;cursor:default}
.calendar-my-shift span{font-weight:800;font-size:12px}
.calendar-my-shift small{color:var(--muted);font-size:11px}
@media(max-width:760px){.employee-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.employee-weekdays strong{font-size:11px}.employee-calendar-grid{grid-template-columns:repeat(7, minmax(0, 1fr));gap:4px}.employee-calendar-grid .employee-day{min-height:78px;border-radius:10px;padding:5px}.employee-calendar-grid .day-head{display:block;margin-bottom:3px}.employee-calendar-grid .day-head strong{font-size:14px}.employee-calendar-grid .day-head small{display:none}.employee-calendar-grid .free-day{font-size:0;width:7px;height:7px;border-radius:50%;padding:0;margin-top:4px}.employee-calendar-grid .calendar-my-shift{padding:5px;border-radius:8px;margin-top:4px;font-size:10px}.employee-calendar-grid .calendar-my-shift strong{font-size:10px}.employee-calendar-grid .calendar-my-shift span,.employee-calendar-grid .calendar-my-shift small{display:none}.calendar-help{font-size:13px}}


/* V7 jelenléti rendszer */
.attendance-terminal .login-card{max-width:560px}.terminal-form input{font-size:28px;text-align:center;letter-spacing:4px}.terminal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn.big{font-size:18px;padding:16px 18px}.btn.danger,.tiny.danger{background:#b42318;color:#fff}.attendance-mini{margin-top:6px;padding:6px 8px;border-radius:8px;background:#fff7e6;font-size:12px}.attendance-review{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;align-items:start;border:1px solid #eadfd4;border-radius:12px;padding:12px;margin:10px 0;background:#fffdf9}.attendance-review span,.attendance-review small{display:block;color:#6b5b52;margin-top:4px}.attendance-actions{display:flex;flex-wrap:wrap;gap:8px}.attendance-actions input{flex:1 1 100%;min-width:220px}.pill.warn{background:#fff1c2;color:#7a4d00}.pill.ok{background:#e8f7ea;color:#1b6b35}.pill.muted{background:#eee;color:#666}@media(max-width:760px){.terminal-actions{grid-template-columns:1fr}.attendance-review{grid-template-columns:1fr}.attendance-actions input{min-width:0}}

/* V8 késésfigyelés és admin időkorrekció */
.compact-details summary{cursor:pointer;font-weight:900;color:var(--primary)}
.mini-stack{display:grid;grid-template-columns:1fr;gap:8px;min-width:250px;margin-top:8px}
.mini-stack label{font-size:12px}.mini-stack input{padding:8px 9px;border-radius:9px}.inline-form{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}code{display:inline-block;background:#f6f1e8;border:1px solid var(--line);border-radius:10px;padding:8px 10px;word-break:break-all;color:#4b3427}

/* V9 külön jelenléti terminál */
.terminal-only{background:radial-gradient(circle at top,#fff7e8,#f1e3d2 48%,#e5d1bd);}
.terminal-card{text-align:center;max-width:520px;padding:34px 30px;}
.terminal-card h1{font-size:42px;margin-bottom:22px;}
.terminal-code-label{font-size:18px;text-align:left;letter-spacing:0;}
.terminal-code-label input{margin-top:8px;font-size:36px;text-align:center;letter-spacing:8px;padding:18px;border-radius:18px;}
.terminal-result{margin-top:18px;min-height:54px;}
.terminal-result .flash{font-size:18px;font-weight:900;text-align:center;margin:0;padding:16px 18px;border-radius:18px;}
.terminal-form{display:grid;gap:16px;}
.terminal-actions .btn{min-height:68px;border-radius:18px;}
@media(max-width:760px){.terminal-card{max-width:96vw;padding:28px 20px}.terminal-card h1{font-size:36px}.terminal-code-label input{font-size:32px}.terminal-result .flash{font-size:16px}.terminal-actions .btn{min-height:64px}}

/* V10 napi checklistek */
.checklist-admin-grid,.checklist-employee-list{display:grid;grid-template-columns:1fr;gap:18px}.checklist-admin-card,.checklist-employee-card{overflow:hidden}.checklist-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.checklist-card-head h2{margin-bottom:4px}.checklist-card-head p{color:var(--muted);margin:0}.checklist-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;padding:12px;border-radius:14px;background:#fbf7f0}.checklist-meta span{color:var(--muted);font-size:13px}.checklist-meta strong{color:var(--text)}.task-admin-list{display:grid;gap:8px}.task-admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.task-admin-row small{display:block;color:var(--muted);margin-top:3px}.muted-card{opacity:.55}.weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.employee-target-grid{max-height:210px;overflow:auto}.checklist-task-list{display:grid;gap:10px;margin-top:12px}.checklist-task-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.checklist-task-row.done{background:#f0faf3;border-color:#cdeed8}.task-check-icon{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:#f4efe7;font-size:22px;font-weight:900;color:var(--muted)}.checklist-task-row.done .task-check-icon{background:#dff5e6;color:var(--ok)}.task-main strong,.task-main small{display:block}.task-main small{color:var(--muted);margin-top:4px}.manual-task-box{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.manual-task-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:12px;background:#fff7ed;border:1px solid #ecd0ad;padding:9px 10px;margin:7px 0}.manual-task-row small{color:var(--muted);font-weight:800}.manual-task-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}@media(max-width:900px){.checklist-meta{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-card-head{flex-direction:column}.checklist-task-row{grid-template-columns:34px 1fr}.checklist-task-row form{grid-column:1/-1}.manual-task-form{grid-template-columns:1fr}.manual-task-row{display:block}.task-admin-row{display:block}.task-admin-row form{margin-top:8px}}
