.fullscreen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;}
.auth-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--rlg);padding:32px 28px;width:100%;max-width:400px;box-shadow:var(--sh2);}
.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px;}
.auth-brand-icon{width:38px;height:38px;background:var(--accent);border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.auth-brand-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0;}
.auth-brand-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.3px;}
.auth-brand-sub{font-size:11px;color:var(--text3);font-weight:400;margin-top:1px;}
.auth-sep{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--text3);font-size:12px;}
.auth-sep::before,.auth-sep::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-toggle{text-align:center;margin-top:14px;font-size:13px;color:var(--text3);}
.auth-toggle button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-family:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.auth-toggle button:hover{color:var(--accent2);}
.pending-icon{font-size:42px;text-align:center;margin-bottom:12px;opacity:.7;}
.pending-title{font-size:18px;font-weight:700;text-align:center;margin-bottom:8px;}
.pending-sub{font-size:13px;color:var(--text2);text-align:center;margin-bottom:6px;line-height:1.6;}
.pending-email{display:block;text-align:center;font-size:12px;color:var(--text3);margin-bottom:16px;}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto;}

.btn-google{background:var(--surf2);color:var(--text);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;}
.btn-google:hover{border-color:var(--accent);background:var(--surf);}
.g-icon{width:18px;height:18px;flex-shrink:0;}

.outer{max-width:900px;margin:0 auto;padding:0 16px 60px;}

/* ── Header ── */
.header{background:var(--surf);border-bottom:2px solid var(--accent);box-shadow:var(--sh);position:sticky;top:0;z-index:100;margin-bottom:24px;}
.header-inner{max-width:900px;margin:0 auto;padding:0 16px;height:58px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-icon{width:36px;height:36px;background:var(--accent);border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.brand-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0;}
.brand-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px;}
.brand-sub{font-size:11px;color:var(--text3);font-weight:400;margin-top:1px;}
.hdr-right{display:flex;align-items:center;gap:8px;}
.user-chip{display:flex;align-items:center;gap:7px;background:var(--surf2);border:1px solid var(--border);border-radius:20px;padding:4px 11px 4px 5px;font-size:12.5px;color:var(--text2);}
.user-avatar{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.theme-btn{background:var(--surf2);border:1px solid var(--border2);color:var(--text2);border-radius:20px;padding:5px 13px;font-family:'Source Sans 3',sans-serif;font-size:12.5px;font-weight:500;cursor:pointer;transition:all var(--tr);}
.theme-btn:hover{border-color:var(--accent);color:var(--accent);}
.color-theme-btn{background:var(--surf2);border:1px solid var(--border2);color:var(--text2);border-radius:20px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all var(--tr);flex-shrink:0;}
.color-theme-btn:hover{border-color:var(--accent);}
.color-picker-panel{position:absolute;top:62px;right:110px;background:var(--surf);border:1px solid var(--border);border-radius:var(--rlg);padding:14px 16px;box-shadow:var(--sh2);z-index:200;min-width:210px;display:none;}
.color-picker-panel.open{display:block;}
.color-picker-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:10px;}
.color-swatches{display:flex;gap:8px;flex-wrap:wrap;}
.color-swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;}
.color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;}
.color-swatch:hover{transform:scale(1.18);}
.color-swatch.active{border-color:var(--text);box-shadow:0 0 0 3px var(--agl);}
.color-swatch-name{font-size:10px;color:var(--text3);white-space:nowrap;text-align:center;}
.logout-btn{background:none;border:1px solid var(--border2);color:var(--text3);border-radius:20px;padding:5px 11px;font-family:'Source Sans 3',sans-serif;font-size:12px;cursor:pointer;transition:all var(--tr);}
.logout-btn:hover{border-color:var(--red);color:var(--red);}

/* ── Main tabs ── */
.tabs{display:flex;gap:4px;padding:0 16px 0;margin:0 auto 22px;max-width:900px;width:100%;border-bottom:2px solid var(--border);overflow-x:auto;box-sizing:border-box;}
.sb-brand{display:none;}
.sb-overlay{display:none;}
.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text3);font-family:'Source Sans 3',sans-serif;font-size:13.5px;font-weight:500;padding:10px 14px;cursor:pointer;transition:all var(--tr);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;}
.tb-i,.tb-t{pointer-events:none;}
.tab-btn:hover{color:var(--accent);border-bottom-color:var(--border2);}
.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ── Cards ── */
.card{background:var(--surf);border:1px solid var(--border);border-radius:var(--rlg);padding:20px 22px;margin-bottom:14px;box-shadow:var(--sh);}
.card{animation:fu .2s ease both;}
.card:nth-child(2){animation-delay:.04s}
.card:nth-child(3){animation-delay:.08s}
.card:nth-child(4){animation-delay:.12s}
.card-title{font-size:14px;font-weight:700;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:16px;display:flex;align-items:center;gap:7px;letter-spacing:.1px;}
.card-title-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;background:var(--agl);border-radius:4px;}

/* ── Section headers (numbered) ── */
.sec-hd{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);border-bottom:1px dashed var(--border2);padding-bottom:7px;margin-bottom:14px;}
.sec-hd span{color:var(--accent);margin-right:5px;}

