:root{--bg:#f3f5f7;--panel:#fff;--panel-2:#f8fafc;--text:#152238;--muted:#64748b;--border:#dfe5eb;--primary:#F99F1E;--primary-2:#df850e;--danger:#c83b46;--danger-bg:#fff1f2;--success:#15805a;--success-bg:#ecfdf5;--warning:#935400;--warning-bg:#fff6df;--cutting:#218765;--cutting-bg:#e9f7f1;--sidebar:#101a2b;--sidebar-2:#17243a;--sidebar-text:#d8e1ee;--radius:18px;--shadow:0 12px 34px rgba(15,23,42,.06)}
html[data-theme=dark]{--bg:#0a1019;--panel:#101826;--panel-2:#141e2d;--text:#eef3f8;--muted:#9aa8ba;--border:#273548;--primary:#ffb34d;--primary-2:#f59b1b;--danger:#ff8087;--danger-bg:#2b1519;--success:#59d9a4;--success-bg:#0e2b20;--warning:#f2ca7a;--warning-bg:#2a2111;--cutting:#65d5a8;--cutting-bg:#122d24;--sidebar:#080d15;--sidebar-2:#0e1724;--sidebar-text:#c3cedd;--shadow:0 18px 48px rgba(0,0,0,.25)}
[hidden]{display:none!important}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-height:100vh;min-width:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.48;font-size:16px}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.muted{color:var(--muted);font-size:14px}.section-title{margin:0 0 4px;font-size:24px;letter-spacing:-.03em}.eyebrow{color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:18px 14px;z-index:50}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 24px}.brand-logo{width:92px!important;height:auto!important;object-fit:contain;object-position:left center}.brand-login .brand-logo-login{width:132px!important}.brand strong{display:block;color:#fff;font-size:18px;letter-spacing:-.02em}.brand span{display:block;color:#8ea0b7;font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:var(--sidebar-text);font-weight:750;font-size:14px}.nav-link>span:first-child{width:18px;text-align:center;opacity:.85}.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.nav-link.active{background:var(--sidebar-2);color:#fff;box-shadow:inset 3px 0 0 var(--primary)}.nav-section{padding:18px 12px 6px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:#718198}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.theme-switch,.account-mini,.logout{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:12px;color:var(--sidebar-text);min-height:44px;padding:9px 11px;display:flex;align-items:center;gap:9px}.theme-switch strong{margin-left:auto;font-size:12px;color:#fff}.account-mini{background:transparent}.account-mini b,.account-mini small{display:block}.account-mini b{font-size:13px;color:#fff}.account-mini small{font-size:11px;color:#8ea0b7}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#26364f;color:#fff;font-weight:900;flex:0 0 auto}.avatar.large{width:42px;height:42px}.logout{justify-content:center;font-size:13px}
.main{min-width:0}.topbar{position:sticky;top:0;height:74px;padding:0 28px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;z-index:40}.mobile-menu{display:none;border:0;background:none;color:var(--text);font-size:24px;padding:6px}.page-title h1{margin:0;font-size:21px;letter-spacing:-.03em}.page-title span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.top-actions{display:flex;gap:11px;align-items:center}.top-user{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}.icon-btn{width:38px;height:38px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);display:grid;place-items:center}.content{max-width:1680px;min-width:0;margin:0 auto;padding:30px}.hero{padding:28px;min-width:0;border:1px solid var(--border);border-radius:24px;background:linear-gradient(135deg,var(--panel),var(--panel-2));box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero h2{margin:5px 0 8px;font-size:34px;letter-spacing:-.045em}.hero p{margin:0;color:var(--muted);max-width:760px}.hero-actions,.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}.stat-grid{display:grid;gap:14px;margin:16px 0}.stat-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:19px;border:1px solid var(--border);border-radius:17px;background:var(--panel);box-shadow:var(--shadow)}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:32px;line-height:1;margin-top:7px;letter-spacing:-.04em}.dashboard-columns,.leave-grid,.settings-page{display:grid;min-width:0;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px}.settings-page{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:19px 21px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-head h2{margin:0;font-size:21px;letter-spacing:-.025em}.text-link{color:var(--primary);font-size:13px;font-weight:850}.result-count{color:var(--muted);font-size:13px;white-space:nowrap}
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.view-toggle{display:inline-flex;border:1px solid var(--border);background:var(--panel);border-radius:12px;overflow:hidden}.view-toggle a{padding:10px 14px;color:var(--muted);font-weight:800;font-size:13px}.view-toggle a.active{background:var(--panel-2);color:var(--text)}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filters input,.filters select,.modal-form input,.modal-form select,.modal-form textarea,.settings-form input,.logs-filters input,.logs-filters select{min-height:44px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:11px;padding:10px 12px;outline:none}.filters input:focus,.filters select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus,.settings-form input:focus,.logs-filters input:focus,.logs-filters select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.filters input{min-width:250px}.btn{border:1px solid transparent;border-radius:11px;min-height:44px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:850;font-size:13px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 28%,var(--border));color:var(--danger)}.btn-small{min-height:36px;padding:7px 11px;font-size:12px}.btn-wide{width:100%}.btn-prominent{box-shadow:0 9px 22px color-mix(in srgb,var(--primary) 20%,transparent)}
.data-list{min-height:120px}.loading,.empty-state{padding:42px 24px;text-align:center;color:var(--muted)}.empty-state{display:grid;gap:5px}.empty-state strong{color:var(--text);font-size:16px}.danger-text{color:var(--danger)}.date-divider{padding:13px 21px 8px;background:var(--panel-2);border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}.date-divider strong{font-size:14px}.date-divider span{text-transform:capitalize;color:var(--muted);font-size:13px}.event-card{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:18px;padding:20px 21px;border-bottom:1px solid var(--border);background:var(--panel);transition:background-color .12s ease}.event-card:hover{background:var(--panel-2)}.event-card.no-event-time{grid-template-columns:minmax(0,1fr) auto}.event-card.no-event-time .event-time{display:none}.event-time{font-size:22px;font-weight:950;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.event-title{font-size:18px;font-weight:900;line-height:1.27;letter-spacing:-.03em}.event-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.info-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:13px;color:var(--text);overflow-wrap:anywhere}.info-chip.material{background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--text);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));font-weight:800}.info-chip.cutting-chip{background:var(--cutting-bg);color:var(--cutting);border-color:color-mix(in srgb,var(--cutting) 35%,var(--border))}.event-note{margin-top:11px;padding:12px 14px;border-radius:12px;background:var(--warning-bg);color:var(--warning);font-size:15px;font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere}.cutting-note{background:var(--cutting-bg);color:var(--cutting)}.staff-list{margin-top:13px;display:grid;gap:8px}.staff-line{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;font-size:16px}.staff-line span{color:var(--muted);font-weight:750}.staff-line b{font-weight:900;overflow-wrap:anywhere}.event-actions{display:flex;align-items:flex-start;gap:7px}.view-hint{color:var(--muted);font-size:12px;padding:9px}.event-meta .info-chip{font-weight:650}.event-meta .info-chip.material{font-weight:850}.event-main{min-width:0}.staff-line span{color:var(--muted)}
.leave-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.leave-row>div:first-child{min-width:0}.leave-row b{display:block;font-size:14px}.leave-row div>span{display:block;margin-top:3px;color:var(--text);font-size:13px;font-weight:700}.leave-row p{margin:5px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.admin-leave{grid-template-columns:minmax(0,1fr) auto auto}.decision-actions{display:flex;gap:7px;flex-wrap:wrap}
.calendar-day-panel{margin-top:16px}.calendar-day-panel[hidden]{display:none!important}.calendar-day-panel .panel-head{padding:17px 21px}.calendar-day-panel .event-card{border-bottom:1px solid var(--border)}.day-num-wrap{display:flex;align-items:center;gap:6px;min-height:22px}.today-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:950;letter-spacing:.05em}.cal-day.today .day-num{color:var(--primary);font-weight:1000}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--primary)}.cal-day.today.selected{box-shadow:inset 0 0 0 2px var(--primary), inset 0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}
.cutting-card{border-left:5px solid var(--cutting)}
.calendar-toolbar{align-items:center}.calendar-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.calendar-month-label{font-size:16px;color:var(--primary);font-weight:900;text-transform:capitalize}.calendar-controls{display:flex;align-items:center;gap:7px}.calendar-panel .calendar{padding:0}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.cal-head{border-bottom:1px solid var(--border)}.cal-head div{min-width:0;padding:12px 11px;font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;border-right:1px solid var(--border)}.cal-head div:last-child{border-right:0}.cal-day{min-width:0;min-height:145px;padding:10px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);text-align:left;display:flex;flex-direction:column;align-items:stretch;border-radius:0}.cal-day:nth-child(7n){border-right:0}.cal-day.outside{background:var(--panel-2);color:var(--muted)}.cal-day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 50%,transparent)}.cal-day.selected{background:color-mix(in srgb,var(--primary) 5%,var(--panel))}.cal-day:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.day-num{font-size:15px;font-weight:950;line-height:1;margin-bottom:8px}.day-events{display:grid;gap:5px;min-width:0}.cal-event{min-width:0;border-left:3px solid var(--primary);padding:6px 7px;border-radius:8px;background:color-mix(in srgb,var(--primary) 13%,transparent);font-size:11px;line-height:1.27;white-space:normal;overflow-wrap:anywhere}.cal-event.cutting{border-left-color:var(--cutting);background:var(--cutting-bg);color:var(--cutting)}.more{font-size:11px;color:var(--muted);font-weight:800;padding:2px 4px}.calendar-legend{display:flex;gap:20px;align-items:center;padding:13px 16px;color:var(--muted);background:var(--panel-2);border-top:1px solid var(--border);font-size:13px}.legend-item{display:inline-flex;gap:7px;align-items:center}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--primary)}.legend-dot.cutting{background:var(--cutting)}.mobile-week,.mobile-agenda-head,.mobile-agenda{display:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,13,21,.60);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(920px,100%);max-height:min(92vh,900px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:21px;box-shadow:0 28px 80px rgba(0,0,0,.28);position:relative}.modal-close{position:absolute;right:15px;top:13px;width:38px;height:38px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);color:var(--text);font-size:22px}.modal-head{padding:24px 28px 0}.modal-head h2{margin:5px 45px 0 0;font-size:25px;letter-spacing:-.035em}.modal-form{padding:22px 28px 28px}.form-grid{display:grid;gap:13px;margin-bottom:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-form label,.settings-form label{display:grid;gap:7px;color:var(--muted);font-size:14px;font-weight:800}.modal-form small,.settings-form small{font-size:12px;color:var(--muted);font-weight:500}.modal-form textarea{resize:vertical;min-height:100px}.exact-time-box,.assign-box{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2)}.switch-line{display:flex!important;align-items:center;gap:9px!important}.switch-line input{min-height:auto!important;width:18px;height:18px;padding:0!important;accent-color:var(--primary)}.exact-time-box input[type=time]{margin-top:5px}.exact-time-box small{display:block;margin-top:3px}.assign-title{font-size:17px;font-weight:900}.assign-box p{margin:4px 0 0;color:var(--muted);font-size:13px}.assignment-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:13px}.assignment-list{display:grid;gap:7px;margin-top:12px}.assignment-empty{padding:12px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px}.assignment-chip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.assignment-chip div{display:grid;gap:1px}.assignment-chip span{font-size:12px;color:var(--muted);font-weight:800}.assignment-chip strong{font-size:15px}.assignment-chip button{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:21px}.assignment-chip button:hover{background:var(--danger-bg);color:var(--danger)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px;flex-wrap:wrap}.detail-modal{padding:22px 28px 28px}.detail-date{color:var(--primary);font-weight:850;font-size:13px;text-transform:capitalize}.detail-modal h3{margin:5px 0 18px;font-size:25px;line-height:1.25}.detail-list{display:grid;border-top:1px solid var(--border)}.detail-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.detail-row span{color:var(--muted);font-weight:800}.detail-row strong{white-space:pre-wrap;overflow-wrap:anywhere}
.user-list{display:grid}.user-card{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2.2fr) auto;gap:18px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--border)}.user-main{display:flex;gap:11px;align-items:center;min-width:0}.user-main>div:last-child{min-width:0}.user-main strong,.user-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-main strong{font-size:16px}.user-main span{color:var(--muted);font-size:13px}.user-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.user-fields div{min-width:0}.user-fields span,.user-fields b{display:block}.user-fields span{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:900;letter-spacing:.07em}.user-fields b{font-size:14px;margin-top:3px;overflow-wrap:anywhere}.status{display:inline-flex;width:max-content;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px}.status-approved{background:var(--success-bg);color:var(--success)}.status-rejected{background:var(--danger-bg);color:var(--danger)}.status-pending{background:var(--warning-bg);color:var(--warning)}
.dictionary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.dictionary-card{border:1px solid var(--border);border-radius:15px;background:var(--panel-2);overflow:hidden}.dictionary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--border)}.dictionary-head h3{margin:0;font-size:16px}.dictionary-head span{font-size:12px;color:var(--muted)}.dictionary-list{display:grid;max-height:290px;overflow:auto}.dictionary-row{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.dictionary-row strong{font-size:14px;overflow-wrap:anywhere}.dictionary-row>div{display:flex;gap:5px;flex:0 0 auto}.settings-form{padding:20px}.logs-panel{overflow:hidden}.logs-filters{display:flex;flex-wrap:wrap;gap:8px;padding:15px 18px;border-bottom:1px solid var(--border);background:var(--panel-2)}.check-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:750;padding:0 6px}.check-label input{accent-color:var(--primary)}.log-table{width:100%;overflow:hidden}.log-head,.log-row{display:grid;grid-template-columns:145px 170px 180px minmax(220px,1.6fr) 135px 135px 90px;gap:10px;align-items:center;padding:11px 17px;border-bottom:1px solid var(--border)}.log-head{background:var(--panel-2);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--muted)}.log-row{font-size:12px}.log-row>span{min-width:0;overflow-wrap:anywhere}.log-kind{display:inline-block;margin-right:6px;padding:3px 6px;border-radius:999px;font-size:10px}.log-kind.auth{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.log-kind.view{background:var(--cutting-bg);color:var(--cutting)}
.backups-panel{overflow:hidden}.backup-warning{margin:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--panel));border-radius:13px;color:var(--text);font-size:13px;line-height:1.5}.backup-upload{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel-2)}.backup-upload>div{display:grid;gap:4px;min-width:0}.backup-upload .muted{max-width:760px}.backup-list{display:grid;min-width:0}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-bottom:1px solid var(--border);min-width:0}.backup-main{display:grid;gap:4px;min-width:0}.backup-main strong{overflow-wrap:anywhere}.backup-main span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.backup-actions{display:flex;gap:7px;flex:0 0 auto}.backup-status{padding:12px 17px;color:var(--muted);min-height:20px}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.event-main[data-open-item]{cursor:pointer}.event-card:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:700px){.backup-upload,.backup-row{align-items:stretch;flex-direction:column}.backup-actions{width:100%}.backup-actions .btn{flex:1}.backup-warning{margin:12px}.event-main[data-open-item]{cursor:pointer}.content,.panel,.data-list,.schedule-list,.dashboard-columns>*{min-width:0;max-width:100%}.event-meta{min-width:0}.info-chip{max-width:100%}.event-title,.staff-line b,.detail-row strong{overflow-wrap:anywhere}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top, color-mix(in srgb,var(--primary) 10%,var(--bg)),var(--bg) 52%)}.login-card{width:min(520px,100%);padding:32px;background:var(--panel);border:1px solid var(--border);border-radius:23px;box-shadow:0 24px 70px rgba(15,23,42,.10)}.login-head{margin:25px 0 20px}.login-head h1{margin:0 0 7px;font-size:28px;letter-spacing:-.04em}.login-head p{margin:0;color:var(--muted)}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:14px;font-weight:800}.login-card input{min-height:46px;width:100%;padding:11px 12px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:11px}.login-foot{display:flex;align-items:center;gap:8px;margin-top:19px;color:var(--muted);font-size:12px}.setup-hint{margin:15px 0 0;color:var(--muted);font-size:12px}.setup-hint a{color:var(--primary);font-weight:800}.alert{padding:12px 13px;border-radius:12px;margin:0 0 14px;font-size:13px}.alert-danger{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 22%,var(--border))}.alert-info{background:color-mix(in srgb,var(--primary) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border))}.success-big{text-align:center}.success-big>div{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 13px;background:var(--success-bg);color:var(--success);border-radius:50%;font-size:26px}.success-big h1{margin:0;font-size:27px}.success-big p{color:var(--muted)}.toast{position:fixed;top:88px;right:22px;z-index:160;max-width:min(420px,calc(100vw - 44px));padding:12px 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);font-size:13px;font-weight:750;opacity:0;transform:translateY(-6px);transition:.18s ease}.toast.show{opacity:1;transform:none}.toast.hide{opacity:0;transform:translateY(-4px)}.toast.success{border-color:color-mix(in srgb,var(--success) 28%,var(--border))}.toast.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--border))}
@media(max-width:1180px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.content{padding:22px}.user-card{grid-template-columns:1fr}.user-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.user-card>.btn{justify-self:start}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:280px;transform:translateX(-104%);transition:transform .18s ease;box-shadow:24px 0 55px rgba(0,0,0,.24)}.sidebar.open{transform:none}.mobile-menu{display:block}.topbar{padding:0 15px;height:68px}.content{padding:15px}.hero{padding:21px;align-items:flex-start;flex-direction:column}.hero h2{font-size:28px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.dashboard-columns,.leave-grid,.settings-page{grid-template-columns:1fr}.toolbar{align-items:stretch}.filters{width:100%;justify-content:stretch}.filters input,.filters select,.filters .btn{flex:1;min-width:0}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.dictionary-grid{grid-template-columns:1fr}.log-head{display:none}.log-row{grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 15px}.log-row span:nth-child(1){grid-column:1/-1;font-weight:900}.log-row span:nth-child(2),.log-row span:nth-child(3),.log-row span:nth-child(4),.log-row span:nth-child(5),.log-row span:nth-child(6),.log-row span:nth-child(7){grid-column:auto}.log-row span:nth-child(4){grid-column:1/-1}.log-row span:nth-child(5),.log-row span:nth-child(6),.log-row span:nth-child(7){font-size:11px}}
@media(max-width:700px){body{font-size:15px;overflow-x:hidden;touch-action:pan-y}.topbar{backdrop-filter:none;-webkit-backdrop-filter:none}.content{padding:11px}.topbar{height:62px}.page-title h1{font-size:18px}.page-title span{display:none}.top-actions .icon-btn{width:36px;height:36px}.section-title{font-size:22px}.hero h2{font-size:24px}.stat-grid-three{grid-template-columns:1fr 1fr}.stat-card{padding:14px}.stat-card strong{font-size:26px}.panel-head{padding:15px}.panel-head h2{font-size:18px}.toolbar{margin-bottom:11px}.view-toggle{width:100%}.view-toggle a{flex:1;text-align:center}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input,.filters select,.filters .btn{width:100%;min-width:0}.btn-prominent{grid-column:1/-1}.event-card,.event-card.no-event-time{grid-template-columns:minmax(0,1fr);gap:9px;padding:16px 14px}.event-card.no-event-time .event-time{display:none}.event-time{font-size:18px}.event-title{font-size:17px}.event-meta{gap:6px}.info-chip{font-size:12px;white-space:normal;font-weight:650;color:var(--text)}.event-note{font-size:14px}.staff-line{grid-template-columns:88px minmax(0,1fr);font-size:14px}.staff-line b{font-size:15px}.event-actions{justify-content:flex-start}.view-hint{padding-left:0}.date-divider{padding:11px 14px 7px}.calendar-panel{border-radius:16px}.calendar-legend{font-size:12px;gap:12px;flex-wrap:wrap}.cal-head,.cal-grid{display:none}.mobile-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:9px;background:var(--panel-2);border-bottom:1px solid var(--border)}.mobile-day{min-width:0;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 3px;display:grid;gap:3px;text-align:center}.mobile-day span{font-size:10px;color:var(--muted);text-transform:capitalize}.mobile-day b{font-size:14px}.mobile-day small{font-size:9px;font-weight:900;color:var(--primary);text-transform:uppercase}.mobile-day.today{box-shadow:0 0 0 2px var(--primary) inset;background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.mobile-day.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent) inset}.mobile-agenda-head{display:block;padding:14px;border-bottom:1px solid var(--border)}.mobile-agenda-head>div{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.mobile-agenda-head strong{font-size:17px;text-transform:capitalize}.mobile-agenda-head span{font-size:12px;color:var(--muted)}.mobile-agenda{display:grid}.mobile-agenda .event-card{border-bottom:1px solid var(--border)}.modal{max-height:95vh;border-radius:18px}.modal-head{padding:20px 20px 0}.modal-head h2{font-size:21px}.modal-form,.detail-modal{padding:17px 20px 22px}.assignment-add{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr;gap:5px}.user-fields{grid-template-columns:1fr 1fr}.leave-row,.admin-leave{grid-template-columns:1fr;padding:14px}.decision-actions{justify-content:flex-start}.calendar-day-panel{display:none!important}.dictionary-grid{padding:12px}.logs-filters{display:grid;grid-template-columns:1fr 1fr}.logs-filters .check-label{grid-column:1/-1}.logs-filters .btn{width:100%}}
@media(max-width:440px){.stat-grid-three{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.btn-prominent{grid-column:auto}.event-title{font-size:17px}.staff-line{grid-template-columns:92px minmax(0,1fr)}.mobile-week{gap:3px}.mobile-day{padding:7px 2px}.mobile-day span{font-size:9px}.mobile-day b{font-size:13px}.dictionary-row{align-items:flex-start;flex-direction:column}.dictionary-row>div{width:100%}.dictionary-row .btn{flex:1}.user-fields{grid-template-columns:1fr}.form-actions .btn{flex:1}.logs-filters{grid-template-columns:1fr}}

.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.filter-chip{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.filter-chip:hover{border-color:var(--primary)}.date-filter-form .add-month-btn{align-self:end}.date-filter-form [hidden]{display:none!important}
@media(max-width:700px){.date-filter-form .form-grid.two{grid-template-columns:1fr}.date-filter-form .add-month-btn{width:100%}.filter-chip{min-height:38px;padding:9px 11px}}

/* V18 mobile hardening */
.event-card, .event-main, .event-actions, .panel-head > div, .toolbar > div, .leave-row, .admin-leave, .user-card, .user-main, .user-fields, .dictionary-row, .log-row, .backup-row { min-width: 0; }
.event-title, .event-note, .staff-line b, .leave-row, .admin-leave, .user-main strong, .user-main span, .dictionary-row strong, .log-row > span, .backup-main span { overflow-wrap: anywhere; }
@media(max-width:700px){
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .hero-actions .btn { width:100%; }
  .panel-head { min-width:0; }
  .panel-head > div { max-width:100%; }
  .panel-head h2, .section-title, .page-title h1 { overflow-wrap:anywhere; }
  .event-card { overflow:hidden; }
  .event-actions .btn { min-height:40px; }
  .calendar-controls .icon-btn, .calendar-controls .btn { min-width:44px; min-height:44px; }
  .mobile-day { min-height:58px; }
  .logs-filters input, .logs-filters select, .logs-filters .btn { min-width:0; width:100%; }
}
@media(max-width:440px){
  .hero-actions { grid-template-columns:1fr; }
  .content { width:100%; max-width:100%; }
  .panel-head { gap:10px; }
  .panel-head .text-link { white-space:nowrap; }
}

.force-password-card{width:min(560px,100%)}
.leave-actions{justify-content:flex-end}
.danger-text{color:var(--danger)!important}
@media(max-width:700px){.leave-actions{width:100%;justify-content:flex-start}.leave-actions .btn{flex:1;min-width:0}.force-password-card{padding:22px}.force-password-card .login-head h1{font-size:24px}}

/* V23 - leave balance/list/calendar refinements */
.leave-admin-balance-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,220px) minmax(170px,220px);gap:9px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--panel-2)}
.leave-admin-balance-tools select{min-height:44px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);padding:10px 12px;min-width:0}
.leave-balance-list{display:grid}.leave-balance-card{display:grid;grid-template-columns:minmax(170px,1.35fr) repeat(4,minmax(100px,.8fr)) minmax(160px,auto);gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border)}.leave-balance-card>div{min-width:0}.leave-balance-card span{display:block;color:var(--muted);font-size:11px;font-weight:800}.leave-balance-card strong{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}.leave-balance-person strong{font-size:15px}.leave-balance-card-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}.leave-balance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px}.leave-balance-summary>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.leave-balance-summary span{display:block;color:var(--muted);font-size:12px}.leave-balance-summary strong{display:block;margin-top:4px;font-size:22px}
.leave-row{grid-template-columns:minmax(0,1fr) auto minmax(0,auto);gap:14px}.leave-row-main>strong{display:block;font-size:14px}.leave-row-main>span{display:block;color:var(--muted);font-size:12px}.leave-row-main p{margin:5px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.leave-admin-comment{color:var(--warning)!important}.status-cancelled{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.leave-cal-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;border-radius:6px;font-size:10px;font-weight:800;margin-top:2px}.leave-cal-event.pending{background:var(--warning-bg);color:var(--warning)}.leave-cal-event.approved{background:var(--success-bg);color:var(--success)}.leave-cal-event.rejected{background:var(--danger-bg);color:var(--danger)}.leave-calendar-day-list{border-top:1px solid var(--border)}.leave-cal-day-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--panel-2)}.leave-cal-day-head strong{font-size:15px}.leave-cal-day-head span{color:var(--muted);font-size:12px}
@media(max-width:900px){.leave-admin-balance-tools{grid-template-columns:1fr 1fr}.leave-balance-card{grid-template-columns:1fr 1fr}.leave-balance-card-actions{grid-column:1/-1;justify-content:flex-start}.leave-balance-summary{grid-template-columns:1fr}}
@media(max-width:700px){.leave-admin-balance-tools{grid-template-columns:1fr;padding:12px}.leave-balance-card{grid-template-columns:1fr 1fr;padding:14px}.leave-balance-card>div:first-child{grid-column:1/-1}.leave-row,.admin-leave{grid-template-columns:1fr;gap:10px;padding:14px}.leave-actions{width:100%;justify-content:flex-start}.leave-actions .btn{flex:1;min-width:0}.leave-calendar-panel .cal-head,.leave-calendar-panel .cal-grid{display:none!important}.leave-calendar-panel .mobile-week{display:grid}.leave-calendar-panel .mobile-agenda{display:grid}.leave-calendar-panel .leave-mobile-agenda .leave-row{padding:13px 14px}.leave-calendar-day-list{display:none}.leave-balance-summary{grid-template-columns:1fr}}


/* V25 - polished leave page */
.leave-page{display:grid;gap:16px;min-width:0}
.leave-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0}
.leave-calendar-panel{min-width:0}
.leave-calendar-head .calendar-controls{flex-wrap:wrap}
.leave-admin-balance-tools,.leave-filters{display:grid;gap:12px;padding:16px 18px;background:var(--panel-2);border-bottom:1px solid var(--border);min-width:0}
.leave-admin-balance-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
.leave-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.filter-field{display:grid;gap:6px;min-width:0}
.filter-field>span{font-size:11px;color:var(--muted);font-weight:900;letter-spacing:.03em}
.leave-admin-balance-tools select,.leave-filters select,.leave-filters input{width:100%;min-width:0;min-height:44px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:11px;padding:10px 12px;outline:none}
.leave-admin-balance-tools select:focus,.leave-filters select:focus,.leave-filters input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}
.leave-filter-reset{align-self:end;width:100%}
.leave-list-panel #leaveList{min-height:120px}
.leave-row{padding:16px 18px;border-bottom:1px solid var(--border);background:var(--panel);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,auto);gap:16px;align-items:center}
.leave-row:hover{background:var(--panel-2)}
.leave-row-main{min-width:0}
.leave-row-main>b{display:block;margin-bottom:3px;font-size:15px}
.leave-row-main>strong{font-size:14px;line-height:1.35}
.leave-row-main>span{font-size:12px;color:var(--muted)}
.leave-row-main p{font-size:12px;line-height:1.45}
.leave-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.leave-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 14px;padding:13px 18px;border-top:1px solid var(--border);background:var(--panel-2)}
.leave-calendar-legend span{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font-size:12px;font-weight:850;white-space:nowrap}
.leave-calendar-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.leave-calendar-legend i.pending{background:var(--warning)}
.leave-calendar-legend i.approved{background:var(--success)}
.leave-calendar-legend i.rejected{background:var(--danger)}
.leave-balance-actions label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:900}
.leave-balance-actions select{min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}
.status-cancelled{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}
@media(max-width:1000px){.leave-bottom-grid{grid-template-columns:1fr}.leave-admin-balance-tools,.leave-filters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.leave-bottom-grid{grid-template-columns:1fr}.leave-admin-balance-tools,.leave-filters{grid-template-columns:1fr;padding:12px}.leave-row{grid-template-columns:1fr;gap:10px;padding:14px}.leave-actions{justify-content:flex-start;width:100%}.leave-actions .btn{flex:1;min-width:0}.leave-calendar-head{align-items:stretch}.leave-calendar-head .calendar-controls{width:100%;justify-content:space-between}.leave-calendar-head .calendar-controls>*{min-height:44px}.leave-calendar-legend{padding:12px;gap:8px}.leave-calendar-legend span{font-size:11px;padding:7px 9px}.leave-balance-card{grid-template-columns:1fr 1fr}.leave-balance-card-actions{grid-column:1/-1}.leave-balance-actions select{min-width:110px}}
@media(max-width:440px){.leave-filters,.leave-admin-balance-tools{padding:10px}.leave-calendar-legend{gap:7px}.leave-calendar-legend span{flex:1;justify-content:center;min-width:0}.leave-balance-card{grid-template-columns:1fr}.leave-balance-card>div:first-child,.leave-balance-card-actions{grid-column:auto}.leave-filter-reset{min-height:44px}}