/* ── Forms ── */
.field{margin-bottom:13px;}
.field:last-child{margin-bottom:0;}
.lbl{display:block;font-size:11.5px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
input[type="text"],input[type="number"],input[type="date"],input[type="month"],input[type="week"],input[type="email"],input[type="password"],input[type="tel"],input[type="search"],input[list],select,textarea{width:100%;background:var(--surf2);border:1px solid var(--border2);border-radius:var(--rsm);color:var(--text);font-family:'Source Sans 3',sans-serif;font-size:14px;padding:8px 11px;height:34px;outline:none;transition:border-color var(--tr),box-shadow var(--tr),background var(--tr);-webkit-appearance:none;appearance:none;}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:-3px 0 0 var(--accent),0 0 0 2px var(--agl);background:var(--surf);}
textarea{resize:none;overflow:hidden;height:auto;min-height:68px;line-height:1.55;}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
/* g2/g3 1-oszlopos mobilon: ld. ≤600px blokk */
.irow{display:flex;gap:7px;align-items:flex-end;}
.irow .field{flex:1;margin-bottom:0;}
input.pinned,select.pinned{border-left:3px solid var(--accent);}
.shift-btn{flex:1;padding:6px 4px;font-size:13px;justify-content:center;height:34px;}
.shift-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.shift-btn:not(.active){background:var(--bg2);color:var(--text2);border-color:var(--border);}
.shift-toggle.pinned{border-left:3px solid var(--accent);border-radius:var(--rsm);padding-left:2px;}
.idoszak-badge{margin-left:8px;font-size:11px;font-weight:500;color:var(--text3);}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:6px;font-family:'Source Sans 3',sans-serif;font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:var(--rsm);border:1px solid transparent;cursor:pointer;transition:all var(--tr);white-space:nowrap;line-height:1;}
.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none;}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-primary:hover{background:var(--accent2);border-color:var(--accent2);box-shadow:0 2px 8px rgba(21,101,192,.35);}
.btn-ghost{background:var(--surf2);color:var(--text2);border-color:var(--border2);}
.btn-ghost:hover{background:var(--surf3);border-color:var(--border3);color:var(--text);}
.btn-danger{background:var(--redl);color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,transparent);}
.btn-danger:hover{background:color-mix(in srgb,var(--red) 18%,transparent);}
.btn-warning{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#b45309;border-color:color-mix(in srgb,#f59e0b 30%,transparent);}
.btn-warning:hover{background:color-mix(in srgb,#f59e0b 20%,transparent);}
.map-details{background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);}
.map-details>summary.map-summary{padding:9px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);cursor:pointer;user-select:none;list-style:none;display:flex;align-items:center;gap:7px;}
.map-details>summary.map-summary::-webkit-details-marker{display:none;}
.map-details>summary.map-summary::before{content:'▶';font-size:8px;color:var(--text3);transition:transform .18s;}
.map-details[open]>summary.map-summary::before{transform:rotate(90deg);}
.map-details[open]>summary.map-summary{border-bottom:1px solid var(--border);color:var(--text2);}
.map-body{padding:12px;}
.btn-sm{padding:6px 12px;font-size:12.5px;}
.btn-xs{padding:3px 8px;font-size:11.5px;border-radius:3px;}
.btn-sq{width:34px;height:34px;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.btn-full{width:100%;justify-content:center;}

/* ── Data entry rows ── */
.wlist{display:flex;flex-direction:column;gap:6px;}
.wrow{display:flex;align-items:center;gap:7px;background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:6px 9px;transition:border-color var(--tr);}
.wrow:focus-within{border-color:var(--accent);}
.wrow input[type="number"]{flex:1;min-width:55px;background:transparent;border:none;padding:2px 0;box-shadow:none;font-size:14px;}
.wrow input[type="number"]:focus{box-shadow:none;border:none;background:transparent;}
.wrow select{background:var(--surf);border:1px solid var(--border2);border-radius:3px;font-size:12px;padding:3px 22px 3px 6px;color:var(--text2);box-shadow:none;}
.wrow select:focus{border-color:var(--accent);box-shadow:none;}
.wbtns{display:flex;gap:2px;}
.wb{background:none;border:none;cursor:pointer;color:var(--text3);font-size:14px;padding:2px 4px;line-height:1;border-radius:3px;transition:color var(--tr),background var(--tr);}
.wb.a:hover{color:var(--green);background:var(--greenl);}
.wb.d:hover{color:var(--red);background:var(--redl);}

/* ── Toast ── */
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(55px);background:var(--text);color:var(--surf);font-family:'Source Sans 3',sans-serif;font-size:13.5px;font-weight:500;padding:9px 17px 9px 12px;border-radius:100px;box-shadow:var(--sh2);z-index:9999;opacity:0;pointer-events:none;transition:transform .27s cubic-bezier(.34,1.56,.64,1),opacity .2s;display:flex;align-items:center;gap:9px;max-width:350px;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.tdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.toast.success .tdot{background:var(--green);}
.toast.error   .tdot{background:var(--red);}
.toast.info    .tdot{background:var(--accent);}

/* ── View switcher (sub-tab pills) ── */
.vsw{display:inline-flex;background:var(--surf2);border:1px solid var(--border2);border-radius:var(--r);padding:3px;gap:2px;margin-bottom:16px;}
.vbtn{background:transparent;border:none;font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:500;color:var(--text3);padding:6px 18px;border-radius:calc(var(--r) - 2px);cursor:pointer;transition:all var(--tr);}
.vbtn:hover{color:var(--text2);background:var(--surf);}
.vbtn.active{background:var(--accent);color:#fff;font-weight:600;}
.vc{display:none;}
.vc.active{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px;}
.vc .field{margin-bottom:0;}

/* ── Admin subtabs ── */
.subtabs{display:flex;gap:2px;background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:3px;margin-bottom:16px;}
.stab-btn{flex:1;background:transparent;border:none;color:var(--text3);font-family:'Source Sans 3',sans-serif;font-size:12.5px;font-weight:500;padding:6px 8px;border-radius:3px;cursor:pointer;transition:all var(--tr);}
.stab-btn:hover{background:var(--surf);color:var(--text2);}
.stab-btn.active{background:var(--accent);color:#fff;font-weight:600;}
.stab-panel{display:none;}
.stab-panel.active{display:block;}
.pstab-panel{display:none;}
.pstab-panel.active{display:block;}
.jstab-panel{display:none;}
.jstab-panel.active{display:block;}

/* ── Admin user table ── */
.user-tbl{width:100%;border-collapse:collapse;font-size:13px;}
.user-tbl th{text-align:left;color:var(--text3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--surf2);}
.user-tbl td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;}
.user-tbl tr:last-child td{border-bottom:none;}
.user-tbl tr:hover td{background:var(--surf2);}
.role-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;background:var(--agl);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);}
.role-badge.admin{background:color-mix(in srgb,var(--amber) 15%,transparent);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 25%,transparent);}
.role-badge.pending{background:var(--redl);color:var(--red);border-color:color-mix(in srgb,var(--red) 22%,transparent);}

/* ── Permission grid ── */
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;}
@media(max-width:560px){.perm-grid{grid-template-columns:1fr;}}
.perm-check{display:flex;align-items:center;gap:8px;background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:8px 11px;cursor:pointer;transition:border-color var(--tr);}
.perm-check:hover{border-color:var(--accent);}
.perm-check input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;}
.perm-check span{font-size:13px;color:var(--text2);}
.perm-check input:checked + span{color:var(--text);font-weight:600;}

/* ── Role list ── */
.role-item{display:flex;align-items:flex-start;gap:10px;background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:12px 14px;margin-bottom:8px;}
.role-item-info{flex:1;}
.role-item-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;}
.role-item-perms{font-size:11.5px;color:var(--text3);}

/* ── List manager ── */
.lmgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:560px){.lmgrid{grid-template-columns:1fr;}}
.lbox{background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:12px;}
.lbox-t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:4px;}
.lhint{font-size:11px;color:var(--text3);font-style:italic;margin-bottom:6px;}
.lbox select[multiple]{background:var(--surf);border:1px solid var(--border2);color:var(--text2);min-height:105px;margin-bottom:8px;padding:5px;border-radius:3px;}
.lbox select[multiple] option:checked{background:var(--accent);color:#fff;}
.fnm{flex:1;font-size:12px;color:var(--text3);font-style:italic;padding:7px 10px;background:var(--surf2);border:1px dashed var(--border2);border-radius:var(--rsm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.danger-box{border:1px solid color-mix(in srgb,var(--red) 25%,transparent);border-radius:var(--r);padding:15px 17px;background:var(--redl);}
.danger-box p{font-size:13px;color:var(--red);margin-bottom:10px;}
.new-role-form{background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:14px;margin-bottom:12px;display:none;}
.new-role-form.open{display:block;}

/* ── Calendar ── */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px;}
.cal-hd{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);padding:6px 2px;}
.cal-cell{border:1px solid var(--border);border-radius:5px;padding:5px 4px;min-height:56px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;gap:2px;}
.cal-empty{background:transparent!important;border-color:transparent!important;cursor:default!important;box-shadow:none!important;}
.cal-cell:not(.cal-empty):hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--agl);}
.cal-today{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--agl)!important;}
.cal-day{font-size:12px;font-weight:600;color:var(--text3);line-height:1;}
.cal-has .cal-day{color:inherit;}
.cal-today .cal-day{color:var(--accent);}
.cal-kg{font-size:10px;font-weight:700;opacity:.88;text-align:center;line-height:1.2;}
.cal-summary{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:10px 12px;background:var(--surf2);border-radius:var(--r);margin-bottom:10px;font-size:13px;color:var(--text2);border:1px solid var(--border);}
.cal-summary strong{color:var(--text);}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:6px 0 2px;font-size:11.5px;color:var(--text3);}
.cal-leg-item{display:flex;align-items:center;gap:5px;}
.cal-leg-dot{width:13px;height:13px;border-radius:3px;flex-shrink:0;}
@media(max-width:500px){.cal-cell{min-height:42px;}.cal-kg{font-size:9px;}.cal-day{font-size:11px;}}

/* ── Premium list ── */
.prem-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.prem-item{background:var(--surf);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);}
.prem-row{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;transition:background var(--tr);}
.prem-row:hover{background:var(--surf2);}
.prem-name{flex:1;font-size:14px;font-weight:600;color:var(--text);}
.prem-amt{font-size:15px;font-weight:700;}
.prem-pos{color:var(--green);}
.prem-zero{color:var(--text3);}
.prem-chev{color:var(--text3);font-size:11px;width:16px;text-align:center;}
.prem-detail{border-top:1px solid var(--border);}
.prem-grand{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surf2);border:1px solid var(--border2);border-radius:var(--r);font-size:13.5px;color:var(--text2);}

/* ── Premium admin config table ── */
.pc-table{border:1px solid var(--border);border-radius:var(--rsm);overflow:hidden;margin-bottom:4px;}
.pc-row{display:grid;grid-template-columns:1.6fr 1.1fr 1fr 1fr 1fr;border-bottom:1px solid var(--border);}
.pc-row:last-child{border-bottom:none;}
.pc-head{background:var(--surf2);}
.pc-head>div{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);padding:8px 12px;}
.pc-row>div{padding:7px 10px;display:flex;align-items:center;}
.pc-mat{font-weight:600;color:var(--text);font-size:13.5px;}
.pc-input{width:100%;background:var(--surf);border:1px solid var(--border2);border-radius:3px;padding:5px 8px;font-family:'Source Sans 3',sans-serif;font-size:13px;color:var(--text);}
.pc-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--agl);outline:none;}
.pc-input:disabled{opacity:.45;cursor:not-allowed;}
.pc-group-hdr{padding:5px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--surf2);border-bottom:1px solid var(--border);}
.ram-section{margin-bottom:12px;}
.ram-rname{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.ram-cblist{display:flex;flex-wrap:wrap;gap:4px 10px;}
.ram-chk{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text2);cursor:pointer;padding:3px 7px;border:1px solid var(--border);border-radius:4px;background:var(--surf);user-select:none;}
.ram-chk:has(input:checked){background:var(--agl);border-color:var(--accent);color:var(--accent);font-weight:600;}
.ram-chk input{accent-color:var(--accent);}
@media(max-width:680px){.pc-row{grid-template-columns:1fr 1fr;}.pc-head{display:none;}.pc-row>div:first-child{grid-column:1/-1;background:var(--surf2);font-weight:700;}}

/* ── Edit banner & edit button ── */
.edit-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:color-mix(in srgb,var(--accent) 8%,var(--surf2));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r);margin-bottom:10px;}
.edit-banner-txt{font-size:13px;font-weight:600;color:var(--accent);}
.edit-btn{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:2px 5px;border-radius:3px;transition:color var(--tr),background var(--tr);margin-right:3px;}
.edit-btn:hover{color:var(--accent2);background:var(--agl);}

/* ── Közlemény banner (adatbevitel tetején) ── */
.notice-banner{display:none;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r);margin-bottom:14px;border-left:4px solid #2196F3;background:#e8f4fd;}
.notice-banner.active{display:flex;}
.notice-banner.warning{border-color:#FF9800;background:#fff8e1;}
.notice-banner.success{border-color:#4CAF50;background:#e8f5e9;}
.notice-banner-icon{font-size:18px;flex-shrink:0;line-height:1.4;}
.notice-banner-txt{font-size:14px;color:var(--text);line-height:1.55;white-space:pre-wrap;word-break:break-word;}

/* ── Napi összesítő kártya ── */
.nossz{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.nossz-item{flex:1;min-width:110px;text-align:center;padding:10px 12px;background:var(--surf);border:1px solid var(--border);border-radius:var(--r);}
.nossz-val{font-size:19px;font-weight:700;color:var(--text);line-height:1.2;}
.nossz-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-top:3px;}

/* ── Műszak blokk (napi riport) ── */
.muszak-block{margin-bottom:20px;}
.muszak-hd{font-size:13px;font-weight:700;color:var(--text);background:var(--surf2);border:1px solid var(--border);border-radius:var(--r);padding:8px 13px;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.muszak-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ── Dolgozók modul ── */
.dtab-panel{display:none;}
.dtab-panel.active{display:block;}
.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
.emp-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--r);padding:16px;box-shadow:var(--sh);}
.emp-card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.emp-card-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(15,23,42,.10);border-color:var(--accent);}
.emp-avatar-sm{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;}
.emp-name{font-size:14.5px;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3;}
.emp-dept{font-size:12px;color:var(--text3);}
.emp-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;flex-shrink:0;}
.emp-aktiv{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);}
.emp-inaktiv{background:var(--surf2);color:var(--text3);border:1px solid var(--border);}
.emp-szab{background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 25%,transparent);}
.emp-szab-badge{margin-top:10px;font-size:12px;color:var(--text2);background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:5px 10px;}
.emp-szab-low{background:var(--redl)!important;border-color:color-mix(in srgb,var(--red) 22%,transparent)!important;color:var(--red)!important;}

/* ── Dolgozó drawer ── */
.emp-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:500;opacity:0;transition:opacity .25s;pointer-events:none;}
.emp-drawer-overlay.open{opacity:1;pointer-events:auto;}
.emp-drawer{position:fixed;top:0;right:0;bottom:0;width:390px;max-width:100vw;background:var(--surf);border-left:1px solid var(--border);box-shadow:-4px 0 32px rgba(15,23,42,.14);z-index:501;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column;}
.emp-drawer.open{transform:translateX(0);}
.emp-drawer-header{padding:24px 20px 18px;background:var(--surf2);border-bottom:1px solid var(--border);position:relative;flex-shrink:0;}
.emp-drawer-avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;margin-bottom:13px;box-shadow:0 2px 8px rgba(15,23,42,.18);}
.emp-drawer-name{font-size:20px;font-weight:700;color:var(--text);line-height:1.2;}
.emp-drawer-dept{font-size:13px;color:var(--text3);margin-top:3px;}
.emp-drawer-close{position:absolute;top:14px;right:14px;background:none;border:1px solid var(--border2);color:var(--text3);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all var(--tr);}
.emp-drawer-close:hover{background:var(--surf3);color:var(--text);border-color:var(--border3);}
.emp-drawer-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.emp-drawer-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border);}
.emp-drawer-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:10px;}
.emp-drawer-row{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text2);margin-bottom:8px;}
.emp-drawer-row:last-child{margin-bottom:0;}
.emp-drawer-row-icon{width:20px;text-align:center;flex-shrink:0;font-size:15px;}
.emp-drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid var(--border);}
@media(max-width:500px){.emp-drawer{width:100vw;}}

/* ── Készlet modul ── */
.kstab-panel{display:none;}
.kstab-panel.active{display:block;}
.stock-table{width:100%;border-collapse:collapse;font-size:13px;}
.stock-table th{text-align:left;color:var(--text3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--surf2);}
.stock-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;}
.stock-table tr:hover td{background:var(--surf2);}
.stock-badge-zsak{display:inline-flex;align-items:center;background:var(--agl);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700;}
.stock-zsak-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.stock-zsak-chip{background:var(--surf2);border:1px solid var(--border);border-radius:4px;padding:1px 7px;font-size:11px;color:var(--text3);white-space:nowrap;}
.mozg-stock-chip{transition:all .12s;}
.mozg-stock-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}
.mozg-chip-prod{cursor:default!important;}
.mozg-tipus-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.stock-row-clickable{cursor:pointer;}
.stock-row-clickable:hover td{background:var(--surf2);}
.stock-det-arrow{transition:transform .15s;display:inline-block;}
.stock-det-row td{border-top:none;}
.stock-summary-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.ssc{flex:1;min-width:80px;background:var(--surf2);border:1px solid var(--border);border-radius:var(--rsm);padding:10px 14px;text-align:center;}
.ssc-val{font-size:18px;font-weight:700;color:var(--text);line-height:1.2;}
.ssc-lbl{font-size:11px;color:var(--text3);margin-top:2px;}

/* ── Súgó / Help ── */
.help-section{border:1px solid var(--border);border-radius:var(--rlg);margin-bottom:8px;overflow:hidden;box-shadow:var(--sh);}
.help-section-hdr{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;background:var(--surf);border:none;width:100%;text-align:left;font-family:'Source Sans 3',sans-serif;transition:background var(--tr);}
.help-section-hdr:hover{background:var(--surf2);}
.help-section-icon{font-size:18px;flex-shrink:0;}
.help-section-title{font-size:14px;font-weight:600;color:var(--text);flex:1;}
.help-section-arrow{color:var(--text3);transition:transform .2s;font-size:16px;flex-shrink:0;}
.help-section-hdr.open .help-section-arrow{transform:rotate(90deg);}
.help-section-body{display:none;padding:16px 18px 20px;background:var(--surf);border-top:1px solid var(--border);font-size:13.5px;color:var(--text2);line-height:1.7;}
.help-section-body p{margin:0 0 10px;}
.help-section-body p:last-child{margin-bottom:0;}
.help-section-body ul{padding-left:20px;margin:0 0 10px;}
.help-section-body li{margin-bottom:4px;}
.help-section-body strong{color:var(--text);font-weight:600;}
.help-section-body em{color:var(--red);font-style:normal;}
.help-tip{background:color-mix(in srgb,var(--accent) 8%,var(--surf2));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--rsm);padding:9px 12px;font-size:12.5px;color:var(--text2);margin-top:8px;}
.help-tip::before{content:'💡 ';}

/* ── Dolgozók lista nézet ── */
.emp-list { display:flex; flex-direction:column; gap:4px; }
.emp-list-row { display:flex; align-items:center; gap:12px; background:var(--surf); border:1px solid var(--border); border-radius:var(--r); padding:9px 14px; cursor:pointer; transition:box-shadow var(--tr),border-color var(--tr); }
.emp-list-row:hover { box-shadow:var(--sh2); border-color:var(--border2); }

/* ── Audit log ── */
.audit-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
.audit-row:last-child{border-bottom:none;}
.audit-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.audit-body{flex:1;min-width:0;}
.audit-action{font-size:13px;color:var(--text);font-weight:500;}
.audit-detail{color:var(--text2);font-weight:400;}
.audit-meta{font-size:11.5px;color:var(--text3);margin-top:2px;}