/* V26 - final desktop compactness and balance layout */
@media(min-width:1001px){
  .event-card{grid-template-columns:70px minmax(0,1fr) auto;gap:14px;padding:16px 18px}
  .event-card.no-event-time{grid-template-columns:minmax(0,1fr) auto}
  .event-time{font-size:19px}
  .event-title{font-size:16px}
  .info-chip{font-size:12px;padding:5px 9px}
  .event-note{font-size:13px;padding:10px 12px;margin-top:9px}
  .staff-list{margin-top:10px;gap:6px}
  .staff-line{grid-template-columns:112px minmax(0,1fr);font-size:14px;gap:10px}
  .leave-balance-card{grid-template-columns:minmax(160px,1.25fr) repeat(4,minmax(90px,1fr));gap:12px;padding:14px 18px}
  .leave-balance-card-actions{grid-column:1/-1;justify-content:flex-start;padding-top:2px}
}
.leave-balance-card{min-width:0}
.leave-balance-card-actions{min-width:0}
.leave-balance-card-actions .btn{white-space:nowrap}


/* V28 - compact operational workspace */
html,body{overflow-x:hidden}
body{font-size:14px}
.app-shell{grid-template-columns:226px minmax(0,1fr)}
.sidebar{padding:14px 10px}.brand{padding:5px 7px 18px}.brand strong{font-size:16px}.brand span{font-size:10px}.nav-link{padding:9px 10px;font-size:13px;gap:10px}.topbar{height:60px;padding:0 20px}.page-title h1{font-size:18px}.page-title span{font-size:11px}.content{max-width:1700px;padding:18px}.panel{border-radius:12px;box-shadow:0 5px 18px rgba(15,23,42,.035)}.panel-head{padding:14px 16px}.panel-head h2{font-size:17px}.muted{font-size:12px}.btn{min-height:38px;padding:8px 12px;font-size:12px}.stat-card{border-radius:12px;padding:14px}.stat-card span{font-size:11px}.stat-card strong{font-size:25px;margin-top:4px}
.event-card{grid-template-columns:62px minmax(0,1fr) auto;gap:12px;padding:13px 16px}.event-card.no-event-time{grid-template-columns:minmax(0,1fr) auto}.event-time{font-size:17px}.event-title{font-size:15px}.info-chip{font-size:11px;padding:4px 8px}.event-note{font-size:12px;padding:8px 10px;margin-top:7px}.staff-line{grid-template-columns:100px minmax(0,1fr);font-size:13px;gap:8px}.staff-list{gap:5px;margin-top:8px}
/* Make existing dashboard more compact if cached markup appears */
.hero{padding:18px;border-radius:14px}.hero h2{font-size:26px}.hero p{font-size:13px}.dashboard-columns{gap:12px}
.workboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:16px 18px;margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);min-width:0}.workboard-head h2{margin:3px 0 4px;font-size:24px;letter-spacing:-.035em}.workboard-head p{margin:0}.workboard-actions{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}.compact-date{display:grid;gap:4px}.compact-date span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.compact-date input{height:38px;min-width:145px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:7px 10px}.workboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.worker-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-stat{box-shadow:none}.compact-stat strong{font-size:23px}.workboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:12px;min-width:0}.compact-panel-head{padding:12px 14px;align-items:center}.workboard-tabs{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}.workboard-tabs button,.staff-filter-bar button{border:0;background:var(--panel);color:var(--muted);padding:7px 9px;font-size:11px;font-weight:800}.workboard-tabs button.active,.staff-filter-bar button.active{background:var(--panel-2);color:var(--text)}.workboard-list{min-height:80px}.wb-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--panel);align-items:start}.wb-row:hover{background:var(--panel-2)}.wb-row.is-cutting{box-shadow:inset 3px 0 0 var(--cutting)}.wb-time{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.wb-title{font-size:14px;font-weight:900;line-height:1.28}.wb-kind-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin:0 6px 1px 0}.is-cutting .wb-kind-dot{background:var(--cutting)}.wb-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.wb-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);padding:3px 7px;font-size:10px;color:var(--muted);max-width:100%;overflow-wrap:anywhere}.wb-chip.people{color:var(--text);font-weight:700}.wb-chip.cutting{color:var(--cutting);background:var(--cutting-bg);border-color:color-mix(in srgb,var(--cutting) 35%,var(--border))}.wb-note{margin-top:6px;padding:6px 8px;border-radius:8px;background:var(--warning-bg);color:var(--warning);font-size:11px;overflow-wrap:anywhere}.wb-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.wb-user-note{font-size:11px;color:var(--muted);padding-top:5px}.staff-filter-bar{display:flex;gap:5px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--panel-2);overflow:auto}.staff-filter-bar button{white-space:nowrap;border:1px solid transparent;border-radius:999px}.staff-filter-bar button.active{border-color:var(--border)}.staff-board-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:10px 12px;border-bottom:1px solid var(--border);align-items:center}.staff-person{display:flex;gap:8px;align-items:center;min-width:0}.staff-person .avatar{width:28px;height:28px;font-size:11px;background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.staff-person strong{display:block;font-size:12px;overflow-wrap:anywhere}.staff-person small{display:block;color:var(--muted);font-size:10px}.staff-status{font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;white-space:nowrap}.staff-status.free{background:var(--success-bg);color:var(--success)}.staff-status.busy{background:var(--warning-bg);color:var(--warning)}.staff-status.leave{background:var(--danger-bg);color:var(--danger)}.staff-tasks{grid-column:1/-1;display:grid;gap:3px;margin-left:36px}.staff-task{display:grid;grid-template-columns:36px minmax(0,1fr);gap:5px;font-size:10px;color:var(--muted)}.staff-task b{color:var(--text);overflow-wrap:anywhere}.staff-task.empty{font-style:italic}.workboard-queue{margin-top:12px}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);align-items:center}.queue-row>div:first-child{min-width:0}.queue-row strong{font-size:13px}.queue-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.queue-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.queue-section-label{padding:8px 14px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.queue-send-summary{display:flex;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:12px}.queue-send-summary span{color:var(--muted)}.worker-program{margin-top:0}
@media(max-width:1250px){.app-shell{grid-template-columns:214px minmax(0,1fr)}.workboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr)}.workboard-head h2{font-size:21px}.workboard-actions .btn{padding-inline:10px}.event-title{font-size:14px}.event-time{font-size:16px}.staff-line{font-size:12px}}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:260px;transform:translateX(-105%);transition:transform .18s ease}.sidebar.open{transform:none}.mobile-menu{display:block}.topbar{height:56px;padding:0 14px}.content{padding:12px}.workboard-head{align-items:stretch;flex-direction:column}.workboard-actions{align-items:stretch}.workboard-grid{grid-template-columns:1fr}.workboard-staff{order:2}.workboard-program{order:1}.workboard-queue{order:3}}
@media(max-width:700px){.workboard-stats,.worker-stats{grid-template-columns:1fr 1fr}.workboard-actions{display:grid;grid-template-columns:1fr 1fr}.compact-date input{width:100%}.workboard-actions .btn{width:100%}.wb-row{grid-template-columns:45px minmax(0,1fr);gap:8px;padding:10px 11px}.wb-actions{grid-column:2;justify-content:flex-start}.wb-title{font-size:13px}.wb-time{font-size:15px}.staff-board-row{grid-template-columns:minmax(0,1fr) auto}.queue-row{grid-template-columns:1fr}.queue-actions{justify-content:flex-start}.workboard-tabs{overflow:auto}.workboard-tabs button{white-space:nowrap}.workboard-head h2{font-size:20px}.compact-stat strong{font-size:21px}}
@media(max-width:440px){.workboard-stats,.worker-stats{grid-template-columns:1fr}.workboard-actions{grid-template-columns:1fr}.content{padding:9px}.wb-row{grid-template-columns:39px minmax(0,1fr)}.staff-tasks{margin-left:0}.panel-head{padding:11px 12px}.panel-head h2{font-size:16px}.muted{font-size:11px}}