/* ── Draft banner ── */
.draft-banner{background:color-mix(in srgb,var(--amber) 10%,var(--surf));border:1px solid color-mix(in srgb,var(--amber) 28%,transparent);border-radius:var(--r);padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.draft-banner-icon{font-size:16px;flex-shrink:0;}
.draft-banner-txt{flex:1;font-size:13px;font-weight:600;color:var(--amber);}

/* ── Offline banner ── */
.offline-banner{background:#B71C1C;color:#fff;font-size:13px;font-weight:500;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}

/* ── Feladatok ── */
.task-card{display:flex;align-items:flex-start;gap:10px;background:var(--surf);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px;margin-bottom:8px;transition:border-color var(--tr);}
.task-fontos{border-left:3px solid var(--red);}
.task-done{opacity:.6;}
.task-prio-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.task-prio-normal{background:var(--border3);}
.task-prio-fontos{background:var(--red);}
.task-cim{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;}
.task-cim-done{text-decoration:line-through;color:var(--text3);}
.task-leiras{font-size:12.5px;color:var(--text2);margin-bottom:5px;line-height:1.5;}
.task-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--text3);}

/* ── Műszak beosztás chipek ── */
.shift-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;transition:opacity .15s;}
.shift-chip:hover{opacity:.7;}
.shift-de{background:var(--agl);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);}
.shift-du{background:var(--amberl);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 25%,transparent);}
.shift-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;border-radius:3px;font-size:9px;font-weight:700;color:var(--text3);border:1px dashed var(--border2);cursor:pointer;transition:all .15s;}
.shift-add:hover{border-color:var(--accent);color:var(--accent);background:var(--agl);}
.shift-add-du:hover{border-color:var(--amber);color:var(--amber);background:var(--amberl);}

/* ── Hiányzás naptár (roster) ── */
.abs-roster-table{width:100%;border-collapse:collapse;min-width:500px;}
.abs-roster-table th,.abs-roster-table td{border:1px solid var(--border);}
.abs-roster-name-cell{text-align:left;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--text);background:var(--surf2);min-width:130px;white-space:nowrap;position:sticky;left:0;z-index:1;border:1px solid var(--border);}
.abs-roster-day-cell{text-align:center;font-size:11px;font-weight:700;color:var(--text3);padding:5px 2px;min-width:26px;background:var(--surf2);}
.abs-roster-we{background:var(--surf3)!important;color:var(--text3);}
.abs-roster-cell{text-align:center;font-size:12px;padding:3px 1px;min-width:26px;height:30px;vertical-align:middle;background:var(--surf);}
.abs-szabadsag{background:color-mix(in srgb,#4CAF50 18%,var(--surf))!important;}
.abs-betegseg{background:color-mix(in srgb,#F44336 18%,var(--surf))!important;}
.abs-fizetesnelkuli{background:color-mix(in srgb,#9E9E9E 22%,var(--surf))!important;}
.abs-egyeb{background:color-mix(in srgb,#FF9800 18%,var(--surf))!important;}
.abs-roster-legend{display:flex;flex-wrap:wrap;gap:14px;padding:10px 0 2px;font-size:12px;color:var(--text3);}
.abs-leg-item{display:flex;align-items:center;gap:6px;}
.abs-leg-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0;}

/* ── Statisztika tábla ── */
.stat-table{width:100%;border-collapse:collapse;font-size:13px;}
.stat-table th{text-align:left;color:var(--text3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--surf2);white-space:nowrap;}
.stat-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;}
.stat-table tr:last-child td{border-bottom:none;}
.stat-table tr:hover td{background:var(--surf2);}

/* ── Részleg csoportosítás (napi riport) ── */
.reszleg-block{margin-bottom:14px;}
.reszleg-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--accent);padding:7px 2px 6px;border-bottom:2px solid var(--accent);margin-bottom:9px;display:flex;align-items:center;gap:7px;opacity:.85;}
.reszleg-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ══════════════════════════════════════════════════════
   SIDEBAR + GLASS LAYOUT  [data-layout="sidebar"]
══════════════════════════════════════════════════════ */

/* Body gradient (makes glass blur visible) */
[data-layout="sidebar"] body {
  background-image:
    radial-gradient(ellipse 70% 50% at 10% 10%, var(--agl) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 90% 90%, var(--agl) 0%, transparent 65%);
}

/* App grid — !important szükséges: showScreen() inline style="display:block"-ot állít */
[data-layout="sidebar"] #screen-app {
  display: grid !important;
  grid-template-columns: 240px 1fr;
  grid-template-rows: auto auto 1fr;
  min-height: 100vh;
}

/* Offline banner spans full width */
[data-layout="sidebar"] .offline-banner { grid-column: 1 / -1; }

/* Sidebar overlay */
[data-layout="sidebar"] .sb-overlay {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 350;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}
[data-layout="sidebar"] .sb-overlay.open { opacity: 1; pointer-events: auto; }

/* Sidebar (= .tabs) */
[data-layout="sidebar"] .tabs {
  grid-column: 1;
  grid-row: 1 / -1;
  flex-direction: column;
  border-right: 1px solid var(--border);
  border-bottom: none;
  margin: 0;
  max-width: none;
  padding: 0 10px 16px;
  gap: 2px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--surf);
  box-shadow: 2px 0 12px rgba(15,23,42,.06);
  z-index: 100;
}

/* Sidebar brand */
[data-layout="sidebar"] .sb-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 6px 16px;
  border-bottom: 1px solid var(--border);
  margin: 0 0 8px;
  flex-shrink: 0;
}
[data-layout="sidebar"] .sb-brand .brand-icon {
  width: 34px; height: 34px; font-size: 16px; flex-shrink: 0;
}
[data-layout="sidebar"] .sb-brand .brand-title { font-size: 15px; }
[data-layout="sidebar"] .sb-brand .brand-sub   { font-size: 10px; }
[data-layout="sidebar"] .sb-brand > div        { display: none; }
[data-layout="sidebar"] .sb-brand              { justify-content: center; padding: 14px 6px; }
[data-layout="sidebar"] .sb-brand .brand-logo  { width: 38px; height: 38px; }
[data-layout="sidebar"] .sb-brand:hover .brand-logo { opacity: .8; }

/* Sidebar tab buttons */
[data-layout="sidebar"] .tab-btn {
  border-bottom: none;
  border-left: 3px solid transparent;
  border-radius: var(--rsm);
  padding: 10px 12px;
  text-align: left;
  justify-content: flex-start;
  gap: 10px;
  font-size: 13.5px;
  width: 100%;
  white-space: nowrap;
  flex-shrink: 0;
}
[data-layout="sidebar"] .tab-btn:hover {
  background: var(--surf2);
  border-left-color: var(--border2);
  border-bottom-color: transparent;
}
[data-layout="sidebar"] .tab-btn.active {
  background: var(--agl);
  border-left-color: var(--accent);
  border-bottom: none;
  font-weight: 700;
  color: var(--accent);
}
[data-layout="sidebar"] .tb-i { font-size: 15px; flex-shrink: 0; }
[data-layout="sidebar"] .tb-t { overflow: hidden; text-overflow: ellipsis; }

/* Header: right column */
[data-layout="sidebar"] .header {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: 0;
}

/* Offline banner: right column */
[data-layout="sidebar"] .offline-banner {
  grid-column: 2;
  grid-row: 2;
}

/* Content: right column */
[data-layout="sidebar"] .outer {
  grid-column: 2;
  grid-row: 3;
  max-width: none;
  width: 100%;
  margin: 0;          /* margin:0 auto (klasszikus) szűkíti a grid cellán belül */
  padding-top: 24px;
  box-sizing: border-box;
}

/* Glass cards */
[data-layout="sidebar"] .card {
  background: color-mix(in srgb, var(--surf) 72%, transparent);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border-color: color-mix(in srgb, var(--border) 55%, transparent);
  box-shadow: 0 4px 24px rgba(15,23,42,.08), 0 1px 4px rgba(15,23,42,.04);
  animation: none;
}
[data-layout="sidebar"] .card:nth-child(2),
[data-layout="sidebar"] .card:nth-child(3),
[data-layout="sidebar"] .card:nth-child(4) { animation: none; }

/* Compact sidebar: 801–1200px → ikon-only mód */
@media (max-width: 1200px) and (min-width: 801px) {
  [data-layout="sidebar"] #screen-app {
    grid-template-columns: 66px 1fr;
  }
  [data-layout="sidebar"] .tabs {
    padding: 0 5px 12px;
    align-items: center;
  }
  [data-layout="sidebar"] .sb-brand {
    justify-content: center;
    padding: 14px 4px;
    gap: 0;
  }
  [data-layout="sidebar"] .sb-brand .brand-icon {
    width: 30px; height: 30px; font-size: 15px;
  }
  [data-layout="sidebar"] .sb-brand .brand-title,
  [data-layout="sidebar"] .sb-brand .brand-sub { display: none; }
  [data-layout="sidebar"] .tab-btn {
    justify-content: center;
    padding: 11px 6px;
    gap: 0;
    border-left-width: 2px;
  }
  [data-layout="sidebar"] .tb-t { display: none; }
  [data-layout="sidebar"] .tb-i { font-size: 19px; }
}