/* V29 - desktop sidebar stays fixed while the main page scrolls */
@media(min-width:1001px){
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed;inset:0 auto 0 0;width:226px;height:100vh;overflow:hidden;z-index:100}
  .main{margin-left:226px;min-width:0}
}
@media(max-width:1000px){
  .main{margin-left:0}
  .sidebar{overflow-y:auto;overscroll-behavior:contain}
}
.staff-status-wrap{display:flex;align-items:center;gap:6px;justify-content:flex-end;min-width:0}
.staff-status-wrap .btn{min-height:30px;padding:5px 8px;font-size:10px}

/* V30 stability / compact desktop */
html,body{max-width:100%;overflow-x:hidden}
@media(min-width:1001px){
  .sidebar{position:fixed!important;left:0;top:0;bottom:0;width:226px;height:100vh;overflow:hidden;z-index:1000}
  .main{margin-left:226px;min-width:0;width:calc(100% - 226px)}
  .content{max-width:1500px;margin-inline:auto}
  .event-card{grid-template-columns:58px minmax(0,1fr) auto}
  .event-time{font-size:16px}.event-title{font-size:15px}.staff-line{font-size:12px}.info-chip{font-size:11px;padding:5px 8px}.event-note{font-size:11px}
}
@media(max-width:1000px){.sidebar{overflow-y:auto!important;overscroll-behavior:contain}}
/* V31 final containment */
@media (min-width:1001px){
  html,body{overflow-x:hidden}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:226px!important;height:100vh!important;overflow:hidden!important;overflow-y:hidden!important}
  .main{margin-left:226px!important;width:calc(100% - 226px)!important;min-width:0!important}
  .content{min-width:0!important;max-width:1500px!important;margin-inline:auto!important}
}
@media (max-width:1000px){
  .main{margin-left:0!important;width:100%!important;min-width:0!important}
  .sidebar{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
}
.event-main,.event-title,.event-meta,.event-note,.staff-list,.staff-line,.wb-row,.wb-row-main,.wb-title,.wb-meta{min-width:0;overflow-wrap:anywhere}

/* V32 — compact munkaszervezés és dolgozói havi naptár */
.board-date-nav{display:flex;align-items:flex-end;gap:6px;min-width:0}
.board-date-nav .compact-date{min-width:0}
.board-date-nav .compact-date input{min-width:140px}
.board-date-nav .icon-btn{min-width:38px;height:38px;flex:0 0 auto;font-size:22px;line-height:1}
.admin-workboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-workboard-stats .compact-stat{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px}
.admin-workboard-stats .compact-stat span{font-size:12px;line-height:1.2;color:var(--text);font-weight:750}
.admin-workboard-stats .compact-stat strong{font-size:20px;line-height:1;margin:0;margin-left:auto;font-variant-numeric:tabular-nums}
.staff-person-open{display:flex;align-items:center;gap:8px;min-width:0;width:100%;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.staff-person-open:hover strong{text-decoration:underline;text-decoration-color:var(--primary)}
.staff-person-text{display:block;min-width:0}
.staff-status-wrap{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:0}
.staff-status-wrap .btn{min-height:31px;padding:5px 8px;font-size:11px;white-space:nowrap}
.staff-tasks{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:36px;min-width:0}
.staff-task-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2);font-size:10px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.staff-task-chip.cutting{border-left:3px solid var(--cutting)}
.staff-task-empty{font-size:11px;font-style:normal;color:var(--text);font-weight:600}
.staff-more-tasks{border:0;background:transparent;color:var(--primary-strong,var(--primary));font:inherit;font-size:10px;font-weight:850;padding:3px 5px;cursor:pointer}
.worker-work-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px;align-items:start;min-width:0}
.worker-work-grid>*{min-width:0}
.worker-month-panel{min-width:0;overflow:hidden}
.worker-month-nav{display:flex;align-items:center;gap:7px;min-width:0}
.worker-month-nav strong{font-size:12px;white-space:nowrap;text-align:center;min-width:88px;color:var(--text)}
.worker-month-nav .icon-btn{min-width:34px;width:34px;height:34px;padding:0;font-size:22px;line-height:1}
.worker-month-calendar{padding:10px 12px 12px;min-width:0}
.worker-month-weekdays,.worker-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.worker-month-weekdays{margin-bottom:5px}
.worker-month-weekdays span{text-align:center;font-size:10px;font-weight:850;color:var(--text);padding:3px 0}
.worker-month-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;min-height:61px;padding:5px 2px 4px;border:1px solid transparent;border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}
.worker-month-day:hover{background:var(--panel-2);border-color:var(--border)}
.worker-month-day.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.worker-month-day.selected{background:var(--primary-soft,#fff4df);border-color:var(--primary)}
.worker-day-number{font-size:12px;font-weight:850;line-height:1.1}
.worker-month-day.today .worker-day-number{background:var(--primary);color:#fff;border-radius:999px;min-width:22px;padding:4px 5px}
.worker-day-dots{display:flex;gap:3px;min-height:6px;align-items:center;justify-content:center}
.worker-day-dots i{width:5px;height:5px;border-radius:50%;display:inline-block;background:var(--primary)}
.worker-day-dots i.cutting-dot{background:var(--cutting)}
.worker-day-count{min-height:10px;font-size:8px;line-height:1.1;text-align:center;color:var(--text);overflow-wrap:anywhere}
.worker-month-blank{min-height:61px}
.worker-calendar-legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 13px 12px;color:var(--text);font-size:10px;font-weight:700}
.worker-calendar-legend span{display:inline-flex;align-items:center;gap:5px}
.worker-calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary)}
.worker-calendar-legend i.cutting-dot{background:var(--cutting)}
.staff-assign-choice{display:grid;gap:12px}
.staff-assign-choice p{margin:0;line-height:1.45}
.staff-assign-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.staff-assign-choice-grid .btn{min-height:46px;white-space:normal}
.staff-assign-choice-grid .btn:disabled{opacity:.45;cursor:not-allowed}
.form-help{font-size:12px;color:var(--text);line-height:1.45;margin:0}
.staff-task-detail-modal{display:grid;gap:12px}
.staff-task-detail-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}
.staff-task-detail-summary>strong{font-size:15px;margin-right:auto}
.staff-task-detail-summary>span:last-child{font-size:12px;color:var(--text)}
.staff-task-detail-list{display:grid;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.staff-task-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border);min-width:0}
.staff-task-detail-row:last-child{border-bottom:0}
.staff-task-detail-row>div{display:grid;justify-items:start;gap:5px;min-width:0}
.staff-task-detail-row strong{font-size:13px;overflow-wrap:anywhere}
.staff-task-detail-row small{font-size:11px;color:var(--text)}
@media(max-width:1000px){.worker-work-grid{grid-template-columns:1fr}.worker-month-panel{order:2}.worker-program{order:1}}
@media(max-width:700px){
  .admin-workboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-workboard-stats .compact-stat{padding:8px 10px;gap:6px}
  .admin-workboard-stats .compact-stat span{font-size:11px}
  .admin-workboard-stats .compact-stat strong{font-size:18px}
  .workboard-actions{display:flex;flex-wrap:wrap;gap:7px}
  .board-date-nav{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 38px auto;align-items:end}
  .board-date-nav .compact-date input{width:100%;min-width:0}
  .board-date-nav #boardToday{width:auto;min-width:52px}
  .workboard-actions>[data-open-shooting],.workboard-actions>[data-open-cutting],.workboard-actions>#openQueueItem{flex:1 1 140px;width:auto}
  .staff-board-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}
  .staff-status-wrap{justify-content:flex-start}
  .staff-tasks{margin-left:0}
  .worker-month-calendar{padding:8px}
  .worker-month-weekdays,.worker-month-grid{gap:3px}
  .worker-month-day,.worker-month-blank{min-height:52px}
  .worker-day-count{font-size:7px}
  .staff-task-detail-row{align-items:flex-start;flex-direction:column}
  .staff-task-detail-row>.btn{width:100%}
  .staff-assign-choice-grid{grid-template-columns:1fr}
}
@media(max-width:380px){
  .admin-workboard-stats .compact-stat{padding:7px 8px}
  .admin-workboard-stats .compact-stat span{font-size:10px}
  .board-date-nav{grid-template-columns:34px minmax(0,1fr) 34px auto;gap:4px}
  .board-date-nav .icon-btn{min-width:34px;width:34px}
  .worker-month-day,.worker-month-blank{min-height:46px}
  .worker-day-count{font-size:6px}
}

/* V32: áttekinthetőbb munkaszervezés sok stábtag esetén */
.workboard-grid-program{grid-template-columns:minmax(0,1fr)}
.workboard-staff-full{margin-top:12px;min-width:0}
.workboard-staff-full .staff-board-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:8px;padding:10px;min-width:0}
.workboard-staff-full .staff-board-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:8px 10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);min-width:0}
.workboard-staff-full .staff-board-row:hover{background:var(--panel-2)}
.workboard-staff-full .staff-person{min-width:0}
.workboard-staff-full .staff-person-open{gap:8px;min-width:0}
.workboard-staff-full .staff-person-text{min-width:0}
.workboard-staff-full .staff-person-text strong{font-size:12px;line-height:1.25;color:var(--text)}
.workboard-staff-full .staff-person-text small{font-size:11px;color:var(--text);font-weight:600}
.workboard-staff-full .staff-status-wrap{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-width:0}
.workboard-staff-full .staff-status-wrap .btn{font-size:11px;min-height:30px;padding:5px 8px}
.workboard-staff-full .staff-tasks-open{grid-column:1/-1;width:100%;display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-start;min-width:0;padding:6px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.workboard-staff-full .staff-tasks-open:hover{background:transparent}
.workboard-staff-full .staff-task-chip{font-size:10px;line-height:1.35;color:var(--text);font-weight:550;max-width:100%;white-space:normal;text-align:left}
.workboard-staff-full .staff-task-chip b{font-size:9px;text-transform:uppercase;letter-spacing:.025em;margin-right:3px}
.workboard-staff-full .staff-task-empty{font-size:11px;color:var(--text);font-style:normal;font-weight:600}
.workboard-staff-full .staff-more-tasks{font-size:10px;font-weight:850;color:var(--text);padding:3px 6px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}
.workboard-staff-full .staff-filter-bar{overflow-x:auto;scrollbar-width:thin}
.workboard-staff-full .staff-filter-bar button{color:var(--text)}
.workboard-staff-full .staff-filter-bar button.active{color:var(--text);font-weight:900}
.workboard-staff-full .staff-status{font-size:10px}
.workboard-head .muted,.workboard-program .muted,.workboard-queue .muted,.workboard-staff-full .muted{color:var(--text);opacity:.88}
.workboard-program .wb-chip,.workboard-program .wb-note,.queue-meta .wb-chip{color:var(--text)}
.worker-month-panel .muted{color:var(--text);opacity:.88}
@media(max-width:1000px){.workboard-staff-full .staff-board-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .workboard-staff-full .staff-board-list{grid-template-columns:minmax(0,1fr);padding:8px;gap:7px}
  .workboard-staff-full .staff-board-row{grid-template-columns:minmax(0,1fr) auto;padding:9px;gap:7px}
  .workboard-staff-full .staff-status-wrap .btn{white-space:normal;max-width:142px}
  .workboard-staff-full .staff-person-text strong{font-size:13px}
  .workboard-staff-full .staff-tasks-open{padding-top:7px}
}
@media(max-width:380px){
  .workboard-staff-full .staff-board-row{grid-template-columns:minmax(0,1fr);}
  .workboard-staff-full .staff-status-wrap{justify-content:space-between}
}


/* V32 — refinements from client review */
.workboard-head .workboard-actions{gap:6px}
.board-date-nav{display:flex;align-items:flex-end;gap:5px;min-width:0}
.board-date-nav .compact-date input{min-width:132px}
.workboard-stats.admin-workboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.workboard-staff-full .staff-tasks-open{font:inherit;appearance:none;-webkit-appearance:none;line-height:1.35;color:var(--text);font-size:11px;font-weight:600;background:transparent;box-shadow:none;min-height:0}
.workboard-staff-full .staff-tasks-open:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}
.workboard-staff-full .staff-tasks-open .staff-task-chip{font-size:11px;font-weight:600;line-height:1.4}
.workboard-staff-full .staff-tasks-open .staff-task-chip b{font-size:9px}
.workboard-staff-full .staff-person-open{font:inherit;appearance:none;-webkit-appearance:none;background:transparent;border:0;text-align:left;color:var(--text)}
.workboard-staff-full .staff-person-open:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}
.worker-work-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)}
.worker-month-panel{min-width:0}
.worker-month-calendar{min-width:0}
.worker-month-day{min-width:0;overflow:hidden}
@media (min-width:1001px){
  .workboard-staff-full .staff-board-list{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}
}
@media (max-width:1000px){
  .workboard-stats.admin-workboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .worker-work-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .board-date-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px auto;align-items:end;width:100%}
  .board-date-nav .compact-date input{min-width:0;width:100%;padding-inline:6px}
  .worker-month-nav{display:flex;align-items:center;gap:6px;max-width:100%}
  .worker-month-nav strong{font-size:12px;min-width:0;text-align:center}
  .worker-work-grid{gap:10px}
  .workboard-staff-full .staff-tasks-open{font-size:12px}
}