/* Mobile sidebar: ≤800px → hamburger + slide-in */
@media (max-width: 800px) {
  [data-layout="sidebar"] #screen-app {
    grid-template-columns: 1fr;
  }
  [data-layout="sidebar"] .tabs {
    position: fixed;
    left: -250px;
    width: 240px;
    grid-row: unset;
    transition: left .28s cubic-bezier(.4,0,.2,1);
    box-shadow: var(--sh2);
    z-index: 400;
    padding: 0 10px 16px;
    align-items: stretch;
  }
  [data-layout="sidebar"] .tabs.open { left: 0; }
  [data-layout="sidebar"] .tb-t { display: block !important; }
  [data-layout="sidebar"] .tab-btn { justify-content: flex-start; padding: 10px 12px; font-size: 13.5px; gap: 10px; }
  [data-layout="sidebar"] .tb-i { font-size: 15px !important; }
  [data-layout="sidebar"] .header  { grid-column: 1; }
  [data-layout="sidebar"] .offline-banner { grid-column: 1; }
  [data-layout="sidebar"] .outer   { grid-column: 1; }
  [data-layout="sidebar"] .hamburger-btn { display: flex !important; }
}

/* Layout picker buttons */
.hamburger-btn{background:var(--surf2);border:1px solid var(--border2);color:var(--text2);border-radius:6px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all var(--tr);flex-shrink:0;display:none;}
.hamburger-btn:hover{border-color:var(--accent);color:var(--accent);}
.layout-opt{flex:1;background:var(--surf2);border:1px solid var(--border2);color:var(--text2);border-radius:var(--rsm);padding:7px 10px;font-family:'Source Sans 3',sans-serif;font-size:12.5px;cursor:pointer;transition:all var(--tr);text-align:center;}
.layout-opt:hover{border-color:var(--accent);color:var(--accent);}
.layout-opt.active{background:var(--agl);border-color:var(--accent);color:var(--accent);font-weight:600;}

/* ══════════════════════════════════════
   KIOSZK MÓD — nagy gombos adatbevitel tabletre/érintőképernyőre
   [data-kiosk="on"] → CSAK az Adatbevitel fül nagyítva, eszközhöz kötve
══════════════════════════════════════ */
.kioszk-banner{display:none;}
[data-kiosk="on"] .kioszk-banner{
  display:flex;align-items:center;gap:12px;
  background:var(--agl);border:1.5px solid var(--accent);
  color:var(--accent2);font-weight:700;font-size:15px;
  padding:11px 16px;border-radius:var(--rlg);margin-bottom:14px;
}
[data-kiosk="on"] .kioszk-banner button{margin-left:auto;}

[data-kiosk="on"] #tab-adatbevitel input[type="text"],
[data-kiosk="on"] #tab-adatbevitel input[type="number"],
[data-kiosk="on"] #tab-adatbevitel input[type="date"],
[data-kiosk="on"] #tab-adatbevitel input[list],
[data-kiosk="on"] #tab-adatbevitel select,
[data-kiosk="on"] #tab-adatbevitel textarea{
  height:56px;font-size:18px;padding:10px 14px;
  border-width:1.5px;border-color:var(--border3);
}
[data-kiosk="on"] #tab-adatbevitel textarea{height:auto;min-height:96px;font-size:17px;}
[data-kiosk="on"] #tab-adatbevitel select{background-position:right 14px center;padding-right:38px;}
[data-kiosk="on"] #tab-adatbevitel .lbl{font-size:13px;color:var(--text2);margin-bottom:7px;}

/* Egy oszlop → maximális, hüvelykujj-barát célterület */
[data-kiosk="on"] #tab-adatbevitel .g2,
[data-kiosk="on"] #tab-adatbevitel .g3{grid-template-columns:1fr;gap:14px;}

[data-kiosk="on"] #tab-adatbevitel .shift-btn{height:56px;font-size:17px;}
[data-kiosk="on"] #tab-adatbevitel .btn-sq{width:56px;height:56px;font-size:24px;}

[data-kiosk="on"] #tab-adatbevitel .wrow{padding:10px 14px;gap:12px;}
[data-kiosk="on"] #tab-adatbevitel .wrow input[type="number"]{font-size:21px;min-width:70px;}
[data-kiosk="on"] #tab-adatbevitel .wrow select{font-size:15px;padding:8px 26px 8px 10px;min-height:44px;}
[data-kiosk="on"] #tab-adatbevitel .wb{font-size:28px;padding:6px 12px;min-width:46px;}

[data-kiosk="on"] #tab-adatbevitel .card{padding:22px 24px;}
[data-kiosk="on"] #tab-adatbevitel .card-title{font-size:16px;}

[data-kiosk="on"] #tab-adatbevitel .btn-row{gap:12px;margin-top:18px;}
[data-kiosk="on"] #tab-adatbevitel #rogzitBtn{min-height:66px;font-size:21px;}
[data-kiosk="on"] #tab-adatbevitel #torlesBtn{min-height:66px;font-size:17px;}

/* ══════════════════════════════════════
   SKELETON LOADING
══════════════════════════════════════ */
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sk{
  background:linear-gradient(
    90deg,
    var(--surf2) 0%,
    color-mix(in srgb, var(--accent) 7%, var(--surf3)) 50%,
    var(--surf2) 100%
  );
  background-size:200% 100%;
  animation:shimmer 1.3s cubic-bezier(.4,0,.6,1) infinite;
  border-radius:var(--rsm);
}
.sk-wrap{display:flex;flex-direction:column;gap:12px;}
.sk-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--rlg);padding:20px 22px;}
.sk-h{height:14px;margin-bottom:10px;}
.sk-h.w30{width:30%;}.sk-h.w50{width:50%;}.sk-h.w70{width:70%;}.sk-h.w90{width:90%;}
.sk-title{height:18px;width:45%;margin-bottom:18px;}
.sk-row{display:flex;gap:12px;margin-bottom:10px;}
.sk-circ{border-radius:50%;flex-shrink:0;}

/* ══════════════════════════════════════
   FAB (Floating Action Button)
══════════════════════════════════════ */
.fab{position:fixed;bottom:24px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:26px;line-height:1;box-shadow:0 4px 20px rgba(15,23,42,.30);cursor:pointer;z-index:290;display:none;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,opacity .2s;}
.fab:active{transform:scale(.91);}
.fab:hover{box-shadow:0 6px 28px rgba(15,23,42,.40);}
.fab.fab-off{opacity:0;pointer-events:none;transform:scale(.7);}
@media(max-width:768px){.fab{display:flex;}}

/* ══════════════════════════════════════
   PULL-TO-REFRESH
══════════════════════════════════════ */
.ptr-indicator{position:fixed;top:-52px;left:50%;transform:translateX(-50%);width:40px;height:40px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;z-index:500;pointer-events:none;box-shadow:var(--sh2);transition:opacity .2s;opacity:0;}
.ptr-indicator.ptr-visible{opacity:1;}
.ptr-indicator.ptr-spin{animation:spin .7s linear infinite;}

/* ══════════════════════════════════════
   BOTTOM SHEET (szűrők mobilon)
══════════════════════════════════════ */
.bs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:440;opacity:0;pointer-events:none;transition:opacity .25s;}
.bs-overlay.open{opacity:1;pointer-events:auto;}
.bottom-sheet{position:fixed;bottom:-105%;left:0;right:0;background:var(--surf);border-radius:18px 18px 0 0;padding:0 20px 32px;z-index:450;transition:bottom .3s cubic-bezier(.4,0,.2,1);max-height:85vh;overflow-y:auto;box-shadow:0 -8px 40px rgba(15,23,42,.18);}
.bottom-sheet.open{bottom:0;}
.bs-drag{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:12px auto 18px;}
.bs-sheet-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:18px;}
.bs-apply-btn{width:100%;margin-top:16px;}
/* filter-toggle és js-filter-card: szűrők mindig látszanak, toggle gomb elrejtve */
.filter-toggle{display:none!important;}
.js-filter-card{display:block;}