@media (max-width:700px){
  .workboard-staff-full .staff-board-list{grid-template-columns:minmax(0,1fr);padding:8px;gap:7px}
  .workboard-staff-full .staff-board-row{grid-template-columns:minmax(0,1fr);gap:7px}
  .workboard-staff-full .staff-status-wrap{justify-content:space-between}
  .worker-month-panel .panel-head{align-items:flex-start;flex-wrap:wrap}
}


/* V33 – nyugodtabb, kompaktabb elrendezés; az elsődleges napi feladatok kapnak hangsúlyt. */
:root{--muted:#526176}
html[data-theme=dark]{--muted:#aebaca}

/* Laptopon kevesebb függőleges tér, jól olvasható másodlagos adatokkal. */
@media (min-width:701px) and (max-width:1450px){
  .content{padding:13px 15px}
  .topbar{height:54px;padding-inline:16px}
  .page-title h1{font-size:17px}
  .page-title span{font-size:10px}
  .hero{padding:14px 16px;gap:12px}
  .hero h2{font-size:22px;margin:3px 0 5px}
  .hero p{font-size:12px}
  .panel-head{padding:11px 14px;gap:10px}
  .panel-head h2{font-size:16px}
  .stat-card{padding:10px 12px}
  .stat-card strong{font-size:22px}
  .workboard-head{padding:11px 14px;margin-bottom:9px;gap:12px}
  .workboard-head h2{font-size:19px}
  .workboard-head p{font-size:11px}
  .workboard-stats{gap:7px;margin-bottom:9px}
  .workboard-grid{gap:9px}
  .wb-row{padding:8px 10px;gap:8px}
  .wb-time{font-size:14px}
  .wb-title{font-size:12px}
  .wb-chip{font-size:9px;padding:2px 6px}
  .wb-note{font-size:10px;margin-top:4px;padding:5px 7px}
  .staff-board-row{padding:8px 9px;gap:5px 7px}
  .staff-tasks{gap:2px}
  .staff-task-chip{font-size:9px;padding:2px 5px}
  .staff-status-wrap .btn{font-size:10px;min-height:28px;padding:4px 7px}
  .cal-head div{padding:8px 7px;font-size:10px}
  .cal-day{height:clamp(66px,7.9vh,92px);min-height:0;padding:6px;overflow:hidden}
  .day-num{font-size:12px;margin-bottom:4px}
  .today-badge{font-size:8px;padding:2px 5px}
  .day-events{gap:3px;min-height:0;overflow:hidden}
  .cal-event{font-size:9px;line-height:1.2;padding:3px 5px;border-left-width:2px;border-radius:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .leave-cal-event{font-size:9px;padding:2px 4px;line-height:1.2}
  .more{font-size:9px;padding:1px 2px}
  .calendar-legend{padding:8px 12px;font-size:11px;gap:12px}
  .leave-bottom-grid{gap:10px}
}

/* A havi rács minden méreten kiszámítható sorokkal dolgozik; a zsúfolt napok további eseményei számláló alá kerülnek. */
.cal-day{height:clamp(76px,8.5vh,106px);min-height:0;overflow:hidden;padding:7px}
.cal-day .day-events{min-width:0;max-height:calc(100% - 20px);overflow:hidden}
.cal-day .cal-event{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.leave-calendar-panel .cal-day{height:clamp(76px,8.5vh,106px)}
.leave-calendar-panel .day-events{gap:3px}
.leave-calendar-panel .leave-cal-event{max-width:100%}

/* A szabadságkeret fél képernyős paneljei ne csússzanak ki laptopon sem. */
.leave-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.leave-balance-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;padding:11px 13px;align-items:start}
.leave-balance-card>div{min-width:0}
.leave-balance-person{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.leave-balance-card span{font-size:10px;line-height:1.3;color:var(--muted)}
.leave-balance-card strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.leave-balance-person strong{font-size:14px}
.leave-balance-card-actions{grid-column:1/-1;justify-content:flex-start;gap:7px}
.leave-balance-card-actions .status{font-size:10px}
.leave-admin-balance-tools,.leave-filters{gap:9px;padding:12px 14px}
.leave-admin-balance-tools select,.leave-filters select,.leave-filters input{min-height:39px;padding:8px 10px;font-size:12px}
.leave-row{padding:11px 13px;gap:10px}
.leave-row-main>b,.leave-row-main>strong{font-size:13px}
.leave-row-main>span,.leave-row-main p{font-size:11px}
.leave-row .btn{min-height:32px;padding:6px 9px;font-size:11px}
.leave-calendar-day-list .leave-row{grid-template-columns:minmax(0,1fr) auto;}
@media (max-width:1250px){
  .leave-bottom-grid{grid-template-columns:minmax(0,1fr)}
  .leave-balance-card{grid-template-columns:repeat(3,minmax(0,1fr))}
  .leave-calendar-panel .cal-day{height:clamp(70px,7.6vh,92px)}
}
@media (max-height:820px) and (min-width:701px){
  .cal-day,.leave-calendar-panel .cal-day{height:clamp(62px,8vh,78px)}
  .cal-event{font-size:9px;padding:2px 4px}
  .calendar-legend{padding-block:6px}
}

/* Kiosztóablak: legyen középre rendezett és ne nőjön majdnem teljes képernyősre. */
.modal.modal-assignment-choice{width:min(660px,calc(100vw - 36px));max-height:min(82vh,720px)}
.modal.modal-assignment-choice .modal-head{padding:20px 26px 0}
.modal.modal-assignment-choice .modal-head h2{font-size:22px}
.staff-assign-choice{padding:14px 26px 22px;gap:14px}
.staff-assign-choice>p:first-child{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:14px}
.staff-assign-choice>p:nth-child(2){font-size:14px;font-weight:650;color:var(--text)}
.staff-assign-choice-grid{gap:9px}
.staff-assign-choice-grid .btn{min-height:44px;padding:10px 12px;font-size:13px}
.modal-close{z-index:2}
@media (max-width:700px){
  .modal.modal-assignment-choice{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
  .modal.modal-assignment-choice .modal-head{padding:18px 17px 0}
  .staff-assign-choice{padding:12px 17px 18px}
  .staff-assign-choice-grid{grid-template-columns:1fr}
}

/* Hosszú nevek és menük számára elegendő hely, keskenyebb stabil oldalsáv. */
@media (min-width:1001px){
  .sidebar{width:204px!important;padding-inline:9px!important}
  .main{margin-left:204px!important;width:calc(100% - 204px)!important}
  .brand{gap:7px;padding-inline:5px}
  .brand-logo{width:74px!important}
  .brand strong{font-size:15px}
  .brand span{font-size:9px}
  .nav-link{gap:8px;padding:9px 8px;font-size:12px;white-space:normal;line-height:1.25}
  .nav-link>span:last-child{min-width:0;overflow-wrap:anywhere}
  .nav-section{padding-inline:9px;font-size:10px}
}

/* A másodlagos információt először röviden mutatjuk; a munkatárs sorára kattintva minden részlet elérhető. */
.workboard-staff-full .staff-task-chip{font-size:10px;line-height:1.3}
.workboard-staff-full .staff-more-tasks{font-size:10px;white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media (max-width:700px){
  .leave-bottom-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .leave-balance-card{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .leave-balance-person,.leave-balance-card-actions{grid-column:1/-1}
  .leave-calendar-panel .cal-day{height:auto;min-height:0}
}

/* V34 — naptárak olvashatósága, kompakt felhasználólista és heti munkaszervezés */
@media (min-width:701px){
  .cal-day,.leave-calendar-panel .cal-day{
    height:clamp(100px,11vh,124px)!important;
    min-height:100px!important;
    padding:7px 8px!important;
    gap:0;
  }
  .cal-day .day-num-wrap{min-height:19px;flex:0 0 19px;gap:5px;margin:0 0 5px}
  .cal-day .day-num{font-size:14px;line-height:1;margin:0;font-weight:900}
  .cal-day.today .day-num{color:var(--primary-2)}
  .cal-day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 85%,transparent)!important;background:color-mix(in srgb,var(--primary) 4%,var(--panel))}
  .cal-day.today .today-badge{font-size:9px;padding:3px 6px}
  .cal-day.selected{box-shadow:inset 0 0 0 2px var(--primary)!important}
  .cal-day .day-events{display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;gap:3px;min-height:0;max-height:none!important;overflow:hidden}
  .cal-day .cal-event,.leave-calendar-panel .cal-day .leave-cal-event{
    display:block!important;
    flex:0 0 22px;
    width:100%;max-width:100%;height:22px;min-height:22px;
    padding:3px 6px!important;
    border-left-width:3px;
    border-radius:6px;
    font-size:11px!important;line-height:16px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    overflow-wrap:normal!important;
  }
  .cal-day .more{flex:0 0 auto;font-size:10px;line-height:13px;color:var(--text);font-weight:800;padding:0 4px;white-space:nowrap}
  .cal-day.outside .day-num{color:var(--muted)}
}
@media (min-width:701px) and (max-width:1450px){
  .cal-day,.leave-calendar-panel .cal-day{height:100px!important;min-height:100px!important;padding:6px!important}
  .cal-day .day-num-wrap{margin-bottom:4px}
  .cal-day .cal-event,.leave-calendar-panel .cal-day .leave-cal-event{font-size:10.5px!important;padding:3px 5px!important}
}
@media (max-height:820px) and (min-width:701px){
  .cal-day,.leave-calendar-panel .cal-day{height:100px!important;min-height:100px!important}
  .cal-day .day-events{max-height:none!important;overflow:hidden!important}
}
/* The whole calendar cell is the only hit target. Preview bars are plain, ellipsized text. */
.cal-day{cursor:pointer;touch-action:manipulation}
.cal-day .cal-event{pointer-events:none}
.cal-day:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
.calendar-day-panel .event-actions .btn{min-height:32px}

/* Compact, legible user list: identity is prominent, metadata labels have full contrast. */
@media (min-width:701px){
  .user-card{grid-template-columns:minmax(175px,.95fr) minmax(0,2.4fr) auto;gap:12px;padding:10px 14px}
  .user-main{gap:8px}
  .user-main .avatar{width:32px;height:32px;min-width:32px}
  .user-main strong{font-size:14px;line-height:1.25}
  .user-main span{font-size:11px;color:var(--text)}
  .user-fields{gap:8px 10px}
  .user-fields span{font-size:10px;line-height:1.2;color:var(--text);font-weight:850;letter-spacing:.025em}
  .user-fields b{font-size:12px;line-height:1.3;color:var(--text);margin-top:3px}
  .user-card>.btn{min-height:32px;padding:6px 9px;font-size:11px}
}
@media (min-width:701px) and (max-width:1180px){
  .user-card{grid-template-columns:minmax(170px,.8fr) minmax(0,1.8fr);position:relative;padding-bottom:42px}
  .user-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .user-card>.btn{position:absolute;right:13px;bottom:7px;justify-self:end}
}
@media (max-width:700px){
  .user-card{gap:9px;padding:12px}
  .user-main strong{font-size:14px}
  .user-main span{font-size:12px;color:var(--text)}
  .user-fields span{color:var(--text);font-size:10px;letter-spacing:.02em}
  .user-fields b{color:var(--text);font-size:12px}
}

/* Admin daily/weekly planner: fewer competing visual anchors. */
.board-date-nav .active-mode{background:var(--primary)!important;border-color:var(--primary)!important;color:#172033!important;font-weight:900}
#boardPrev,#boardNext{min-width:34px;width:34px;height:36px;padding:0;font-size:21px;line-height:1}
.board-date-nav{gap:5px}
.board-date-nav .compact-date span{color:var(--text);font-weight:800}
.wb-week-divider{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--panel-2);border-block:1px solid var(--border);color:var(--text)}
.wb-week-divider strong{font-size:12px;line-height:1.25;font-weight:900;text-transform:capitalize}
.wb-week-divider span{font-size:10px;font-weight:800;white-space:nowrap}
.workboard-program .wb-row{min-width:0}
.workboard-program .wb-row .wb-title{overflow-wrap:anywhere}
.workboard-program .wb-row .wb-actions .btn{white-space:nowrap}
.workboard-program .wb-row .wb-actions{flex-wrap:wrap}
.workboard-staff-full{overflow:hidden}
.workboard-staff-full>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;user-select:none}
.workboard-staff-full>summary::-webkit-details-marker{display:none}
.workboard-staff-full>summary::marker{content:""}
.workboard-staff-full>summary:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
.staff-summary-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.staff-disclosure-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:7px;font-size:17px;line-height:1;color:var(--text);transition:transform .15s ease}
.workboard-staff-full[open]>summary .staff-disclosure-icon{transform:rotate(180deg)}
.workboard-staff-full:not([open])>summary{border-bottom:0}
@media (min-width:1001px){
  .workboard-head{gap:12px}
  .workboard-head h2{font-size:21px}
  .workboard-actions{gap:6px}
}
@media (max-width:1000px){
  .workboard-staff-full>summary{align-items:flex-start;padding:12px}
  .staff-summary-right{padding-top:2px}
}
@media (max-width:700px){
  .board-date-nav #boardWeek{min-width:60px}
  .workboard-head .workboard-actions{gap:7px}
  .wb-week-divider{padding:9px 10px}
  .wb-week-divider strong{font-size:12px}
}
@media (min-width:701px){.cal-day .cal-event,.leave-calendar-panel .cal-day .leave-cal-event{font-size:11.5px!important;line-height:16px!important}.cal-day .more{font-size:10.5px}}


/* V34: calendar previews remain readable inside compact month cells. */
@media (min-width:701px){
  .cal-day,.leave-calendar-panel .cal-day{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    height:100px!important;min-height:100px!important;max-height:100px!important;
    padding:6px!important;overflow:hidden!important;gap:0!important;
  }
  .cal-day .day-num-wrap{
    display:flex;align-items:center;gap:5px;flex:0 0 19px;min-height:19px;
    margin:0 0 4px!important;
  }
  .cal-day .day-num{font-size:14px!important;line-height:16px!important;margin:0!important}
  .cal-day .day-events{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:stretch!important;
    min-width:0!important;min-height:0!important;max-height:none!important;overflow:hidden!important;gap:2px!important;
  }
  .cal-day .cal-event{
    display:block!important;box-sizing:border-box!important;flex:0 0 23px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;height:23px!important;min-height:23px!important;
    margin:0!important;padding:4px 5px!important;border-left-width:3px!important;border-radius:6px!important;
    font-size:11.5px!important;line-height:14px!important;font-weight:650!important;color:var(--text)!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;overflow-wrap:normal!important;
  }
  .cal-day .cal-event.cutting{color:var(--cutting)!important}
  .leave-calendar-panel .cal-day .leave-cal-event{
    box-sizing:border-box!important;flex:0 0 23px!important;height:23px!important;min-height:23px!important;
    margin:0!important;padding:4px 5px!important;font-size:11px!important;line-height:14px!important;
    font-weight:750!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .cal-day .more{
    flex:0 0 12px!important;height:12px!important;min-height:12px!important;padding:0 3px!important;
    font-size:11px!important;line-height:12px!important;font-weight:850!important;color:var(--text)!important;
  }
}
@media (min-width:701px) and (max-width:1450px){
  .cal-day .cal-event{font-size:11.5px!important;line-height:14px!important;padding:4px 5px!important}
  .leave-calendar-panel .cal-day .leave-cal-event{font-size:11px!important;line-height:14px!important;padding:4px 5px!important}
}

@media (min-width:1451px){
  .cal-day .cal-event{font-size:12px!important;line-height:15px!important}
  .leave-calendar-panel .cal-day .leave-cal-event{font-size:11.5px!important;line-height:14px!important}
}

/* V35 — fixed desktop sidebar toggle and concise workboard composition */
.desktop-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;font-size:19px;font-weight:850}
@media(min-width:1001px){
  .app-shell{min-width:0}
  .sidebar{transition:width .16s ease,padding .16s ease;overflow-x:hidden!important}
  .main{transition:margin-left .16s ease,width .16s ease;min-width:0}
  html.sidebar-collapsed .sidebar{width:70px!important;padding:14px 7px!important}
  html.sidebar-collapsed .main{margin-left:70px!important;width:calc(100% - 70px)!important}
  html.sidebar-collapsed .brand{justify-content:center;padding:5px 0 18px!important}
  html.sidebar-collapsed .brand-logo{width:48px!important;max-width:100%;}
  html.sidebar-collapsed .brand>div{display:none!important}
  html.sidebar-collapsed .nav-link{justify-content:center;gap:0;padding:11px 4px!important}
  html.sidebar-collapsed .nav-link>span:first-child{width:auto;font-size:18px}
  html.sidebar-collapsed .nav-link>span:nth-child(2),
  html.sidebar-collapsed .nav-section{display:none!important}
  html.sidebar-collapsed .sidebar-bottom{gap:6px}
  html.sidebar-collapsed .theme-switch{justify-content:center;padding:8px 4px}
  html.sidebar-collapsed .theme-switch span:not(:first-child),
  html.sidebar-collapsed .theme-switch strong,
  html.sidebar-collapsed .account-mini>span:not(.avatar){display:none!important}
  html.sidebar-collapsed .account-mini{justify-content:center;padding:6px 3px}
  html.sidebar-collapsed .logout{font-size:0;padding:8px 3px}
  html.sidebar-collapsed .logout::before{content:'↪';font-size:18px}
  .workboard-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
  .workboard-head>div:first-child{min-width:0}
  .workboard-actions{width:100%;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:6px!important;min-width:0}
  .board-date-nav{display:flex!important;flex:0 0 auto!important;flex-flow:row nowrap!important;align-items:flex-end!important;gap:5px!important;width:auto!important;min-width:0}
  .board-date-nav .compact-date{flex:0 0 140px;min-width:0!important;width:140px}
  .board-date-nav .compact-date input{width:140px!important;min-width:0!important;height:36px;padding:6px 8px;font-size:12px}
  .board-date-nav .icon-btn{min-width:34px!important;width:34px!important;height:36px!important;min-height:36px!important;padding:0!important;flex:0 0 34px!important;font-size:20px}
  .board-date-nav .btn{min-height:36px!important;height:36px;padding:7px 10px!important;white-space:nowrap;flex:0 0 auto}
  .workboard-actions>.btn{min-height:36px!important;height:36px;padding:7px 10px!important;font-size:11px!important;line-height:1.2;white-space:nowrap!important;word-break:normal!important;flex:0 0 auto!important;width:auto!important;min-width:max-content}
  .workboard-grid-program{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(285px,.9fr)!important;align-items:start;gap:12px!important}
  .workboard-grid-program>.workboard-program{grid-column:1;min-width:0}
  .workboard-grid-program>.workboard-queue{grid-column:2;min-width:0;margin-top:0!important;align-self:stretch}
  .workboard-grid-program>.workboard-queue .panel-head{align-items:flex-start;gap:8px}
  .workboard-grid-program>.workboard-queue .panel-head>div:first-child{min-width:0}
  .workboard-grid-program>.workboard-queue .panel-head h2{font-size:16px}
  .workboard-grid-program>.workboard-queue .panel-head .muted{font-size:11px;line-height:1.35}
  .workboard-grid-program>.workboard-queue .queue-row{grid-template-columns:minmax(0,1fr)!important;align-items:start;gap:8px;padding:10px 12px}
  .workboard-grid-program>.workboard-queue .queue-row>div:first-child{min-width:0;width:100%;overflow-wrap:anywhere}
  .workboard-grid-program>.workboard-queue .queue-actions{justify-content:flex-start!important;flex-wrap:wrap}
  .workboard-grid-program>.workboard-queue .queue-meta{align-items:flex-start}
  .workboard-grid-program>.workboard-queue .wb-chip{white-space:normal;overflow-wrap:anywhere;max-width:100%}
  .workboard-grid-program>.workboard-queue .wb-note{white-space:pre-wrap;overflow-wrap:anywhere}
}
@media(min-width:1001px) and (max-width:1180px){
  .workboard-grid-program{grid-template-columns:minmax(0,1.35fr) minmax(265px,1fr)!important}
  .workboard-actions{gap:4px!important}
  .board-date-nav{gap:3px!important}
  .board-date-nav .compact-date,.board-date-nav .compact-date input{width:128px;flex-basis:128px}
  .workboard-actions>.btn{padding-inline:8px!important;font-size:10.5px!important}
}
@media(max-width:1000px){
  .desktop-sidebar-toggle{display:none!important}
  .mobile-menu{display:block!important}
  .workboard-grid-program{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .workboard-grid-program>.workboard-program,.workboard-grid-program>.workboard-queue{grid-column:1;min-width:0;width:100%;margin-top:0!important}
}
@media(max-width:700px){
  .workboard-grid-program>.workboard-queue .queue-row{grid-template-columns:minmax(0,1fr)!important}
  .workboard-grid-program>.workboard-queue .queue-actions{justify-content:flex-start!important}
}


/* V36: stable header, non-wrapping toolbar and no layout-jump sidebar. */
.topbar{justify-content:flex-start!important;gap:12px!important}
.top-date-only{display:flex;align-items:center;min-width:0;margin:0!important}
.top-date-only span{display:block;color:var(--text)!important;font-size:14px!important;font-weight:750!important;line-height:1.3;margin:0!important;white-space:nowrap}
.topbar .top-actions{margin-left:auto!important;flex:0 0 auto}
@media(min-width:1001px){
  .sidebar,.main{transition:none!important;will-change:auto!important}
  html.sidebar-collapsed .sidebar{width:70px!important;padding:14px 7px!important}
  html.sidebar-collapsed .main{margin-left:70px!important;width:calc(100% - 70px)!important}
  .workboard-head .workboard-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;gap:5px!important;min-width:0!important;overflow:visible!important}
  .workboard-head .board-date-nav{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;width:auto!important;min-width:0!important}
  .workboard-head .compact-date{display:block!important;flex:0 0 124px!important;width:124px!important;min-width:0!important}
  .workboard-head .compact-date>span{display:none!important}
  .workboard-head .compact-date input{display:block!important;width:124px!important;min-width:0!important;height:34px!important;padding:5px 6px!important;font-size:11px!important}
  .workboard-head .board-date-nav .icon-btn{width:32px!important;min-width:32px!important;height:34px!important;min-height:34px!important;flex:0 0 32px!important;padding:0!important;font-size:19px!important}
  .workboard-head .board-date-nav .btn,.workboard-head .workboard-actions>.btn{height:34px!important;min-height:34px!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;padding:6px 9px!important;font-size:11px!important;line-height:1.15!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
  .workboard-head #openQueueItem{padding-inline:9px!important}
  .workboard-head .workboard-actions>.btn{margin:0!important}
}
@media(min-width:1001px) and (max-width:1180px){
  .workboard-head .compact-date,.workboard-head .compact-date input{width:112px!important;flex-basis:112px!important}
  .workboard-head .board-date-nav .btn,.workboard-head .workboard-actions>.btn{padding-inline:7px!important;font-size:10px!important}
  .workboard-head .workboard-actions{gap:3px!important}
}
@media(max-width:1000px){
  .topbar{justify-content:flex-start!important}
  .top-date-only span{font-size:12px!important;white-space:normal}
}


/* V37: task-specific roles, compact cards and separated workboard/calendar groups. */
.assignment-add-role{grid-template-columns:minmax(155px,.72fr) minmax(0,1fr) auto}
.assignment-chip-main{display:grid!important;gap:2px!important;min-width:0}
.assignment-chip-main strong{font-size:14px!important;overflow-wrap:anywhere}
.assignment-chip-main span{font-size:12px!important;color:var(--muted)!important}
.assignment-chip.is-current-user{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--panel))}
.assignment-person-line{display:flex;justify-content:flex-start;align-items:baseline;gap:8px;min-width:0;padding:2px 0}
.assignment-person-line strong{font-size:12px;color:var(--text);overflow-wrap:anywhere}
.assignment-person-line span{font-size:11px;color:var(--muted);font-weight:650;overflow-wrap:anywhere}
.assignment-person-line.is-current-user strong{color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,transparent);border-radius:5px;padding:1px 5px}
.assignment-lines,.wb-assignment-list{display:grid;gap:2px;margin-top:6px;min-width:0}
.event-title-meta,.wb-title-meta{display:flex;align-items:baseline;gap:8px 10px;flex-wrap:wrap;min-width:0}
.event-title-meta>.event-title,.wb-title-meta>.wb-title{flex:0 1 auto;min-width:0}
.event-title-meta>.event-meta,.wb-title-meta>.wb-meta{flex:1 1 230px;min-width:0;margin-top:0}
.event-card{padding-top:12px;padding-bottom:12px;gap:12px}
.event-title{font-size:16px}
.event-meta{gap:5px}
.event-meta .info-chip{padding:4px 8px;font-size:11px}
.staff-list{margin-top:6px;gap:2px}
.workboard-section-heading,.calendar-section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.045em}
.workboard-section-heading span,.calendar-section-heading span{color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.workboard-task-section+.workboard-task-section{border-top:2px solid var(--border);margin-top:12px;padding-top:2px}
.wb-cutter-group+.wb-cutter-group,.calendar-room-group+.calendar-room-group,.calendar-cutter-group+.calendar-cutter-group{border-top:1px solid var(--border)}
.wb-cutter-heading,.calendar-room-heading,.calendar-cutter-heading{padding:7px 13px;background:color-mix(in srgb,var(--primary) 6%,var(--panel));font-size:11px;font-weight:850;color:var(--muted)}
.calendar-task-section+.calendar-task-section{margin-top:14px;border-top:2px solid var(--border)}
.calendar-room-group{border-bottom:0}
.calendar-room-heading{background:color-mix(in srgb,var(--cutting) 8%,var(--panel));color:var(--text)}
.calendar-cutter-heading{padding-left:22px;background:var(--panel-2)}
.wb-row-main,.event-main{min-width:0}
@media(max-width:700px){
  .assignment-add-role{grid-template-columns:1fr}
  .event-title-meta,.wb-title-meta{display:block}
  .event-title-meta>.event-meta,.wb-title-meta>.wb-meta{margin-top:5px}
  .event-title{font-size:15px}
  .event-card,.event-card.no-event-time{padding:12px 13px;gap:7px}
  .assignment-person-line{align-items:flex-start;flex-wrap:wrap;gap:3px 7px}
  .workboard-section-heading,.calendar-section-heading{padding:8px 10px}
  .wb-cutter-heading,.calendar-room-heading,.calendar-cutter-heading{padding-left:10px}
}


/* V38 – improved contrast and readability for shooting/cutting metadata.
   Keep chips fluid so longer labels wrap naturally on narrow screens. */
.event-meta .info-chip,
.workboard-program .wb-chip,
.queue-meta .wb-chip {
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  padding: 5px 9px !important;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.event-meta .info-chip.cutting-chip,
.workboard-program .wb-chip.cutting,
.queue-meta .wb-chip.cutting {
  color: #176747 !important;
}

html[data-theme="dark"] .event-meta .info-chip.cutting-chip,
html[data-theme="dark"] .workboard-program .wb-chip.cutting,
html[data-theme="dark"] .queue-meta .wb-chip.cutting {
  color: #91e2bc !important;
}

.event-meta,
.queue-meta,
.workboard-program .wb-meta {
  min-width: 0;
  align-items: flex-start;
}

@media (max-width: 700px) {
  .event-meta .info-chip,
  .workboard-program .wb-chip,
  .queue-meta .wb-chip {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    padding: 4px 8px !important;
  }
}

@media (max-width: 380px) {
  .event-meta .info-chip,
  .workboard-program .wb-chip,
  .queue-meta .wb-chip {
    font-size: 12px !important;
    padding: 4px 7px !important;
  }
}

/* V40 – restore clear title/metadata hierarchy with modest readability improvements.
   Primary task titles stay visually dominant; supporting chips are slightly clearer,
   but smaller and lighter than titles. Fluid wrapping is preserved for mobile. */
.event-title {
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
}
.workboard-program .wb-title {
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}
.queue-row strong {
  font-size: 15px;
  font-weight: 850;
  line-height: 1.3;
}
.event-meta .info-chip,
.workboard-program .wb-chip,
.queue-meta .wb-chip {
  color: var(--text) !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  line-height: 1.32 !important;
  padding: 4px 8px !important;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.event-meta .info-chip.material,
.event-meta .info-chip.cutting-chip,
.workboard-program .wb-chip.cutting,
.queue-meta .wb-chip.cutting {
  font-weight: 600 !important;
}
.event-meta .info-chip.cutting-chip,
.workboard-program .wb-chip.cutting,
.queue-meta .wb-chip.cutting {
  color: #176747 !important;
}
html[data-theme="dark"] .event-meta .info-chip.cutting-chip,
html[data-theme="dark"] .workboard-program .wb-chip.cutting,
html[data-theme="dark"] .queue-meta .wb-chip.cutting {
  color: #91e2bc !important;
}
.event-meta,
.queue-meta,
.workboard-program .wb-meta {
  min-width: 0;
  align-items: flex-start;
}
@media (max-width: 700px) {
  .event-title { font-size: 16px !important; }
  .workboard-program .wb-title { font-size: 14px !important; }
  .event-meta .info-chip,
  .workboard-program .wb-chip,
  .queue-meta .wb-chip {
    font-size: 12px !important;
    line-height: 1.32 !important;
    padding: 4px 7px !important;
  }
  .queue-row strong { font-size: 14px; }
  .settings-form { padding: 14px; }
  .settings-form .form-actions { justify-content: stretch; }
  .settings-form .form-actions .btn { flex: 1 1 100%; }
}
.settings-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 104px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--panel);
  color: var(--text);
  line-height: 1.5;
}
.settings-form textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent);
}
.settings-mail-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.settings-form .form-actions { align-items: center; }
@media (max-width: 380px) {
  .event-meta .info-chip,
  .workboard-program .wb-chip,
  .queue-meta .wb-chip {
    font-size: 12px !important;
    padding: 3px 7px !important;
  }
}