/* ══════════════════════════════════════
   NAPTÁR PREVIEW POPUP
══════════════════════════════════════ */
.cal-preview{position:fixed;inset:0;z-index:460;display:flex;align-items:flex-end;justify-content:center;}
.cal-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);}
.cal-preview-card{position:relative;z-index:1;background:var(--surf);border-radius:18px 18px 0 0;padding:24px 22px 32px;width:100%;max-width:520px;box-shadow:0 -4px 32px rgba(0,0,0,.18);}
.cal-preview-close{position:absolute;top:14px;right:16px;background:var(--surf2);border:1px solid var(--border);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text3);cursor:pointer;transition:background var(--tr);}
.cal-preview-close:hover{background:var(--surf3);color:var(--text);}
.cprev-date{font-size:13px;color:var(--text3);margin-bottom:10px;text-transform:capitalize;}
.cprev-kg{font-size:34px;font-weight:700;color:var(--text);font-family:'Lora',serif;line-height:1.2;}
.cprev-kgsmall{font-size:16px;font-weight:400;color:var(--text3);}
.cprev-diff{font-size:13px;font-weight:600;margin-top:5px;}
.cprev-empty{color:var(--text3);font-size:15px;padding:8px 0;}

/* ══════════════════════════════════════
   ÉVES HŐTÉRKÉP
══════════════════════════════════════ */
.heat-month-row{position:relative;height:18px;margin-left:26px;margin-bottom:4px;overflow:visible;}
.heat-month-lbl{position:absolute;top:0;font-size:10px;color:var(--text3);white-space:nowrap;}
.heat-wrapper{display:flex;align-items:flex-start;gap:6px;overflow-x:auto;padding-bottom:8px;}
.heat-days{display:flex;flex-direction:column;gap:3px;flex-shrink:0;width:20px;}
.heat-days span{height:13px;line-height:13px;font-size:10px;color:var(--text3);}
.heat-weeks{display:flex;gap:3px;}
.heat-week{display:flex;flex-direction:column;gap:3px;}
.heat-cell{width:13px;height:13px;border-radius:2px;background:var(--surf2);border:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:transform .1s;}
.heat-cell:hover{transform:scale(1.5);z-index:2;position:relative;}
.heat-empty{background:transparent!important;border-color:transparent!important;cursor:default;pointer-events:none;}
.heat-today{outline:2px solid var(--accent);outline-offset:1px;}
.cal-view-btn{font-size:12px!important;}
.cal-view-btn.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;}

/* ══════════════════════════════════════
   TAB-VÁLTÁS ANIMÁCIÓ
══════════════════════════════════════ */
@keyframes tabFadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.tab-panel.active, .tab-panel.active.anim-back,
.stab-panel.active, .pstab-panel.active, .jstab-panel.active,
.dtab-panel.active, .kstab-panel.active { animation: tabFadeIn .18s ease both; }

/* ══════════════════════════════════════
   DASHBOARD / ÁTTEKINTÉS
══════════════════════════════════════ */
.dash-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.dash-widget { background:var(--surf); border:1px solid var(--border); border-radius:var(--rlg); padding:18px 20px; box-shadow:var(--sh); animation:fu .2s ease both; }
.dash-w-hdr { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.dash-w-icon { font-size:22px; line-height:1; }
.dash-w-title { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--text3); }
.dash-w-value { font-size:30px; font-weight:700; color:var(--text); font-family:'Lora',serif; line-height:1.2; margin-bottom:4px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dash-w-sub { font-size:12px; color:var(--text3); }
.dash-cfg-panel { border-top:1px solid var(--border); margin-top:14px; padding-top:14px; }
.dash-cfg-grid { display:flex; flex-wrap:wrap; gap:8px; }
.dash-cfg-lbl { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--text2); cursor:pointer; background:var(--surf2); border:1px solid var(--border); border-radius:var(--rsm); padding:5px 10px; transition:all var(--tr); user-select:none; }
.dash-cfg-lbl:hover { border-color:var(--accent); color:var(--accent); }
.dash-cfg-lbl input { accent-color:var(--accent); width:13px; height:13px; cursor:pointer; flex-shrink:0; }
.dash-last-update { font-size:11px; color:var(--text3); text-align:right; margin-top:8px; font-style:italic; grid-column:1/-1; }

/* ══════════════════════════════════════
   VIZUÁLIS TUNING
══════════════════════════════════════ */

/* Dark mode: kártyák finom "felülről megvilágítva" effekt */
[data-theme="dark"] .card {
  background-image: linear-gradient(180deg, rgba(255,255,255,.03) 0%, transparent 40%);
}
[data-theme="dark"] .dash-widget {
  background-image: linear-gradient(180deg, rgba(255,255,255,.035) 0%, transparent 50%);
}
/* Dark mode sidebar glassmorphism mélyebb */
[data-theme="dark"][data-layout="sidebar"] .card {
  background: color-mix(in srgb, var(--surf) 65%, transparent);
  backdrop-filter: blur(24px) saturate(180%);
  border-color: color-mix(in srgb, var(--border) 45%, transparent);
}

/* Widget staggered fade-in */
@keyframes dashIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.dash-widget { animation: dashIn .28s ease both; animation-delay: var(--wi-delay,0s); }

/* Classic mód: kártya tetején accent sáv */
html:not([data-layout]) .card {
  border-top: 2px solid color-mix(in srgb, var(--accent) 28%, var(--border));
}

/* Card hover lift – interaktív elemek */
.emp-card-clickable {
  transition: box-shadow var(--tr), transform var(--tr) !important;
}
.emp-card-clickable:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(15,23,42,.13) !important;
}
.task-card {
  transition: box-shadow var(--tr), transform var(--tr), background var(--tr) !important;
}
.task-card:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(15,23,42,.11); }
.kanban-task:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(15,23,42,.12); }
.notice-card { transition:box-shadow var(--tr),transform var(--tr); }
.notice-card:hover { transform:translateY(-1px); box-shadow:var(--sh2); }

/* Drawer simább átmenet */
.emp-drawer,#taskDrawer,#widgetDrawer {
  transition: transform .28s cubic-bezier(.4,0,.2,1) !important;
}

/* Employee kártya státusz-alapú left border */
.emp-border-aktiv    { border-left:3px solid var(--green)   !important; }
.emp-border-inaktiv  { border-left:3px solid var(--border2) !important; }
.emp-border-szabadsag{ border-left:3px solid var(--amber)   !important; }

/* Lejárt feladat halvány piros háttér */
.task-overdue-bg { background:color-mix(in srgb,var(--red) 5%,var(--surf)) !important; }

/* Dashboard widget kontextus-alapú értékszín – segédosztályok */
.val-good { color:var(--green)  !important; }
.val-warn { color:var(--red)    !important; }
.val-ok   { color:var(--text)   !important; }
.dash-widget-large { grid-column:span 2; }
.dash-widget-clickable { cursor:pointer; transition:box-shadow var(--tr),border-color var(--tr); }
.dash-widget-clickable:hover { box-shadow:var(--sh2); border-color:var(--border2); }
@media(max-width:540px) { .dash-widget-large { grid-column:span 1; } }
/* Widget pozíció nyíl gombok */
.dash-w-move { display:flex; gap:2px; margin-left:auto; opacity:0; transition:opacity .15s; flex-shrink:0; }
.dash-widget:hover .dash-w-move { opacity:1; }
.dash-move-btn { background:none; border:1px solid var(--border); border-radius:4px; padding:1px 7px; font-size:13px; color:var(--text3); cursor:pointer; transition:all var(--tr); line-height:1.4; }
.dash-move-btn:hover:not(:disabled) { border-color:var(--accent); color:var(--accent); background:var(--agl); }
.dash-move-btn:disabled { opacity:0.25; cursor:default; }

/* Üdvözlő szekció */
.dash-greeting { padding:18px 4px 10px; }
.dash-greet-text { font-size:22px; font-weight:300; color:var(--text); font-family:'Lora',serif; margin-bottom:4px; }
.dash-greet-text strong { font-weight:700; color:var(--accent); }
.dash-greet-date { font-size:13px; color:var(--text3); text-transform:capitalize; }
.dash-greet-ctx { font-size:13px; color:var(--accent); font-weight:500; margin-top:5px; opacity:.85; }

/* Összefoglaló sáv */
.dash-summary-bar { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:0 2px 14px; }
.dash-sum-pill { display:flex; align-items:center; gap:6px; background:var(--surf); border:1px solid var(--border); border-radius:20px; padding:5px 13px; }
.dash-sum-lbl { font-size:11.5px; color:var(--text3); }
.dash-sum-val { font-size:13.5px; font-weight:700; color:var(--text); }
.dash-sum-empty { color:var(--text3); font-weight:400; }
.dash-sum-sep { color:var(--border2); font-size:18px; line-height:1; padding:0 1px; }
/* Elemzés dátumszűrő */
.edate-preset.active { background:var(--accent)!important; color:#fff!important; border-color:var(--accent)!important; }
#edateCustomWrap { display:flex; }

/* Gyors műveletek */
.dash-qa { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 16px; }
.dash-qa-btn { display:flex; flex-direction:column; align-items:center; gap:4px; background:var(--surf); border:1px solid var(--border); border-radius:var(--rlg); padding:12px 18px; cursor:pointer; transition:all var(--tr); min-width:90px; font-family:'Source Sans 3',sans-serif; }
.dash-qa-btn:hover { border-color:var(--accent); background:var(--agl); transform:translateY(-2px); box-shadow:var(--sh2); }
.dash-qa-btn:active { transform:translateY(0); }
.dash-qa-icon { font-size:22px; line-height:1; }
.dash-qa-label { font-size:12px; font-weight:600; color:var(--text2); white-space:nowrap; }
.dash-qa-btn:hover .dash-qa-label { color:var(--accent); }

/* Dashboard QA bar (gyorsgombok + beállítások) */
.dash-qa-bar{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:0;}
.dash-qa-bar #dashQuickActions{flex:1;min-width:0;}
.dash-qa-cfg-btn{flex-shrink:0;opacity:.7;transition:opacity var(--tr);}
.dash-qa-cfg-btn:hover,.dash-qa-cfg-btn.active{opacity:1;border-color:var(--accent);color:var(--accent);background:var(--agl);}
.dash-cfg-card{margin-top:10px;border-style:solid;animation:tabSlideIn .18s ease both;}

/* Méret gomb a konfigban */
.dash-size-btn { background:var(--surf3); border:1px solid var(--border); border-radius:4px; padding:1px 6px; font-size:11px; cursor:pointer; color:var(--text3); margin-left:auto; flex-shrink:0; transition:all var(--tr); }
.dash-size-btn:hover { border-color:var(--accent); color:var(--accent); }

/* ══════════════════════════════════════
   KANBAN TÁBLA
══════════════════════════════════════ */
.kanban-board { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; align-items:start; }
.kanban-col { background:var(--surf2); border:1px solid var(--border); border-radius:var(--rlg); padding:12px; min-height:80px; }
.kanban-col-hdr { display:flex; align-items:center; gap:7px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; padding-bottom:10px; border-bottom:1px solid var(--border); margin-bottom:10px; }
.kanban-badge { min-width:20px; text-align:center; background:var(--surf3); border:1px solid var(--border); border-radius:20px; padding:1px 7px; font-size:10px; color:var(--text3); font-weight:600; margin-left:auto; }
.kanban-task { background:var(--surf); border:1px solid var(--border); border-radius:var(--r); padding:10px 12px; margin-bottom:8px; cursor:pointer; transition:box-shadow var(--tr),border-color var(--tr); }
.kanban-task:hover { box-shadow:var(--sh2); border-color:var(--accent); }
.kanban-task:last-child { margin-bottom:0; }
.kanban-task-cim { font-size:13px; font-weight:600; color:var(--text); margin-bottom:4px; line-height:1.35; }
.kanban-task-meta { font-size:11px; color:var(--text3); display:flex; flex-wrap:wrap; gap:5px; }
.kanban-task-fontos { border-left:3px solid var(--red); }
@media(max-width:680px) { .kanban-board { grid-template-columns:repeat(3,240px); overflow-x:auto; padding-bottom:8px; gap:10px; } }

/* ══════════════════════════════════════
   KOMPETENCIA CHIP INPUT
══════════════════════════════════════ */
.komp-input-wrap{display:flex;flex-wrap:wrap;gap:6px;padding:7px 10px;border:1px solid var(--border2);border-radius:var(--rsm);background:var(--surf2);cursor:text;min-height:42px;align-items:center;transition:border-color var(--tr),box-shadow var(--tr),background var(--tr);}
.komp-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--agl);background:var(--surf);}
.komp-chip{display:inline-flex;align-items:center;gap:4px;background:var(--agl);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:20px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap;}
.komp-chip-del{cursor:pointer;font-size:14px;line-height:1;opacity:.5;margin-left:2px;}
.komp-chip-del:hover{opacity:1;}
.komp-chip-sm{font-size:11px;padding:1px 7px;}

/* ══════════════════════════════════════
   KÖZLEMÉNY KÁRTYÁK
══════════════════════════════════════ */
.notice-card{display:flex;align-items:flex-start;gap:12px;background:var(--surf);border:1px solid var(--border);border-left-width:4px;border-radius:var(--rlg);padding:14px 48px 14px 16px;position:relative;box-shadow:var(--sh);animation:fu .2s ease both;}
.notice-card+.notice-card{margin-top:8px;}
.notice-card-icon{font-size:22px;line-height:1.2;flex-shrink:0;}
.notice-card-body{flex:1;min-width:0;}
.notice-card-text{font-size:13.5px;color:var(--text);line-height:1.55;white-space:pre-wrap;word-break:break-word;}
.notice-card-meta{font-size:11.5px;color:var(--text3);margin-top:5px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.notice-meta-badge{background:var(--surf2);border:1px solid var(--border);border-radius:20px;padding:1px 8px;font-size:11px;color:var(--text3);}
.notice-meta-expired{background:var(--redl);color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,transparent);}
.notice-card-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:20px;line-height:1;color:var(--text3);cursor:pointer;padding:2px 6px;border-radius:4px;transition:color var(--tr),background var(--tr);}
.notice-card-close:hover{color:var(--text);background:var(--surf2);}
.notice-card-info        {border-left-color:var(--accent);}
.notice-card-warning     {border-left-color:var(--amber);}
.notice-card-success     {border-left-color:var(--green);}
.notice-card-urgent      {border-left-color:var(--red);background:color-mix(in srgb,var(--redl) 40%,var(--surf));}
.notice-card-esemeny     {border-left-color:var(--accent);}
.notice-card-karbantartas{border-left-color:var(--amber);}
.notice-card-hir         {border-left-color:var(--green);}
.notice-expired          {opacity:.6;}
#noticeCards:empty       {display:none;}

/* ══════════════════════════════════════
   SZEREPKÖR FORM — CSOPORTOS JOGOK
══════════════════════════════════════ */
.perm-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;}
@media(max-width:640px){.perm-groups{grid-template-columns:1fr;}}
.perm-group{background:var(--surf);border:1px solid var(--border);border-radius:var(--r);padding:10px 13px;}
.perm-group-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--accent);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.perm-chk{display:flex;flex-direction:column;padding:5px 0;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;}
.perm-chk:last-child{border-bottom:none;padding-bottom:0;}
.perm-chk-row{display:flex;align-items:center;gap:7px;}
.perm-chk input{accent-color:var(--accent);flex-shrink:0;cursor:pointer;}
.perm-chk-lbl{font-size:12.5px;color:var(--text2);font-weight:500;}
.perm-chk-desc{font-size:11px;color:var(--text3);margin-top:2px;margin-left:20px;line-height:1.4;}

/* Szerepkör sablon gombok */
.role-tpl-btn{background:var(--surf2);border:1px solid var(--border2);color:var(--text2);border-radius:var(--rsm);padding:5px 12px;font-size:12.5px;font-family:'Source Sans 3',sans-serif;cursor:pointer;transition:all var(--tr);}
.role-tpl-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--agl);}

/* ── WIP (Gépen lévő zsákok) ── */
.wip-card{border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 5%,var(--surf));}
.wip-badge{background:var(--amber);color:#fff;font-size:11px;font-weight:700;border-radius:20px;padding:1px 7px;margin-left:8px;vertical-align:middle;}
.wip-item{background:var(--surf2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;margin-bottom:10px;}
.wip-item:last-child{margin-bottom:0;}
.wip-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
.wip-meta{flex:1;display:flex;flex-direction:column;gap:2px;}
.wip-anyag{font-weight:700;font-size:14px;color:var(--text);}
.wip-reszleg{font-size:12px;color:var(--text3);}
.wip-last{font-size:11.5px;color:var(--text3);font-style:italic;}
.wip-suly{font-size:22px;font-weight:800;color:var(--amber);flex-shrink:0;}
.wip-details{margin-bottom:10px;}
.wip-details summary{font-size:12px;color:var(--text3);cursor:pointer;user-select:none;padding:2px 0;}
.wip-details summary:hover{color:var(--accent);}
.wip-history{margin-top:6px;display:flex;flex-direction:column;gap:3px;padding-left:8px;border-left:2px solid var(--border);}
.wip-hist-item{font-size:12px;color:var(--text2);}
.wip-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.wip-complete-row{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;}
.wip-final-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--input,var(--surf));color:var(--text);font-size:14px;font-family:inherit;}
.wip-final-input:focus{outline:none;border-color:var(--accent);}
.wip-hint{font-size:12px;color:var(--text3);margin:6px 0 10px;line-height:1.5;}
.wip-transfer-title:hover{color:var(--accent);}
.wip-prompt-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:color-mix(in srgb,var(--amber) 10%,var(--surf));border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);border-radius:var(--r);padding:12px 14px;margin-top:10px;}
.wip-prompt-icon{font-size:20px;flex-shrink:0;}
.wip-prompt-text{flex:1;font-size:13px;font-weight:500;color:var(--text);min-width:180px;}
.wip-prompt-sub{display:block;font-size:12px;color:var(--text3);font-weight:400;margin-top:2px;}

/* Vizuális szerepkör kártyák */
.role-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--rlg);padding:16px 18px;margin-bottom:10px;box-shadow:var(--sh);}
.role-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.role-card-name{font-size:15px;font-weight:700;color:var(--text);}
.role-card-perms{display:flex;flex-wrap:wrap;gap:5px;}
.role-perm-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;}
.role-perm-termel {background:var(--agl);   color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.role-perm-szervez{background:var(--greenl);color:var(--green); border:1px solid color-mix(in srgb,var(--green)  22%,transparent);}
.role-perm-penzugy{background:var(--amberl);color:var(--amber); border:1px solid color-mix(in srgb,var(--amber)  22%,transparent);}
.role-perm-admin  {background:var(--redl);  color:var(--red);   border:1px solid color-mix(in srgb,var(--red)    22%,transparent);}

/* ══════════════════════════════════════
   MOBIL RESZPONZÍV (≤600px / ≤400px)
══════════════════════════════════════ */

/* Globális vízszintes overflow megelőzés */
html { overflow-x: clip; }

@media(max-width:600px) {
  /* Fejléc tömörítés */
  .header-inner { padding:0 10px; height:52px; }
  .brand { gap:7px; }
  .brand-logo,.brand-icon { width:28px; height:28px; font-size:14px; }
  .brand-title { font-size:14px; }
  .brand-sub { display:none; }
  .hdr-right { gap:5px; }
  .theme-lbl { display:none; }
  .theme-btn { padding:5px 7px; border-radius:50%; width:32px; height:32px; font-size:14px; }
  #userNameChip { display:none; }
  .user-chip { padding:3px 5px 3px 3px; }
  .logout-btn { padding:4px 8px; font-size:11px; }

  /* Color picker: ne lógjon ki a képernyőből */
  .color-picker-panel { right:4px; left:4px; min-width:0; width:auto; }

  /* Tartalom */
  .outer { padding:0 10px 80px; }
  .card { padding:14px 12px; }
  .card-title { font-size:13px; gap:7px; }

  /* Tab sáv */
  .tabs { padding:0 6px; gap:1px; }
  .tab-btn { padding:9px 7px 7px; font-size:10.5px; }
  .tb-i { font-size:15px; }
  .tb-t { font-size:10px; letter-spacing:-.2px; }

  /* g2/g3 korábban törik */
  .g2,.g3 { grid-template-columns:1fr; }

  /* WIP */
  .wip-complete-row { min-width:0; flex-wrap:wrap; }
  .wip-suly { font-size:17px; }
  .wip-prompt-banner { gap:7px; }

  /* Toast szélre igazítva */
  .toast { max-width:calc(100vw - 20px); font-size:13px; }

  /* Drawers: max szélesség mobilon */
  .emp-drawer { width:100vw; }

  /* Gombok sorban kisebb */
  .btn-row { gap:6px; }
  .btn { font-size:13px; }
  .btn-sm { font-size:12px; }

  /* Auth */
  .auth-card { padding:22px 16px; }
  .auth-brand-logo { width:40px; height:40px; }

  /* Megjegyzés textarea */
  textarea { min-height:56px; }

  /* Scrollozható táblák */
  .user-tbl,.stat-table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }

  /* Widget drawer fejléc szöveg csonkítás */
  .emp-drawer-name { font-size:14px; }
}

/* ── Widget vezérlő gombok (frissítés, fullscreen) ── */
.dash-ctrl-btn{background:none;border:none;color:var(--text3);cursor:pointer;font-size:13px;padding:3px 5px;border-radius:var(--rsm);transition:color var(--tr),background var(--tr);line-height:1;flex-shrink:0;}
.dash-ctrl-btn:hover{color:var(--accent);background:var(--agl);}
.dash-ctrl-btn:disabled{opacity:.4;cursor:default;}
.dash-pin-btn{font-size:11px;opacity:.35;transition:opacity var(--tr);}
.dash-pin-btn.active{opacity:1;}
.dash-pin-btn:hover{opacity:.8;}
.dash-w-body{display:block;}

/* ── Widget config panel személyre szabás ── */
.cfg-person-row{display:flex;align-items:center;gap:8px;padding:5px 0 3px 24px;flex-wrap:wrap;}
.cfg-title-inp{flex:1;min-width:100px;font-size:12px;padding:4px 8px;border:1px solid var(--border2);border-radius:var(--rsm);background:var(--surf);color:var(--text);font-family:inherit;}
.cfg-title-inp:focus{outline:none;border-color:var(--accent);}
.cfg-color-dots{display:flex;gap:5px;flex-shrink:0;}
.cfg-color-dot{width:16px;height:16px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;flex-shrink:0;}
.cfg-color-dot:hover{transform:scale(1.25);}
.cfg-color-dot.active{border-color:var(--text);transform:scale(1.15);}
.cfg-pin-btn{background:none;border:none;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:var(--rsm);opacity:.4;transition:opacity var(--tr);flex-shrink:0;}
.cfg-pin-btn.active{opacity:1;}
.cfg-pin-btn:hover{opacity:.8;}
.cfg-personalize-btn{background:none;border:none;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:var(--rsm);opacity:.35;transition:opacity var(--tr);flex-shrink:0;}
.cfg-personalize-btn.has-custom{opacity:.7;}
.cfg-personalize-btn.active{opacity:1;background:var(--surf3);}
.cfg-personalize-btn:hover{opacity:1;}

/* ── Anomália jelzés ── */
.dash-widget-warn{border-color:color-mix(in srgb,var(--red) 40%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 15%,transparent),var(--sh)!important;}
.dash-widget-good{border-color:color-mix(in srgb,var(--green) 40%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--green) 15%,transparent),var(--sh)!important;}
.dash-anomaly-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;margin-bottom:8px;display:inline-block;}
.dash-anomaly-warn{background:var(--redl);color:var(--red);}
.dash-anomaly-good{background:var(--greenl);color:var(--green);}


/* ── Dashboard konfig bővítések ── */
.dash-cfg-item { margin-bottom:4px; }
.cfg-extra-wrap { display:flex; flex-direction:column; gap:2px; }
.cfg-wst-row { display:flex; align-items:center; gap:8px; padding:4px 0 4px 24px; }
.cfg-wst-lbl { font-size:11.5px; color:var(--text3); white-space:nowrap; }
.cfg-wst-sel { font-size:12px; padding:2px 6px; border-radius:var(--rsm); border:1px solid var(--border2); background:var(--surf2); color:var(--text); }

.cfg-add-section { margin-top:10px; padding-top:8px; border-top:1px dashed var(--border); }
.cfg-add-toggle { background:none; border:none; color:var(--accent); font-size:12.5px; font-weight:600; font-family:inherit; cursor:pointer; padding:4px 0; }
.cfg-add-toggle:hover { color:var(--accent2); }
.cfg-add-form { background:var(--surf2); border:1px solid var(--border); border-radius:var(--r); padding:12px; margin-top:8px; }

.qa-drag-list { display:flex; flex-direction:column; gap:4px; margin-bottom:6px; }
.qa-drag-item { display:flex; align-items:center; gap:8px; background:var(--surf); border:1px solid var(--border); border-radius:var(--rsm); padding:6px 10px; cursor:default; user-select:none; transition:background var(--tr); }
.qa-drag-item.dragging { opacity:.5; }
.qa-drag-item.drag-over { border-color:var(--accent); background:var(--agl); }
.qa-drag-handle { font-size:14px; color:var(--text3); cursor:grab; flex-shrink:0; }
.qa-drag-handle:active { cursor:grabbing; }
.qa-disabled-list { display:flex; flex-direction:column; gap:3px; padding-top:4px; opacity:.75; }
.qa-disabled-item { padding:4px 0; }

@media(max-width:400px) {
  /* Legkisebb képernyők: csak ikonok a tabokon */
  .tb-t { display:none; }
  .tab-btn { padding:10px 6px; }
  .outer { padding:0 8px 80px; }
  .card { padding:12px 10px; }

  /* Brand: csak logó, cím rejtve */
  .brand-title { display:none; }
  .brand-logo,.brand-icon { width:26px; height:26px; }
}
