/* EpitRend V1.2 core frontend
   VERZIO: V1.3.1 */
:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202124;background:#f4f2f8;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.muted{color:#6b6870}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800;color:#2563eb}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#0f1b2d 0 28%,#f5f3f9 28%)}.auth-card{width:min(100%,760px);background:#fff;border-radius:22px;padding:38px;box-shadow:0 24px 70px rgba(38,17,57,.2)}.auth-card h1{font-size:clamp(2rem,6vw,3rem);margin:.25rem 0 .75rem}.stack{display:grid;gap:14px;margin-top:18px}label{display:grid;gap:6px;font-weight:700}input,select,textarea{width:100%;min-height:44px;border:1px solid #d7d0de;border-radius:11px;padding:10px 13px;background:#fff;color:#202124}textarea{resize:vertical;min-height:90px}button{border:0;border-radius:11px;padding:12px 16px;font-weight:800}form button,.primary-btn{background:#2563eb;color:#fff}.secondary-btn{background:#edf2f7;color:#2563eb}.ghost-btn{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.25)}.icon-btn{background:transparent;padding:4px 10px;font-size:26px;color:#2563eb}.notice,.error{padding:12px 14px;border-radius:12px;margin-top:15px}.notice{background:#f3eff8;border:1px solid #ded1ea}.notice.success{background:#edf8f1;border-color:#c8e7d2}.notice.warning{background:#fff8e6;border-color:#f0d994}.error{background:#fff0f0;border:1px solid #edc8c8;color:#9a2525}.twofa-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.qr{width:240px;max-width:100%;display:block;margin:12px auto}.secret{display:block;background:#f6f4f8;border:1px solid #ddd4e4;padding:10px;border-radius:10px;word-break:break-all}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f6f4f9}.sidebar{background:#0f1b2d;color:#fff;padding:22px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand-block{display:flex;gap:10px;align-items:center;padding:6px 8px 22px}.brand-block small{display:block;opacity:.65;font-size:10px;margin-top:2px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#2563eb;display:grid;place-items:center;font-weight:900}.sidebar nav{display:grid;gap:7px}.nav-item{text-align:left;background:transparent;color:#eae4ef;border:1px solid transparent;padding:11px 12px}.nav-item.active,.nav-item:hover{background:#173f73;border-color:#2f6fbe}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.session-user{font-size:13px;line-height:1.35}.session-user strong{display:block}.main{padding:28px;min-width:0}.mobile-topbar{display:none}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.page-header h1{margin:.2rem 0;font-size:2rem}.widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.widget{background:#fff;border:1px solid #e3dce7;border-radius:16px;padding:18px;grid-column:span 4;box-shadow:0 7px 24px rgba(52,28,68,.06)}.widget.wide{grid-column:span 8}.widget.full{grid-column:1/-1}.widget h3{margin:0 0 12px}.metric-row{display:flex;gap:12px;flex-wrap:wrap}.metric{background:#f3f6f9;border-radius:12px;padding:12px 14px;min-width:110px}.metric strong{display:block;font-size:20px}.list{display:grid;gap:8px}.list-item{padding:10px 0;border-top:1px solid #eee8f0}.list-item:first-child{border-top:0}.status-pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eee5f4;color:#2563eb;font-size:11px;font-weight:800}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input{flex:1;min-width:240px}.table-card{background:#fff;border:1px solid #e3dce7;border-radius:16px;overflow:auto;box-shadow:0 7px 24px rgba(52,28,68,.05)}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:12px 14px;border-bottom:1px solid #eee8f0;text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#667085;background:#faf8fb}tbody tr:hover{background:#fcfbfd}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.small-btn{padding:7px 10px;border-radius:9px;background:#edf2f7;color:#2563eb}.small-btn.danger{background:#fff0f0;color:#a02929}.badge-active{background:#e9f8ee;color:#227642}.badge-inactive{background:#f1eef3;color:#6f6874}.settings-card{background:#fff;border-radius:16px;border:1px solid #e3dce7;padding:20px;max-width:900px}.widget-settings{display:grid;gap:8px;margin:16px 0}.widget-setting{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;border:1px solid #e6e0e9;border-radius:11px;padding:10px;background:#fff}.drag-handle{color:#718096;cursor:grab;user-select:none}.widget-setting.dragging{opacity:.55}.section-box{margin-top:18px;padding:16px;border:1px solid #e4dce8;border-radius:14px;background:#fbf9fc}.section-title{font-weight:800;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.form-grid .full{grid-column:1/-1}.competency-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.competency-item{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;background:#fff;border:1px solid #e7e1ea;border-radius:10px;padding:10px}.modal{border:0;border-radius:18px;padding:0;width:min(900px,calc(100% - 28px));max-height:90vh;box-shadow:0 30px 90px rgba(30,14,39,.28)}.modal::backdrop{background:rgba(28,14,36,.48)}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.owner-sensitive{border-color:#cad8e8;background:#f5f8fc}.toast{position:fixed;right:18px;bottom:18px;z-index:50;background:#0f1b2d;color:#fff;padding:12px 15px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr}.widget{grid-column:span 6}.widget.wide{grid-column:span 6}.form-grid,.competency-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0f1b2d;color:#fff}.main{padding:18px}.page-header{flex-direction:column}.widget,.widget.wide{grid-column:1/-1}}
@media(max-width:620px){.auth-card{padding:24px}.twofa-grid{grid-template-columns:1fr}.form-grid,.competency-grid{grid-template-columns:1fr}.widget-grid{gap:12px}.modal{width:calc(100% - 16px)}}

/* EpitRend V1.4 - beosztas / tavollet / munkaora */
.header-actions,.schedule-toolbar,.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-toolbar{justify-content:space-between;margin-bottom:14px}.week-label{font-weight:800;color:#2563eb}.schedule-board{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;overflow:auto;padding-bottom:6px}.schedule-day{background:#fff;border:1px solid #e4dce8;border-radius:14px;padding:10px;min-width:190px}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #eee8f0;padding:4px 2px 10px;margin-bottom:8px}.today-dot{padding:3px 7px;border-radius:999px;background:#e8f7ed;color:#277443;font-size:11px;font-weight:800}.schedule-project{border:1px solid #e8e0eb;border-radius:12px;margin-bottom:9px;overflow:hidden}.schedule-project-head{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;background:#faf8fb;font-size:12px}.schedule-project-head span{color:#667085}.schedule-dropzone{min-height:44px;padding:6px;display:grid;gap:6px;transition:.12s ease;background:#fff}.schedule-dropzone.drop-target{background:#eaf2ff;outline:2px dashed #3b82f6;outline-offset:-2px}.schedule-card{display:grid;gap:2px;padding:8px 9px;border-radius:10px;background:#f2ebf6;color:#3f2350;border:1px solid #e1d3e9;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.schedule-card:active{cursor:grabbing}.schedule-card.dragging{opacity:.55}.schedule-card span,.schedule-card small{font-size:11px;color:#667085}.schedule-pool{margin-top:14px;background:#fff;border:1px solid #e3dce7;border-radius:14px;padding:12px}.pool-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.pool-grid{display:flex;flex-wrap:wrap;gap:8px}.pool-card{background:#f3f6f9;border-radius:10px;padding:8px 10px;display:grid;gap:2px}.pool-card span{font-size:11px;color:#667085}.nav-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#e95a5a;color:#fff;font-size:10px;font-weight:900;margin-left:6px}.notification-item{display:flex;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e4dce8;border-radius:13px;background:#fff;margin-bottom:9px}.notification-item.unread{border-color:#bfa9cf;background:#f2edf6}.notification-item p{margin:.35rem 0}.list-card{max-width:900px}.inline{display:flex;align-items:center;gap:7px}.empty-state{padding:28px;text-align:center;color:#777}.owner-only-field[hidden]{display:none}
@media(max-width:1100px){.schedule-board{grid-template-columns:repeat(7,230px)}}
@media(max-width:700px){.schedule-day{min-width:250px}.schedule-board{grid-template-columns:repeat(7,250px)}.header-actions{width:100%}.header-actions button{flex:1}.schedule-toolbar{align-items:flex-start;flex-direction:column}.schedule-actions{width:100%}.schedule-actions button{flex:1}.notification-item{flex-direction:column}.modal form{padding:18px}}

.pool-draggable{cursor:grab;touch-action:none;user-select:none}.pool-card.dragging{opacity:.55}.schedule-pool.drop-target{outline:2px dashed #3b82f6;outline-offset:-2px;background:#eaf2ff}.pool-subhead{font-size:12px;font-weight:800;color:#a02929;margin:14px 0 8px}.absence-pool-card{border:1px solid #efc4c4;background:#fff2f2;color:#8f2020}.work-hours-grid{display:grid;gap:12px;max-width:1000px}.work-hour-card{background:#fff;border:1px solid #e3dce7;border-radius:16px;padding:16px;box-shadow:0 7px 24px rgba(52,28,68,.05)}.work-hour-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.work-hour-project{font-weight:800;color:#2563eb;margin:12px 0}.work-hour-times{display:flex;flex-wrap:wrap;gap:12px;color:#5b5260;font-size:13px}.work-hour-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.work-hour-actions button{touch-action:manipulation}


/* V1.5 worker workspace */
.view-switcher{display:grid;gap:6px;margin:0 0 10px}
.worker-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.worker-primary-card,.worker-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.worker-primary-card{grid-column:1/-1}
.worker-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.worker-card h2{margin:0;font-size:20px}
.worker-assignment,.worker-task{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border,#e5e7eb)}
.worker-assignment:last-child,.worker-task:last-child{border-bottom:0}
.worker-empty{padding:14px 0;color:#64748b}
.worker-hour-status{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding:14px 0}
.big-action{min-height:54px;font-size:17px;font-weight:700;padding:0 22px}
@media (max-width: 900px){.worker-home-grid{grid-template-columns:1fr}.worker-primary-card{grid-column:auto}.view-switcher{grid-template-columns:1fr 1fr}}

.task-done{margin-left:auto}.worker-task button{flex:0 0 auto}

/* V1.7 projekt naptar */
.calendar-toggle{display:flex;gap:4px}.calendar-toggle .active{font-weight:900;outline:2px solid #3b82f6}.project-calendar-label{margin:0 0 10px 2px}.project-calendar{background:#fff;border:1px solid #e3dce7;border-radius:16px;overflow:auto;box-shadow:0 7px 24px rgba(52,28,68,.05);margin-bottom:16px}.project-gantt{min-width:1050px}.project-gantt-head,.project-gantt-row{display:grid;grid-template-columns:240px repeat(7,minmax(110px,1fr))}.project-gantt-head>div{padding:10px;border-bottom:1px solid #e8e0eb;background:#faf8fb;font-size:12px}.project-day-head{display:flex;justify-content:space-between;gap:6px}.project-day-head.weekend,.project-cell.weekend,.project-month-day.weekend{background:#f4f1f5;color:#8b818f}.project-gantt-name{padding:10px;border-bottom:1px solid #eee8f0;display:grid;gap:2px;align-content:center}.project-gantt-name small{color:#667085}.project-cell{position:relative;min-height:66px;border-left:1px solid #eee8f0;border-bottom:1px solid #eee8f0;padding:7px}.project-cell.project-drop-target{background:#eaf2ff;outline:2px dashed #3b82f6;outline-offset:-2px}.project-bar{position:relative;min-height:48px;background:#eee5f4;border:1px solid #d8c5e2;border-radius:10px;padding:8px 24px 8px 9px;color:#4b2a5c;cursor:grab;display:flex;align-items:center;font-size:12px;font-weight:800;touch-action:none}.project-bar.dragging,.project-month-bar.dragging{opacity:.45}.project-month-bar .resize-left,.project-month-bar .resize-right{position:absolute;top:0;width:10px;height:100%;cursor:ew-resize;z-index:6;background:rgba(255,255,255,.18);}.project-month-bar .resize-left{left:0}.project-month-bar .resize-right{right:0}.project-bar i{position:absolute;top:0;width:8px;height:100%;cursor:ew-resize}.project-bar .resize-left{left:0}.project-bar .resize-right{right:0}.project-month{min-width:980px}.project-month-head,.project-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.project-month-head>div{padding:10px;background:#faf8fb;border-bottom:1px solid #e8e0eb;font-size:12px;font-weight:800}.project-month-day{min-height:120px;border-right:1px solid #eee8f0;border-bottom:1px solid #eee8f0;padding:7px}.project-month-date{font-size:11px;font-weight:800;color:#667085;margin-bottom:6px}.project-month-bar{background:#eee5f4;border:1px solid #d8c5e2;border-radius:8px;padding:6px;margin-bottom:5px;cursor:grab;display:grid;gap:2px;font-size:11px}.project-month-bar small{color:#667085}.project-month-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-calendar + .table-card{margin-top:0}
@media(max-width:800px){.calendar-toggle{width:100%}.calendar-toggle button{flex:1}.project-gantt{min-width:1000px}.project-month{min-width:900px}}

.task-entry-row{display:grid;grid-template-columns:2fr 1.4fr 1.4fr 1fr auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid #e5e7eb}.manual-hours-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:12px;align-items:end;margin-top:14px}.manual-hours-form .big-action{height:46px}.project-day-head.weekend,.project-cell.weekend,.project-month-day.weekend{opacity:.45}.project-drop-target{outline:2px dashed currentColor;outline-offset:-2px}.project-bar.dragging,.project-month-bar.dragging{opacity:.5}@media(max-width:900px){.task-entry-row{grid-template-columns:1fr 1fr}.manual-hours-form{grid-template-columns:1fr 1fr}.manual-hours-form .big-action{grid-column:1/-1}}

.worker-hours-complete{display:flex;align-items:center;gap:14px;margin-top:14px;padding:18px;border-radius:18px;border:1px solid rgba(34,197,94,.25);background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(255,255,255,.96));font-size:1.05rem}.complete-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#22c55e;color:white;font-weight:800;font-size:1.35rem}.worker-hours-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 18px}.worker-hours-summary>div{padding:14px;border:1px solid #e5e7eb;border-radius:14px}.worker-hours-summary span{display:block;color:#64748b;font-size:.82rem;margin-bottom:5px}.worker-hours-summary strong{font-size:1.25rem}.menu-editor-hint{margin-bottom:12px;color:#64748b}.menu-editor-list{display:flex;flex-direction:column;gap:8px}.menu-editor-item,.menu-editor-child{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:grab}.menu-children{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:6px}.nav-group{margin:0}.nav-group>summary{list-style:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group .nav-item{margin-left:12px}.project-files-panel{margin-top:16px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
@media (max-width:800px){.worker-hours-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

.project-files-box{display:flex;flex-direction:column;gap:7px;margin:10px 0}.project-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.project-file-row small{display:block;color:#64748b}.file-upload-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}

.nav-group{margin:2px 6px}.nav-group-toggle{width:100%;text-align:left;background:transparent;border:0;padding:10px 12px;color:inherit;font:inherit;font-weight:800;cursor:pointer;border-radius:10px}.nav-group-toggle:hover{background:rgba(140,85,179,.08)}.nav-group-head{display:flex;align-items:center;gap:2px}.nav-group-head .nav-parent-link{flex:1}.nav-group-toggle{width:auto;min-width:38px;text-align:center}.nav-submenu{padding-left:18px}.nav-submenu{display:none;padding-left:10px}.nav-group.open .nav-submenu{display:grid;gap:3px}.project-timeline{position:relative;display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-height:66px}.project-timeline .project-cell{min-height:66px}.project-bar,.project-month-bar{background:var(--project-color,#3b82f6);color:#fff;border-color:transparent;z-index:2;box-shadow:0 3px 10px rgba(0,0,0,.12)}.project-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-month-calendar{display:grid;grid-template-columns:repeat(7,1fr);min-width:980px}.project-month-day{min-height:150px;border-right:1px solid #eee8f0;border-bottom:1px solid #eee8f0;padding:7px}.project-month-day .project-month-bar{margin:6px 0}.worker-hours-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 18px}.worker-hours-summary>div{padding:14px;border:1px solid #e8e0eb;border-radius:12px;background:#faf8fb}.worker-hours-summary strong{display:block;font-size:20px}.worker-hours-summary span{font-size:12px;color:#667085}@media(max-width:900px){.worker-hours-summary{grid-template-columns:repeat(2,1fr)}}

.menu-drop-root{padding:10px 12px;margin:8px 0;border:2px dashed #d9cbe0;border-radius:10px;text-align:center;color:#667085;font-weight:700}.menu-drop-root.drag-over{background:#eaf2ff;border-color:#3b82f6}.project-timeline{position:relative;display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-height:66px}.project-timeline .project-cell{min-height:66px}.project-bar,.project-month-bar{background:var(--project-color,#3b82f6);color:#fff;border-color:transparent;z-index:2;box-shadow:0 3px 10px rgba(0,0,0,.12)}.project-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-month-calendar{display:grid;gap:12px;min-width:980px}.project-month-week-head{display:grid;grid-template-columns:repeat(7,1fr)}.project-month-week-cells{display:grid;grid-template-columns:repeat(7,1fr);position:relative;min-height:150px}.project-month-week-cells .project-month-day{grid-row:1}.project-month-week-cells .project-month-bar{grid-row:1;align-self:start;margin:32px 5px 0;height:42px;overflow:hidden;position:relative;z-index:2}.worker-hours-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 18px}.worker-hours-summary>div{padding:14px;border:1px solid #e8e0eb;border-radius:12px;background:#faf8fb}.worker-hours-summary strong{display:block;font-size:20px}.worker-hours-summary span{font-size:12px;color:#667085}@media(max-width:900px){.worker-hours-summary{grid-template-columns:repeat(2,1fr)}}
.menu-edit-item{transition:margin-left .12s ease,background .12s ease,border-color .12s ease}.menu-edit-item.drag-over{background:#eaf2ff;border-color:#3b82f6}.menu-edit-item small{color:#667085;margin-left:6px}

/* V2.0 quote module */
.tabs{display:flex;gap:6px;margin:0 0 14px}.tab{border:1px solid #e3dce7;background:#fff;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}.tab.active{background:#eaf2ff;border-color:#3b82f6;color:#2563eb}.wide-modal{width:min(1200px,96vw);max-width:1200px}.quote-items-head,.quote-item-row{display:grid;grid-template-columns:.7fr 1.8fr 2.5fr .9fr .8fr 1fr .7fr 1fr auto;gap:8px;align-items:center}.quote-items-head{font-size:11px;color:#667085;font-weight:800;padding:0 0 6px}.quote-item-row{padding:8px 0;border-top:1px solid #eee8f0}.quote-item-row input,.quote-item-row select{min-width:0}.quote-totals{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:14px 0}.quote-totals>div{padding:12px 16px;border:1px solid #e8e0eb;border-radius:12px;background:#faf8fb;min-width:140px}.quote-totals span,.quote-totals strong{display:block}.quote-totals span{font-size:12px;color:#667085}.quote-totals strong{font-size:18px}.work-type-grid{display:grid;gap:8px}.work-type-row{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center}.work-type-row input[type=color]{width:48px;height:38px;padding:2px}.work-type-add{display:grid;grid-template-columns:1fr 48px auto;gap:8px;margin-top:12px}.public-quote-shell{min-height:100vh;padding:28px;background:#f5f1f7}.public-quote-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid #e3dce7;border-radius:18px;box-shadow:0 12px 36px rgba(52,28,68,.08);padding:28px}.public-quote-brand{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#777270;color:#fff;padding:18px 20px;border-radius:12px}.public-quote-brand strong{font-size:22px}.public-quote-brand span{display:block;font-size:12px;opacity:.9}.public-quote-meta{display:flex;justify-content:space-between;gap:20px;margin:24px 0;font-size:13px}.public-quote-table{border:1px solid #e7e0e8;border-radius:12px;overflow:auto}.pqh,.pqr{display:grid;grid-template-columns:2.4fr 1fr 1fr .7fr 1fr;gap:10px;padding:10px 12px;min-width:680px}.pqh{background:#2f6f68;color:#fff;font-weight:800;font-size:12px}.pqr{font-size:13px;border-top:1px solid #eee8f0}.public-quote-total{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;margin:18px 0;font-size:14px}.public-quote-total div{padding:8px 0}.public-quote-total div:last-child{font-size:17px;color:#2f6f68;font-weight:900}.public-quote-actions{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}.public-quote-note{padding:14px;background:#faf8fb;border-radius:12px;margin-top:16px;color:#475467}.public-quote-loading{text-align:center;margin:20vh auto;font-weight:800}.public-quote-shell .notice{margin-top:18px}.project-timeline{min-height:66px;position:relative}.project-timeline .project-cell{grid-row:1;z-index:0}.project-bar{grid-row:1;align-self:start;margin-top:7px;z-index:3}.project-bar i{z-index:4}.project-bar span{position:relative;z-index:5}.project-bar.dragging{pointer-events:none}.project-month-week-cells{min-height:150px}
@media(max-width:900px){.quote-items-head{display:none}.quote-item-row{grid-template-columns:1fr 1fr}.quote-item-row .qi-description{grid-column:1/-1}.quote-item-row .qi-price{grid-column:1/-1}.work-type-add{grid-template-columns:1fr 48px}.work-type-add button{grid-column:1/-1}.public-quote-shell{padding:12px}.public-quote-card{padding:16px}}

.salary-settlement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.salary-settlement-card{border:1px solid #e7e0e8;border-radius:12px;padding:14px;background:#faf8fb}.salary-settlement-card span,.salary-settlement-card strong{display:block}.salary-settlement-card span{font-size:12px;color:#667085}.salary-settlement-card strong{font-size:18px;margin-top:4px}.salary-settlement-note{padding:12px;border-radius:10px;background:#f5f1f7;margin:12px 0}@media(max-width:900px){.salary-settlement-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.salary-settlement-grid{grid-template-columns:1fr}}

/* V2.0.2 – project calendar pixel alignment */
.project-month-week-cells{position:relative;box-sizing:border-box;}
.project-month-week-cells .project-month-day{box-sizing:border-box;}
.project-month-week-cells .project-month-bar{margin:32px 0 0;box-sizing:border-box;min-width:0;}
.project-month-week-cells .project-month-bar strong,.project-month-week-cells .project-month-bar small{box-sizing:border-box;}

/* V2.0.6 */
.project-month-calendar{min-width:0;width:100%;display:grid;gap:0;overflow:hidden}.project-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e3dce7;border-bottom:0;background:#faf8fb}.project-month-header .project-day-head{min-width:0;padding:10px;border-right:1px solid #eee8f0}.project-month-week{border-left:1px solid #e3dce7;border-bottom:1px solid #e3dce7}.project-month-week-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-height:145px}.project-month-day{grid-row:1;min-width:0;min-height:145px;padding:8px;border-right:1px solid #eee8f0}.project-month-bar{grid-row:1;align-self:start;margin:36px 4px 0;height:42px;min-width:0;overflow:hidden;position:relative;border-radius:9px;padding:7px 9px}.project-month-bar strong,.project-month-bar small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-status-select{min-height:34px;padding:6px 8px;border-radius:9px}.salary-overview{}
@media(max-width:800px){.project-month-calendar{min-width:720px}.salary-overview{} }

@media(max-width:800px){#mainNav.mobile-open{display:grid;position:absolute;top:56px;left:0;right:0;z-index:40;padding:12px 16px;background:#0f1b2d;box-shadow:0 14px 28px rgba(0,0,0,.18);max-height:calc(100vh - 56px);overflow:auto}.mobile-topbar{position:relative;z-index:50}.mobile-topbar #mobileMenuBtn{margin-right:auto}.mobile-topbar{gap:10px}.mobile-topbar>strong{margin-right:auto}}

@media(max-width:800px){.mobile-nav{position:fixed;top:56px;left:0;right:0;z-index:45;padding:12px 16px;background:#0f1b2d;color:#fff;box-shadow:0 14px 28px rgba(0,0,0,.22);max-height:calc(100vh - 56px);overflow:auto}.mobile-nav .nav-item{width:100%;text-align:left}.mobile-nav .nav-group{margin:2px 0}.mobile-nav .nav-submenu{padding-left:12px}.mobile-nav .nav-group-toggle{color:#fff}.mobile-nav .nav-parent-link{color:#fff}}

/* V2.0.6 calendar layout fix: Google Calendar-style stacked project lanes */
.project-month-calendar{width:100%;min-width:0;display:grid;gap:0;overflow:hidden;border:1px solid #e3dce7;border-radius:14px;background:#fff}
.project-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#faf8fb;border-bottom:1px solid #e3dce7}
.project-month-header .project-day-head{min-width:0;padding:10px 8px;border-right:1px solid #eee8f0;text-align:left}
.project-month-week{border-bottom:1px solid #e3dce7}
.project-month-week:last-child{border-bottom:0}
.project-month-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-height:156px}
.project-month-day{min-width:0;min-height:156px;padding:7px 8px;border-right:1px solid #eee8f0;background:#fff;z-index:0}
.project-month-day:last-of-type{border-right:1px solid #eee8f0}
.project-month-day.weekend{background:#f7f4f8}
.project-month-day.outside-month{background:#fbfafc;color:#aaa2ad}
.project-month-date{font-size:12px;font-weight:800;color:#475467;margin-bottom:0}
.project-month-day.weekend .project-month-date,.project-month-day.outside-month .project-month-date{color:#aaa2ad}
.project-month-bar{min-width:0;height:34px;align-self:center;margin:2px 4px;padding:5px 9px;border-radius:8px;background:var(--project-color,#3b82f6);color:#fff;border:0;box-shadow:0 2px 7px rgba(0,0,0,.13);cursor:grab;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;z-index:3;overflow:hidden}
.project-month-bar strong,.project-month-bar small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-month-bar strong{font-size:11px;font-weight:900;line-height:14px}
.project-month-bar small{font-size:9px;line-height:11px;opacity:.88}
.project-month-bar.dragging{opacity:.45}
@media(max-width:800px){.project-month-calendar{min-width:720px}.project-month-week-grid{min-height:150px}.project-month-day{min-height:150px}}

/* V2.0.6 – havi projekt naptár: Google Calendar-szerű, egymás alatti projekt sávok */
.project-month-calendar{width:100%;min-width:0;display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid #e3dce7;border-radius:14px;background:#fff;box-sizing:border-box}
.project-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#faf8fb;border-bottom:1px solid #e3dce7}
.project-month-header .project-day-head{min-width:0;padding:9px 8px;border-right:1px solid #eee8f0;text-align:center;box-sizing:border-box}
.project-month-week{display:block;border-bottom:1px solid #e3dce7;box-sizing:border-box}
.project-month-week:last-child{border-bottom:0}
.project-month-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;box-sizing:border-box;min-height:0}
.project-month-day{grid-row:1 / -1;min-width:0;min-height:0;padding:7px 8px;border-right:1px solid #eee8f0;background:#fff;z-index:0;box-sizing:border-box}
.project-month-day.weekend{background:#f7f4f8}
.project-month-day.outside-month{background:#fbfafc;color:#aaa2ad}
.project-month-date{font-size:12px;font-weight:800;color:#475467;line-height:20px}
.project-month-day.weekend .project-month-date,.project-month-day.outside-month .project-month-date{color:#aaa2ad}
.project-month-bar{min-width:0;width:auto;height:32px;align-self:center;margin:1px 4px;padding:4px 8px;border-radius:7px;background:var(--project-color,#3b82f6);color:#fff;border:0;box-shadow:0 2px 7px rgba(0,0,0,.13);cursor:grab;display:block;z-index:3;overflow:hidden;box-sizing:border-box}
.project-month-bar strong{display:block;font-size:11px;font-weight:900;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-month-bar small{display:block;font-size:9px;line-height:11px;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-month-bar.dragging{opacity:.45}
@media(max-width:800px){.project-month-calendar{min-width:720px}.project-month-bar{height:32px}}

/* V2.1.0 */
.salary-overview .table-card{}


/* V2.2.0 – projekt workflow összesítő */
.project-workflow-box{display:grid;gap:10px}.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workflow-grid>div{border:1px solid #e7e0e8;border-radius:12px;padding:12px;background:#faf8fb;min-width:0}.workflow-grid span{display:block;font-size:11px;color:#667085}.workflow-grid strong{display:block;margin-top:4px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-team{display:flex;flex-wrap:wrap;gap:6px}.workflow-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f1eaf5;border:1px solid #e1d4e8;font-size:12px;font-weight:700}.workflow-team .muted{padding:7px 0}@media(max-width:900px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.workflow-grid{grid-template-columns:1fr}}

.project-bar-completed,.project-month-bar-completed{filter:grayscale(1);opacity:.62;text-decoration:none}.project-bar-completed span,.project-month-bar-completed strong{ text-decoration:line-through; }.project-completed-row .project-gantt-name{opacity:.62;text-decoration:line-through}.calendar-status-toolbar{justify-content:flex-end}.calendar-status-toolbar label{min-width:210px}.calendar-status-toolbar select{width:100%;}.project-calendar-label{margin-top:8px}

/* V2.4.1 – egységes UI + éjszakai mód */
.auth-logo{display:block;width:min(360px,86%);height:auto;margin:0 auto 14px;background:#fff;border-radius:14px;padding:14px}
.brand-logo-wrap{width:42px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.brand-logo{width:36px;height:36px;object-fit:contain}
.theme-toggle-btn{width:100%;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#f6effa;text-align:left}
.theme-toggle-btn:hover{background:rgba(255,255,255,.1)}
.main{background:linear-gradient(180deg,#f8f6fb 0,#f4f2f8 100%)}
.page-header h1{letter-spacing:-.03em}
.widget,.table-card,.settings-card,.schedule-day,.schedule-pool,.project-files-panel,.worker-card,.worker-primary-card{box-shadow:0 10px 30px rgba(48,28,62,.06)}
.widget:hover{transform:translateY(-1px);transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 12px 32px rgba(48,28,62,.09)}
button,.widget,input,select,textarea,.table-card,.settings-card,.schedule-day,.schedule-pool,.modal{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}

:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="dark"] body{background:#121018;color:#ece8f1}
:root[data-theme="dark"] .app-shell{background:#121018}
:root[data-theme="dark"] .main{background:linear-gradient(180deg,#17141d 0,#121018 100%)}
:root[data-theme="dark"] .sidebar{background:#17121f}
:root[data-theme="dark"] .mobile-topbar,.theme-dark .mobile-topbar{background:#17121f}
:root[data-theme="dark"] .page-header h1,
:root[data-theme="dark"] .page-header p,
:root[data-theme="dark"] .widget h3,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .modal h2,
:root[data-theme="dark"] label,
:root[data-theme="dark"] td,
:root[data-theme="dark"] th{color:#ece8f1}
:root[data-theme="dark"] .muted{color:#a9a1b0}
:root[data-theme="dark"] .widget,
:root[data-theme="dark"] .table-card,
:root[data-theme="dark"] .settings-card,
:root[data-theme="dark"] .schedule-day,
:root[data-theme="dark"] .schedule-pool,
:root[data-theme="dark"] .project-files-panel,
:root[data-theme="dark"] .worker-card,
:root[data-theme="dark"] .worker-primary-card,
:root[data-theme="dark"] .notification-item,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .section-box,
:root[data-theme="dark"] .competency-item,
:root[data-theme="dark"] .project-workflow-box>*,
:root[data-theme="dark"] .workflow-grid>div,
:root[data-theme="dark"] .salary-settlement-card,
:root[data-theme="dark"] .salary-settlement-note{background:#1b1822;border-color:#322c39;color:#ece8f1}
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea{background:#211d27;border-color:#3b3444;color:#eeeaf2}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{color:#8f8797}
:root[data-theme="dark"] th{background:#24202b;color:#aaa2b0;border-color:#332d39}
:root[data-theme="dark"] td{border-color:#2f2935}
:root[data-theme="dark"] tbody tr:hover{background:#25212c}
:root[data-theme="dark"] .list-item{border-color:#312b37}
:root[data-theme="dark"] .metric{background:#24202a}
:root[data-theme="dark"] .notice{background:#211d29;border-color:#393140;color:#e8e1ed}
:root[data-theme="dark"] .notice.success{background:#18261e;border-color:#2a4937}
:root[data-theme="dark"] .notice.warning{background:#2a2417;border-color:#4b3c1c}
:root[data-theme="dark"] .error{background:#2b191d;border-color:#5b3039;color:#f1b6bf}
:root[data-theme="dark"] .secondary-btn,
:root[data-theme="dark"] .small-btn{background:#282330;color:#cfe2f7;border-color:#3a3243}
:root[data-theme="dark"] .ghost-btn{color:#f1ebf5;border-color:rgba(255,255,255,.18)}
:root[data-theme="dark"] .icon-btn{color:#cda5e9}
:root[data-theme="dark"] .status-pill{background:#30283a;color:#cfe2f7}
:root[data-theme="dark"] .badge-active{background:#193522;color:#9be0b1}
:root[data-theme="dark"] .badge-inactive{background:#2a2730;color:#b2aab8}
:root[data-theme="dark"] .schedule-project-head{background:#231f29}
:root[data-theme="dark"] .schedule-dropzone{background:#1c1921}
:root[data-theme="dark"] .schedule-card{background:#30283a;color:#eee7f3;border-color:#43384d}
:root[data-theme="dark"] .pool-card{background:#241f29}
:root[data-theme="dark"] .project-month-calendar{background:#1b1822;border-color:#3a3341}
:root[data-theme="dark"] .project-month-header{background:#24202a;border-color:#3a3341}
:root[data-theme="dark"] .project-month-header .project-day-head,
:root[data-theme="dark"] .project-month-day{border-color:#302a36}
:root[data-theme="dark"] .project-month-day{background:#1c1921}
:root[data-theme="dark"] .project-month-day.weekend{background:#211e26}
:root[data-theme="dark"] .project-month-day.outside-month{background:#18151b;color:#746b79}
:root[data-theme="dark"] .project-month-date{color:#c6bfca}
:root[data-theme="dark"] .project-calendar-label,.week-label{color:#c9a9df}
:root[data-theme="dark"] .modal::backdrop{background:rgba(0,0,0,.7)}
:root[data-theme="dark"] .auth-shell{background:linear-gradient(145deg,#24102f 0 28%,#121018 28%)}
:root[data-theme="dark"] .auth-card{background:#1b1822;color:#eee8f1;border-color:#302937}
:root[data-theme="dark"] .secret{background:#24202a;border-color:#3a3341}
:root[data-theme="dark"] .project-month-bar-completed,
:root[data-theme="dark"] .project-bar-completed{opacity:.42}
:root[data-theme="dark"] .empty-state{color:#9a919f}
@media(max-width:800px){.auth-logo{width:min(300px,90%)}.brand-logo-wrap{width:38px;height:38px}.brand-logo{width:32px;height:32px}}

/* V2.6.2 – spacious SaaS UI / system footer navigation */
:root{--ui-bg:#f6f7fb;--ui-surface:#fff;--ui-border:#e4e7ee;--ui-text:#182230;--ui-muted:#667085;--ui-accent:#2563eb;--ui-accent-soft:#f1eafd;--ui-sidebar:#1b1524}
body{background:var(--ui-bg);color:var(--ui-text)}
.app-shell{grid-template-columns:272px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{background:linear-gradient(180deg,#24162f 0%,#1b1524 100%);padding:24px 18px 18px;box-shadow:10px 0 30px rgba(33,21,45,.08);z-index:10}
.brand-block{padding:3px 6px 28px;gap:12px}.brand-logo-wrap{width:54px;height:54px;border-radius:14px;background:transparent;box-shadow:none}.brand-logo{width:50px;height:50px;filter:invert(1) brightness(1.9)}.brand-block strong{font-size:15px;letter-spacing:-.01em}.brand-block small{font-size:11px;margin-top:4px}
.sidebar nav{gap:5px}.manager-nav{min-height:0;overflow:auto;padding-right:4px}.nav-item{padding:13px 14px;border-radius:12px;font-size:14px;min-height:44px}.nav-item.active,.nav-item:hover{background:#39234c;border-color:#5a3c6d;box-shadow:inset 3px 0 0 #7db4ff}.nav-group{margin:2px 0}.nav-group-head .nav-parent-link{min-height:44px}.nav-submenu{padding-left:16px!important;margin-top:3px}.nav-submenu .nav-item{font-size:13px;min-height:40px;color:#d7cce0;background:transparent}.nav-submenu .nav-item:hover{background:rgba(255,255,255,.06);box-shadow:none}.nav-group-toggle{min-height:44px!important}
.sidebar-system{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:8px}.sidebar-system-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.48);padding:0 10px 2px;font-weight:800}.sidebar-footer-menu{display:grid;gap:4px}.sidebar-footer-menu .nav-item{color:#cbc0d5;font-size:13px;min-height:40px;padding:10px 12px}.sidebar-footer-menu .nav-item:hover,.sidebar-footer-menu .nav-item.active{background:rgba(255,255,255,.06);box-shadow:none;border-color:rgba(255,255,255,.08)}.sidebar-footer-menu .nav-group{margin:0}.sidebar-footer-menu .nav-submenu{padding-left:10px!important}.theme-toggle-btn{min-height:42px;text-align:left;border-radius:11px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);font-size:13px}
.sidebar-bottom{margin-top:12px;gap:9px}.session-user{padding:6px 2px 0;font-size:12px;color:#eee8f3}.ghost-btn{min-height:42px}
.main{padding:34px 38px 44px;max-width:none;background:linear-gradient(180deg,#fafbfe 0,#f5f6fa 100%)}.page-header{margin-bottom:28px;align-items:center}.page-header h1{font-size:2.35rem;line-height:1.15;margin:.25rem 0 .6rem;color:#111827}.page-header p{font-size:14px}.eyebrow{font-size:11px;color:#6b45a0}.header-actions{gap:10px}.primary-btn,.secondary-btn,.small-btn{border-radius:10px}.primary-btn{box-shadow:0 5px 14px rgba(91,42,130,.14)}
.widget-grid{gap:20px}.widget{border:1px solid var(--ui-border);border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(16,24,40,.04)}.widget h3{font-size:16px;margin-bottom:16px}.metric{padding:16px 18px;border-radius:14px;background:#f8f9fc}.metric strong{font-size:22px}
.toolbar{gap:12px;margin-bottom:18px}.toolbar input,.toolbar select{min-height:48px;border-radius:12px}.table-card{border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 7px 22px rgba(16,24,40,.04)}table{min-width:860px}th,td{padding:16px 18px}th{background:#f8f9fc;font-size:11px}tbody tr:hover{background:#fafaff}.table-actions{gap:8px}.small-btn{padding:9px 12px}
.settings-card,.schedule-day,.schedule-pool,.project-files-panel,.worker-card,.worker-primary-card{border-radius:18px;border-color:var(--ui-border)}.section-box{padding:19px;border-radius:16px}.form-grid{gap:18px;margin-top:18px}label{gap:8px;font-size:13px}input,select,textarea{min-height:48px;border-radius:12px;padding:11px 14px}
.modal{border-radius:20px}.modal form{padding:26px}.modal-actions{gap:10px;margin-top:24px}
.project-month-calendar{border-radius:16px;overflow:hidden;min-width:980px;border:1px solid var(--ui-border);background:#fff}.project-month-day{min-height:162px;padding:10px}.project-month-header{font-size:12px}.project-month-bar{height:34px;border-radius:9px;margin:6px 0;padding:7px 10px}
.mobile-nav-system{margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:1100px){.app-shell{grid-template-columns:236px 1fr}.main{padding:28px 24px 36px}.page-header h1{font-size:2rem}}
@media(max-width:800px){.app-shell{grid-template-columns:1fr}.main{padding:20px 16px 28px}.page-header h1{font-size:1.8rem}.sidebar{display:none}.mobile-topbar{padding:11px 14px}.mobile-nav{border-bottom-left-radius:16px;border-bottom-right-radius:16px}}
:root[data-theme="dark"]{--ui-bg:#121018;--ui-surface:#1b1822;--ui-border:#322c39;--ui-text:#ece8f1;--ui-muted:#a9a1b0;--ui-accent:#60a5fa}
:root[data-theme="dark"] .main{background:linear-gradient(180deg,#17141d 0,#121018 100%)}
:root[data-theme="dark"] .widget,:root[data-theme="dark"] .table-card,:root[data-theme="dark"] .settings-card{box-shadow:0 8px 22px rgba(0,0,0,.12)}


/* V2.6.2 – professional navy/blue UI, more space, clear navigation hierarchy */
:root{
  --ui-bg:#f5f7fa;
  --ui-surface:#ffffff;
  --ui-border:#dfe5ec;
  --ui-text:#17212f;
  --ui-muted:#667085;
  --ui-accent:#2563eb;
  --ui-accent-hover:#1d4ed8;
  --ui-accent-soft:#eaf2ff;
  --ui-sidebar:#0f1b2d;
  --ui-sidebar-2:#15253d;
  --ui-success:#15803d;
  --ui-warning:#b45309;
  --ui-danger:#b91c1c;
  --radius:14px;
}
*{scrollbar-width:thin;scrollbar-color:#c7d0dc transparent}
body{background:var(--ui-bg);color:var(--ui-text);font-size:14px}
.app-shell{grid-template-columns:276px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 100%);padding:22px 16px 16px;box-shadow:12px 0 32px rgba(15,27,45,.10);}
.brand-block{padding:4px 8px 26px;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
.brand-logo-wrap{width:58px;height:44px;background:transparent;border-radius:10px;box-shadow:none}
.brand-logo{width:56px;height:42px;object-fit:contain;filter:invert(1) brightness(1.9)}
.brand-block strong{font-size:16px;color:#fff}.brand-block small{font-size:10px;letter-spacing:.08em}
.manager-nav{overflow:auto;padding:2px 2px 8px;display:grid;gap:4px}
.nav-group{margin:0}
.nav-group-head{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:4px}
.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 13px;border-radius:12px;color:#dce6f3;border:1px solid transparent;background:transparent;font-size:14px;font-weight:750;text-align:left;transition:background .15s,border-color .15s,color .15s,transform .15s}
.nav-item::before{content:'';width:18px;text-align:center;color:#9fb2c8;font-size:14px;font-weight:800}
.nav-item[data-menu-key="dashboard"]::before{content:'⌂'}
.nav-item[data-menu-key="workers"]::before{content:'◉'}
.nav-item[data-menu-key="salary"]::before{content:'₣'}
.nav-item[data-menu-key="customers"]::before{content:'◌'}
.nav-item[data-menu-key="projects"]::before{content:'▣'}
.nav-item[data-menu-key="projectCalendar"]::before{content:'□'}
.nav-item[data-menu-key="schedule"]::before{content:'▤'}
.nav-item[data-menu-key="absence"]::before{content:'−'}
.nav-item[data-menu-key="tasks"]::before{content:'☷'}
.nav-item[data-menu-key="approvals"]::before{content:'✓'}
.nav-item[data-menu-key="notifications"]::before{content:'•'}
.nav-item[data-menu-key="quotes"]::before{content:'▤'}
.nav-item[data-menu-key="finance"]::before{content:'₽'}
.nav-item[data-menu-key="settings"]::before{content:'⚙'}
.nav-item:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08);color:#fff;transform:none;box-shadow:none}
.nav-item.active{background:#1d4f91;border-color:#2f6fbe;color:#fff;box-shadow:inset 3px 0 0 #7db4ff}
.nav-group-head>.nav-item{min-width:0}
.nav-group-toggle{height:40px;min-height:40px!important;border-radius:10px;background:transparent;color:#8fa3bb;padding:0;font-weight:900}
.nav-group-toggle:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-submenu{margin:3px 0 5px;padding:0 0 0 16px!important;border-left:1px solid rgba(255,255,255,.11)}
.nav-submenu .nav-item{min-height:40px;padding:9px 12px;color:#afbed0;font-size:13px;font-weight:650;border-radius:9px}
.nav-submenu .nav-item::before{width:12px;content:'·'!important;color:#6e86a2}
.nav-submenu .nav-item.active{background:rgba(58,118,194,.20);border-color:rgba(125,180,255,.12);box-shadow:none;color:#fff}
.nav-group:not(.open)>.nav-submenu{display:none}
.sidebar-system{margin-top:auto;padding:14px 4px 10px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:7px}
.sidebar-system-label{padding:0 8px 3px;color:#7f93aa;font-size:10px;letter-spacing:.14em}
.sidebar-footer-menu{display:grid;gap:3px}
.sidebar-footer-menu .nav-item{min-height:40px;padding:9px 11px;font-size:13px;color:#b7c5d6}
.sidebar-footer-menu .nav-item::before{color:#7f94ac}
.sidebar-footer-menu .nav-item.active{background:rgba(37,99,235,.18);border-color:rgba(84,142,226,.18);box-shadow:none}
.theme-toggle-btn{min-height:42px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);font-size:13px;color:#e1eaf4}
.theme-toggle-btn:hover{background:rgba(255,255,255,.09)}
.sidebar-status{display:flex;align-items:center;gap:8px;padding:3px 9px;color:#8fa3b9;font-size:11px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.sidebar-version{margin-left:auto;color:#71859c}
.sidebar-bottom{margin-top:8px;gap:9px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.main{padding:36px 42px 52px;background:linear-gradient(180deg,#f8fafc 0%,#f3f6f9 100%);}
.page-header{margin-bottom:30px;align-items:flex-end}.page-header h1{font-size:2.15rem;color:#111827;letter-spacing:-.035em}.page-header p{font-size:14px;color:#667085}
.eyebrow{color:#2563eb;font-size:11px;letter-spacing:.13em}
.primary-btn{background:var(--ui-accent);box-shadow:0 5px 14px rgba(37,99,235,.14)}.primary-btn:hover{background:var(--ui-accent-hover)}
.secondary-btn{background:#edf2f7;color:#23415f;border:1px solid #dbe3eb}.secondary-btn:hover{background:#e5ebf2}
.widget-grid{gap:22px}.widget{padding:24px;border-radius:18px;border:1px solid var(--ui-border);box-shadow:0 8px 24px rgba(16,24,40,.045)}
.metric{background:#f8fafc;border:1px solid #e8edf3}.metric strong{font-size:23px}
.toolbar{gap:12px;margin-bottom:20px}.toolbar input,.toolbar select{min-height:50px;border:1px solid #d7dee7;box-shadow:0 1px 1px rgba(16,24,40,.02)}
.toolbar input:focus,.toolbar select:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.12);border-color:#7aa7ed}
.table-card{border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 8px 24px rgba(16,24,40,.04)}
table{min-width:880px}th,td{padding:17px 18px}th{background:#f8fafc;color:#667085;font-size:10px;letter-spacing:.08em}tbody tr:hover{background:#f8fbff}
.small-btn{background:#eef3f8;color:#245184;border:1px solid #dce5ef;padding:9px 12px}.small-btn.danger{background:#fff1f2;color:#b91c1c;border-color:#fecdd3}
.status-pill{padding:5px 9px;background:#eef3f8;color:#35536e}.badge-active{background:#eaf8ef;color:#15803d}.badge-inactive{background:#eef1f4;color:#667085}
.settings-card,.schedule-day,.schedule-pool,.project-files-panel,.worker-card,.worker-primary-card{border-radius:18px;border-color:var(--ui-border);box-shadow:0 8px 24px rgba(16,24,40,.04)}
.section-box{padding:20px;border-radius:16px;background:#fbfcfe}
input,select,textarea{min-height:50px;border-radius:12px;border-color:#d7dee7}
label{font-size:13px;gap:8px}.modal{border-radius:20px}.modal form{padding:28px}.modal-actions{margin-top:26px}
.project-calendar{border:1px solid var(--ui-border);box-shadow:0 8px 24px rgba(16,24,40,.04)}
.calendar-toggle .active{outline:2px solid #7aa7ed;color:#1d4ed8}
.schedule-day{padding:14px}.schedule-project{border-color:#e2e8f0}.schedule-project-head{background:#f8fafc;padding:10px 11px}.schedule-card{background:#edf4fb;color:#23415f;border-color:#d7e5f2}
.project-month-bar{box-shadow:0 2px 7px rgba(16,24,40,.12)}
.project-bar-completed,.project-month-bar-completed{filter:grayscale(1);opacity:.55}
.toast{background:#0f1b2d;border-radius:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:248px 1fr}.main{padding:28px 26px 42px}}
@media(max-width:800px){.main{padding:20px 16px 30px}.mobile-topbar{background:#0f1b2d}.mobile-nav{background:#0f1b2d}.mobile-nav .nav-item{color:#dce6f3}.mobile-nav .nav-parent-link,.mobile-nav .nav-group-toggle{color:#fff}}
:root[data-theme="dark"]{
  --ui-bg:#0d131c;--ui-surface:#151d28;--ui-border:#2b3747;--ui-text:#e9eef5;--ui-muted:#99a8ba;--ui-accent:#60a5fa;--ui-accent-hover:#93c5fd;--ui-accent-soft:#182b43;--ui-sidebar:#08111d;--ui-sidebar-2:#0d1a2b;
}
:root[data-theme="dark"] .main{background:linear-gradient(180deg,#111923 0%,#0d131c 100%)}
:root[data-theme="dark"] .page-header h1{color:#eef4fb}.page-header p{color:var(--ui-muted)}
:root[data-theme="dark"] .widget,:root[data-theme="dark"] .table-card,:root[data-theme="dark"] .settings-card,:root[data-theme="dark"] .schedule-day,:root[data-theme="dark"] .schedule-pool,:root[data-theme="dark"] .project-files-panel,:root[data-theme="dark"] .worker-card,:root[data-theme="dark"] .worker-primary-card{background:#151d28;border-color:#2b3747;box-shadow:0 8px 24px rgba(0,0,0,.16)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#111923;border-color:#334155;color:#e9eef5}
:root[data-theme="dark"] th{background:#101821;color:#91a2b5}:root[data-theme="dark"] td{border-color:#293546}:root[data-theme="dark"] tbody tr:hover{background:#182230}
:root[data-theme="dark"] .secondary-btn,:root[data-theme="dark"] .small-btn{background:#192536;color:#cfe2f7;border-color:#324256}
:root[data-theme="dark"] .metric,:root[data-theme="dark"] .section-box{background:#101821;border-color:#2a3646}
:root[data-theme="dark"] .schedule-project-head{background:#111a25}:root[data-theme="dark"] .schedule-card{background:#1a2a3d;color:#d9e7f4;border-color:#30465c}
:root[data-theme="dark"] .sidebar-footer-menu .nav-item:hover{background:rgba(96,165,250,.08)}


/* V2.6.2 overview-first UX */
:root{--ui-accent:#2563eb;--ui-accent-hover:#1d4ed8;--ui-accent-soft:#eaf2ff;--ui-bg:#f5f7fa;--ui-border:#dfe5ec;--ui-text:#172033;--ui-muted:#6b778c;--ui-sidebar:#142235;--ui-sidebar-2:#0d1725}
.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;min-height:100vh}.manager-nav{flex:1;min-height:0}.main{display:flex;flex-direction:column;min-width:0;padding:30px 40px 0;background:linear-gradient(180deg,#f8fafc 0%,#f3f6fa 100%)}
.page-view{min-width:0;padding-bottom:24px}.toolbar{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid var(--ui-border);box-shadow:0 6px 18px rgba(15,35,55,.035)}
.table-card{overflow:auto;background:#fff}.modern-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}.modern-table th,.modern-table td{padding:18px 18px;vertical-align:middle}.modern-table th{background:#f8fafc}.modern-table td{border-bottom:1px solid #eef2f6}.modern-table tbody tr:last-child td{border-bottom:0}.modern-table tbody tr:hover{background:#f8fbff}
.entity-link{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.entity-link strong{color:#1d4ed8;font-size:15px}.entity-link span{color:var(--ui-muted);font-size:12px}.cell-sub{display:block;color:var(--ui-muted);font-size:12px;margin-top:4px}.count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--ui-accent-soft);color:#1d4ed8;font-weight:800}
.main-footer{margin-top:auto;border-top:1px solid var(--ui-border);padding:18px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--ui-muted);font-size:12px}.main-footer strong{display:block;color:var(--ui-text);font-size:13px}.main-footer-right{display:flex;align-items:center;gap:10px}.footer-health{display:inline-flex;align-items:center;gap:6px}.footer-health i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e}
.detail-modal{width:min(980px,92vw);max-height:88vh}.detail-body{display:grid;gap:18px}.detail-hero{padding:18px 20px;border:1px solid var(--ui-border);border-radius:16px;background:#f8fafc}.detail-lead{margin:7px 0 0;color:var(--ui-muted)}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-metric{padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:#fff}.detail-metric span{display:block;color:var(--ui-muted);font-size:12px}.detail-metric strong{display:block;margin-top:6px;font-size:20px;color:var(--ui-text)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-section{padding:17px 18px;border:1px solid var(--ui-border);border-radius:14px;background:#fff}.detail-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;margin-bottom:10px}.detail-kv{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #eef2f6}.detail-kv:last-child{border-bottom:0}.detail-kv span{color:var(--ui-muted)}.detail-kv strong{text-align:right;color:var(--ui-text)}.detail-note{margin:0;line-height:1.6;color:#475569}.detail-items{display:grid;gap:8px}.detail-item{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;background:#f8fafc;border-radius:10px}
@media(max-width:900px){.main{padding:20px 18px 0}.detail-metrics{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.main-footer{display:block}.main-footer-right{margin-top:8px;flex-wrap:wrap}}
:root[data-theme="dark"] .main-footer{border-color:#263346}.main-footer strong{color:var(--ui-text)}:root[data-theme="dark"] .toolbar{background:#151d28;border-color:#2b3747}:root[data-theme="dark"] .table-card{background:#151d28}:root[data-theme="dark"] .modern-table th{background:#101821}:root[data-theme="dark"] .modern-table td{border-bottom-color:#293546}:root[data-theme="dark"] .modern-table tbody tr:hover{background:#182230}:root[data-theme="dark"] .detail-section,:root[data-theme="dark"] .detail-metric,:root[data-theme="dark"] .detail-hero{background:#111923;border-color:#2b3747}:root[data-theme="dark"] .detail-kv{border-bottom-color:#293546}:root[data-theme="dark"] .detail-note{color:#99a8ba}:root[data-theme="dark"] .detail-item{background:#182230}


/* V2.6.2 – executive, focus-oriented visual refinement */
:root{
  --ui-bg:#f3f5f7;
  --ui-surface:#ffffff;
  --ui-border:#d9dee5;
  --ui-text:#17202b;
  --ui-muted:#6b7480;
  --ui-accent:#0f6f67;
  --ui-accent-hover:#0a5c56;
  --ui-accent-soft:#e7f3f1;
  --ui-sidebar:#18212b;
  --ui-sidebar-2:#202b36;
  --ui-sidebar-text:#e8edf2;
  --ui-success:#1f7a4d;
  --ui-warning:#9a6418;
  --ui-danger:#a53b3b;
}
html,body{background:var(--ui-bg);color:var(--ui-text)}
body{font-size:14px}
.app-shell{grid-template-columns:250px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 100%);padding:22px 14px 14px;box-shadow:8px 0 24px rgba(22,31,41,.07)}
.brand-block{padding:4px 8px 20px;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
.brand-logo-wrap{width:48px;height:44px;border-radius:6px}
.brand-logo{width:46px;height:42px;filter:invert(1) brightness(1.8)}
.brand-block strong{font-size:15px;letter-spacing:-.015em}.brand-block small{font-size:10px;margin-top:2px;color:#aeb9c4}
.sidebar nav{gap:2px}
.manager-nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:0;scrollbar-width:none}
.manager-nav::-webkit-scrollbar{width:0;height:0}
.nav-group{margin:1px 0}.nav-group-head{grid-template-columns:minmax(0,1fr) 24px}
.nav-item{min-height:41px;padding:10px 12px;border-radius:6px;color:#d8e0e7;font-size:13px;font-weight:700}
.nav-item.active{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.12);box-shadow:inset 3px 0 0 var(--ui-accent);color:#fff}
.nav-item:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07);box-shadow:none;color:#fff}
.nav-group-toggle{height:36px;min-height:36px!important;border-radius:6px;color:#8e9aa7}
.nav-group-toggle:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-submenu{margin:2px 0 4px;padding-left:11px!important;border-left:1px solid rgba(255,255,255,.12)}
.nav-submenu .nav-item{min-height:36px;padding:8px 11px;border-radius:5px;color:#aeb9c4;font-size:12px}
.nav-submenu .nav-item.active{background:rgba(15,111,103,.16);border-color:rgba(15,111,103,.22);box-shadow:inset 2px 0 0 var(--ui-accent);color:#eef8f6}
.sidebar-system{padding:12px 4px 10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.09);gap:4px}
.sidebar-system-label,.sidebar-account-label{padding:0 8px 4px;color:#8895a2;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.sidebar-footer-menu{gap:2px}.sidebar-footer-menu .nav-item{min-height:36px;padding:8px 11px;color:#b6c1cb;font-size:12px;border-radius:5px}
.sidebar-footer-menu .nav-item:hover,.sidebar-footer-menu .nav-item.active{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);box-shadow:none}
.theme-toggle-btn{min-height:36px;padding:8px 11px;border-radius:6px;background:transparent;border:1px solid rgba(255,255,255,.10);color:#c7d0d8;font-size:12px;text-align:left}
.theme-toggle-btn:hover{background:rgba(255,255,255,.05)}
.sidebar-status{padding:3px 8px;color:#85919d;font-size:10px}.status-dot{width:6px;height:6px;box-shadow:none}
.sidebar-bottom{margin-top:10px;padding:12px 4px 2px;border-top:1px solid rgba(255,255,255,.09);gap:7px}
.sidebar-account-actions{display:grid;gap:5px}.sidebar-account-actions .ghost-btn{min-height:36px;padding:8px 11px;border-radius:6px;text-align:left;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09);color:#d8e0e7}
.sidebar-logout{min-height:36px;padding:8px 11px;border-radius:6px;text-align:left;background:transparent;border-color:rgba(255,255,255,.10);color:#c6cfd7;font-size:12px}
.sidebar-logout:hover{background:rgba(165,59,59,.10);border-color:rgba(165,59,59,.28);color:#ffd8d8}
.session-user{padding:2px 8px 2px;color:#dce4eb;font-size:12px;line-height:1.3}.session-user strong{display:block;color:#fff;font-size:13px}
.main{padding:34px 44px 0;background:linear-gradient(180deg,#f6f7f8 0%,#f2f4f6 100%)}
.page-view{padding-bottom:24px}.page-header{margin-bottom:26px;align-items:flex-end}.page-header h1{font-size:2.2rem;letter-spacing:-.04em;color:#141d27}.page-header p{color:#707985}
.eyebrow{color:#0f6f67;font-size:10px;letter-spacing:.16em}
.primary-btn,.secondary-btn,.small-btn{border-radius:6px;box-shadow:none}
.primary-btn{background:var(--ui-accent);color:#fff;border:1px solid var(--ui-accent)}.primary-btn:hover{background:var(--ui-accent-hover)}
.secondary-btn{background:#fff;color:#33404d;border:1px solid #cfd6de}.secondary-btn:hover{background:#f7f9fa;border-color:#b9c2cc}
.small-btn{background:#f4f6f8;color:#33404d;border:1px solid #d4dae1}.small-btn:hover{background:#eceff2}
.header-actions{gap:8px}
.toolbar{padding:12px;background:rgba(255,255,255,.72);border:1px solid var(--ui-border);border-radius:9px;box-shadow:none;gap:10px;margin-bottom:18px}
.toolbar input,.toolbar select,input,select,textarea{border-radius:6px;border-color:#cfd5dc;background:#fff;color:#25303b}
.toolbar input,.toolbar select,input,select{min-height:46px}
input:focus,select:focus,textarea:focus,.toolbar input:focus,.toolbar select:focus{outline:2px solid rgba(15,111,103,.15);border-color:#4d9b94}
.table-card{border:1px solid var(--ui-border);border-radius:10px;box-shadow:0 5px 16px rgba(20,31,42,.035);overflow-x:auto}
.modern-table th,.modern-table td{padding:16px 18px}.modern-table th{background:#f6f8fa;color:#65707d}.modern-table tbody tr:hover{background:#f7faf9}
.entity-link strong{color:var(--ui-accent)}
.widget{border-radius:10px;padding:22px;border:1px solid var(--ui-border);box-shadow:0 5px 16px rgba(20,31,42,.035)}
.widget-grid{gap:18px}.metric{border-radius:7px;background:#f5f7f8;border:1px solid #e1e5e9}
.status-pill{border-radius:5px;padding:4px 7px;background:#eef1f3;color:#485361}.badge-active{background:#e8f5ee;color:#1f7a4d}.badge-inactive{background:#eef0f2;color:#66727f}
.settings-card,.schedule-day,.schedule-pool,.project-files-panel,.worker-card,.worker-primary-card{border-radius:10px;box-shadow:0 5px 16px rgba(20,31,42,.035)}
.section-box{border-radius:8px;background:#f8fafb;padding:18px}
.modal{border-radius:10px;box-shadow:0 24px 70px rgba(16,26,36,.22)}.modal form{padding:26px}.modal-actions{gap:8px}
.detail-hero,.detail-section,.detail-metric{border-radius:8px}.detail-item{border-radius:6px}
.calendar-toggle .active{outline:2px solid rgba(15,111,103,.22);color:var(--ui-accent);background:#eef7f5}
.main-footer{display:none!important}
/* no visible scrollbars in the main desktop navigation */
.sidebar *{scrollbar-width:none}.sidebar *::-webkit-scrollbar{width:0;height:0}

@media(max-width:800px){
  .main{padding:22px 16px 28px}.mobile-topbar{background:var(--ui-sidebar)}
  .mobile-nav{background:var(--ui-sidebar);border-radius:0 0 8px 8px}
}

:root[data-theme="dark"]{
  --ui-bg:#0f151c;--ui-surface:#171f28;--ui-border:#2b3540;--ui-text:#e7edf2;--ui-muted:#99a6b3;
  --ui-accent:#63a99f;--ui-accent-hover:#78b8ae;--ui-accent-soft:#18312d;--ui-sidebar:#101820;--ui-sidebar-2:#17222c
}
:root[data-theme="dark"] .main{background:linear-gradient(180deg,#121a22 0%,#0f151c 100%)}
:root[data-theme="dark"] .page-header h1{color:#edf2f6}
:root[data-theme="dark"] .primary-btn{background:#2f7f76;border-color:#2f7f76}.secondary-btn{color:var(--ui-text)}
:root[data-theme="dark"] .toolbar,:root[data-theme="dark"] .table-card,:root[data-theme="dark"] .widget,:root[data-theme="dark"] .settings-card{background:#171f28;border-color:#2b3540}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#121a22;border-color:#34414d;color:#e7edf2}
:root[data-theme="dark"] th{background:#121a22}:root[data-theme="dark"] tbody tr:hover{background:#1b2731}

/* V2.6.2 – ajánlat PDF és e-mail beállítások */
.settings-section-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}

.settings-category-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:4px;padding:2px 2px 10px;border-bottom:1px solid var(--ui-border)}
.settings-category-intro strong{font-size:17px}
.settings-category-intro span{font-size:12px;color:var(--ui-muted);text-align:right}
.settings-section-btn{min-height:42px;padding:9px 15px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:7px;font-weight:700;cursor:pointer}
.settings-section-btn.active{background:#eef4f3;border-color:#8eb4ae;color:#245b56}
.quote-settings-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:24px;align-items:start}
.compact-section{margin-top:18px;padding:16px!important;background:#fafbfc!important}
.pdf-service-row{display:grid;grid-template-columns:180px minmax(180px,1fr) auto;gap:10px;margin:10px 0;align-items:center}.pdf-service-row input,.pdf-service-row select{width:100%;min-width:0}.pdf-service-row [data-pdf-service-clear]{white-space:nowrap}
.pdf-preview-shell{position:sticky;top:20px;border:1px solid var(--ui-border);background:#eef1f3;border-radius:10px;padding:12px}
.pdf-preview-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--ui-muted);margin:2px 4px 10px}
.pdf-preview-shell iframe{display:block;width:100%;height:720px;border:0;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.08)}
.pdf-variable-help{margin-top:10px;font-size:12px;line-height:1.5}
code{padding:2px 5px;border:1px solid var(--ui-border);border-radius:4px;background:#f4f6f7;color:#334155}
@media(max-width:1000px){.quote-settings-layout{grid-template-columns:1fr}.pdf-preview-shell{position:static}.pdf-preview-shell iframe{height:650px}}
:root[data-theme="dark"] .settings-section-btn{background:#1b1822;color:#ece8f1;border-color:#322c39}
:root[data-theme="dark"] .settings-section-btn.active{background:#1c2a29;border-color:#3b655f;color:#9fd0c9}
:root[data-theme="dark"] .compact-section{background:#211d27!important}
:root[data-theme="dark"] .pdf-preview-shell{background:#171a1e;border-color:#322c39}
:root[data-theme="dark"] code{background:#24202a;color:#d9e1e8;border-color:#3b3444}


/* V2.6.2 – vezetői alsó felhasználói sáv + mobil menü */
.owner-account-bar{margin-top:auto;padding:12px 4px 4px;border-top:1px solid rgba(255,255,255,.09);gap:8px}
.owner-account-bar .sidebar-account-label{display:none}
.owner-account-bar .session-user{padding:0 8px 2px}
.owner-account-bar .sidebar-account-actions{display:grid;grid-template-columns:1fr;gap:6px}
.owner-account-bar .sidebar-account-actions .ghost-btn{min-height:34px;padding:7px 10px;border-radius:6px;text-align:left}
.owner-account-bar .sidebar-logout{min-height:34px}
.mobile-nav-account{margin-top:14px;padding:14px 0 4px;border-top:1px solid rgba(255,255,255,.12)}
.mobile-nav-account .session-user{padding:2px 8px 10px;color:#dce4eb}
.mobile-nav-account .sidebar-account-actions{display:grid;gap:7px}
.mobile-nav-account-actions{display:grid;gap:7px}
.mobile-nav-account .ghost-btn{width:100%;text-align:left;border-radius:6px;padding:10px 12px}
.mobile-nav-account .sidebar-logout{margin-top:7px}
@media(max-width:800px){
  .mobile-nav{position:fixed;inset:56px 0 0 0;z-index:100;padding:18px 16px 24px;background:var(--ui-sidebar);border-radius:0;box-shadow:0 18px 50px rgba(0,0,0,.28);max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
  .mobile-nav .nav-item{width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
  .mobile-nav .nav-group-head{width:100%;min-width:0}
  .mobile-nav .nav-submenu{max-width:100%;overflow:hidden}
  .mobile-topbar{position:relative;z-index:110}
  .mobile-topbar .ghost-btn{border-radius:6px}
}

/* V2.6.2 – letisztult vezetői alsó sáv + stabil mobil navigáció */
:root{
  --ui-accent:#1f766f;
  --ui-accent-hover:#195f5a;
  --ui-accent-soft:#e9f4f2;
  --ui-sidebar:#17222c;
  --ui-sidebar-2:#111a22;
  --ui-bg:#f5f7f8;
  --ui-border:#dbe2e7;
  --ui-text:#16202a;
  --ui-muted:#667482;
}
html,body{overflow-x:hidden}
.app-shell{grid-template-columns:252px minmax(0,1fr);padding-bottom:76px}
.sidebar{min-height:100vh;height:100vh;overflow:hidden}
.manager-nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.manager-nav::-webkit-scrollbar{width:0;height:0}
.nav-item{border-radius:7px;font-size:14px;min-height:44px;padding:10px 12px}
.nav-group-head .nav-parent-link{border-radius:7px}
.nav-group-toggle{min-width:34px;border-radius:7px;background:transparent;color:#aebac4}
.nav-group-toggle:hover{background:rgba(255,255,255,.06)}
.sidebar-system{padding-top:14px;margin-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.theme-toggle-btn{border-radius:7px}
.owner-global-footer{position:fixed;left:252px;right:0;bottom:0;height:76px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 28px;background:#16212b;color:#fff;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -8px 24px rgba(15,23,42,.09)}
.owner-global-footer[hidden]{display:none!important}
.owner-footer-user{min-width:220px}.owner-footer-user .session-user{font-size:13px}.owner-footer-user .session-user strong{font-size:14px;color:#fff}.owner-footer-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.owner-footer-actions .ghost-btn{min-width:138px;min-height:42px;padding:10px 16px;border-radius:7px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#eef3f6;text-align:center}.owner-footer-actions .ghost-btn:hover{background:rgba(255,255,255,.08)}.owner-footer-logout{border-color:rgba(255,255,255,.16)!important}.owner-footer-brand{display:flex;flex-direction:column;gap:2px;min-width:180px;text-align:right}.owner-footer-brand strong{font-size:13px;color:#fff}.owner-footer-brand span{font-size:11px;color:#93a2ad}
.mobile-nav-backdrop{display:none}
@media(max-width:1100px){.owner-global-footer{left:232px;padding-left:22px;padding-right:22px}.app-shell{grid-template-columns:232px minmax(0,1fr)}}
@media(max-width:800px){
  .app-shell{display:block;padding-bottom:0}
  .main{padding-bottom:24px}
  .mobile-topbar{display:flex;min-height:58px;padding:10px 12px;background:var(--ui-sidebar);color:#fff;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-topbar .ghost-btn{border-radius:7px;background:transparent;border:1px solid rgba(255,255,255,.18);padding:9px 12px;color:#fff;min-height:40px}
  .mobile-topbar>strong{font-size:15px}
  .mobile-nav-backdrop[hidden]{display:none!important}
  .mobile-nav-backdrop{position:fixed;inset:0;z-index:120;display:block;background:rgba(3,9,14,.58);backdrop-filter:blur(1px)}
  .mobile-nav{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);z-index:130;background:linear-gradient(180deg,var(--ui-sidebar) 0%,var(--ui-sidebar-2) 100%);padding:18px 14px 22px;color:#fff;box-shadow:18px 0 46px rgba(0,0,0,.28);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-radius:0}
  .mobile-nav[hidden]{display:none!important}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 18px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-nav-brand{display:flex;align-items:center;gap:10px}.mobile-nav-brand img{width:42px;height:42px;object-fit:contain}.mobile-nav-brand strong{font-size:16px}.mobile-nav-close{width:40px;height:40px;padding:0;border-radius:7px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:22px}
  .mobile-nav .manager-nav,.mobile-nav .sidebar-footer-menu{display:grid;gap:4px}
  .mobile-nav .nav-item{width:100%;max-width:100%;min-width:0;min-height:46px;white-space:normal;overflow-wrap:anywhere;text-align:left;border-radius:7px;color:#dfe8ee}
  .mobile-nav .nav-item.active{background:rgba(31,118,111,.24);border-color:rgba(108,185,176,.15)}
  .mobile-nav .nav-group-head{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:4px}
  .mobile-nav .nav-group-toggle{color:#d4dfe5;min-height:46px}
  .mobile-nav .nav-submenu{padding-left:14px;margin-top:2px;border-left:1px solid rgba(255,255,255,.08)}
  .mobile-nav .mobile-nav-system{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10)}
  .mobile-nav-account{margin-top:16px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.10)}
  .mobile-nav-account .session-user{padding:4px 7px 12px;color:#dbe5eb}.mobile-nav-account .session-user strong{display:block;color:#fff}
  .mobile-nav-account-actions{display:grid;gap:7px}.mobile-nav-account .ghost-btn{width:100%;min-height:44px;padding:10px 12px;border-radius:7px;text-align:left;color:#eef3f6;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
  .owner-global-footer{display:none!important}
  body.nav-open{overflow:hidden;touch-action:none}
}


/* V2.6.8 – navigation/focus correction
   Desktop: compact fixed sidebar + fixed owner footer.
   Mobile: no permanent sidebar; only the top menu button remains.
*/
@media(min-width:801px){
  html,body{overflow-x:hidden;min-height:100%;}
  #appView.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh;padding-bottom:72px;}
  #appView .sidebar{position:fixed;inset:0 auto 0 0;width:244px;height:100vh;min-height:100vh;overflow:hidden;padding:18px 12px 12px;z-index:80;}
  #appView .brand-block{padding:3px 7px 18px;margin-bottom:10px;}
  #appView .brand-logo-wrap{width:54px;height:40px;}
  #appView .brand-logo{width:52px;height:38px;}
  #appView .manager-nav{gap:2px;padding:0 1px 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;}
  #appView .manager-nav::-webkit-scrollbar{width:0;height:0;}
  #appView .nav-item{min-height:38px;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:700;}
  #appView .nav-group-head .nav-parent-link{min-height:38px;border-radius:6px;}
  #appView .nav-group-toggle{min-height:38px!important;height:38px;border-radius:6px;}
  #appView .nav-submenu{padding-left:14px!important;margin:2px 0 4px;}
  #appView .nav-submenu .nav-item{min-height:34px;padding:6px 9px;font-size:12px;border-radius:5px;}
  #appView .nav-item.active{background:rgba(31,118,111,.16);border-color:rgba(31,118,111,.24);box-shadow:inset 3px 0 0 var(--ui-accent);color:#f5fbfa;}
  #appView .nav-item:hover{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);}
  #appView .sidebar-system{padding:11px 3px 7px;margin-top:6px;gap:5px;}
  #appView .sidebar-footer-menu{gap:2px;}
  #appView .sidebar-footer-menu .nav-item{min-height:34px;padding:6px 9px;font-size:12px;}
  #appView .theme-toggle-btn{min-height:36px;padding:7px 9px;border-radius:6px;font-size:12px;}
  #appView .sidebar-status{padding:3px 8px;font-size:10px;}
  #appView .main{grid-column:2;min-width:0;padding:30px 38px 42px;overflow:auto;}
  #appView .owner-global-footer{left:244px;height:72px;}
  #appView .owner-footer-actions .ghost-btn{min-height:38px;padding:8px 14px;border-radius:6px;}
}

@media(max-width:800px){
  html,body{overflow-x:hidden;}
  #appView.app-shell{display:block;min-height:100vh;padding-bottom:0;}
  #appView .sidebar{display:none!important;position:static;width:auto;height:auto;min-height:0;padding:0;}
  #appView .mobile-topbar{display:flex!important;position:sticky;top:0;z-index:140;min-height:54px;padding:8px 12px;background:var(--ui-sidebar);}
  #appView .main{padding:14px 12px 24px;min-width:0;width:100%;}
  #appView #mobileNav[hidden],#appView #mobileNavBackdrop[hidden]{display:none!important;}
  #appView #mobileNav{position:fixed!important;inset:0 auto 0 0!important;width:min(88vw,340px)!important;max-width:340px!important;min-height:100vh!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:200!important;border-radius:0!important;}
  #appView #mobileNavBackdrop{position:fixed!important;inset:0!important;z-index:190!important;}
  #appView .mobile-topbar .ghost-btn{min-height:38px;padding:8px 11px;border-radius:6px;}
  #appView .mobile-topbar>strong{font-size:14px;}
  #appView .owner-global-footer{display:none!important;}
}

/* V2.6.8 – fókusz, munkaóra-rögzítés és modal finomítás */
@media(min-width:801px){
  #appView .nav-item{min-height:34px;padding:6px 10px;font-size:12.5px;line-height:1.25}
  #appView .nav-group-head .nav-parent-link{min-height:34px}
  #appView .nav-group-toggle{min-height:34px!important;height:34px}
  #appView .nav-submenu .nav-item{min-height:31px;padding:5px 9px;font-size:11.5px}
}
#appView .page-header>div:first-child{text-align:left;align-self:flex-start}
#appView .detail-modal{width:min(1080px,calc(100% - 36px));max-width:1080px;padding:26px 30px 24px;box-sizing:border-box}
#appView .detail-modal .modal-head{padding:0 0 8px}
#appView .detail-modal .detail-body{padding-top:4px}
#appView .detail-modal .modal-actions{padding-top:6px;margin-top:12px}
#appView .detail-modal .icon-btn{width:36px;height:36px;padding:0;display:grid;place-items:center;color:var(--ui-accent);border:1px solid var(--ui-border);background:var(--ui-accent-soft);border-radius:6px;font-size:22px;line-height:1}
#appView .detail-modal .icon-btn:hover{background:#dfeeea;color:var(--ui-accent-hover);border-color:#b8d6d0}
.worker-hours-complete{border-radius:10px;padding:18px 20px;border:1px solid #b9d9cc;background:#f3faf7;color:#17332d}
.worker-hours-complete .complete-icon{border-radius:8px;background:var(--ui-accent);font-size:1.15rem}
.manual-hours-form .big-action{min-height:46px}
@media(max-width:800px){
  #appView .page-header>div:first-child{text-align:left}
  #appView .detail-modal{width:calc(100% - 20px);padding:20px 18px 18px}
  #appView .detail-modal .modal-actions{padding-top:4px}
}
:root[data-theme="dark"] #appView .detail-modal .icon-btn{background:#18312d;border-color:#31514d;color:#78b8ae}
:root[data-theme="dark"] #appView .detail-modal .icon-btn:hover{background:#21423d}

/* V2.6.8 – compact desktop navigation
   Keep the existing navigation structure; only reduce vertical footprint. */
@media(min-width:801px){
  #appView .manager-nav{display:flex;flex-direction:column;gap:1px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 0 6px;}
  #appView .manager-nav > .nav-group,
  #appView .manager-nav > .nav-item{flex:0 0 auto;min-height:0!important;height:auto!important;margin:0!important;}
  #appView .manager-nav .nav-item,
  #appView .manager-nav .nav-group-head .nav-parent-link,
  #appView .manager-nav .nav-group-toggle{box-sizing:border-box;min-height:32px!important;height:32px!important;padding:5px 9px!important;line-height:1.15!important;border-radius:5px!important;}
  #appView .manager-nav .nav-group-toggle{width:32px;padding:0!important;display:grid;place-items:center;}
  #appView .manager-nav .nav-group-head{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:2px;min-height:32px!important;height:32px!important;margin:0!important;}
  #appView .manager-nav .nav-submenu{margin:1px 0 2px!important;padding:0 0 0 10px!important;display:flex;flex-direction:column;gap:1px;}
  #appView .manager-nav .nav-submenu .nav-item{min-height:28px!important;height:28px!important;padding:4px 8px!important;font-size:11.5px!important;}
  #appView .sidebar-system{flex:0 0 auto;}
  #appView .sidebar-footer-menu .nav-item{min-height:30px!important;height:30px!important;padding:5px 8px!important;}
  #appView .theme-toggle-btn{min-height:32px!important;height:32px!important;padding:6px 8px!important;}
  #appView .sidebar-status{line-height:1.1;}
}

/* V2.6.8 – dark mode completion for weekly project calendar and detail dialogs */
:root[data-theme="dark"] #appView .project-calendar{background:#151d28;border-color:#2b3540;box-shadow:0 8px 24px rgba(0,0,0,.16)}
:root[data-theme="dark"] #appView .project-gantt-head>div{background:#121a22;border-color:#2b3540;color:#91a2b5}
:root[data-theme="dark"] #appView .project-gantt-name{background:#151d28;border-color:#293546;color:#e7edf2}
:root[data-theme="dark"] #appView .project-gantt-name small{color:#99a6b3}
:root[data-theme="dark"] #appView .project-cell{background:#151d28;border-color:#293546}
:root[data-theme="dark"] #appView .project-cell.weekend{background:#111820;color:#8997a5}
:root[data-theme="dark"] #appView .project-cell.project-drop-target{background:#18312d;outline-color:#63a99f}
:root[data-theme="dark"] #appView .project-day-head{color:#d8e0e7}
:root[data-theme="dark"] #appView .detail-modal,
:root[data-theme="dark"] #appView .modal{background:#171f28;color:#e7edf2;border-color:#2b3540}
:root[data-theme="dark"] #appView .modal-head{color:#e7edf2}
:root[data-theme="dark"] #appView .modal-head h2{color:#edf2f6}
:root[data-theme="dark"] #appView .modal .section-box{background:#121a22;border-color:#2b3540;color:#e7edf2}
:root[data-theme="dark"] #appView .modal .detail-hero,
:root[data-theme="dark"] #appView .modal .detail-section,
:root[data-theme="dark"] #appView .modal .detail-metric{background:#121a22;border-color:#2b3540;color:#e7edf2}
:root[data-theme="dark"] #appView .modal .detail-item{background:#1b2731}
:root[data-theme="dark"] #appView .modal .detail-kv{border-bottom-color:#293546}
:root[data-theme="dark"] #appView .modal .detail-section-title{color:#99a6b3}
:root[data-theme="dark"] #appView .modal .detail-lead,
:root[data-theme="dark"] #appView .modal .detail-note{color:#99a6b3}
:root[data-theme="dark"] #appView .modal .quote-items-head{color:#99a6b3}
:root[data-theme="dark"] #appView .modal .quote-item-row{border-top-color:#293546}
:root[data-theme="dark"] #appView .modal .quote-totals>div{background:#121a22;border-color:#2b3540}

/* V2.6.8 – bank statement import */
.bank-import-review{margin-top:16px}.bank-import-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.bank-import-head .table-actions{display:flex;gap:8px;flex-wrap:wrap}.bank-import-review .table-card{overflow:auto}.bank-import-review table{min-width:1100px}.bank-import-review select{min-width:145px}.bank-import-review td:nth-child(4){max-width:300px}.bank-import-review td:nth-child(4){white-space:normal}.bank-import-review .notice{margin-bottom:12px}.bank-import-review .status-pill{white-space:nowrap}@media(max-width:800px){.bank-import-head{align-items:flex-start;flex-direction:column}.bank-import-review table{min-width:950px}}

/* V2.6.14 – dolgozói munkaóra visszajelzés + kompakt feladat részletablak */
#appView .worker-hours-complete{display:flex;align-items:center;gap:14px;min-height:70px;box-sizing:border-box}
#appView .worker-hours-complete strong{color:var(--ui-text)}
#appView .worker-hours-complete .complete-icon{flex:0 0 auto}
#appView .detail-task-modal{width:min(720px,calc(100% - 36px));max-width:720px}
#appView .detail-task-modal .detail-body{gap:12px}
#appView .detail-task-modal .detail-hero{padding:14px 16px}
#appView .detail-task-modal .detail-section{padding:14px 16px}
#appView .detail-task-modal .detail-kv{padding:8px 0}
#appView .detail-task-modal .modal-actions{margin-top:10px;padding-top:4px}
@media(max-width:800px){#appView .detail-task-modal{width:calc(100% - 20px);padding:18px 16px 16px}}

/* V2.6.14 – Ügyvezetői mobil beosztás: mai + holnapi oszlop egyszerre */
.schedule-mobile-quick{display:none}
@media(max-width:700px){
  .schedule-mobile-quick{display:block;position:sticky;top:0;z-index:18;margin:0 0 12px;padding:10px 0 8px;background:var(--ui-bg,#f6f7f9)}
  .schedule-mobile-quick[hidden]{display:none}
  .schedule-mobile-quick-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0 2px;font-size:13px}
  .schedule-mobile-quick-title span{font-size:11px;color:#667085}
  .schedule-mobile-quick-days{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:start}
  .schedule-mobile-quick-day{min-width:0;background:#fff;border:1px solid var(--ui-border,#e2e8f0);border-radius:10px;padding:8px 7px;box-shadow:0 5px 14px rgba(16,24,40,.06)}
  .schedule-mobile-quick-head{display:block;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid #edf0f3;text-align:center}
  .schedule-mobile-quick-head strong{display:block;font-size:13px}
  .schedule-mobile-quick-head span{display:block;font-size:10px;color:#667085;margin-top:2px}
  .schedule-mobile-quick-project{display:grid;gap:3px;padding:4px 0}
  .schedule-mobile-quick-project>strong{font-size:11px;line-height:1.2;color:#23415f;overflow-wrap:anywhere}
  .schedule-mobile-quick-project>div{display:grid;gap:2px}
  .schedule-mobile-quick-project span{font-size:10.5px;line-height:1.25;color:#3f4d5d;overflow-wrap:anywhere}
  .schedule-mobile-quick-project small{display:block;font-size:9.5px;color:#667085;margin:1px 0 0}
  .schedule-mobile-quick-empty{font-size:10.5px;line-height:1.25;color:#667085;padding:2px 0;text-align:center}
}
:root[data-theme="dark"] .schedule-mobile-quick{background:var(--ui-bg,#0f1720)}
:root[data-theme="dark"] .schedule-mobile-quick-day{background:#151d28;border-color:#2b3747}
:root[data-theme="dark"] .schedule-mobile-quick-head{border-color:#263241}
:root[data-theme="dark"] .schedule-mobile-quick-project>strong{color:#d9e7f4}
:root[data-theme="dark"] .schedule-mobile-quick-project span{color:#d2dae4}

/* V2.6.16 – Projekt naptár heti nézet: a projekt idővonala a teljes 7 napos sávot foglalja el */
.project-gantt-row .project-timeline{grid-column:2 / 9;min-width:0;width:100%;}

/* V2.6.17 – feladat részletező és projekt naptár finomítás */
#appView .detail-task-modal{width:min(860px,calc(100% - 28px));max-width:860px}
#appView .detail-task-modal .detail-grid{grid-template-columns:1fr}
#appView .detail-task-modal .detail-section{width:100%}
#appView .detail-modal .icon-btn{color:#475467;background:#f2f4f7;border-color:#d0d5dd}
#appView .detail-modal .icon-btn:hover{color:#1d2939;background:#e4e7ec;border-color:#98a2b3}
:root[data-theme="dark"] #appView .detail-modal .icon-btn{color:#d0d5dd;background:#202936;border-color:#3b4655}
:root[data-theme="dark"] #appView .detail-modal .icon-btn:hover{color:#fff;background:#2a3442;border-color:#526174}
.project-gantt{width:100%;min-width:1050px;overflow:hidden}
.project-gantt-head,.project-gantt-row{grid-template-columns:240px repeat(7,minmax(0,1fr));}
.project-gantt-row .project-timeline{grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;}
.project-timeline .project-cell{min-width:0}
.worker-hours-waiting{padding:14px 16px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.work-hour-segment{display:grid;grid-template-columns:1.5fr 1.4fr .7fr;gap:10px;padding:9px 0;border-top:1px solid var(--ui-border);align-items:center}
.work-hour-total{margin-top:10px;padding-top:10px;border-top:1px solid var(--ui-border)}
@media(max-width:700px){.work-hour-segment{grid-template-columns:1fr;gap:2px}}

/* V2.6.17 – heti projekt idővonal: nincs implicit 8. oszlop */
.project-timeline{grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}
.project-timeline .project-bar{position:absolute;top:7px;bottom:auto;z-index:3;max-width:100%;}

/* V2.6.18 – egységes modal bezáró gombok */
.modal .modal-head .icon-btn{color:#475467;background:#f2f4f7;border:1px solid #d0d5dd;width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:7px;font-size:22px;line-height:1}
.modal .modal-head .icon-btn:hover{color:#1d2939;background:#e4e7ec;border-color:#98a2b3}
.wide-modal{width:min(1100px,calc(100% - 28px))}
.schedule-project-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.schedule-ai-btn{border:1px solid #b9a0d0;background:#fff;color:#5b3b73;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap;min-height:38px;box-shadow:0 1px 2px rgba(16,24,40,.06)}.schedule-ai-btn:hover{background:#f5eff8;border-color:#9f80bd}.schedule-ai-btn:active{transform:translateY(1px)}.schedule-ai-btn-primary{min-width:150px}
.schedule-project-head{background:color-mix(in srgb,var(--schedule-project-color,#8c55b3) 12%,#ffffff);border-color:color-mix(in srgb,var(--schedule-project-color,#8c55b3) 25%,#e2e8f0);border-left:4px solid var(--schedule-project-color,#8c55b3)}
.schedule-project-head strong{color:var(--schedule-project-color,#4b3a52)}
:root[data-theme="dark"] .modal .modal-head .icon-btn{color:#d0d5dd;background:#202936;border-color:#3b4655}
:root[data-theme="dark"] .modal .modal-head .icon-btn:hover{color:#fff;background:#2a3442;border-color:#526174}
:root[data-theme="dark"] .schedule-project-head{background:color-mix(in srgb,var(--schedule-project-color,#8c55b3) 18%,#111a25);border-color:color-mix(in srgb,var(--schedule-project-color,#8c55b3) 35%,#33404d)}
:root[data-theme="dark"] .schedule-project-head strong{color:#f0eaf5}
@media(max-width:800px){.wide-modal{width:calc(100% - 16px)}}

.worker-hours-inline-form{margin-top:14px;padding:14px 0 0;border-top:1px solid var(--ui-border)}.worker-hours-inline-fields{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) minmax(120px,.7fr);gap:10px;align-items:end}.worker-hours-inline-fields label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--ui-text)}.worker-hours-inline-fields input{width:100%;box-sizing:border-box}.worker-hours-inline-form .big-action{min-height:44px}.worker-hours-inline-form>.muted{margin-top:10px;font-size:12px}@media(max-width:700px){.worker-hours-inline-fields{grid-template-columns:1fr 1fr}.worker-hours-inline-fields button{grid-column:1/-1}}

/* V2.6.19 – Előleg modal: nagyobb méret és semleges bezárás */
.salary-advance-modal{width:min(1350px,96vw);max-width:1350px}
.salary-advance-modal .modal-head .icon-btn{color:#475467;background:#f2f4f7;border:1px solid #d0d5dd}
.salary-advance-modal .modal-head .icon-btn:hover{color:#1d2939;background:#e4e7ec;border-color:#98a2b3}
:root[data-theme="dark"] .salary-advance-modal .modal-head .icon-btn{color:#d0d5dd;background:#202936;border-color:#3b4655}
:root[data-theme="dark"] .salary-advance-modal .modal-head .icon-btn:hover{color:#fff;background:#2a3442;border-color:#526174}
@media(max-width:800px){.salary-advance-modal{width:calc(100% - 16px)}}

/* V2.7.3 munkaóra adminisztráció */
.worker-segment{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;}
.work-type-field{margin-bottom:10px;}
.worker-hours-inline-form .work-type-field select{max-width:360px;}
@media(max-width:700px){.worker-segment{grid-template-columns:1fr auto;}.worker-segment .small-btn{grid-column:1/-1;justify-self:start;}}

.owner-project-field[hidden]{display:none;}

/* V2.7.4 – sikeres munkaóra-rögzítés a rögzítő mezők helyén */
.worker-hours-complete{display:flex;align-items:center;min-height:84px;padding:20px 22px;border:1px solid #d1d5db;border-radius:12px;background:rgba(15,118,110,.06);margin-top:14px}.worker-hours-complete strong{font-size:18px;line-height:1.4}.worker-hours-complete::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;margin-right:12px;border:1px solid currentColor;font-weight:700}
/* V2.7.12 – munkaóra módosítási kérelmek */
.worker-correction-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.correction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(100,116,139,.25);border-radius:10px}.correction-row .small-btn{margin-left:auto}
.worker-correction-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.worker-correction-action .primary-btn{min-height:42px}

.worker-task.task-done strong{text-decoration:line-through;opacity:.65}.worker-task.task-done{opacity:.8}

/* V2.7.21 – dolgozói heti beosztás és munkaóra-módosítás */
.worker-week-card{grid-column:1/-1}
.worker-week-list{display:grid;gap:10px;margin-top:10px}
.worker-week-day{border:1px solid var(--ui-border);border-radius:12px;padding:14px;background:var(--ui-surface,#fff)}
.worker-week-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.worker-week-day-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.worker-week-day-head strong{text-transform:capitalize}
.worker-week-day-head>div>span{font-size:11px;font-weight:800;letter-spacing:.06em}
.worker-week-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--ui-border)}
.worker-week-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted,#667085);margin-bottom:7px}
.worker-week-schedule,.worker-week-hour{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.worker-week-schedule span,.worker-week-hour .muted{font-size:12px}
.worker-week-help{display:block;margin-top:12px;font-size:12px}
@media(max-width:700px){.worker-week-schedule,.worker-week-hour{align-items:flex-start;flex-direction:column}.worker-week-hour .small-btn{align-self:flex-start}}
@media(max-width:700px){.worker-task-main{align-items:flex-start;flex-direction:column}.worker-task-main .worker-task-detail-link{width:100%}.worker-task-main .small-btn{align-self:flex-start}}

/* V2.7.22 – a heti beosztás alapból összecsukva maradjon */
.worker-week-card{padding:0;overflow:hidden}
.worker-week-card > summary.worker-week-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin:0}
.worker-week-card > summary.worker-week-summary::-webkit-details-marker{display:none}
.worker-week-card > summary.worker-week-summary::after{content:'⌄';font-size:18px;line-height:1;transition:transform .15s ease}
.worker-week-card[open] > summary.worker-week-summary::after{transform:rotate(180deg)}
.worker-week-summary > span:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.worker-week-summary > span:first-child .muted{font-size:12px}
.worker-week-summary-toggle{font-size:12px;font-weight:700;color:var(--ui-muted,#667085);white-space:nowrap}
.worker-week-card[open] .worker-week-summary{border-bottom:1px solid var(--ui-border)}
.worker-week-card .worker-week-list,.worker-week-card .worker-week-help{margin-left:20px;margin-right:20px}
.worker-week-card .worker-week-help{margin-bottom:18px}

/* V2.7.25 – dolgozói főképernyő: mai feladat + távollét felül, heti beosztás alul */
.worker-home-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
@media (max-width:900px){.worker-home-secondary-grid{grid-template-columns:1fr;}}


/* V2.7.30 – dolgozói Munkaóráim havi nézet / jóváhagyás */
.worker-hours-page{display:grid;gap:16px}
.worker-hours-month-card{background:var(--card,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:20px;box-shadow:0 5px 16px rgba(20,31,42,.035)}
.worker-hours-month-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.worker-hours-month-head h2{margin:.2rem 0 0;font-size:24px}
.worker-month-total{padding:12px 16px;border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;min-width:160px}
.worker-month-total span,.worker-month-summary span{display:block;color:var(--ui-muted,#667085);font-size:12px;font-weight:700}
.worker-month-total strong{display:block;font-size:26px;margin-top:3px}
.worker-month-table{border-radius:10px;box-shadow:none}
.worker-month-summary{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:15px 16px;border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;background:var(--ui-surface,#fafafa)}
.worker-month-summary strong{font-size:22px}
.worker-month-help{display:block;margin-top:10px;font-size:12px}
.worker-month-empty{padding:30px 10px;text-align:center}
@media(max-width:700px){.worker-hours-month-head{align-items:flex-start;flex-direction:column}.worker-month-total{width:100%;box-sizing:border-box}.worker-month-table{overflow:auto}}

/* V2.7.30 – rendszerüzenetek: jobb felső sarok, az alsó fix sáv helyett */
.toast{
  position:fixed;
  top:18px;
  right:18px;
  bottom:auto;
  z-index:1000;
  max-width:min(420px,calc(100vw - 36px));
  padding:12px 16px;
  border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
@media (max-width:700px){
  .toast{top:12px;right:12px;max-width:calc(100vw - 24px)}
}

/* V2.8.0 – Felmérés modul */
.survey-dialog{max-width:1100px;width:min(96vw,1100px)}
.survey-types-picker{margin:12px 0}.survey-type-buttons{display:flex;gap:8px;flex-wrap:wrap}.survey-sections{display:grid;gap:12px}.survey-section{border:1px solid var(--border,#dfe5ec);border-radius:14px;padding:12px;background:var(--surface,#fff)}
.survey-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.survey-section-head>div{min-width:0}.survey-repeat-head,.survey-repeat-row{display:grid;grid-template-columns:1.3fr repeat(5,minmax(90px,1fr)) 80px 36px;gap:7px;align-items:center}.survey-repeat-head{font-size:12px;color:var(--muted,#6b7280);margin-bottom:5px}.survey-repeat-row{margin-bottom:7px}.survey-repeat-row textarea{grid-column:1/-2;width:100%}.survey-repeat-row input,.survey-repeat-row select,.survey-repeat-row textarea{min-width:0}.survey-check{font-size:12px;display:flex;gap:6px;align-items:center;white-space:nowrap}.survey-add-line{margin-top:8px}.survey-summary-card{margin-top:14px;padding:12px 14px;border:1px solid var(--border,#dfe5ec);border-radius:12px;background:var(--surface-soft,#f7f9fb)}.survey-summary-values{display:flex;gap:20px;margin-top:6px;font-size:18px;font-weight:700}.survey-file-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border,#e5e7eb)}.survey-file-row a{flex:1}.survey-file-row:last-child{border-bottom:0}
@media(max-width:900px){.survey-repeat-head{display:none}.survey-repeat-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;border:1px solid var(--border,#e5e7eb);border-radius:10px}.survey-repeat-row strong{grid-column:1}.survey-repeat-row textarea{grid-column:1/-1}.survey-repeat-row button{justify-self:end}.survey-summary-values{flex-wrap:wrap;gap:12px}.survey-type-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.survey-type-buttons button{width:100%}}
@media(max-width:560px){.survey-type-buttons{grid-template-columns:1fr}.survey-dialog{width:98vw}.survey-section{padding:10px}}

/* V2.8.2 – Felmérés: gyors ügyfélfelvétel */
.survey-separate{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:800;color:var(--ui-text,#172033)}
.survey-separate input{width:17px;min-height:17px;padding:0;margin:0}
.survey-summary-excluded{margin-top:6px;font-size:11px;color:var(--ui-muted,#6b778c)}
@media(max-width:900px){
  .survey-dialog{width:calc(100vw - 8px);max-width:none;max-height:calc(100vh - 8px);border-radius:14px}
  .survey-dialog form{padding:10px}
  .survey-dialog .modal-head{gap:8px;margin-bottom:4px}
  .survey-dialog .modal-head h2{font-size:1.12rem;line-height:1.2;margin:.15rem 0}
  .survey-dialog .form-grid{gap:7px;margin-top:8px}
  .survey-dialog label{font-size:11px;gap:4px}
  .survey-dialog input,.survey-dialog select,.survey-dialog textarea{min-height:35px;padding:7px 8px;border-radius:8px;font-size:13px}
  .survey-dialog textarea{min-height:64px}
  .survey-dialog .section-box{margin-top:8px;padding:8px;border-radius:10px}
  .survey-dialog .section-title{margin-bottom:6px;font-size:12px}
  .survey-type-buttons{gap:5px}
  .survey-type-buttons button{padding:8px 7px;border-radius:8px;font-size:11px;line-height:1.15}
  .survey-sections{gap:7px}
  .survey-section{padding:8px;border-radius:10px}
  .survey-section-head{gap:6px;margin-bottom:6px}
  .survey-section-head strong{font-size:12px}
  .survey-section-head .muted{font-size:10px;line-height:1.2;margin-top:2px}
  .survey-repeat-row{gap:5px;padding:6px;margin-bottom:4px;border-radius:8px}
  .survey-repeat-row input,.survey-repeat-row select{min-height:33px;padding:6px 7px;font-size:12px}
  .survey-repeat-row textarea{min-height:44px;padding:6px 7px;font-size:12px}
  .survey-repeat-row strong{font-size:12px}
  .survey-separate{font-size:10px;min-height:28px}
  .survey-add-line{margin-top:4px}
  .survey-add-line button{padding:7px 9px;font-size:11px}
  .survey-summary-card{margin-top:7px;padding:8px 9px;border-radius:9px}
  .survey-summary-values{gap:8px;margin-top:4px;font-size:14px}
  .survey-summary-excluded{font-size:10px;line-height:1.25}
  .survey-dialog .modal-actions{gap:5px;margin-top:8px;flex-wrap:wrap}
  .survey-dialog .modal-actions button{padding:8px 9px;font-size:11px}
}
@media(max-width:560px){
  .survey-dialog form{padding:8px}
  .survey-dialog .form-grid{grid-template-columns:1fr 1fr;gap:5px}
  .survey-dialog .form-grid label.full{grid-column:1/-1}
  .survey-dialog .modal-actions{justify-content:stretch}
  .survey-dialog .modal-actions button{flex:1 1 46%}
  .survey-dialog .modal-actions button#surveySaveBtn{flex-basis:100%}
}
:root[data-theme="dark"] .survey-separate{color:var(--ui-text,#e9eef5)}
:root[data-theme="dark"] .survey-summary-excluded{color:var(--ui-muted,#99a8ba)}

/* V2.8.2 – gyors ügyfélfelvétel */
.survey-customer-row{display:flex;gap:7px;align-items:center}.survey-customer-row select{flex:1;min-width:0}.survey-customer-row button{white-space:nowrap}.quick-customer-dialog{width:min(520px,92vw)}.quick-customer-dialog form{padding:16px}
@media(max-width:560px){.survey-customer-row{align-items:stretch}.survey-customer-row button{padding:7px 8px;font-size:11px}.quick-customer-dialog form{padding:10px}.quick-customer-dialog .form-grid{grid-template-columns:1fr}}

/* V2.10.1 – Riportok */
.reports-toolbar{align-items:end;gap:12px;flex-wrap:wrap}.reports-toolbar label{min-width:180px}.reports-toolbar select,.reports-toolbar input{min-width:160px}.report-table-number{text-align:right}
@media(max-width:800px){.reports-toolbar{display:grid;grid-template-columns:1fr 1fr}.reports-toolbar label:first-child{grid-column:1/-1}.reports-toolbar button{width:100%}.reports-toolbar select,.reports-toolbar input{min-width:0;width:100%}}


/* V2.11.0 – Munkaügy / jelenléti ív / ÁFA */
.finance-tabs,.presence-tabs{margin-bottom:14px}
.vat-toolbar,.presence-toolbar{align-items:end;gap:12px;flex-wrap:wrap}
.vat-toolbar label,.presence-toolbar label{min-width:150px}
.vat-toolbar input,.vat-toolbar select,.presence-toolbar input,.presence-toolbar select{min-width:150px}
.vat-connection-card{padding:14px;border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;background:var(--ui-surface,#fafafa)}
.vat-connection-card code{display:block;word-break:break-all;margin:5px 0 12px}
.vat-cell{display:grid;gap:3px;min-width:105px}.vat-cell small{color:var(--ui-muted,#667085);font-size:10px;white-space:nowrap}
.presence-preview-table .presence-nonwork{background:#f3f4f6;color:#7a8491}.presence-preview-table td{white-space:nowrap}
@media(max-width:800px){.vat-toolbar,.presence-toolbar{display:grid;grid-template-columns:1fr 1fr}.vat-toolbar label,.presence-toolbar label{min-width:0}.vat-toolbar button,.presence-toolbar button{width:100%}}
@media(max-width:600px){.vat-toolbar,.presence-toolbar{grid-template-columns:1fr}.vat-cell{min-width:90px}.presence-preview-table{font-size:11px}.presence-preview-table th,.presence-preview-table td{padding:7px 6px}}


/* V2.11.5 – Pénzügy kompakt rögzítés */
.finance-form-compact{align-items:end}.finance-form-compact>label{min-width:0}.finance-more{grid-column:1/-1;border-top:1px solid var(--ui-border,#e5e7eb);padding-top:10px}.finance-more summary{cursor:pointer;font-weight:700;padding:5px 0}.finance-more-grid{margin-top:10px}.finance-form-actions{justify-content:space-between;align-items:center;gap:12px}.finance-form-actions .muted{margin-right:auto}.finance-month-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.finance-month-summary>div{padding:12px;border:1px solid var(--ui-border,#e5e7eb);border-radius:8px}.finance-month-summary span{display:block;color:var(--ui-muted,#667085);font-size:12px}.finance-month-summary strong{display:block;margin-top:3px}@media(max-width:850px){.finance-form-compact>label{grid-column:1/-1}.finance-form-actions{align-items:stretch;flex-direction:column}.finance-form-actions .muted{margin-right:0}.finance-form-actions .primary-btn{width:100%}.finance-month-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.finance-month-summary{grid-template-columns:1fr}}

.google-drive-settings-box{max-width:1000px}.google-drive-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.google-drive-details{margin-top:16px}.google-drive-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.google-drive-links a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface);color:var(--ui-text);font-weight:700;text-decoration:none}.google-drive-links a:hover{background:#f7f9fa}.google-drive-settings-box .notice{margin-top:14px}@media(max-width:600px){.google-drive-actions{align-items:stretch;flex-direction:column}.google-drive-actions button{width:100%}.google-drive-links{flex-direction:column}.google-drive-links a{width:100%}}

.project-files-drive-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 10px}.project-files-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}


/* V2.12.4 – projekt Drive fájlkezelés + mobil képnézegető */
.project-file-row-rich{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ui-border,#e5e7eb)}
.project-file-row-rich:last-child{border-bottom:0}
.project-file-thumb{width:64px;height:64px;padding:0;border:1px solid var(--ui-border,#d0d5dd);border-radius:8px;background:var(--ui-surface,#fff);overflow:hidden;cursor:pointer}
.project-file-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.project-file-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--ui-border,#d0d5dd);border-radius:8px;background:var(--ui-surface,#fff);font-size:25px}
.project-file-main{min-width:0;display:grid;gap:4px}.project-file-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-main small{color:var(--ui-muted,#667085);font-size:11px;line-height:1.4}
.project-file-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.project-image-viewer-dialog{width:min(1100px,96vw);height:min(94vh,900px);max-width:1100px;padding:0;border:1px solid var(--ui-border,#d0d5dd);border-radius:12px;background:#0e1116;color:#fff;overflow:hidden}
.project-image-viewer-dialog::backdrop{background:rgba(0,0,0,.78)}
.project-image-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.12);background:#151a20}
.project-image-viewer-title{display:grid;gap:3px;min-width:0}.project-image-viewer-title .eyebrow{color:#aeb7c2}.project-image-viewer-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-image-viewer-close{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;white-space:nowrap;min-width:42px;padding:8px 11px!important;color:#fff!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:7px;font-size:14px!important;line-height:1.2}
.project-image-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;height:calc(100% - 120px);min-height:300px;padding:18px 68px;touch-action:pan-y}
.project-image-viewer-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.project-image-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:64px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.45);color:#fff;font-size:40px;line-height:1;border-radius:7px;cursor:pointer;z-index:2}.project-image-nav:disabled{opacity:.28;cursor:default}.project-image-prev{left:14px}.project-image-next{right:14px}
.project-image-viewer-foot{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.12);background:#151a20}.project-image-viewer-foot .muted{color:#aeb7c2;margin-right:auto}
@media(max-width:700px){.project-file-row-rich{grid-template-columns:52px minmax(0,1fr);gap:9px}.project-file-thumb,.project-file-icon{width:52px;height:52px}.project-file-actions{grid-column:1/-1;justify-content:flex-start}.project-file-actions .small-btn{padding:7px 9px;font-size:11px}.project-image-viewer-dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0}.project-image-viewer-stage{height:calc(100% - 132px);padding:8px 44px}.project-image-nav{width:36px;height:52px;font-size:30px}.project-image-prev{left:6px}.project-image-next{right:6px}.project-image-viewer-foot{justify-content:stretch}.project-image-viewer-foot .muted{width:100%;margin-right:0;text-align:center}.project-image-viewer-foot a{flex:1;justify-content:center}}

/* V2.12.4 – rugalmas naptár és részletezők */
.detail-related-list{display:grid;gap:8px}.detail-related-list .entity-link{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 12px;border:1px solid var(--ui-border,#e3dce7);border-radius:10px;background:var(--ui-surface,#fff);color:inherit}.detail-related-list .entity-link span{font-size:12px;color:#667085;white-space:nowrap}.quote-totals{justify-content:flex-end}.modal-actions>*{flex:0 1 auto}@media(max-width:650px){.detail-related-list .entity-link{align-items:flex-start;flex-direction:column}.modal-actions{justify-content:stretch}.modal-actions>*{flex:1 1 180px}}


/* V2.12.5 final UI corrections */
@media (min-width:801px){
  #mainNav .nav-group-toggle,#footerMenu .nav-group-toggle{display:none!important;}
  #mainNav .nav-group>.nav-submenu,#footerMenu .nav-group>.nav-submenu{display:grid!important;}
}
#mainNav [data-menu-key="dashboard"]::before{content:"⌂"}.sidebar [data-menu-key="reports"]::before{content:"▤"}.sidebar [data-menu-key="workers"]::before{content:"◉"}.sidebar [data-menu-key="salary"]::before{content:"₿"}.sidebar [data-menu-key="customers"]::before{content:"◌"}.sidebar [data-menu-key="projects"]::before{content:"▣"}.sidebar [data-menu-key="projectCalendar"]::before{content:"▦"}.sidebar [data-menu-key="schedule"]::before{content:"▥"}.sidebar [data-menu-key="absence"]::before{content:"◷"}.sidebar [data-menu-key="tasks"]::before{content:"✓"}.sidebar [data-menu-key="surveys"]::before{content:"⌕"}.sidebar [data-menu-key="approvals"]::before{content:"✓"}.sidebar [data-menu-key="notifications"]::before{content:"◉"}.sidebar [data-menu-key="quotes"]::before{content:"▤"}.sidebar [data-menu-key="finance"]::before{content:"₣"}.sidebar [data-menu-key="inventory"]::before{content:"▦"}.sidebar [data-menu-key="presence"]::before{content:"◷"}.sidebar [data-menu-key="settings"]::before{content:"⚙"}
.sidebar [data-menu-key]::before{display:inline-block;width:22px;margin-right:4px;opacity:.82;font-size:13px;vertical-align:-1px;text-align:center}
.mobile-version{font-size:11px;opacity:.72;white-space:nowrap;margin-left:auto}
@media(max-width:800px){.mobile-topbar>strong{margin-right:0!important}.mobile-version{margin-right:auto}}
#appView .modal{width:min(1040px,calc(100vw - 40px));max-width:1040px;padding:0;border-radius:12px}
#appView .modal form{padding:30px}
#appView .modal-head{padding-bottom:14px}
#appView .modal-actions{gap:12px;margin-top:28px}
#appView .modal-actions>*{min-height:44px}
#appView .detail-modal{padding:0;width:min(1040px,calc(100vw - 40px));max-width:1040px}
#appView .settings-card.finance-page-card{width:100%;max-width:none}
#appView #financeMainPane{width:100%}
#appView .finance-form-actions{align-items:center}
#appView .finance-form-actions .primary-btn{flex:0 0 auto;width:auto;min-height:46px;max-height:52px}
#appView .inventory-items-box{margin-top:18px}
#appView .leader-tools-card{grid-column:1/-1}
#appView .leader-tool-actions{justify-content:flex-start}
.worker-retro-actions{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:800px){
  #appView .modal,#appView .detail-modal{width:calc(100vw - 16px);max-width:none;max-height:92vh}
  #appView .modal form{padding:18px}
  #appView .modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
  #appView .modal-actions>*{flex:1 1 150px;min-height:46px}
  #appView .finance-form-actions{display:flex;align-items:center}
  #appView .finance-form-actions .primary-btn{flex:0 0 auto;width:auto;height:46px;max-height:46px;min-height:46px}
  .worker-retro-actions{justify-content:stretch}.worker-retro-actions .secondary-btn{width:100%}
}


/* V2.12.12 – mobilos munkaóra-táblázat vízszintes görgetése */
.worker-month-table{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;}
.worker-month-table table{min-width:980px;}

/* V2.12.13 – munkaóra havi nézet mobilon ne tolja ki a modalt */
.worker-hours-month-card{min-width:0;max-width:100%;overflow:hidden;}
.worker-month-table{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;}
.worker-month-table table{min-width:980px;width:980px;}

/* V2.15.0 – automatizált munkafolyamatok + vezetői UX */
.quick-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.automation-alert-list{display:grid;gap:8px}
.automation-alert{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--ui-border,#eee8f0)}
.automation-alert:first-child{border-top:0}
.automation-urgent strong{font-weight:900}
.schedule-suggestion-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;cursor:pointer}
.schedule-suggestion-row input{width:18px;min-height:18px;margin-top:2px}
.section-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-box-head h2,.section-box-head h3{margin:0 0 4px}
.procurement-status-select{min-width:150px}
@media(max-width:700px){.quick-actions{width:100%}.quick-actions .secondary-btn{flex:1}.section-box-head{align-items:stretch;flex-direction:column}.automation-alert{align-items:flex-start;flex-direction:column}.schedule-suggestion-row{grid-template-columns:auto minmax(0,1fr)}}

.worker-task-detail-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:transparent;border:0;padding:0;color:inherit;}
.worker-task-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1}.worker-task-main .worker-task-detail-link{min-width:0}.worker-task-main .worker-task-detail-link strong,.worker-task-main .worker-task-detail-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.worker-task-detail-link strong{display:block;}

/* V2.15.0 – egységes, letisztult vezetői felület */
:root{
  --ui-accent:#245b8f;
  --ui-accent-hover:#1d4d79;
  --ui-accent-soft:#eef4f8;
  --ui-surface:#ffffff;
  --ui-bg:#f4f6f8;
  --ui-border:#dfe5eb;
  --ui-text:#16212b;
  --ui-muted:#6b7785;
  --ui-success:#177245;
  --ui-warning:#9a6700;
  --ui-danger:#a63838;
  --ui-shadow:0 8px 24px rgba(16,24,40,.045);
  --ui-radius:10px;
}
body{background:var(--ui-bg);color:var(--ui-text)}
button{border-radius:8px;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
.primary-btn,.secondary-btn,.small-btn{font-weight:750;line-height:1.15}
.primary-btn{min-height:42px;padding:10px 14px;background:var(--ui-accent);color:#fff;box-shadow:0 3px 10px rgba(36,91,143,.14)}
.primary-btn:hover{background:var(--ui-accent-hover);box-shadow:0 5px 14px rgba(36,91,143,.18)}
.secondary-btn{min-height:42px;padding:10px 14px;background:#fff;color:#2b475f;border:1px solid #d7e0e8;box-shadow:none}
.secondary-btn:hover{background:#f5f8fa;border-color:#c5d1db}
.small-btn{min-height:36px;padding:8px 11px;background:#f7f9fb;color:#2b475f;border:1px solid #d8e0e7}
.small-btn:hover{background:#eef3f7;border-color:#c5d1db}
.small-btn.danger{background:#fff5f5;color:var(--ui-danger);border-color:#edd1d1}
.icon-btn{width:36px;height:36px;min-width:36px;min-height:36px;display:inline-grid;place-items:center;padding:0;border-radius:8px}
.btn-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.btn-icon svg{display:block;width:18px;height:18px}
input,select,textarea{min-height:44px;border-radius:8px;border-color:#d5dee6;box-shadow:none}
textarea{min-height:92px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(36,91,143,.11);border-color:#7fa0bb}
.table-card,.widget,.settings-card,.section-box,.schedule-day,.schedule-pool,.worker-card,.worker-primary-card{border-radius:12px;box-shadow:var(--ui-shadow)}
.modal{width:min(920px,calc(100vw - 28px));max-height:90vh;border-radius:14px;box-shadow:0 24px 70px rgba(16,24,40,.20)}
.modal form{padding:24px}
.modal-head{min-height:44px}
.modal-actions{gap:8px;margin-top:22px}
.modal-actions>*{min-height:42px}
.page-header h1{letter-spacing:-.028em}
.widget{padding:20px}
.widget h3{font-size:15px}
.widget-head p{margin:4px 0 0;color:var(--ui-muted);font-size:12px}

/* Dashboard / vezetői munkaközpont */
.dashboard-command-center{display:grid;gap:18px;margin:0 0 22px;padding:22px;background:#fff;border:1px solid var(--ui-border);border-radius:14px;box-shadow:var(--ui-shadow)}
.dashboard-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:4px}
.dashboard-command-head h2{margin:3px 0 5px;font-size:1.38rem;letter-spacing:-.02em}
.dashboard-command-head p{margin:0;color:var(--ui-muted);font-size:13px;max-width:760px}
.dashboard-command-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-action-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eaf0f5;color:#245b8f;font-size:11px;font-weight:850}
.dashboard-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}
.dashboard-kpi{min-width:0;padding:12px 13px;border:1px solid #e3e9ee;border-radius:9px;background:#f8fafb;display:grid;gap:2px}
.dashboard-kpi span{font-size:11px;color:#687685;font-weight:750}
.dashboard-kpi strong{font-size:24px;line-height:1.1;color:#182734;letter-spacing:-.02em}
.dashboard-kpi small{font-size:10px;color:#7b8793;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-kpi.attention{border-color:#ecd9a4;background:#fffaf0}
.dashboard-kpi.attention strong{color:#9a6700}
.dashboard-kpi.active{border-color:#cddfea;background:#f2f8fb}
.dashboard-kpi.active strong{color:#245b8f}
.dashboard-kpi.risk{border-color:#eccdcd;background:#fff7f7}
.dashboard-kpi.risk strong{color:#a63838}
.dashboard-command-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}
.dashboard-focus,.dashboard-today,.dashboard-finance-watch{min-width:0;border:1px solid #e2e8ed;border-radius:10px;background:#fff}
.dashboard-focus,.dashboard-today{padding:15px}
.dashboard-finance-watch{padding:15px}
.section-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#243544;font-size:12px;font-weight:850}
.section-title-line small{color:#7a8692;font-weight:650}
.dashboard-focus-row{display:grid;grid-template-columns:8px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;padding:10px 8px;text-align:left;background:transparent;border:0;border-bottom:1px solid #edf1f4;border-radius:7px;color:inherit}
.dashboard-focus-row:last-child{border-bottom:0}
.dashboard-focus-row:hover{background:#f7fafc}
.focus-dot{width:7px;height:7px;border-radius:50%;background:#9aa5af}
.priority-urgent .focus-dot{background:#ba4d4d}.priority-high .focus-dot{background:#c38a2d}.priority-normal .focus-dot{background:#5d89ad}.priority-low .focus-dot{background:#9aa5af}
.focus-main{min-width:0;display:grid;gap:2px}
.focus-main strong{font-size:12px;color:#22313f}
.focus-main span{font-size:11px;color:#71808d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-arrow{font-size:21px;color:#8a96a2;text-align:center}
.dashboard-empty-focus{padding:24px 8px;text-align:center;color:#7a8692;font-size:12px}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboard-focus-action{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:42px;padding:9px 11px;background:#f7f9fb;color:#29445a;border:1px solid #dce4ea;border-radius:8px;text-align:left;font-size:12px;font-weight:800}
.dashboard-focus-action:hover{background:#edf3f7;border-color:#c8d5df}
.dashboard-note{display:grid;gap:2px;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f4}
.dashboard-note strong{font-size:11px;color:#425260}.dashboard-note span{font-size:11px;color:#77838e}
.dashboard-finance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 8px;border:0;border-bottom:1px solid #edf1f4;background:transparent;text-align:left}
.dashboard-finance-row:last-child{border-bottom:0}
.dashboard-finance-row:hover{background:#f7fafc}
.finance-main{min-width:0;display:grid;gap:2px}
.finance-main strong{font-size:12px;color:#233544}.finance-main span{font-size:11px;color:#74808b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-load{min-width:50px;text-align:right;font-size:12px;font-weight:850;color:#59758d}
.finance-risk .finance-load{color:#9a6700}.finance-critical .finance-load{color:#a63838}

/* Értesítések prioritás-jelölése */
.notification-item{align-items:flex-start;padding:12px;border-radius:10px;box-shadow:none}
.notification-item .notification-main{min-width:0;flex:1}
.notification-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notification-priority{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#eef2f5;color:#60707d}
.notification-item.priority-urgent{border-color:#e6c0c0;background:#fff8f8}.notification-item.priority-urgent .notification-priority{background:#f6dddd;color:#a63838}
.notification-item.priority-high{border-color:#ead6ae;background:#fffbf2}.notification-item.priority-high .notification-priority{background:#f6eacb;color:#946300}
.notification-item.priority-normal .notification-priority{background:#e8eff4;color:#4d6d85}
.notification-item.priority-low .notification-priority{background:#eef1f3;color:#697782}
.notification-item p{margin:.32rem 0;color:#52606c}
.notification-item small{color:#8a949e}

/* Beszerzési előzmény */
.procurement-history{display:grid;gap:0}
.history-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;position:relative;padding:0 0 14px}
.history-row:last-child{padding-bottom:0}
.history-row:not(:last-child)::after{content:'';position:absolute;left:5px;top:9px;bottom:0;width:1px;background:#dfe6ec}
.history-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#7f9bb0;box-shadow:0 0 0 3px #eef3f7;z-index:1}
.history-row>div:last-child{display:grid;gap:2px}.history-row strong{font-size:12px}.history-row span,.history-row small{font-size:11px;color:#73808b}

/* Egységes táblázat- és űrlapméretek */
th{height:42px}td{height:50px}table{min-width:860px}.cell-sub{display:block;margin-top:3px;color:#7b8792;font-size:10px}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-command-body{grid-template-columns:1fr}.dashboard-today{order:2}.dashboard-focus{order:1}.dashboard-finance-watch{order:3}}
@media(max-width:800px){
  .main{padding:20px 16px 30px}
  .page-header h1{font-size:1.8rem}
  .dashboard-command-center{padding:16px;border-radius:12px}
  .dashboard-command-head{flex-direction:column;align-items:stretch}
  .dashboard-command-actions{justify-content:flex-start}
  .dashboard-command-actions .dashboard-focus-action{flex:1 1 170px}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-action-grid{grid-template-columns:1fr}
  .modal{width:calc(100vw - 16px);max-height:92vh;border-radius:12px}
  .modal form{padding:18px}
}
@media(max-width:480px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-kpi strong{font-size:21px}.primary-btn,.secondary-btn{min-height:42px}.small-btn{min-height:36px}}

/* V2.15.0 – sötét mód finomhangolás az új vezetői elemekhez */
:root[data-theme="dark"]{
  --ui-accent:#6ea6d2;
  --ui-accent-hover:#86b8df;
  --ui-accent-soft:#1d2b38;
  --ui-surface:#1b2026;
  --ui-bg:#11161b;
  --ui-border:#303943;
  --ui-text:#e7edf2;
  --ui-muted:#9aa7b3;
  --ui-success:#5fb58a;
  --ui-warning:#d0a35b;
  --ui-danger:#dd8585;
  --ui-shadow:0 8px 24px rgba(0,0,0,.18);
}
:root[data-theme="dark"] body{background:var(--ui-bg);color:var(--ui-text)}
:root[data-theme="dark"] .primary-btn{background:#3d6f99;color:#fff;box-shadow:none}
:root[data-theme="dark"] .primary-btn:hover{background:#4b82ad}
:root[data-theme="dark"] .secondary-btn{background:#20272e;color:#d7e0e7;border-color:#39444e}
:root[data-theme="dark"] .secondary-btn:hover{background:#28313a;border-color:#4a5864}
:root[data-theme="dark"] .small-btn{background:#20272e;color:#d7e0e7;border-color:#39444e}
:root[data-theme="dark"] .small-btn:hover{background:#28313a}
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea{background:#171d22;color:#e7edf2;border-color:#39444e}
:root[data-theme="dark"] .dashboard-command-center,
:root[data-theme="dark"] .dashboard-focus,
:root[data-theme="dark"] .dashboard-today,
:root[data-theme="dark"] .dashboard-finance-watch,
:root[data-theme="dark"] .dashboard-kpi{background:#1b2026;border-color:#303943;color:#e7edf2}
:root[data-theme="dark"] .dashboard-kpi strong{color:#eef3f7}
:root[data-theme="dark"] .dashboard-kpi span,
:root[data-theme="dark"] .dashboard-kpi small,
:root[data-theme="dark"] .dashboard-command-head p,
:root[data-theme="dark"] .focus-main span,
:root[data-theme="dark"] .finance-main span,
:root[data-theme="dark"] .dashboard-note span{color:#9aa7b3}
:root[data-theme="dark"] .dashboard-focus-row:hover,
:root[data-theme="dark"] .dashboard-finance-row:hover{background:#20272e}
:root[data-theme="dark"] .dashboard-focus-row,
:root[data-theme="dark"] .dashboard-finance-row{border-color:#2b343d}
:root[data-theme="dark"] .dashboard-focus-action{background:#20272e;color:#d7e0e7;border-color:#39444e}
:root[data-theme="dark"] .dashboard-focus-action:hover{background:#28313a;border-color:#4a5864}
:root[data-theme="dark"] .dashboard-action-count{background:#2a3946;color:#b9d7ec}
:root[data-theme="dark"] .dashboard-kpi.attention{background:#2d281c;border-color:#5a4926}.dashboard-kpi.attention strong{color:var(--ui-warning)}
:root[data-theme="dark"] .dashboard-kpi.active{background:#1d2b35;border-color:#31526a}.dashboard-kpi.active strong{color:#9fc9e8}
:root[data-theme="dark"] .dashboard-kpi.risk{background:#2b2022;border-color:#59373a}.dashboard-kpi.risk strong{color:#ef9c9c}
:root[data-theme="dark"] .finance-risk .finance-load{color:#e1b86e}.finance-critical .finance-load{color:#ef9999}
:root[data-theme="dark"] .notification-item.priority-urgent{background:#291f21;border-color:#5d373a}
:root[data-theme="dark"] .notification-item.priority-high{background:#2b271d;border-color:#5b4c2c}
:root[data-theme="dark"] .notification-item.priority-normal,
:root[data-theme="dark"] .notification-item.priority-low{background:#1b2026;border-color:#303943}
:root[data-theme="dark"] .notification-item p{color:#bdc7cf}
:root[data-theme="dark"] .modal{background:#1b2026;color:#e7edf2}
:root[data-theme="dark"] .widget-head p,
:root[data-theme="dark"] .cell-sub{color:#8f9ca8}


/* V2.15.0 – beszerzési feladat részletező: közvetlen ügyvezetői állapotkezelés */
#appView .procurement-detail-grid{grid-template-columns:minmax(0,1fr)}
#appView .procurement-control-panel{
  margin-top:12px;
  padding:14px 16px;
  border:1px solid var(--ui-border,#dbe2ea);
  border-radius:12px;
  background:var(--ui-surface,#fff);
}
#appView .procurement-control-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
#appView .procurement-control-head .detail-section-title{margin-bottom:2px}
#appView .procurement-current-status{white-space:nowrap}
#appView .procurement-control-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#appView .procurement-history-inline{min-height:70px}
#appView .procurement-history{display:grid;gap:10px}
#appView .procurement-history .history-row{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
#appView .procurement-history .history-dot{
  width:8px;height:8px;border-radius:50%;
  background:currentColor;margin-top:6px;
  opacity:.7;
}
#appView .procurement-history .history-row strong{display:block}
#appView .procurement-history .history-row span,
#appView .procurement-history .history-row small{
  display:block;color:var(--ui-muted,#667085);margin-top:2px;
}
@media(max-width:700px){
  #appView .procurement-control-head{align-items:flex-start;flex-direction:column}
  #appView .procurement-control-row{display:grid;grid-template-columns:1fr}
  #appView .procurement-control-row .small-btn{width:100%}
}


/* V2.15.0 – Dolgozói nézet: teljes vizuális ráncfelvarrás és sűrűbb munkaközpont */
#workerHomeView{max-width:1480px;margin:0 auto}
#workerHomeView .page-header{align-items:center;margin-bottom:16px}
#workerHomeView .page-header h1{font-size:clamp(1.8rem,3vw,2.3rem);letter-spacing:-.03em}
#workerHomeView .page-header .header-actions{gap:8px}
#workerHomeView .page-header .header-actions #workerMaterialBtn{background:var(--ui-accent,#0f6f67);color:#fff;border-color:transparent}
#workerHomeView .page-header .header-actions #workerHomeRefresh{color:var(--ui-text,#26313a)}
#workerHomeView .worker-home-grid{display:grid;gap:14px}
#workerHomeView .worker-hero-actions{display:flex;justify-content:flex-end;gap:8px;margin:-2px 0 12px}
#workerHomeView .worker-hero-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:9px 13px}
#workerHomeView .worker-hero-action svg{width:16px;height:16px}
#workerHomeView .worker-refresh-icon{font-size:18px;line-height:1}
#workerHomeView .worker-primary-card{padding:20px;border:1px solid var(--ui-border,#dfe5ea);border-radius:12px;background:var(--ui-surface,#fff);box-shadow:0 9px 24px rgba(17,24,39,.045)}
#workerHomeView .worker-primary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
#workerHomeView .worker-primary-header h2{font-size:25px;margin:2px 0 2px;letter-spacing:-.025em}
#workerHomeView .worker-primary-header p{margin:.15rem 0 0}
#workerHomeView .worker-state{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:4px 9px;border-radius:7px;border:1px solid var(--ui-border,#dbe2e8);font-size:11px;font-weight:800;white-space:nowrap}
#workerHomeView .worker-state-active{background:#eef7f5;color:#166b62;border-color:#cbe4df}
#workerHomeView .worker-state-closed{background:#eef8f1;color:#23764b;border-color:#cde7d7}
#workerHomeView .worker-state-neutral{background:#f4f6f8;color:#667085}
#workerHomeView .worker-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
#workerHomeView .worker-kpi{padding:11px 12px;border:1px solid var(--ui-border,#e2e7ec);border-radius:8px;background:#f8fafb;min-width:0}
#workerHomeView .worker-kpi span,#workerHomeView .worker-kpi small{display:block;color:var(--ui-muted,#667085);font-size:10px;font-weight:700}
#workerHomeView .worker-kpi strong{display:block;margin-top:3px;font-size:19px;line-height:1.16;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workerHomeView .worker-kpi-project strong{font-size:14px}
#workerHomeView .worker-main-panels{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:10px}
#workerHomeView .worker-panel{border:1px solid var(--ui-border,#e2e7ec);border-radius:9px;background:#fbfcfd;padding:14px}
#workerHomeView .worker-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
#workerHomeView .worker-panel-head h3{margin:2px 0 0;font-size:16px}
#workerHomeView .worker-card-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800;color:#7b8794}
#workerHomeView .worker-assignment{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #e7ebef}
#workerHomeView .worker-assignment:first-child{border-top:0;padding-top:2px}
#workerHomeView .worker-assignment-title{font-weight:850;font-size:13px;line-height:1.25}
#workerHomeView .worker-assignment-time{margin-top:2px;color:#667085;font-size:11px}
#workerHomeView .worker-next-day{margin-top:8px;padding-top:8px;border-top:1px solid #e7ebef}
#workerHomeView .worker-next-day>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7b8794}
#workerHomeView .worker-next-day .worker-assignment{padding-bottom:2px}
#workerHomeView .worker-hours-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px}
#workerHomeView .worker-hours-status-row span{font-size:11px;color:#667085}
#workerHomeView .worker-hours-status-row strong{font-size:19px}
#workerHomeView .worker-segments{display:grid;gap:6px;margin-bottom:8px}
#workerHomeView .worker-segment{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e1e6eb;border-radius:7px;background:#fff}
#workerHomeView .worker-segment-copy{min-width:0}
#workerHomeView .worker-segment-copy strong,#workerHomeView .worker-segment-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workerHomeView .worker-segment-copy span{margin-top:2px;color:#667085;font-size:10px}
#workerHomeView .worker-hours-inline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:7px}
#workerHomeView .worker-hours-inline-fields label{font-size:10px}
#workerHomeView .worker-hours-inline-fields input{min-height:40px}
#workerHomeView .worker-hours-inline-form .big-action{min-height:40px;white-space:nowrap;padding-inline:14px}
#workerHomeView .worker-hours-complete{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #cfe5d7;border-radius:8px;background:#eff9f2}
#workerHomeView .worker-hours-complete strong,#workerHomeView .worker-hours-complete span{display:block}
#workerHomeView .worker-hours-complete span{margin-top:2px;font-size:10px}
#workerHomeView .worker-complete-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#dff2e6;color:#207449;font-weight:900}
#workerHomeView .worker-home-productivity-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:12px;align-items:start}
#workerHomeView .worker-card{padding:14px;border:1px solid var(--ui-border,#dfe5ea);border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(17,24,39,.03)}
#workerHomeView .worker-tasks-card{grid-column:1/-1}
#workerHomeView .worker-history-card{grid-column:1/-1;padding:0;overflow:hidden}
#workerHomeView .worker-card-head{margin-bottom:7px}
#workerHomeView .worker-section-head h2{margin:1px 0 0;font-size:17px}
#workerHomeView .worker-count-badge{min-width:24px;height:24px;padding:0 7px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#f1f4f6;border:1px solid #e0e5e9;color:#495463;font-size:10px;font-weight:900}
#workerHomeView .worker-task-list{display:grid;gap:0}
#workerHomeView .worker-task{padding:9px 2px;border-top:1px solid #edf0f2}
#workerHomeView .worker-task:first-child{border-top:0}
#workerHomeView .worker-task-main{display:flex;align-items:center;justify-content:space-between;gap:10px}
#workerHomeView .worker-task-copy{display:grid;gap:2px;min-width:0;flex:1}
#workerHomeView .worker-task-copy strong,#workerHomeView .worker-task-copy span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workerHomeView .worker-task-copy strong{font-size:12.5px}
#workerHomeView .worker-task-copy span{font-size:10.5px;color:#667085}
#workerHomeView .worker-task-action{display:flex;align-items:center;gap:7px;flex:0 0 auto}
#workerHomeView .worker-task-detail-link{display:flex;align-items:center;gap:9px;min-width:0;flex:1;text-align:left;padding:0;background:transparent;color:inherit}
#workerHomeView .worker-task-detail-link:hover{background:transparent}
#workerHomeView .worker-task-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dfe4e8;border-radius:6px;background:#f7f9fa;color:#63707e}
#workerHomeView .worker-task-icon svg{width:14px;height:14px}
#workerHomeView .worker-task-primary-action{white-space:nowrap;padding:6px 9px}
#workerHomeView .worker-inline-action{padding:6px 9px;min-height:30px}
#workerHomeView .worker-full-action{width:100%;margin-top:9px;min-height:38px}
#workerHomeView .worker-details-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:13px 14px}
#workerHomeView .worker-details-summary::-webkit-details-marker{display:none}
#workerHomeView .worker-details-summary>span:first-child{display:grid;gap:2px}
#workerHomeView .worker-details-summary strong{font-size:16px}
#workerHomeView .worker-details-summary::after{content:'⌄';font-size:17px;color:#7b8794;transition:transform .15s ease}
#workerHomeView .worker-history-card[open] .worker-details-summary::after{transform:rotate(180deg)}
#workerHomeView .worker-summary-meta{font-size:10px;color:#7b8794}
#workerHomeView .worker-history-list{padding:0 14px 10px}
#workerHomeView .worker-retro-row{display:flex;justify-content:flex-end}
#workerHomeView .worker-empty{padding:12px 3px;text-align:left;color:#7a8693;font-size:11px}
#workerHomeView .worker-empty-compact{padding:5px 0}
#workerHomeView .worker-notice-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;background:#fff2cc;color:#7a5a00;font-weight:900;border:1px solid #ecd58d}
#workerHomeView .worker-missing-work-notice{display:flex;align-items:flex-start;gap:9px;margin-top:12px}
#workerHomeView .worker-nav-item{display:flex;align-items:center;gap:9px}
#workerHomeView .worker-nav-item .nav-icon{width:16px;height:16px;display:grid;place-items:center;flex:0 0 auto}
#workerHomeView .worker-nav-item .nav-icon svg{width:15px;height:15px}
#workerHomeView .leader-tools-card{grid-column:1/-1}
@media(max-width:980px){
  #workerHomeView .worker-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  #workerHomeView .worker-main-panels{grid-template-columns:1fr}
  #workerHomeView .worker-home-productivity-grid{grid-template-columns:1fr}
  #workerHomeView .worker-tasks-card,#workerHomeView .worker-history-card,#workerHomeView .leader-tools-card{grid-column:auto}
}
@media(max-width:680px){
  #workerHomeView .page-header{align-items:flex-start}
  #workerHomeView .page-header .header-actions{width:100%}
  #workerHomeView .page-header .header-actions button{flex:1}
  #workerHomeView .worker-hero-actions{justify-content:stretch}
  #workerHomeView .worker-hero-action{flex:1}
  #workerHomeView .worker-primary-card{padding:15px}
  #workerHomeView .worker-primary-header{flex-direction:column}
  #workerHomeView .worker-kpi-strip{grid-template-columns:1fr 1fr}
  #workerHomeView .worker-hours-inline-fields{grid-template-columns:1fr 1fr}
  #workerHomeView .worker-hours-inline-fields .big-action{grid-column:1/-1}
  #workerHomeView .worker-task-main{align-items:flex-start}
  #workerHomeView .worker-task-action{padding-top:2px}
}
@media(max-width:470px){
  #workerHomeView .worker-kpi-strip{grid-template-columns:1fr}
  #workerHomeView .worker-hero-actions{display:grid;grid-template-columns:1fr}
  #workerHomeView .worker-primary-header h2{font-size:22px}
}
:root[data-theme="dark"] #workerHomeView .worker-primary-card,
:root[data-theme="dark"] #workerHomeView .worker-card,
:root[data-theme="dark"] #workerHomeView .worker-panel{background:#151d26;border-color:#2b3743}
:root[data-theme="dark"] #workerHomeView .worker-kpi,
:root[data-theme="dark"] #workerHomeView .worker-panel{background:#121a22}
:root[data-theme="dark"] #workerHomeView .worker-task-icon,
:root[data-theme="dark"] #workerHomeView .worker-segment{background:#111820;border-color:#2b3743}


/* V2.18.0 – Dolgozói modulok rendezett, 3 oszlopos elrendezése */
#workerHomeView .worker-home-secondary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  grid-template-areas:
    "tasks material"
    "prep prep"
    "leader leader"
    "history history";
  gap:12px;
  align-items:start;
}
#workerHomeView .worker-grid-tasks{grid-area:tasks}
#workerHomeView .worker-material-card{grid-area:material}
#workerHomeView .worker-project-prep-card{grid-area:prep}
#workerHomeView .worker-absence-card{display:none}
#workerHomeView .leader-tools-card{grid-area:leader}
#workerHomeView .worker-grid-history{grid-area:history}
#workerHomeView .worker-tasks-card,
#workerHomeView .worker-material-card,
#workerHomeView .worker-absence-card,
#workerHomeView .leader-tools-card,
#workerHomeView .worker-history-card{height:100%;box-sizing:border-box}
#workerHomeView .worker-tasks-card .worker-task-list,
#workerHomeView .worker-material-card .worker-task-list,
#workerHomeView .worker-absence-card .worker-task-list{min-height:76px}
#workerHomeView .worker-history-card{overflow:hidden}
#workerHomeView .worker-history-list{max-height:360px;overflow:auto}
#workerHomeView .worker-hours-missing-block{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;margin-bottom:14px;
  border:1px solid #ecd58d;border-radius:9px;background:#fff8df;
}
#workerHomeView .worker-hours-missing-copy{display:flex;align-items:flex-start;gap:10px;min-width:0}
#workerHomeView .worker-hours-missing-icon{
  width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;
  border-radius:7px;border:1px solid #ecd58d;background:#fff2cc;color:#7a5a00;font-weight:900;
}
#workerHomeView .worker-hours-missing-copy strong,
#workerHomeView .worker-hours-missing-copy span,
#workerHomeView .worker-hours-missing-copy small{display:block}
#workerHomeView .worker-hours-missing-copy span{margin-top:2px;font-size:11px;color:#667085}
#workerHomeView .worker-hours-missing-copy small{margin-top:3px;font-size:10px;color:#7a8693}
.worker-hours-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}
@media(max-width:1050px){
  #workerHomeView .worker-home-secondary-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "tasks material"
      "prep prep"
      "leader leader"
      "history history";
  }
}
@media(max-width:680px){
  #workerHomeView .worker-home-secondary-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "tasks"
      "material"
      "absence"
      "leader"
      "history";
  }
  #workerHomeView .worker-hours-missing-block{align-items:stretch;flex-direction:column}
  #workerHomeView .worker-hours-retro-btn{width:100%}
}


/* V2.18.0 – Dashboard közvetlen modulablak + dolgozói kategória + heti beosztási mód */
.dashboard-kpi-action{
  position:relative;width:100%;appearance:none;border:1px solid var(--ui-border,#dfe5ea);
  text-align:left;cursor:pointer;
}
.dashboard-kpi-action:hover{border-color:#cbd5df;box-shadow:0 5px 14px rgba(17,24,39,.055);transform:translateY(-1px)}
.dashboard-kpi-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#7b8794;font-size:18px}
.dashboard-module-dialog{width:min(1180px,calc(100vw - 40px));max-height:min(86vh,900px)}
.dashboard-module-body{min-height:120px;max-height:64vh;overflow:auto}
.dashboard-module-loading{padding:35px;text-align:center;color:#667085}
.dashboard-module-table{margin:0}
.dashboard-module-table table{min-width:860px}
.dashboard-module-list{display:grid;gap:0}
.dashboard-module-list-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 4px;border:0;border-top:1px solid #edf0f2;background:transparent;text-align:left
}
.dashboard-module-list-row:first-child{border-top:0}
button.dashboard-module-click-row{cursor:pointer}
button.dashboard-module-click-row:hover{background:#f8fafb}
.dashboard-module-list-row>div:first-child{min-width:0;display:grid;gap:3px}
.dashboard-module-list-row strong{display:block;font-size:13px}
.dashboard-module-list-row span{display:block;color:#667085;font-size:11px}
.schedule-suggestion-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}
.schedule-suggestion-mode-card{
  display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dfe5ea;border-radius:9px;
  cursor:pointer;background:#fff
}
.schedule-suggestion-mode-card.active{border-color:#b9d7d2;box-shadow:0 0 0 2px rgba(15,111,103,.08)}
.schedule-suggestion-mode-card input{margin-top:3px}
.schedule-suggestion-mode-card span{display:grid;gap:2px}
.schedule-suggestion-mode-card strong{font-size:13px}
.schedule-suggestion-mode-card small{font-size:10px;color:#667085}
.schedule-week-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.schedule-week-summary-card{padding:10px 11px;border:1px solid #e3e8ec;border-radius:8px;background:#f8fafb}
.schedule-week-summary-card strong,.schedule-week-summary-card span,.schedule-week-summary-card small{display:block}
.schedule-week-summary-card strong{font-size:12px}
.schedule-week-summary-card span{margin-top:3px;font-size:11px;color:#4c5a66}
.schedule-week-summary-card small{margin-top:3px;font-size:10px;color:#8a5d00}
.worker-category-student{background:#f4eefb;color:#6c4b89;border-color:#e2d5ef}
.worker-category-employee{background:#eef5f4;color:#2e625d;border-color:#d2e4e1}
#workerHomeView .worker-grid-tasks,#workerHomeView .worker-material-card,#workerHomeView .worker-project-prep-card,#workerHomeView .worker-absence-card{min-height:0}
@media(max-width:750px){
  .schedule-suggestion-mode{grid-template-columns:1fr}
  .schedule-week-summary{grid-template-columns:1fr}
  .dashboard-module-dialog{width:calc(100vw - 18px)}
}
:root[data-theme="dark"] .dashboard-kpi-action,
:root[data-theme="dark"] .dashboard-module-dialog,
:root[data-theme="dark"] .schedule-suggestion-mode-card,
:root[data-theme="dark"] .schedule-week-summary-card{border-color:#2b3743;background:#151d26}


/* V2.18.0 – Felmérések: helyszíni bevitel és mobil UX */
.survey-list{display:grid;gap:9px}
.survey-list-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;align-items:center;
  padding:14px 15px;
  border:1px solid var(--ui-border,#dfe5ea);
  border-radius:10px;background:var(--ui-surface,#fff);
  box-shadow:0 5px 15px rgba(17,24,39,.025);
}
.survey-list-main{min-width:0}
.survey-list-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.survey-list-title{padding:0;min-width:0}
.survey-list-title strong{font-size:14px}
.survey-list-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px;font-size:10.5px;color:#667085}
.survey-list-meta span+span::before{content:'·';margin-right:9px;color:#a0a8b1}
.survey-list-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.survey-list-tags span{
  padding:3px 7px;border:1px solid #e1e6eb;border-radius:999px;
  background:#f7f9fa;font-size:9.5px;font-weight:800;color:#556270
}
.survey-list-summary{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}
.survey-list-summary strong{font-size:16px}
.survey-list-summary span{font-size:10px;color:#667085;margin-top:2px}
.survey-list-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.survey-modal-head{align-items:flex-start}
.survey-step-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.survey-step-strip span{
  padding:4px 7px;border-radius:6px;background:#f1f4f6;color:#7b8794;font-size:9.5px;font-weight:800
}
.survey-step-strip span.active{background:#e8f3f1;color:#2e625d}
.survey-save-state{font-size:10px;font-weight:800;color:#7b8794;white-space:nowrap;margin-left:auto;margin-right:4px;padding-top:4px}
.survey-save-state.saved{color:#2e7a51}
.survey-save-state.dirty{color:#966a00}
.survey-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.survey-summary-status{font-size:9px;color:#7b8794;font-weight:800}
.survey-input-field{min-width:0}
.survey-input-field>span{display:none}
.survey-check-field{display:flex;align-items:center;gap:6px}
.survey-check-field>span{display:none}
.survey-check-field .survey-check{display:flex}
.survey-files-box{margin-top:12px}
@media(min-width:901px){
  .survey-dialog #surveySections{padding-right:2px}
  .survey-dialog [data-survey-summary]{position:sticky;bottom:10px;z-index:4;box-shadow:0 10px 28px rgba(17,24,39,.07)}
  .survey-dialog .survey-repeat-row>.survey-input-field{display:contents}
}
@media(max-width:900px){
  .survey-list-card{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .survey-list-summary{grid-column:2;grid-row:1;align-items:flex-end}
  .survey-list-actions{grid-column:1/-1;justify-content:flex-start}
  .survey-list-actions .small-btn{flex:1 1 auto}
  .survey-modal-head{padding-right:0}
  .survey-step-strip{gap:4px}
  .survey-step-strip span{font-size:8.5px;padding:3px 5px}
  .survey-save-state{font-size:9px}
  .survey-repeat-row .survey-input-field{display:grid;gap:3px}
  .survey-repeat-row .survey-input-field>span{display:block;font-size:9px;line-height:1.15;font-weight:800;color:#7a8693}
  .survey-repeat-row .survey-check-field{display:flex}
  .survey-repeat-row .survey-check-field>span{display:block}
  .survey-repeat-row{grid-template-columns:1fr 1fr}
  .survey-repeat-row .survey-input-field:has(textarea){grid-column:1/-1}
  .survey-repeat-row .survey-separate-field{grid-column:1/-1}
  .survey-repeat-row [data-area]{grid-column:1}
}
@media(max-width:560px){
  .survey-dialog .survey-basic-fields{grid-template-columns:1fr}
  .survey-dialog .survey-basic-fields .full{grid-column:1/-1}
  .survey-list-card{padding:12px}
  .survey-list-title-row{align-items:flex-start;flex-direction:column}
  .survey-list-summary strong{font-size:14px}
}

/* V2.18.0 – nagy integrált fejlesztés: offline, ajánlatok, raktár, push */
.offline-indicator{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;
  min-height:38px;padding:8px 12px;border:1px solid #d9e0e6;border-radius:9px;
  background:#fffbe8;box-shadow:0 5px 14px rgba(17,24,39,.05);font-size:11px;color:#5d5a47;margin-bottom:10px
}
.offline-indicator strong{font-size:11px;white-space:nowrap}.offline-indicator>span:nth-of-type(2){flex:1}
.offline-dot{width:8px;height:8px;border-radius:50%;background:#c98a19;display:block;flex:0 0 auto}
.offline-indicator .small-btn{margin-left:auto}
.quote-kpi-grid,.inventory-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 14px}
.inventory-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.quote-kpi-card,.inventory-kpi-card{
  padding:12px 13px;border:1px solid #e1e6eb;border-radius:10px;background:#fff;min-width:0
}
.quote-kpi-card span,.quote-kpi-card small,.inventory-kpi-card span,.inventory-kpi-card small{display:block}
.quote-kpi-card span,.inventory-kpi-card span{font-size:9.5px;font-weight:800;letter-spacing:.02em;color:#788592;text-transform:uppercase}
.quote-kpi-card strong,.inventory-kpi-card strong{display:block;margin-top:5px;font-size:18px;color:#17212b;line-height:1.15}
.quote-kpi-card small,.inventory-kpi-card small{margin-top:4px;font-size:9.5px;color:#8b96a2}
.quote-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.quote-search-wrap{display:flex;align-items:center;gap:7px;flex:1;min-width:0;border:1px solid #dfe5ea;border-radius:8px;padding:0 10px;background:#fff}
.quote-search-wrap>span{font-size:16px;color:#87929e}.quote-search-wrap input{border:0!important;box-shadow:none!important;min-width:0;flex:1}
.quote-list{display:grid;gap:8px}.quote-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(250px,auto);gap:14px;align-items:center;padding:12px 13px;border:1px solid #e1e6eb;border-radius:10px;background:#fff}
.quote-list-main{display:block;min-width:0;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;color:inherit}
.quote-list-top{display:flex;align-items:center;gap:7px;min-width:0}.quote-list-top>strong{font-size:11px;letter-spacing:.02em}
.quote-list-main h3{font-size:14px;margin:5px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-list-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:9.5px;color:#7a8692}.quote-list-meta span+span:before{content:'·';margin-right:8px;color:#a2acb4}
.quote-list-values{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:14px}.quote-list-values span,.quote-list-values strong{display:block}.quote-list-values span{font-size:9px;color:#8a95a0}.quote-list-values strong{font-size:12px;margin-top:2px;white-space:nowrap}
.quote-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.quote-status-select{min-width:118px}.quote-status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d8dee4;padding:3px 7px;font-size:9px;font-weight:800;line-height:1;background:#f5f7f8;color:#5f6b76;white-space:nowrap}
.quote-status-draft{background:#f4f6f8;color:#5d6873;border-color:#dce2e7}.quote-status-sent{background:#eef5fb;color:#2f668f;border-color:#d5e5f1}.quote-status-accepted{background:#eaf7ef;color:#2d6e4d;border-color:#cfe8d8}.quote-status-rejected{background:#fff1f1;color:#9a4545;border-color:#f0d1d1}.quote-status-expired,.quote-status-cancelled{background:#f5f3ef;color:#756d62;border-color:#e6e0d7}
#quoteDialog.wide-modal{max-width:1200px}.quote-items-head{display:grid;grid-template-columns:.7fr 1.15fr 1.45fr .65fr .55fr 1fr .55fr .8fr 24px;gap:6px;padding:5px 6px;border-bottom:1px solid #e6ebef;font-size:9px;font-weight:800;color:#7d8994;text-transform:uppercase}
#quoteItems{display:grid;gap:6px;margin-top:6px}.quote-item-row{display:grid;grid-template-columns:.7fr 1.15fr 1.45fr .65fr .55fr 1fr .55fr .8fr 24px;gap:6px;align-items:center;padding:5px 6px;border:1px solid #e6ebef;border-radius:7px;background:#fafbfc}.quote-item-row input,.quote-item-row select{min-width:0}.quote-item-row .qi-net{font-size:11px;white-space:nowrap;text-align:right}.quote-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0}.quote-totals>div{padding:8px 10px;border:1px solid #e3e8ec;border-radius:7px;background:#f8fafb}.quote-totals span,.quote-totals strong{display:block}.quote-totals span{font-size:9px;color:#7b8793}.quote-totals strong{margin-top:2px;font-size:12px}
.inventory-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:12px}.inventory-stock-box,.inventory-movement-box,.inventory-count-box,.inventory-new-item-box{min-width:0}.inventory-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.inventory-filters input:not([type=checkbox]){width:min(280px,100%)}.inventory-low-filter{display:flex;align-items:center;gap:5px;font-size:9.5px;color:#6f7b86;white-space:nowrap}
.inventory-items-table{margin-top:10px}.inventory-stock-list{display:grid;gap:6px}.inventory-stock-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 125px auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e2e7eb;border-radius:8px;background:#fff}.inventory-stock-row.is-low-stock{border-color:#ecd8b4;background:#fffaf0}.inventory-stock-main{min-width:0}.inventory-stock-title{display:flex;align-items:center;gap:6px;min-width:0}.inventory-stock-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-stock-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;color:#7a8691;font-size:9px}.inventory-stock-qty{text-align:right}.inventory-stock-qty strong,.inventory-stock-qty span,.inventory-stock-qty small{display:block}.inventory-stock-qty strong{font-size:17px}.inventory-stock-qty span,.inventory-stock-qty small{font-size:9px;color:#7f8a95}.inventory-stock-value{min-width:0}.inventory-stock-value span,.inventory-stock-value strong,.inventory-stock-value small{display:block}.inventory-stock-value span,.inventory-stock-value small{font-size:8.5px;color:#7f8a95}.inventory-stock-value strong{font-size:11px;margin:2px 0}.inventory-stock-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.inventory-movement-list{display:grid;gap:0}.inventory-movement-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 2px;border-top:1px solid #edf0f2}.inventory-movement-row:first-child{border-top:0}.inventory-movement-row>div{min-width:0}.inventory-movement-row strong{display:block;font-size:11px}.inventory-movement-row span,.inventory-movement-row small{display:block;font-size:9px;color:#788490}.inventory-movement-in{color:#2f7a55}.inventory-movement-out{color:#9b4a4a}.inventory-movement-adjustment{color:#50677d}
.inventory-count-box{margin-top:12px}.inventory-count-actions{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.inventory-count-actions label{display:grid;gap:3px;font-size:9px;color:#6f7b86}.inventory-count-actions input{width:90px}.inventory-count-table{margin-top:10px;overflow:auto}.inventory-count-table table{min-width:900px}.inventory-count-table th,.inventory-count-table td{font-size:10px}.inventory-count-table input,.inventory-count-table select{min-width:85px}
.inventory-item-form{margin-top:9px}
.push-settings-box .modal-actions{justify-content:flex-start;flex-wrap:wrap}.push-help{margin-top:6px}.notice.success{border-color:#cfe7d9;background:#edf8f1}.notice.warning{border-color:#ecd8b4;background:#fffaf0}
@media(max-width:1150px){.quote-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-list-card{grid-template-columns:minmax(0,1fr) auto}.quote-list-actions{grid-column:1/-1;justify-content:flex-start}.inventory-workspace{grid-template-columns:1fr}.inventory-stock-row{grid-template-columns:minmax(0,1fr) 90px auto}.inventory-stock-value{display:none}}
@media(max-width:780px){.quote-kpi-grid,.inventory-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-toolbar{align-items:stretch;flex-direction:column}.quote-list-card{grid-template-columns:minmax(0,1fr);gap:8px}.quote-list-values{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-list-actions{grid-column:auto}.inventory-filters{justify-content:flex-start}.inventory-stock-row{grid-template-columns:minmax(0,1fr) auto}.inventory-stock-actions{grid-column:1/-1;justify-content:flex-start}.inventory-stock-qty{text-align:right}.quote-items-head{display:none}.quote-item-row{grid-template-columns:1fr 1fr;padding:8px}.quote-item-row .qi-price,.quote-item-row .qi-description,.quote-item-row .qi-net,.quote-item-row .qi-remove{grid-column:1/-1}.quote-item-row .qi-net{text-align:left}.quote-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-totals>div:last-child{grid-column:1/-1}}
@media(max-width:520px){.quote-kpi-grid,.inventory-kpi-grid{grid-template-columns:1fr 1fr}.quote-kpi-card strong,.inventory-kpi-card strong{font-size:15px}.inventory-stock-row{padding:9px}.offline-indicator{align-items:flex-start}.offline-indicator>span:nth-of-type(2){line-height:1.3}.offline-indicator .small-btn{display:none}}
:root[data-theme="dark"] .offline-indicator,.theme-dark .offline-indicator{background:#2a271b;border-color:#4c432c;color:#ded8c4}
:root[data-theme="dark"] .quote-kpi-card,
:root[data-theme="dark"] .inventory-kpi-card,
:root[data-theme="dark"] .quote-list-card,
:root[data-theme="dark"] .inventory-stock-row,
:root[data-theme="dark"] .quote-search-wrap,
:root[data-theme="dark"] .quote-item-row{background:#151d26;border-color:#2b3743;color:#e6edf3}
:root[data-theme="dark"] .quote-kpi-card strong,
:root[data-theme="dark"] .inventory-kpi-card strong{color:#e6edf3}
:root[data-theme="dark"] .quote-totals>div{background:#1c2731;border-color:#2b3743}
:root[data-theme="dark"] .inventory-movement-row{border-color:#2b3743}

/* V2.18 – Face ID / notification preferences */
.passkey-dialog{max-width:480px;width:min(92vw,480px);padding:0}.passkey-body{padding:8px 22px 22px;text-align:center}.passkey-icon{width:64px;height:64px;border-radius:18px;margin:10px auto 16px;display:grid;place-items:center;background:#eef3f2;font-size:28px}.passkey-body p{margin:0 auto 16px;max-width:360px}.passkey-dialog .modal-actions{justify-content:center}.notification-pref-toolbar{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:12px;margin-bottom:14px}.notification-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border,#dfe4ea);border-radius:10px;background:var(--surface,#fff)}.notification-pref-row span{display:grid;gap:2px}.notification-pref-row small{font-size:10px;opacity:.65}.notification-pref-row input{width:auto}.work-type-add,.work-type-row{display:grid;grid-template-columns:1fr 48px auto;gap:8px;align-items:center;margin-bottom:8px}@media(max-width:700px){.notification-pref-toolbar,.notification-pref-grid{grid-template-columns:1fr}.passkey-dialog{width:94vw}.work-type-add,.work-type-row{grid-template-columns:1fr 46px}.work-type-add button,.work-type-row button{grid-column:1/-1;justify-self:start}}

@media(max-width:700px){
  .settings-category-intro{align-items:flex-start;flex-direction:column;gap:4px}
  .settings-category-intro span{text-align:left}
}

/* V2.18.28 – Ügyvezetői Face ID dialog finomhangolás */
.passkey-dialog.passkey-compact{width:min(88vw,360px);max-width:360px;padding:0;border:1px solid var(--ui-border,#dfe4ea);background:var(--ui-surface,#fff);color:var(--ui-text,#182230);overflow:hidden;text-align:center}.passkey-dialog.passkey-compact::backdrop{background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}.passkey-compact-shell{padding:30px 24px 26px}.passkey-compact-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:#eef3f2;border:1px solid #d6e7e3;color:#2f7f76;font-size:31px;font-weight:700}.passkey-compact-shell .eyebrow{color:#6b45a0;font-weight:800;letter-spacing:.18em;font-size:10px}.passkey-compact-shell h2{margin:7px 0 7px;font-size:20px;line-height:1.2}.passkey-compact-shell p{margin:0 auto 18px;color:var(--ui-muted,#667085);font-size:13px;line-height:1.5}.passkey-compact-shell .primary-btn{width:100%;min-height:48px}.passkey-compact-shell .error{margin:0 0 12px;font-size:12px}.passkey-compact-shell .primary-btn{box-shadow:0 5px 14px rgba(15,111,103,.16)}
.passkey-dialog{max-width:500px;width:min(92vw,500px);padding:0;border:1px solid var(--ui-border,#dfe4ea);background:var(--ui-surface,#fff);color:var(--ui-text,#182230);overflow:hidden}
.passkey-dialog::backdrop{background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}
.passkey-shell{padding:0}
.passkey-header{display:flex;align-items:flex-start;gap:14px;padding:22px 24px 18px;border-bottom:1px solid var(--ui-border,#e4e7ee);background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)}
.passkey-header-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;background:var(--ui-accent-soft,#f1eafd);border:1px solid #e3d8f0;color:#6b45a0;font-size:25px;font-weight:700;line-height:1}
.passkey-header .eyebrow{margin-top:1px;color:#6b45a0}
.passkey-header h2{margin:3px 0 3px;font-size:20px;line-height:1.2;color:var(--ui-text,#182230)}
.passkey-header p{margin:0;color:var(--ui-muted,#667085);font-size:12px;line-height:1.45}
.passkey-body{padding:20px 24px 22px;text-align:left}
.passkey-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--ui-text,#182230)}
.passkey-status-dot{width:8px;height:8px;border-radius:50%;background:#2f7f76;box-shadow:0 0 0 4px rgba(47,127,118,.10)}
.passkey-description{margin:9px 0 14px;color:var(--ui-muted,#667085);font-size:13px;line-height:1.55}
.passkey-notice{margin-top:0;font-size:11px;line-height:1.5;background:#f7f8fa;border:1px solid var(--ui-border,#e4e7ee);color:#667085;border-radius:10px}
.passkey-dialog .modal-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}
.passkey-dialog .modal-actions button{width:100%;min-height:44px}
.passkey-dialog .modal-actions .primary-btn{box-shadow:0 5px 14px rgba(37,99,235,.14)}
.passkey-dialog .modal-actions .secondary-btn{background:#fff;color:#33404d;border:1px solid #cfd6de}
.passkey-dialog .modal-actions .secondary-btn:hover{background:#f7f9fa;border-color:#b9c2cc}
.passkey-dialog .error{margin-top:12px;font-size:12px}
:root[data-theme="dark"] .passkey-dialog{background:#171f28;color:#e7edf2;border-color:#2b3540}
:root[data-theme="dark"] .passkey-header{background:linear-gradient(180deg,#1b242e 0%,#171f28 100%);border-bottom-color:#2b3540}
:root[data-theme="dark"] .passkey-header h2,
:root[data-theme="dark"] .passkey-status{color:#edf2f6}
:root[data-theme="dark"] .passkey-header p,
:root[data-theme="dark"] .passkey-description{color:#99a6b3}
:root[data-theme="dark"] .passkey-header-icon{background:#24302b;border-color:#31514d;color:#78b8ae}
:root[data-theme="dark"] .passkey-notice{background:#121a22;border-color:#2b3540;color:#99a6b3}
:root[data-theme="dark"] .passkey-dialog .modal-actions .secondary-btn{background:#202936;color:#d0d5dd;border-color:#3b4655}
@media(max-width:560px){.passkey-dialog{width:calc(100vw - 24px);max-width:none}.passkey-header{padding:18px 18px 15px}.passkey-body{padding:17px 18px 18px}.passkey-header h2{font-size:18px}}

/* V2.20.0 – közös projekt-eszközlista és vezetői megjegyzések */
#workerHomeView .worker-project-prep-card{padding:14px;border:1px solid var(--ui-border,#dfe5ea);border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(17,24,39,.03)}
#workerHomeView .worker-project-prep-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
#workerHomeView .worker-prep-subtitle{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7b8794;margin-bottom:7px}
#workerHomeView .worker-project-prep-list,#workerHomeView .worker-project-notes{display:grid;gap:7px}
#workerHomeView .worker-project-prep-item,#workerHomeView .worker-project-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--ui-border,#e1e6eb);border-radius:9px;background:#fbfcfd}
#workerHomeView .worker-project-prep-item label{display:flex;align-items:center;gap:9px;min-width:0;margin:0}
#workerHomeView .worker-project-prep-item label>span{display:grid;gap:2px;min-width:0}
#workerHomeView .worker-project-prep-item label strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#workerHomeView .worker-project-prep-item label small{font-size:10px;color:#667085}
#workerHomeView .worker-project-prep-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
#workerHomeView .worker-project-note{align-items:flex-start}
#workerHomeView .worker-project-note>div:first-child{display:grid;gap:3px;min-width:0}
#workerHomeView .worker-project-note strong{font-size:12px;line-height:1.45;font-weight:700}
#workerHomeView .worker-project-note span{font-size:10px;color:#7b8794}
:root[data-theme="dark"] #workerHomeView .worker-project-prep-card{background:#151d28;border-color:#2b3747}
:root[data-theme="dark"] #workerHomeView .worker-project-prep-item,:root[data-theme="dark"] #workerHomeView .worker-project-note{background:#111821;border-color:#2b3747}
@media(max-width:750px){#workerHomeView .worker-project-prep-grid{grid-template-columns:1fr}#workerHomeView .worker-project-prep-item{align-items:flex-start;flex-direction:column}#workerHomeView .worker-project-prep-actions{width:100%;justify-content:flex-end}}

/* V2.20.0 – unified professional UI / responsive workspaces */
:root{
  --ui-accent:#0f6f67;
  --ui-accent-hover:#0b5b54;
  --ui-accent-soft:#e8f3f1;
  --ui-accent-border:#b9d9d4;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f6f8f8;
  --ui-text:#17232b;
  --ui-muted:#66737d;
  --ui-border:#dbe2e5;
  --ui-danger:#b34b46;
}
:root[data-theme="dark"]{
  --ui-accent:#4fa99d;
  --ui-accent-hover:#65b9ae;
  --ui-accent-soft:#1c3532;
  --ui-accent-border:#335e58;
  --ui-surface:#151e26;
  --ui-surface-soft:#111920;
  --ui-text:#edf3f5;
  --ui-muted:#9aa9b2;
  --ui-border:#2d3a44;
  --ui-danger:#db766e;
}
button.primary-btn,.primary-btn{
  background:var(--ui-accent)!important;
  border-color:var(--ui-accent)!important;
  color:#fff!important;
  min-height:42px;
  padding:.68rem 1rem;
  font-weight:750;
  border-radius:10px;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(15,111,103,.12);
}
button.primary-btn:hover,.primary-btn:hover{background:var(--ui-accent-hover)!important;border-color:var(--ui-accent-hover)!important;transform:translateY(-1px)}
button.secondary-btn,.secondary-btn{
  min-height:42px;
  padding:.68rem 1rem;
  border-radius:10px;
  white-space:nowrap;
  font-weight:700;
}
.small-btn{min-height:36px;padding:.48rem .72rem;border-radius:9px;font-weight:700;white-space:nowrap}
.modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.modal-actions>button,.modal-actions>a{min-width:132px}
.modal{width:min(980px,calc(100vw - 28px));max-width:980px;max-height:calc(100vh - 28px);box-sizing:border-box}
.wide-modal{width:min(1120px,calc(100vw - 28px));max-width:1120px}
.form-grid label{min-width:0}
.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}
.header-actions>button{min-width:max-content}

/* Worker home – all secondary work blocks use the full content width. */
#workerHomeView .worker-home-secondary-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px;width:100%;min-width:0}
#workerHomeView .worker-home-secondary-grid>*{width:100%;min-width:0}
#workerHomeView .worker-primary-card,#workerHomeView .worker-main-panels,#workerHomeView .worker-panel{min-width:0;width:100%}
#workerHomeView .worker-main-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#workerHomeView .worker-primary-header,#workerHomeView .worker-card-head{min-width:0}
#workerHomeView .worker-primary-header h2,#workerHomeView .worker-primary-header p,#workerHomeView .worker-kpi-project strong{overflow-wrap:anywhere}
#workerHomeView .worker-project-prep-card{width:100%;box-sizing:border-box}
#workerHomeView .worker-project-prep-grid>div{min-width:0}
@media(max-width:900px){
  #workerHomeView .worker-main-panels{grid-template-columns:minmax(0,1fr)}
  #workerHomeView .worker-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  #workerHomeView .worker-home-secondary-grid{gap:10px}
  #workerHomeView .worker-kpi-strip{grid-template-columns:1fr 1fr;gap:8px}
  #workerHomeView .worker-kpi{min-width:0;padding:10px}
  #workerHomeView .worker-kpi strong,#workerHomeView .worker-kpi small{overflow-wrap:anywhere}
  #workerHomeView .worker-card-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
  #workerHomeView .worker-card-head .worker-prep-add-btn{width:100%}
  #workerHomeView .worker-project-prep-item{width:100%;box-sizing:border-box}
}

/* Work center: Tasks + procurement + equipment */
.workcenter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:5px;background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:12px}
.workcenter-tab{appearance:none;border:1px solid transparent;background:transparent;color:var(--ui-muted);min-height:44px;padding:.72rem 1rem;border-radius:9px;font-weight:800;cursor:pointer;flex:1 1 180px}
.workcenter-tab:hover{background:var(--ui-surface);color:var(--ui-text)}
.workcenter-tab.active{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-accent);box-shadow:0 3px 12px rgba(21,35,43,.06)}
.equipment-workcenter{display:grid;gap:12px}
.equipment-project-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;padding:16px;box-shadow:0 6px 18px rgba(17,24,39,.04);min-width:0}
.equipment-project-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;min-width:0}
.equipment-project-head>div:first-child{min-width:0}
.equipment-project-head h3{margin:2px 0 4px;overflow-wrap:anywhere}
.equipment-project-list{display:grid;gap:7px}
.equipment-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-soft)}
.equipment-work-row.is-checked{opacity:.65}
.equipment-work-row label{display:flex;align-items:center;gap:9px;min-width:0;margin:0}
.equipment-work-row label>span{display:grid;gap:2px;min-width:0}
.equipment-work-row label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.equipment-work-row label small{color:var(--ui-muted)}
@media(max-width:700px){
  .workcenter-tabs{display:grid;grid-template-columns:1fr;gap:6px}
  .workcenter-tab{width:100%}
  .equipment-project-head{align-items:flex-start;flex-direction:column}
  .equipment-project-head .header-actions{width:100%}
  .equipment-project-head .header-actions>*{flex:1 1 0}
  .equipment-work-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .equipment-work-row .table-actions{justify-content:flex-start}
}

/* Documentation workspace */
.documentation-workspace{display:grid;gap:14px}
.documentation-intro{display:flex;justify-content:space-between;align-items:flex-end;padding:16px 18px;border:1px solid var(--ui-border);border-radius:14px;background:linear-gradient(135deg,var(--ui-surface),var(--ui-accent-soft))}
.documentation-intro h2{margin:.2rem 0 .35rem}
.documentation-workspace .leader-tools-card{width:100%;box-sizing:border-box;border-color:var(--ui-border);box-shadow:0 6px 18px rgba(17,24,39,.04)}

/* Schedule controls and quick overview */
#scheduleView>.page-header{align-items:flex-start}
#scheduleView>.page-header>.header-actions{max-width:100%;justify-content:flex-end}
#scheduleView>.page-header>.header-actions button{flex:0 1 auto}
.schedule-mobile-quick{width:100%;box-sizing:border-box}
.schedule-mobile-quick-project{padding:11px 0;border-bottom:1px solid var(--ui-border)}
.schedule-mobile-quick-project:last-child{border-bottom:0}
.schedule-mobile-quick-project strong{display:block;margin-bottom:6px;overflow-wrap:anywhere}
.schedule-mobile-quick-project span{display:block;padding:7px 9px;margin-top:5px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-soft);font-size:12px;font-weight:650}
@media(max-width:760px){
  #scheduleView>.page-header>.header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}
  #scheduleView>.page-header>.header-actions button{width:100%;min-width:0}
  #scheduleView .schedule-toolbar{display:grid;gap:9px}
  #scheduleView .schedule-actions{display:grid;grid-template-columns:1fr;gap:8px}
}

/* Finance – serious, dense-but-readable management UI */
#financeView #financeMainPane{display:grid;gap:14px}
.finance-summary-cards,#financeView #financeSummaryCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
#financeView .finance-kpi{min-width:0}
#financeView .finance-page-card{display:grid;gap:12px}
#financeView .finance-page-card>.section-box{border-color:var(--ui-border);box-shadow:0 4px 14px rgba(17,24,39,.03)}
.finance-controls{display:grid;grid-template-columns:minmax(250px,1.8fr) minmax(150px,.7fr) minmax(170px,.8fr) minmax(180px,.9fr);gap:9px;align-items:center;padding:10px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-soft);margin-bottom:11px}
.finance-search{position:relative;display:flex;align-items:center;min-width:0}
.finance-search span{position:absolute;left:11px;opacity:.55}
.finance-search input{padding-left:30px;width:100%}
.finance-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-insight-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;padding:14px;box-shadow:0 4px 14px rgba(17,24,39,.03)}
.finance-insight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--ui-border)}
.finance-insight-row:last-child{border-bottom:0}
.finance-insight-row span{overflow-wrap:anywhere}
.finance-direction{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
.finance-direction-income{background:#e9f4ee;color:#23774a}.finance-direction-expense{background:#f8e9e8;color:#a34a45}
@media(max-width:1050px){#financeView #financeSummaryCards{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-controls{grid-template-columns:1fr 1fr}}
@media(max-width:650px){#financeView #financeSummaryCards{grid-template-columns:1fr 1fr}.finance-controls,.finance-insights{grid-template-columns:1fr}.finance-insight-card{padding:12px}.finance-table{min-width:0;width:100%;display:block}.finance-table thead{display:none}.finance-table tbody,.finance-table tr{display:block;width:100%}.finance-table tr{margin:0 0 10px;padding:12px;border:1px solid var(--border,#d9e1dc);border-radius:12px;background:var(--surface,#fff)}.finance-table td{display:flex;justify-content:space-between;gap:12px;border:0!important;padding:6px 0;white-space:normal;text-align:right}.finance-table td::before{content:attr(data-label);font-weight:600;text-align:left;color:var(--muted,#66706a)}.finance-table td:last-child{justify-content:flex-end}.finance-table td:last-child::before{display:none}}

/* Salary / benefits / manager-hour work center */
.salary-workcenter-tabs{margin-bottom:14px}
.salary-overview-toolbar{margin-bottom:12px}
.salary-benefit-dialog,.manager-hours-dialog{width:min(860px,calc(100vw - 20px));max-width:860px}
.salary-benefit-dialog .notice,.manager-hours-dialog .notice{margin-top:2px}
#salaryBenefitsTable,#managerHoursTable,#salaryOverviewTable{overflow:auto}
#salaryView .section-box{min-width:0}
#salaryView .header-actions{justify-content:flex-end}
@media(max-width:700px){#salaryView .header-actions{width:100%}#salaryView .header-actions>*{width:100%}.salary-workcenter-tabs{display:grid}.salary-workcenter-tabs .workcenter-tab{width:100%}}

/* Modals: one-window recording on phone and desktop */
#projectEquipmentDialog,#projectNoteDialog,#salaryBenefitDialog,#managerHoursBulkDialog,#managerHoursEntryDialog{padding:0;overflow:hidden}
#projectEquipmentDialog .modal-head,#projectNoteDialog .modal-head,#salaryBenefitDialog .modal-head,#managerHoursBulkDialog .modal-head,#managerHoursEntryDialog .modal-head{padding:18px 20px}
#projectEquipmentDialog form,#projectNoteDialog form,#salaryBenefitDialog form,#managerHoursBulkDialog form,#managerHoursEntryDialog form{min-width:0}
@media(max-width:600px){
  .modal,.wide-modal{width:calc(100vw - 16px);max-width:none;max-height:calc(100vh - 16px)}
  .modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .modal-actions>button,.modal-actions>a{width:100%;min-width:0}
  .header-actions{width:100%}
  .header-actions>button{flex:1 1 150px;min-width:0}
  .form-grid{grid-template-columns:1fr!important}
}
:root[data-theme="dark"] .finance-direction-income{background:#183429;color:#7fd4a5}
:root[data-theme="dark"] .finance-direction-expense{background:#3a2424;color:#efaaa5}
:root[data-theme="dark"] .documentation-intro{background:linear-gradient(135deg,var(--ui-surface),#15332f)}
:root[data-theme="dark"] .workcenter-tab.active{background:#1a252e}
:root[data-theme="dark"] .passkey-dialog .modal-actions .primary-btn{box-shadow:0 5px 14px rgba(15,111,103,.18)}

/* V2.20.0 – Gyors áttekintés: mobilon csak projekt + név, idő nélkül */
.schedule-mobile-quick-project small{display:none!important}
@media (max-width:700px){.schedule-mobile-quick-project span{display:block;padding:8px 10px;margin-top:5px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface-soft);font-size:12px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}}

/* V2.21.0 – beosztási munkafolyamat / automatikus eszközigény */
.schedule-card small{display:block;font-size:11px;color:#5d6b78}.schedule-card .equipment-hint{color:#0f6f67;font-weight:700}
/* V2.21.2 – Beosztás: a kézi munkafolyamat-legördülő helyett közvetlen AI munkafolyamat-indítás */
@media(max-width:700px){.schedule-project-head-actions{width:100%;justify-content:flex-start}.schedule-ai-btn{font-size:11px;min-width:0}.schedule-project-head{align-items:flex-start!important;flex-wrap:wrap}}
/* V2.21.0 – eszközlista ajánlás/követés jelölések */
.equipment-recommendation-badge,.equipment-trackable-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;vertical-align:middle;}
.equipment-recommendation-badge{border:1px solid rgba(15,111,103,.25);background:rgba(15,111,103,.08);color:#0f6f67;}
.equipment-trackable-badge{border:1px solid rgba(180,120,0,.28);background:rgba(180,120,0,.08);color:#8a5d00;}
.worker-project-prep-item.is-checked .equipment-recommendation-badge{opacity:.8;}

.equipment-ai-toolbar{align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.equipment-ai-toolbar>div{display:flex;flex-direction:column;gap:3px}.equipment-ai-toolbar .muted{font-size:12px}

/* V2.21.0 – Beosztás szerepkör-színek és projekt gyorsmegnyitás */
.schedule-card.role-student{background:#fff7d6;color:#6b5200;border-color:#f1d36b}.schedule-card.role-worker{background:#eaf4ff;color:#1d4f7a;border-color:#b8d8f5}.schedule-card.role-leader{background:#fff0df;color:#7a4516;border-color:#f0c48b}.schedule-card.role-owner{background:#f2eaff;color:#593b83;border-color:#d1b7ef}.schedule-project-link{border:0;background:transparent;padding:0;text-align:left;font:inherit;font-weight:800;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.schedule-project-link:hover{text-decoration-color:currentColor}.schedule-role-legend{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.role-legend-item{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;border:1px solid;font-size:11px;font-weight:800}.role-legend-item.role-student{background:#fff7d6;color:#6b5200;border-color:#f1d36b}.role-legend-item.role-worker{background:#eaf4ff;color:#1d4f7a;border-color:#b8d8f5}.role-legend-item.role-leader{background:#fff0df;color:#7a4516;border-color:#f0c48b}.role-legend-item.role-owner{background:#f2eaff;color:#593b83;border-color:#d1b7ef}.schedule-card.role-student span,.schedule-card.role-student small{color:#7a6200}.schedule-card.role-worker span,.schedule-card.role-worker small{color:#486b88}.schedule-card.role-leader span,.schedule-card.role-leader small{color:#8a633b}.schedule-card.role-owner span,.schedule-card.role-owner small{color:#735c92}

/* V2.21 AI projekt-előkészítés */
.ai-project-preparation-dialog{width:min(1120px,96vw);max-width:1120px}
.ai-project-prep-layout{display:grid;gap:14px;padding:0 20px 10px}
.ai-project-chat{min-height:170px;max-height:300px;overflow:auto;border:1px solid var(--ui-border,#e3dce7);border-radius:12px;padding:12px;background:var(--ui-surface-soft,#faf8fb);display:grid;gap:9px}
.ai-chat-msg{max-width:86%;padding:9px 12px;border-radius:12px;border:1px solid #e2e8ee;background:#fff}
.ai-chat-msg.is-user{justify-self:end;background:#eef7f5;border-color:#cfe6e1}
.ai-chat-msg span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#667085;margin-bottom:3px}
.ai-chat-msg div{font-size:13px;line-height:1.45}
.ai-project-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.ai-project-input-row textarea{min-height:82px;resize:vertical}
.ai-project-input-actions{display:grid;gap:7px}
.ai-project-input-actions button{min-width:110px}
.ai-project-voice-status{min-height:18px}
.ai-proposal-card{border:1px solid #cfe0dd;border-radius:14px;padding:15px;background:#fbfefd}
.ai-proposal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.ai-proposal-head h3{margin:3px 0 4px}.ai-proposal-head p{margin:0;color:#475467;font-size:13px}
.ai-proposal-days,.ai-proposal-equipment{margin-top:14px}.ai-proposal-days h4,.ai-proposal-equipment h4{margin:0 0 8px;font-size:13px}
.ai-day-card{border:1px solid #e3e8ec;border-radius:10px;padding:10px;margin-top:7px;background:#fff}
.ai-task-edit{display:block;margin-top:6px}.ai-task-edit input{width:100%;min-height:38px;padding:8px 10px}
.ai-equipment-row{display:grid;grid-template-columns:1.4fr .55fr .55fr 2fr;gap:7px;align-items:center;padding:8px 0;border-top:1px solid #edf0f2}
.ai-equipment-row input{min-height:38px;padding:7px 9px}.ai-equipment-row strong,.ai-equipment-row small,.ai-equipment-row span{display:block}.ai-equipment-row strong{font-size:12px}.ai-equipment-row small,.ai-equipment-row span{font-size:10px;color:#667085;margin-top:2px}
.ai-proposal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}
.ai-preparation-btn{font-weight:800}
@media(max-width:700px){.ai-project-preparation-dialog{width:calc(100vw - 12px)}.ai-project-input-row{grid-template-columns:1fr}.ai-project-input-actions{grid-template-columns:1fr 1fr}.ai-project-input-actions button{width:100%}.ai-equipment-row{grid-template-columns:1fr 80px 70px}.ai-equipment-row>div{grid-column:1/-1}.ai-chat-msg{max-width:96%}}


/* V2.22.0 – élő AI hangbeszélgetés + Dolgozói nézet mobil UX */
.ai-live-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ai-live-actions button{min-height:42px}.ai-live-btn{font-weight:800}.ai-project-live-status{font-weight:700}
.ai-live-btn:disabled{opacity:.75}.ai-project-preparation-dialog .modal-head{position:sticky;top:0;z-index:3;background:var(--ui-surface,#fff)}
@media(max-width:680px){
  #workerHomeView{padding-left:8px;padding-right:8px}
  #workerHomeView .worker-primary-card,#workerHomeView .worker-card,#workerHomeView .worker-panel{border-radius:10px}
  #workerHomeView .worker-primary-card{padding:12px}
  #workerHomeView .worker-primary-header{gap:8px;margin-bottom:10px}
  #workerHomeView .worker-primary-header h2{font-size:20px}
  #workerHomeView .worker-state{width:100%;justify-content:flex-start}
  #workerHomeView .worker-kpi-strip{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
  #workerHomeView .worker-kpi{padding:8px 9px}
  #workerHomeView .worker-kpi strong{font-size:17px}
  #workerHomeView .worker-kpi-project strong{font-size:12px;white-space:normal}
  #workerHomeView .worker-main-panels{gap:8px}
  #workerHomeView .worker-panel{padding:11px}
  #workerHomeView .worker-hours-inline-fields{grid-template-columns:1fr 1fr;gap:6px}
  #workerHomeView .worker-hours-inline-fields .big-action{grid-column:1/-1;width:100%}
  #workerHomeView .worker-home-secondary-grid{gap:8px}
  #workerHomeView .worker-tasks-card,#workerHomeView .worker-material-card,#workerHomeView .worker-absence-card,#workerHomeView .leader-tools-card,#workerHomeView .worker-history-card{height:auto!important;min-height:0!important}
  #workerHomeView .worker-tasks-card .worker-task-list,#workerHomeView .worker-material-card .worker-task-list,#workerHomeView .worker-absence-card .worker-task-list{min-height:0!important}
  #workerHomeView .worker-card{padding:11px}
  #workerHomeView .worker-section-head h2{font-size:16px}
  #workerHomeView .worker-task{padding:8px 0}
  #workerHomeView .worker-project-prep-item{padding:9px}
  #workerHomeView .worker-project-prep-actions{width:100%;justify-content:stretch}
  #workerHomeView .worker-project-prep-actions .small-btn{flex:1}
  #workerHomeView .worker-project-prep-item label strong{white-space:normal;overflow-wrap:anywhere}
  .ai-project-preparation-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:0}
  .ai-project-prep-layout{padding:0 12px 10px;gap:10px}
  .ai-project-chat{min-height:120px;max-height:38vh}
  .ai-project-input-row{grid-template-columns:1fr}
  .ai-project-input-actions{grid-template-columns:1fr 1fr}
  .ai-project-input-actions button{width:100%}
  .ai-live-actions{display:grid;grid-template-columns:1fr}
  .ai-live-actions button{width:100%}
}
/* V2.22.0 – AI műveleti jogosultságok */
.ai-permission-grid{align-items:center}.ai-permission-grid label{display:flex;align-items:center;gap:9px;font-weight:700}.ai-permission-grid input[type="checkbox"]{width:18px;min-height:18px;flex:0 0 auto}.ai-proposal-materials{margin-top:18px;padding-top:16px;border-top:1px solid #e6e0e9}.ai-material-row{display:grid;grid-template-columns:minmax(150px,2fr) 100px 90px 145px 110px minmax(120px,1fr);gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eee8f0}.ai-material-row small{color:#6b6870}@media(max-width:800px){.ai-material-row{grid-template-columns:1fr 1fr}.ai-material-row small{grid-column:1/-1}}


/* V2.23.0 – központi ÉpítRend AI, barátságos hangfelület */
.ai-page-header{margin-bottom:18px}.ai-global-shell{max-width:980px;margin:0 auto;background:linear-gradient(145deg,#ffffff 0%,#f6f3fb 100%);border:1px solid #e4dcec;border-radius:28px;box-shadow:0 18px 48px rgba(44,31,66,.10);overflow:hidden}.ai-global-hero{text-align:center;padding:42px 24px 30px;background:radial-gradient(circle at 50% 20%,rgba(112,75,151,.13),transparent 42%)}.ai-orb-wrap{position:relative;width:132px;height:132px;margin:0 auto 20px;display:grid;place-items:center}.ai-orb{position:relative;z-index:2;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#6f4b97,#2e4057);box-shadow:0 14px 36px rgba(77,54,104,.28);transition:transform .25s,box-shadow .25s}.ai-orb span{color:#fff;font-weight:800;letter-spacing:.08em}.ai-orb-ring{position:absolute;width:126px;height:126px;border:2px solid rgba(111,75,151,.20);border-radius:50%;animation:aiPulse 2.6s ease-in-out infinite}.ai-orb.is-live{transform:scale(1.07);box-shadow:0 0 0 12px rgba(111,75,151,.08),0 18px 44px rgba(77,54,104,.34)}.ai-global-status{font-size:20px;font-weight:750;color:#1d2633}.ai-global-context{margin-top:9px;color:#7a7184;font-size:12px}.ai-global-transcript{min-height:330px;max-height:480px;overflow:auto;padding:24px 28px;background:rgba(255,255,255,.72)}.ai-global-empty{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;color:#6d6675}.ai-global-empty strong{font-size:22px;color:#25212b}.ai-global-empty span{font-size:15px}.ai-global-empty small{font-size:12px}.ai-global-msg{max-width:78%;padding:13px 16px;border-radius:17px;margin:10px 0;box-shadow:0 4px 15px rgba(16,24,40,.05)}.ai-global-msg>span{display:block;font-size:11px;font-weight:800;margin-bottom:5px;color:#806d91}.ai-global-msg>div{line-height:1.5}.ai-global-msg.is-user{margin-left:auto;background:#e9f1fb;border-bottom-right-radius:5px}.ai-global-msg.is-assistant{margin-right:auto;background:#fff;border:1px solid #ebe5f0;border-bottom-left-radius:5px}.ai-global-footer{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 24px;border-top:1px solid #e8e0ed;background:#fff}.ai-global-start{min-width:220px}.ai-global-footer .muted{font-size:12px}@keyframes aiPulse{0%,100%{transform:scale(.94);opacity:.5}50%{transform:scale(1.05);opacity:1}}
@media(max-width:800px){.ai-global-shell{border-radius:20px}.ai-global-hero{padding:28px 16px 22px}.ai-global-status{font-size:17px}.ai-global-transcript{min-height:300px;max-height:55vh;padding:16px}.ai-global-msg{max-width:90%}.ai-global-footer{padding:14px;flex-direction:column}.ai-global-start{width:100%}}

/* V2.25.0 – Dashboard központ és gyors rögzítés */
.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dashboard-finance-summary-grid>div{padding:11px 12px;border:1px solid #e2e8ed;border-radius:9px;background:#f8fafb}
.dashboard-finance-summary-grid span{display:block;font-size:10px;color:#73808b;font-weight:750}
.dashboard-finance-summary-grid strong{display:block;margin-top:3px;font-size:17px;color:#1f303d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-finance-summary-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dashboard-quick-notes{margin-top:16px}
.dashboard-notes-card{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:15px;box-shadow:var(--ui-shadow)}
.dashboard-notes-list{display:grid;gap:0}
.dashboard-note-row{display:grid;grid-template-columns:32px minmax(0,1fr) 30px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #edf1f4}
.dashboard-note-row>div{min-width:0;display:grid;gap:2px}.dashboard-note-row strong{font-size:12px;font-weight:750;color:#263744}.dashboard-note-row small{font-size:10px;color:#87919a}
.dashboard-note-done,.dashboard-note-delete{width:30px;height:30px;padding:0;background:#f4f7f9;color:#41637c;border:1px solid #dbe4ea;border-radius:8px}
.dashboard-note-delete{color:#9b5555}
.dashboard-notes-empty{padding:12px 0 2px;color:#7b8791;font-size:12px}
.dashboard-quick-entry-modal{width:min(760px,calc(100vw - 20px));padding:22px}
.dashboard-entry-tabs{display:flex;gap:7px;margin:15px 0 8px;padding-bottom:8px;border-bottom:1px solid #e7edf1}
.dashboard-entry-tab{background:#f5f7f9;color:#526676;border:1px solid #dce4ea;padding:9px 12px}.dashboard-entry-tab.active{background:#e7f1f3;color:#0f6f67;border-color:#b9d4d1}
.dashboard-entry-form{display:grid;gap:12px}.dashboard-entry-form .form-grid{margin-top:0}.dashboard-entry-hint{font-size:11px;color:#788692;padding:9px 11px;background:#f7f9fb;border-radius:8px;border:1px solid #e6ebef}
.dashboard-direction-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-direction-toggle label{display:block}.dashboard-direction-toggle input{position:absolute;opacity:0;pointer-events:none}.dashboard-direction-toggle span{display:block;padding:11px 13px;text-align:center;border:1px solid #dce4ea;border-radius:9px;background:#f8fafb;color:#526676}.dashboard-direction-toggle input:checked+span{border-color:#8ab7b1;background:#edf7f5;color:#0f6f67;font-weight:850}
.dashboard-entry-loading{text-align:center;padding:28px;color:#74828e}
@media(max-width:800px){.dashboard-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-quick-entry-modal{padding:16px}.dashboard-entry-tabs{overflow:auto}.dashboard-entry-tab{white-space:nowrap}.dashboard-action-grid{grid-template-columns:1fr}}

/* V2.25.0 mobile + AI + approvals */
.project-mobile-agenda{display:none}.project-mobile-day{padding:10px 0;border-bottom:1px solid #e8e0eb}.project-mobile-date{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 8px;color:#344054}.project-mobile-date strong{font-size:15px}.project-mobile-date span{font-size:11px;color:#7b7281;font-weight:800}.project-mobile-projects{display:grid;gap:7px}.project-mobile-card{width:100%;display:grid;grid-template-columns:5px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;padding:10px 11px;background:#fff;border:1px solid #e1dbe5;border-radius:12px;color:#243447;opacity:var(--project-opacity,1);box-shadow:0 3px 10px rgba(52,28,68,.05)}.project-mobile-color{align-self:stretch;border-radius:5px;background:var(--project-color,#8c55b3)}.project-mobile-copy{display:grid;gap:2px;min-width:0}.project-mobile-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-mobile-copy small{font-size:10px;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-mobile-status{font-size:17px;color:#7b7281;font-weight:900}.approval-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#fff;border-bottom:1px solid #e8e0eb}.approval-tab.active{outline:2px solid #0f766e}.ai-orb{overflow:hidden}.ai-orb img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(15,27,45,.18))}.ai-waveform{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.ai-waveform i{display:block;width:3px;height:12px;border-radius:99px;background:#0f766e;opacity:.35;transform-origin:center;animation:aiWave 1.15s ease-in-out infinite}.ai-waveform i:nth-child(1){animation-delay:-.8s}.ai-waveform i:nth-child(2){animation-delay:-.65s}.ai-waveform i:nth-child(3){animation-delay:-.5s}.ai-waveform i:nth-child(4){animation-delay:-.35s}.ai-waveform i:nth-child(5){animation-delay:-.2s}.ai-waveform i:nth-child(6){animation-delay:-.05s}.ai-waveform i:nth-child(7){animation-delay:-.7s}@keyframes aiWave{0%,100%{height:9px;opacity:.25}50%{height:28px;opacity:.85}}
@media(max-width:800px){.project-gantt,.project-month-calendar{display:none!important}.project-mobile-agenda{display:block}.project-calendar{overflow:visible;margin-bottom:10px}.project-mobile-card{min-height:58px}.approval-tabs{position:sticky;top:0;z-index:2}.ai-orb-wrap{width:150px;height:150px}.ai-orb{width:100px;height:100px}.ai-orb img{width:62px;height:62px}.ai-waveform i{width:3px}}

/* V2.26.1 – Dolgozói mobil nézet: a teljes tartalom ne örökölje a 2 oszlopos worker-home-grid-et */
#workerHomeView #workerTodayContent.worker-home-grid{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  min-width:0;
}
#workerHomeView #workerTodayContent.worker-home-grid > *{
  min-width:0;
  width:100%;
}
@media(max-width:680px){
  #workerHomeView #workerTodayContent.worker-home-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px;}
}

/* V2.26.1 FULL FIX – AI approval detail + finance/worker mobile UX */
.approvals-modern-table{width:100%;table-layout:auto}.approvals-modern-table .approval-row-AI_PROJECT_PREPARATION>td{vertical-align:top}.ai-approval-card{min-width:420px;padding:12px 14px;border:1px solid #dfe8e5;border-radius:12px;background:#fbfdfc}.ai-approval-summary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ai-approval-summary strong{color:#123d38}.ai-approval-summary span{font-size:12px;color:#667085;white-space:nowrap}.ai-approval-summary-text{margin:8px 0 10px;color:#475467}.ai-approval-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-approval-block{padding:9px;border:1px solid #e7ecea;border-radius:9px;background:#fff}.ai-approval-block strong{font-size:12px}.ai-approval-block ul{margin:7px 0 0;padding-left:17px}.ai-approval-block li{font-size:12px;line-height:1.45;margin:3px 0}.ai-approval-day{font-weight:800;color:#0f766e}.ai-approval-empty{padding:10px;border:1px dashed #d7dfdc;border-radius:9px;color:#667085;font-size:12px;background:#fff}
.finance-page-card{overflow:hidden}.finance-form-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
  .ai-approval-card{min-width:0}.ai-approval-grid{grid-template-columns:1fr}.ai-approval-summary{flex-direction:column}.ai-approval-summary span{white-space:normal}.approvals-modern-table{display:block;overflow-x:auto}.approvals-modern-table th,.approvals-modern-table td{min-width:110px}.approvals-modern-table td:nth-child(4){min-width:360px}
  #financeView .settings-card.finance-page-card{padding:0;border:0;background:transparent}.finance-form-compact{grid-template-columns:1fr}.finance-more-grid{grid-template-columns:1fr}.finance-form-actions{align-items:stretch}.finance-form-actions .primary-btn{width:100%}
  #financeTable{overflow:visible}.finance-page-card #financeTable .modern-table{display:block}.finance-page-card #financeTable .modern-table thead{display:none}.finance-page-card #financeTable .modern-table tbody{display:grid;gap:8px}.finance-page-card #financeTable .modern-table tr{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px;border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;background:#fff}.finance-page-card #financeTable .modern-table td{border:0;padding:2px 0}.finance-page-card #financeTable .modern-table td:nth-child(1)::before{content:'Dátum: '}.finance-page-card #financeTable .modern-table td:nth-child(2)::before{content:'Típus: '}.finance-page-card #financeTable .modern-table td:nth-child(3)::before{content:'Összeg: '}.finance-page-card #financeTable .modern-table td:nth-child(4)::before{content:'Kategória: '}.finance-page-card #financeTable .modern-table td:nth-child(5)::before{content:'Projekt: '}.finance-page-card #financeTable .modern-table td:nth-child(6)::before{content:'Pénzforrás: '}.finance-page-card #financeTable .modern-table td:nth-child(7)::before{content:'Fizetés: '}.finance-page-card #financeTable .modern-table td:nth-child(8){grid-column:2;grid-row:1 / span 7;align-self:center}.finance-page-card #financeTable .modern-table td::before{font-weight:700;color:#667085;font-size:11px}
  #workerHomeView #workerTodayContent.worker-home-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.worker-home-grid>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.worker-home-grid .section-box,.worker-home-grid .worker-card,.worker-home-grid .worker-primary-card{min-width:0;width:100%;box-sizing:border-box}.worker-home-grid table{max-width:100%;display:block;overflow-x:auto}.worker-home-grid img,.worker-home-grid input,.worker-home-grid select,.worker-home-grid textarea{max-width:100%}
}


/* V2.26.1 – valódi mobil lista/kártya nézet */
.mobile-card-table{width:100%;min-width:0!important}
@media(max-width:700px){
.main{padding:16px 12px 88px!important;min-width:0;overflow-x:hidden}.page-view{min-width:0;width:100%;max-width:100%}.toolbar{width:100%;padding:10px;gap:8px}.toolbar input,.toolbar select{min-width:0!important;width:100%}.table-card{width:100%;min-width:0;overflow:visible;background:transparent;border:0;box-shadow:none}.mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate;border-spacing:0}.mobile-card-table thead{display:none!important}.mobile-card-table tbody{display:grid;gap:9px;width:100%}.mobile-card-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 12px;width:100%;padding:12px;border:1px solid var(--ui-border,#d9dee5);border-radius:12px;background:var(--ui-surface,#fff);box-shadow:0 4px 12px rgba(16,24,40,.035)}.mobile-card-table td{display:block!important;min-width:0!important;width:auto!important;padding:0!important;border:0!important;vertical-align:top!important;overflow-wrap:anywhere;word-break:normal}.mobile-card-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-muted,#667085)}.mobile-card-table td:first-child{grid-column:1/-1}.mobile-card-table td:first-child::before{display:none}.mobile-card-table td:first-child strong{font-size:14px;line-height:1.3}.mobile-card-table td:last-child{grid-column:1/-1;padding-top:4px!important;border-top:1px solid var(--ui-border,#e5e7eb)!important}.mobile-card-table td:last-child::before{display:none}.mobile-card-table .entity-link{width:100%;min-width:0}.mobile-card-table .entity-link strong,.mobile-card-table .entity-link span{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.mobile-card-table .cell-sub{white-space:normal;overflow-wrap:anywhere}.mobile-card-table .table-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.mobile-card-table .small-btn{min-height:38px}.worker-month-table{overflow:visible!important}.worker-month-table table{width:100%!important;min-width:0!important}.worker-hours-month-card{padding:12px!important}#workerHomeView{width:100%;max-width:none;margin:0;padding:0!important}#workerHomeView .worker-home-grid,#workerHomeView #workerTodayContent.worker-home-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:9px!important}#workerHomeView .worker-primary-card,#workerHomeView .worker-card,#workerHomeView .worker-panel{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}#workerHomeView .worker-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}#workerHomeView .worker-main-panels,#workerHomeView .worker-home-productivity-grid{grid-template-columns:1fr!important;gap:8px!important}#workerHomeView .worker-task-copy strong,#workerHomeView .worker-task-copy span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid;grid-template-columns:repeat(5,1fr);height:64px;padding:5px max(8px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:rgba(15,27,45,.97);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 24px rgba(0,0,0,.16)}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:3px 2px;border:0;border-radius:9px;background:transparent;color:#dbe7f2}.mobile-bottom-nav button span{font-size:18px;line-height:1;font-weight:900}.mobile-bottom-nav button small{font-size:9px;font-weight:800;white-space:nowrap}.mobile-bottom-nav .mobile-bottom-plus span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ui-accent,#0f6f67);color:#fff;font-size:26px;margin-top:-14px;box-shadow:0 5px 14px rgba(0,0,0,.2)}.mobile-bottom-nav .mobile-bottom-plus small{margin-top:-1px}
}
@media(min-width:701px){.mobile-bottom-nav{display:none!important}}
.ai-global-quickbar{display:grid;gap:6px;padding:10px 14px;border-top:1px solid var(--ui-border,#e1e7eb);background:var(--ui-surface,#fff)}.ai-global-quickbar form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ai-global-quickbar input{min-width:0}.ai-global-quickbar small{color:var(--ui-muted,#667085);font-size:10px}@media(max-width:700px){.ai-global-quickbar{padding:10px}.ai-global-quickbar button{min-width:76px;padding-inline:10px}}


/* V2.26.1 WORKER LAYOUT FINAL — only Dolgozói nézet secondary blocks. */
#workerHomeView .worker-home-secondary-grid{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.9fr) !important;
  grid-template-rows:auto !important;
  grid-template-areas:
    "tasks material"
    "prep prep"
    "history history" !important;
  gap:14px !important;
  align-items:start !important;
  box-sizing:border-box !important;
}
#workerHomeView .worker-home-secondary-grid > .worker-grid-tasks{
  grid-area:tasks !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
}
#workerHomeView .worker-home-secondary-grid > .worker-material-card{
  grid-area:material !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
}
#workerHomeView .worker-home-secondary-grid > .worker-project-prep-card{
  grid-area:prep !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
}
#workerHomeView .worker-home-secondary-grid > .worker-grid-history{
  grid-area:history !important;
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
}
#workerHomeView .worker-home-secondary-grid .worker-card{
  box-sizing:border-box !important;
  max-width:none !important;
  min-width:0 !important;
}
#workerHomeView .worker-home-secondary-grid .worker-task-copy{
  min-width:0 !important;
  max-width:100% !important;
}
#workerHomeView .worker-home-secondary-grid .worker-task-copy strong,
#workerHomeView .worker-home-secondary-grid .worker-task-copy span{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
@media (max-width:900px){
  #workerHomeView .worker-home-secondary-grid{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:
      "tasks"
      "material"
      "prep"
      "history" !important;
  }
}

/* V2.26.5 – Dolgozói nézet: projektfelkészülés eszközlista mobil/desktop elrendezés javítása.
   Csak a projektfelkészülés eszközlista elemeinek tördelését módosítja. A „Mai munkád” blokk érintetlen. */
#workerHomeView .worker-project-prep-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#workerHomeView .worker-project-prep-item > label{
  display:flex !important;
  align-items:flex-start !important;
  gap:9px !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#workerHomeView .worker-project-prep-item > label > span{
  display:grid !important;
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
#workerHomeView .worker-project-prep-item > label strong{
  display:block !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  min-width:0 !important;
  line-height:1.35 !important;
}
#workerHomeView .worker-project-prep-item > label small{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}
#workerHomeView .worker-project-prep-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex:0 0 auto !important;
  min-width:max-content !important;
}
@media(max-width:750px){
  #workerHomeView .worker-project-prep-item{
    grid-template-columns:minmax(0,1fr) !important;
    gap:9px !important;
    align-items:start !important;
  }
  #workerHomeView .worker-project-prep-item > label{
    width:100% !important;
  }
  #workerHomeView .worker-project-prep-actions{
    width:100% !important;
    min-width:0 !important;
    justify-content:stretch !important;
  }
  #workerHomeView .worker-project-prep-actions .small-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
  }
}


/* V2.26.5 – Dolgozói projektfelkészülés: checkbox nem kaphat 100% szélességet.
   Ez kizárólag az eszközlista sorainak tördelését javítja; a „Mai munkád” blokk érintetlen. */
#workerHomeView .worker-project-prep-item > label > input[type="checkbox"]{
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  flex:0 0 18px !important;
  margin:2px 0 0 0 !important;
  padding:0 !important;
}
#workerHomeView .worker-project-prep-item > label > span{
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
}

/* V2.26.6 – Dolgozói navigáció és saját beállítások */
.worker-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.worker-setting-switch{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border,#d8e0e6);border-radius:12px;background:#fff;cursor:pointer}
.worker-setting-switch input{width:20px!important;min-width:20px!important;height:20px!important;flex:0 0 20px!important;margin:2px 0 0}
.worker-setting-switch span{display:flex;flex-direction:column;gap:4px}
.worker-setting-switch small{color:var(--muted,#718096);line-height:1.45}
.worker-settings-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:800px){
  .worker-settings-grid{grid-template-columns:1fr}
  #mainNav{display:none!important}
  .worker-settings-actions{display:grid;grid-template-columns:1fr}
  .worker-settings-actions button{width:100%}
}
@media (max-width:800px){
  body.worker-role .mobile-topbar{display:none!important}
  body.worker-role .main-content{padding-top:10px}
}

/* V2.29.2 – UI/UX completion block: project-centered workspace + unified interaction language */
:root{
  --er-surface:#fff;
  --er-surface-soft:#faf8fb;
  --er-border:#e5dfe8;
  --er-text:#202631;
  --er-muted:#667085;
  --er-accent:#6f4a83;
  --er-accent-soft:#f2ebf5;
  --er-focus:rgba(111,74,131,.18);
}
button,.primary-btn,.secondary-btn,.small-btn,.ghost-btn{min-height:38px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--er-focus);outline-offset:1px}
.primary-btn{box-shadow:0 4px 12px rgba(49,32,62,.08)}
.secondary-btn,.small-btn{box-shadow:none}
.small-btn{border-radius:9px}
.status-pill{white-space:nowrap}

/* Project-centered detail */
.project-detail-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.project-detail-hero-meta{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;color:var(--er-muted);font-size:12px;font-weight:700}
.project-detail-hero-meta span{padding:7px 10px;border:1px solid var(--er-border);background:var(--er-surface-soft);border-radius:9px}
.project-detail-tabs{display:flex;gap:4px;overflow:auto;padding:5px;margin:16px 0 14px;border-bottom:1px solid var(--er-border);scrollbar-width:thin}
.project-detail-tabs-inner{margin:0 0 14px;padding:4px 0}
.project-detail-tab{appearance:none;border:0;background:transparent;color:#667085;padding:10px 12px;min-height:40px;border-radius:8px 8px 0 0;font-weight:800;white-space:nowrap;cursor:pointer;position:relative}
.project-detail-tab:hover{background:var(--er-surface-soft);color:var(--er-text)}
.project-detail-tab.active{color:var(--er-accent);background:var(--er-accent-soft)}
.project-detail-panel{min-height:180px}
.project-detail-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:12px;margin-bottom:12px}
.project-detail-card{background:var(--er-surface);border:1px solid var(--er-border);border-radius:12px;padding:14px;min-width:0}
.project-detail-card .section-title-line{margin-bottom:12px}
.project-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.project-overview-kpis>div{background:var(--er-surface-soft);border:1px solid var(--er-border);border-radius:10px;padding:10px;min-width:0}
.project-overview-kpis span,.project-detail-file small,.project-detail-row small{display:block;color:var(--er-muted);font-size:11px}
.project-overview-kpis strong{display:block;margin-top:4px;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-check-list{display:grid;gap:7px}
.project-check{display:flex;gap:9px;align-items:center;border:1px solid var(--er-border);border-radius:9px;padding:9px}
.project-check>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:#eee}
.project-check.ok>span{background:#e7f4eb;color:#237343}.project-check.warning>span{background:#fff2d9;color:#9a6500}
.project-check strong{display:block;font-size:12px}.project-check small{color:var(--er-muted);font-size:10px}
.compact-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.project-detail-list{display:grid;gap:7px}
.project-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--er-border);border-radius:9px;background:var(--er-surface-soft);min-width:0}
.project-detail-row>span:first-child{min-width:0}.project-detail-row strong,.project-detail-row small{overflow:hidden;text-overflow:ellipsis}.project-detail-row-button{width:100%;text-align:left;cursor:pointer;color:inherit}.project-detail-row-button:hover{border-color:#cbb9d4;background:#f6f0f8}
.project-detail-note{margin-top:12px;padding:11px;border-radius:9px;background:var(--er-surface-soft);color:var(--er-muted);font-size:12px}
.project-detail-file{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;text-decoration:none;color:inherit;padding:10px;border:1px solid var(--er-border);border-radius:9px;background:var(--er-surface-soft)}
.project-detail-file:hover{background:#f5eff7}.project-detail-file-icon{font-size:20px}.project-detail-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail-file small{margin-top:2px}
.project-detail-loading{padding:28px;text-align:center;color:var(--er-muted);border:1px dashed var(--er-border);border-radius:10px}
.positive-number{color:#237343}.negative-number{color:#a33a48}

/* Consistent list/table interaction */
.modern-table th{position:sticky;top:0;z-index:2}
.modern-table tbody tr{transition:background-color .12s ease}
.entity-link{font:inherit;color:inherit}
.table-actions{display:flex;flex-wrap:wrap;gap:6px}
.cell-sub{display:block;color:var(--er-muted);font-size:10px;margin-top:2px}

/* Mobile detail workspace */
@media(max-width:800px){
  .project-detail-hero{display:block}.project-detail-hero-meta{justify-content:flex-start;margin-top:10px}
  .project-detail-tabs{margin-left:-2px;margin-right:-2px;padding-bottom:6px}
  .project-detail-tab{padding:9px 10px;font-size:12px}
  .project-detail-overview-grid{grid-template-columns:1fr}
  .project-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-detail-grid{grid-template-columns:1fr}
  .project-detail-row{align-items:flex-start}
  .project-detail-panel{padding-bottom:6px}
  .detail-modal{max-width:calc(100vw - 16px);width:calc(100vw - 16px)}
  .detail-body{max-height:calc(100vh - 150px);overflow:auto}
  .detail-modal .modal-actions{position:sticky;bottom:0;background:inherit;padding-top:10px}
}
@media(max-width:430px){
  .project-overview-kpis{grid-template-columns:1fr 1fr;gap:6px}.project-overview-kpis strong{font-size:14px}
  .project-detail-file{grid-template-columns:28px minmax(0,1fr) 20px}
  .project-detail-row{font-size:12px}
}

:root[data-theme="dark"] .project-detail-hero-meta span,
:root[data-theme="dark"] .project-detail-card,
:root[data-theme="dark"] .project-overview-kpis>div,
:root[data-theme="dark"] .project-check,
:root[data-theme="dark"] .project-detail-row,
:root[data-theme="dark"] .project-detail-file,
:root[data-theme="dark"] .project-detail-loading,
:root[data-theme="dark"] .project-detail-note{background:#1b1822;border-color:#342e3b;color:#ece8f1}
:root[data-theme="dark"] .project-detail-tab{color:#aaa1b0}
:root[data-theme="dark"] .project-detail-tab.active{background:#30253a;color:#dcbbe9}
:root[data-theme="dark"] .project-detail-tab:hover{background:#25212c;color:#fff}

/* ============================================================
   V2.28–V2.29 RELEASE UX SYSTEM
   Stabilizált, egységes UI viselkedés desktop + mobile/PWA.
   ============================================================ */
:root{
  --er-primary:#0f6f67;--er-primary-strong:#0b554f;--er-surface:#fff;
  --er-surface-soft:#f7f8f8;--er-border:#dfe5e4;--er-text:#1f2928;--er-muted:#66716f;
  --er-danger:#b42318;--er-warning:#9a6700;--er-success:#147a4b;--er-radius:12px;
  --er-focus:0 0 0 3px rgba(15,111,103,.18)
}
button,input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .05s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:var(--er-focus)}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{cursor:not-allowed;opacity:.58}
.primary-btn,form button{background:var(--er-primary);border-color:var(--er-primary)}
.primary-btn:hover,form button:hover{background:var(--er-primary-strong)}
.secondary-btn{color:var(--er-primary);border:1px solid var(--er-border)}
.secondary-btn:hover{background:#eef5f4}
.small-btn{border:1px solid var(--er-border);background:#fff;color:var(--er-text);padding:8px 11px;border-radius:9px}
.small-btn:hover{border-color:#b9cbc8;background:#f6f9f8}
.small-btn.danger{color:var(--er-danger)}
.widget,.project-detail-card,.detail-section,.notice,.error{border-radius:var(--er-radius)}
.empty-state{padding:28px 18px;text-align:center;color:var(--er-muted);border:1px dashed var(--er-border);border-radius:var(--er-radius);background:var(--er-surface-soft)}
.loading-state,.project-detail-loading{min-height:110px;display:grid;place-items:center;color:var(--er-muted)}
.cell-sub{display:block;color:var(--er-muted);font-size:12px;margin-top:3px}
.table-actions{display:flex;flex-wrap:wrap;gap:6px}
.modern-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--er-border);border-radius:12px;background:#fff}
.modern-table th{background:#f5f7f7;color:#4b5755;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.modern-table th,.modern-table td{padding:11px 12px;border-bottom:1px solid #edf0ef;vertical-align:top;text-align:left}
.modern-table tbody tr:last-child td{border-bottom:0}
.modern-table tbody tr:hover{background:#fafcfc}
.entity-link{display:inline-grid;text-align:left;background:transparent;color:inherit;padding:0;border-radius:6px}
.entity-link strong{color:var(--er-primary)}
.status-pill{border:1px solid transparent;white-space:nowrap}
.badge-active{color:var(--er-success)!important;background:#edf8f2!important;border-color:#c9ead9!important}
.badge-inactive{color:#6d7472!important;background:#f0f2f2!important;border-color:#dfe3e2!important}
.positive-number{color:var(--er-success)}.negative-number{color:var(--er-danger)}
.toast{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));max-width:min(420px,calc(100vw - 32px));z-index:10000}
.dialog-backdrop{background:rgba(15,27,45,.46)}
dialog{max-width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--er-border);border-radius:16px;padding:0;box-shadow:0 24px 80px rgba(15,27,45,.24)}
.project-detail-tabs{scrollbar-width:thin}
.project-detail-tab{white-space:nowrap}
.project-detail-panel{min-width:0}
@media (max-width:900px){
  .main{padding:16px;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .page-header{gap:12px;align-items:stretch;flex-direction:column}
  .page-header h1{font-size:1.55rem}
  .widget-grid{grid-template-columns:1fr;gap:12px}
  .widget,.widget.wide,.widget.full{grid-column:1/-1}
  .project-detail-tabs{overflow-x:auto;display:flex;gap:6px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .project-detail-tab{flex:0 0 auto}
  .modern-table.mobile-card-table{display:block;border:0;background:transparent}
  .modern-table.mobile-card-table thead{display:none}
  .modern-table.mobile-card-table tbody,.modern-table.mobile-card-table tr,.modern-table.mobile-card-table td{display:block;width:100%}
  .modern-table.mobile-card-table tr{background:#fff;border:1px solid var(--er-border);border-radius:12px;margin-bottom:10px;padding:10px}
  .modern-table.mobile-card-table td{display:grid;grid-template-columns:minmax(92px,34%) 1fr;gap:10px;border:0;padding:6px 2px}
  .modern-table.mobile-card-table td::before{content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase;color:var(--er-muted)}
  .modern-table.mobile-card-table td[data-label="Művelet"]{display:block;padding-top:10px;border-top:1px solid #edf0ef;margin-top:4px}
  .modern-table.mobile-card-table td[data-label="Művelet"]::before{display:block;margin-bottom:7px}
  .table-actions{width:100%}.table-actions .small-btn{flex:1;min-width:110px}
  .detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-detail-hero-meta{display:grid;gap:4px}
  .project-detail-overview-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  input,select,textarea{min-height:46px}
  button{min-height:44px}
  .detail-metrics{grid-template-columns:1fr}
  .project-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V2.29.2 – final mobile/notification/menu/account UI stabilization */
.menu-edit-item{display:grid;grid-template-columns:24px 24px minmax(120px,1fr) auto minmax(120px,190px) auto;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid var(--er-border,#dfe5e4);border-radius:10px;background:#fff;box-sizing:border-box}
.menu-edit-item strong{min-width:0;overflow-wrap:anywhere}.menu-edit-handle{color:var(--er-muted);font-size:18px;cursor:grab;text-align:center}.menu-edit-icon{width:22px;height:22px;color:var(--er-primary);display:grid;place-items:center}.menu-edit-icon svg,.nav-item svg{width:18px;height:18px;display:block;flex:0 0 auto}.menu-edit-icon-select{min-width:0;min-height:38px}.menu-edit-enabled{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:var(--er-muted)}.menu-edit-enabled input{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important}.menu-edit-scope{font-size:10px;font-weight:800;color:var(--er-muted);padding:4px 7px;border:1px solid var(--er-border);border-radius:999px;background:var(--er-surface-soft)}.menu-editor-actions{justify-content:space-between}.nav-item{display:flex;align-items:center;gap:9px}.nav-item svg{color:#a9bdd1}.nav-item span{min-width:0}.nav-badge{margin-left:auto}.worker-material-list{display:grid;gap:8px}.worker-material-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--er-border);border-radius:10px;background:var(--er-surface-soft)}.worker-material-item-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eef5f4;color:var(--er-primary)}.worker-material-item-icon svg{width:16px;height:16px}.worker-material-item-main{min-width:0;display:grid;gap:2px}.worker-material-item-main strong,.worker-material-item-main span,.worker-material-item-main small{overflow-wrap:anywhere}.worker-material-item-main strong{font-size:13px}.worker-material-item-main span{font-size:11px;color:var(--er-muted)}.worker-material-item-main small{font-size:10px;color:var(--er-muted)}.worker-material-status{font-size:10px}.worker-material-intro{margin:0 0 10px;color:var(--er-muted);font-size:12px}.worker-material-add-btn{width:100%;margin-top:10px}.worker-material-empty{padding:16px;text-align:center;border:1px dashed var(--er-border);border-radius:10px;color:var(--er-muted);background:var(--er-surface-soft)}.worker-hours-missing-block{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:16px;border:1px solid #efcc8c;border-radius:14px;background:#fffaf0;margin:12px 0 16px}.worker-hours-missing-copy{display:flex;gap:12px;align-items:flex-start;min-width:0}.worker-hours-missing-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#fff0c2;color:#8a6500;font-weight:900}.worker-hours-missing-copy>div:last-child{display:grid;gap:5px;min-width:0}.worker-hours-missing-copy strong{font-size:16px}.worker-hours-missing-count{font-size:11px;padding:3px 7px;border-radius:999px;background:#fff0c2;color:#8a6500}.worker-hours-missing-dates{display:flex;gap:6px;flex-wrap:wrap}.worker-hours-missing-dates span{padding:5px 8px;border:1px solid #efd99f;border-radius:8px;background:#fff;color:#715600;font-weight:800;font-size:12px}.worker-hours-missing-copy small{color:#6d6653}.notification-pref-intro{display:grid;gap:3px;margin-bottom:12px}.notification-pref-intro span{color:var(--er-muted);font-size:12px}.notification-pref-toolbar{align-items:end}.finance-account-table .table-actions{justify-content:flex-start}.finance-account-table strong{overflow-wrap:anywhere}

@media(max-width:900px){
  /* Entire mobile top header is removed; desktop stays unchanged. */
  .mobile-topbar{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}
  .app-shell>.main{padding-top:10px!important}
  .main{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;overflow-x:hidden}
  .toast{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:auto!important;left:auto;width:max-content;max-width:min(390px,calc(100vw - 20px));min-width:0;padding:10px 12px;font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
  .menu-edit-item{grid-template-columns:22px 22px minmax(0,1fr) auto;gap:6px;padding:8px}.menu-edit-item .menu-edit-icon-select{grid-column:3/-1}.menu-edit-item .menu-edit-enabled{grid-column:4;grid-row:1}.menu-edit-item .menu-edit-scope{grid-column:3;grid-row:1;justify-self:start}.menu-editor-actions{display:grid;grid-template-columns:1fr}.menu-editor-actions button{width:100%}
  .notification-pref-toolbar,.notification-pref-grid{grid-template-columns:1fr}.notification-pref-row{min-height:48px}.notification-preferences-settings-box,.push-settings-box,.settings-card,.section-box{max-width:100%;width:100%;overflow-wrap:anywhere}.settings-card{margin-left:auto;margin-right:auto}
  .worker-material-item{grid-template-columns:32px minmax(0,1fr);align-items:start}.worker-material-status{grid-column:2;justify-self:start}.worker-hours-missing-block{display:grid;grid-template-columns:1fr;align-items:stretch}.worker-hours-retro-btn{width:100%}
  .modern-table.mobile-card-table tbody{gap:12px}.modern-table.mobile-card-table tr{padding:13px;border-radius:13px}.modern-table.mobile-card-table td{min-height:34px}.modern-table.mobile-card-table td:last-child{padding-top:11px!important;margin-top:4px}.modern-table.mobile-card-table .table-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.modern-table.mobile-card-table .table-actions .small-btn{width:100%;min-width:0}.worker-list-table .table-actions .small-btn{min-height:44px}.task-list-table .table-actions{grid-template-columns:1fr 1fr}.finance-account-table .table-actions{display:block}.finance-account-table .table-actions .small-btn{width:100%}
  #workerHomeView .worker-card{overflow:visible}.worker-task{align-items:flex-start}.worker-task-main{min-width:0}.worker-task-copy{min-width:0}
}
@media(max-width:430px){.menu-edit-item strong{font-size:12px}.menu-edit-enabled span{font-size:10px}.worker-material-item-main strong{font-size:12px}.worker-material-item-main span{font-size:10px}.worker-material-item-main small{font-size:9px}}


/* V2.29.2 – final consistency pass */
#settingsView>.page-header,#settingsView>.settings-section-nav,#settingsView>.settings-section-panel{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;box-sizing:border-box}
#settingsView>.settings-section-nav{display:flex;justify-content:center;flex-wrap:wrap}
#settingsView .settings-card,#settingsView .section-box{box-sizing:border-box}
.menu-editor-list{display:grid;gap:8px}.menu-editor-list .menu-edit-item{margin-left:0!important}
.menu-edit-move{display:flex;gap:4px;align-items:center}.menu-edit-move button{min-width:36px;min-height:36px;padding:4px}.menu-edit-parent{min-width:0}
@media(max-width:900px){#settingsView>.settings-section-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}#settingsView>.settings-section-nav .settings-section-btn{flex:0 0 auto}.settings-category-intro,.section-box{overflow:visible}.menu-edit-move{grid-column:1/-1;justify-content:flex-end}.menu-edit-parent{grid-column:3/-1;min-height:38px}.worker-list-table td[data-label="Kompetencia"]{overflow-wrap:anywhere}}

/* V2.29.2 – mobile header removal must override legacy #appView rule */
@media(max-width:900px){#appView .mobile-topbar{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important}.app-shell>.main{padding-top:10px!important}}
/* V2.29.2 – final settings/mobile alignment pass */
#settingsView>.page-header,#workerSettingsView>.page-header{justify-content:center!important;text-align:center!important;align-items:center!important}
#settingsView>.page-header .header-actions,#workerSettingsView>.page-header .header-actions{justify-content:center!important}
@media(max-width:900px){
  #settingsView>.page-header,#workerSettingsView>.page-header{width:100%;text-align:center;align-items:center!important}
  #settingsView>.page-header h1,#workerSettingsView>.page-header h1{width:100%;text-align:center}
  #settingsView>.page-header .eyebrow,#workerSettingsView>.page-header .eyebrow{width:100%;text-align:center}
  .modern-table.mobile-card-table tr{overflow:hidden;box-sizing:border-box}
  .modern-table.mobile-card-table td{grid-template-columns:minmax(88px,31%) minmax(0,1fr);align-items:start;overflow-wrap:anywhere}
  .modern-table.mobile-card-table td > *{min-width:0;max-width:100%}
  .worker-list-table td[data-label="Művelet"] .table-actions,.task-list-table td[data-label="Művelet"] .table-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-account-table td[data-label="Művelet"] .table-actions{grid-template-columns:1fr}
}



/* V2.29.2 – final report/mobile/worker/header/backup polish */
.nav-item::before,.nav-submenu .nav-item::before,.sidebar-footer-menu .nav-item::before{content:none !important;display:none!important;width:0!important}
.brand-logo{filter:brightness(0) invert(1)!important}
.brand-motto{display:block;margin-top:2px;font-size:10px;line-height:1.25;color:#b9c9d8;max-width:250px;overflow-wrap:anywhere}
.backup-settings-card{display:grid;gap:14px}.backup-drive-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.backup-drive-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.backup-history-list{display:grid;gap:8px}.backup-history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--er-border);border-radius:10px;background:var(--er-surface-soft)}.backup-history-item>div{display:grid;gap:3px;min-width:0}.backup-history-item span,.backup-history-item small{color:var(--er-muted);overflow-wrap:anywhere}
@media(max-width:900px){
  #appView table:not(.allow-mobile-scroll):not(.pdf-print-table){min-width:0!important;max-width:100%!important}
  #appView .worker-home-grid table:not(.allow-mobile-scroll){display:block;overflow:visible!important}
  .schedule-suggestion-mode-card{width:100%;min-height:0!important;height:auto!important;box-sizing:border-box;align-items:flex-start;gap:10px;padding:13px 14px!important;overflow:hidden}
  .schedule-suggestion-mode-card span{min-width:0}.schedule-suggestion-mode-card small,.schedule-suggestion-mode-card strong{overflow-wrap:anywhere}
  .worker-list-table tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px}
  .worker-list-table tbody td{width:auto!important;box-sizing:border-box}
  .worker-list-table tbody td:nth-child(1){grid-column:1/-1}
  .worker-list-table tbody td:nth-child(2){grid-column:1}.worker-list-table tbody td:nth-child(3){grid-column:2}
  .worker-list-table tbody td:nth-child(4){grid-column:1}.worker-list-table tbody td:nth-child(5){grid-column:2}
  .worker-list-table tbody td:nth-child(6){grid-column:1}.worker-list-table tbody td:nth-child(7){grid-column:2}
  .worker-list-table tbody td:nth-child(8){grid-column:1/-1}
  .worker-list-table tbody td:nth-child(8) .table-actions{display:grid;grid-template-columns:1fr 1fr!important}
  .backup-history-item{display:grid;grid-template-columns:1fr}.backup-drive-links{display:grid;grid-template-columns:1fr}.backup-drive-link{width:100%;box-sizing:border-box}
  .brand-motto{max-width:180px;font-size:9px}
}
@media(max-width:430px){
  .worker-list-table tbody tr{grid-template-columns:1fr}
  .worker-list-table tbody td:nth-child(n){grid-column:1!important}
  .worker-list-table tbody td:nth-child(8) .table-actions{grid-template-columns:1fr 1fr!important}
  .brand-motto{max-width:145px}
}

/* V2.29.6 – beosztási javaslat mobil regresszió: a választókártya kizárólag a tartalom magasságát használja. */
@media(max-width:900px){
  .schedule-suggestion-dialog{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;max-height:92vh!important;overflow:auto!important;box-sizing:border-box!important}
  .schedule-suggestion-dialog form{min-width:0!important;width:100%!important;max-width:100%!important;overflow:visible!important;box-sizing:border-box!important}
  .schedule-suggestion-dialog .schedule-suggestion-mode{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;min-width:0!important;margin:12px 0!important}
  .schedule-suggestion-dialog .schedule-suggestion-mode-card{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;box-sizing:border-box!important;padding:12px!important;margin:0!important;gap:10px!important;overflow:visible!important}
  .schedule-suggestion-dialog .schedule-suggestion-mode-card input[type=radio]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:2px 0 0!important;padding:0!important;align-self:start!important}
  .schedule-suggestion-dialog .schedule-suggestion-mode-card > span{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-width:0!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;align-content:start!important;gap:3px!important}
  .schedule-suggestion-dialog .schedule-suggestion-mode-card strong,.schedule-suggestion-dialog .schedule-suggestion-mode-card small{display:block!important;min-width:0!important;width:auto!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;word-break:normal!important}
}
/* V2.29.6 – jelenléti ív maradjon a korábbi táblázatos mobilnézetben. */
.presence-preview-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.presence-preview-table{min-width:820px!important}
@media(max-width:900px){.presence-preview-scroll{overflow-x:auto!important}.presence-preview-table{display:table!important;width:max-content!important;max-width:none!important;min-width:820px!important}.presence-preview-table thead{display:table-header-group!important}.presence-preview-table tbody{display:table-row-group!important}.presence-preview-table tr{display:table-row!important}.presence-preview-table th,.presence-preview-table td{display:table-cell!important;white-space:nowrap!important;width:auto!important;min-width:0!important}}
/* V2.29.6 – dashboard beszerzés mobilon kártya, nincs oldalirányú görgetés. */
@media(max-width:900px){
  .dashboard-module-table{width:100%!important;min-width:0!important;overflow:visible!important}
  .dashboard-module-table .dashboard-procurement-table{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .dashboard-module-table .dashboard-procurement-table thead{display:none!important}
  .dashboard-module-table .dashboard-procurement-table tbody{display:grid!important;gap:9px!important;width:100%!important}
  .dashboard-module-table .dashboard-procurement-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px 12px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:12px!important;border:1px solid var(--ui-border,#d9dee5)!important;border-radius:12px!important;background:var(--ui-surface,#fff)!important;overflow:hidden!important}
  .dashboard-module-table .dashboard-procurement-table td{display:block!important;min-width:0!important;width:auto!important;padding:0!important;border:0!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .dashboard-module-table .dashboard-procurement-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-muted,#667085)}
  .dashboard-module-table .dashboard-procurement-table td:first-child{grid-column:1/-1}.dashboard-module-table .dashboard-procurement-table td:first-child::before{display:none}
  .dashboard-module-table .dashboard-procurement-table td:last-child{grid-column:1/-1;padding-top:7px!important;border-top:1px solid var(--ui-border,#e5e7eb)!important}.dashboard-module-table .dashboard-procurement-table td:last-child::before{display:none}
  .dashboard-module-table .dashboard-procurement-table select,.dashboard-module-table .dashboard-procurement-table .small-btn{max-width:100%!important;min-width:0!important}
}

/* V2.29.16 – projekt több munkakategóriás checklist */
.project-work-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
.project-work-type-picker-field .field-label{font-weight:750;font-size:13px;color:var(--er-text,#18212a)}
.project-work-type-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 11px;border:1px solid var(--er-border,#dfe5ec);border-radius:10px;background:var(--surface,#fff);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.project-work-type-option:hover{border-color:#9bb9b4}
.project-work-type-option input{width:18px;height:18px;min-width:18px;accent-color:#157a72}
.project-work-type-option:has(input:checked){border-color:#5d9d96;background:#f0f8f6;box-shadow:0 0 0 1px rgba(21,122,114,.08)}
.project-work-type-swatch{width:12px;height:12px;border-radius:4px;background:var(--work-type-color,#8c55b3);flex:0 0 auto}
.project-work-type-option strong{font-size:12px}
@media(max-width:700px){.project-work-type-picker{grid-template-columns:1fr}}


/* V2.29.16 – compact top-right toast */
.toast{
  width:max-content;
  max-width:min(360px,calc(100vw - 36px));
  min-width:0;
  height:auto;
  min-height:0;
  display:block;
  padding:10px 13px;
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:700px){
  .toast{max-width:calc(100vw - 24px);padding:10px 12px;white-space:normal;overflow-wrap:anywhere;}
}

/* V2.29.16 – quote/report action styling */
.quote-search-wrap{flex:2 1 680px;min-width:260px;}
#quoteStatusFilter{flex:0 1 300px;min-width:220px;}
.quote-list-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:6px;flex-wrap:nowrap;width:min(100%,430px);}
.quote-list-actions>*{flex:1 1 0;width:0;min-width:0;}
.quote-list-actions .quote-status-select{min-width:0;}
.quote-list-actions .quote-action{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:8px 10px;border-radius:9px;
  border:1px solid var(--er-border,#d9e1e0);
  font-weight:800;font-size:11px;text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
}
.quote-list-actions .quote-action-edit{background:var(--er-primary,#0f6f67);color:#fff;border-color:var(--er-primary,#0f6f67);}
.quote-list-actions .quote-action-pdf{background:#fff;color:var(--er-text,#1f2937);}
.quote-list-actions .quote-action-send{background:#eef6f4;color:var(--er-primary,#0f6f67);border-color:#cfe3df;}
.quote-list-actions .quote-action-project{background:#edf3fb;color:#35658e;border-color:#d3e0ed;}
.quote-list-actions .quote-action:hover{filter:brightness(.98);}
@media(max-width:780px){
  .quote-search-wrap,#quoteStatusFilter{flex:1 1 100%;min-width:0;}
  .quote-list-actions{width:100%;flex-wrap:wrap;}
  .quote-list-actions>*{flex:1 1 0;width:auto;min-width:0;}
}

/* CSV action uses the same visual family as the other report exports. */
#reportExportBtn{
  min-height:38px;padding:9px 13px;border-radius:9px;font-weight:800;
  background:#fff;color:var(--er-text,#1f2937);border:1px solid var(--er-border,#d9e1e0);
}
#reportExportBtn:hover{border-color:#b9cbc8;background:#f6f9f8;}


/* V2.29.16 – napi beosztás projekt-eszközkiadás és dolgozói projektfelkészülés */
.schedule-project-head-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.schedule-equipment-btn{border:1px solid #cfe7e4;background:#eef8f7;color:#0f766e;border-radius:8px;padding:6px 9px;font-weight:800;font-size:11px;cursor:pointer}.schedule-equipment-btn:hover{background:#e0f2f0}.worker-prep-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.equipment-issue-current{margin-top:12px;padding:11px 12px;border:1px solid #dfe8e8;border-radius:10px;background:#f7fbfb}.equipment-issue-current>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.equipment-issue-current span{padding:5px 8px;border-radius:999px;background:#e7f5f3;color:#155e59;font-size:12px;font-weight:700}.equipment-issue-dialog{max-width:720px}.equipment-issue-dialog select,.equipment-issue-dialog input[type=date],.equipment-issue-dialog input[type=number]{width:100%}


/* V2.29.16 – projektközpontú intelligens eszközajánlás */
.project-prep-section-title-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-prep-section-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.project-equipment-ai-btn{font-weight:800}.project-equipment-ai-dialog{width:min(980px,96vw);max-width:980px;padding:0}.project-equipment-ai-shell{display:grid;max-height:88vh}.project-equipment-ai-body{padding:0 20px 18px;overflow:auto;display:grid;gap:12px}.project-equipment-ai-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-equipment-ai-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-equipment-ai-section-head h3{margin:0;font-size:14px}.project-equipment-ai-list{display:grid;gap:8px}.project-equipment-ai-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 12px;border:1px solid var(--ui-border,#dfe5ea);border-radius:10px;background:var(--ui-surface,#fff)}.project-equipment-ai-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.project-equipment-ai-title strong{font-size:13px}.project-equipment-ai-main p{margin:4px 0;color:#475467;font-size:12px;line-height:1.4}.project-equipment-ai-main small{display:block;color:#667085;font-size:10px;line-height:1.35}.project-equipment-ai-controls{display:flex;align-items:end;gap:6px;flex-wrap:wrap;justify-content:flex-end}.project-equipment-ai-controls label{display:grid;gap:3px;font-size:10px;color:#667085;font-weight:700}.project-equipment-ai-controls input{width:72px;min-height:36px;padding:6px 8px}.project-equipment-ai-unit{align-self:end;padding-bottom:9px;font-size:11px;color:#667085}.project-equipment-ai-controls button{min-height:36px}.project-equipment-ai-additional,.project-equipment-ai-history{border:1px solid var(--ui-border,#dfe5ea);border-radius:10px;padding:9px 11px;background:var(--ui-surface-soft,#fafbfc)}.project-equipment-ai-additional summary,.project-equipment-ai-history summary{cursor:pointer;font-weight:800;font-size:12px}.project-equipment-ai-history-list{display:grid;gap:5px;margin-top:8px}.project-equipment-ai-history-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--ui-border,#e6e9ed);font-size:11px}.project-equipment-ai-footer{display:grid;gap:4px;font-size:10px;color:#667085;padding-top:4px}.project-equipment-ai-controls .danger{color:#a23b3b;border-color:rgba(162,59,59,.25)}
@media(max-width:700px){.project-prep-section-title-actions{align-items:flex-start;flex-direction:column}.project-prep-section-actions{width:100%}.project-prep-section-actions button{flex:1}.project-equipment-ai-dialog{width:calc(100vw - 10px);max-height:calc(100vh - 10px)}.project-equipment-ai-shell{max-height:calc(100vh - 10px)}.project-equipment-ai-body{padding:0 10px 12px}.project-equipment-ai-row{grid-template-columns:1fr}.project-equipment-ai-controls{justify-content:stretch}.project-equipment-ai-controls button{flex:1}.project-equipment-ai-controls label{flex:0 0 82px}.project-equipment-ai-unit{padding-bottom:10px}}
:root[data-theme="dark"] .project-equipment-ai-row{background:var(--ui-surface,#151d28)}

/* =========================================================
   V2.29.16 – projektközpontú beosztás
   Projekt → nap → dolgozók
   ========================================================= */
.schedule-main-actions{max-width:100%;}
.schedule-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
.schedule-view-switch{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--ui-border,#dfe5ea);border-radius:10px;background:var(--ui-surface-soft,#f7f9fa);}
.schedule-view-switch .secondary-btn{min-height:36px;padding:7px 11px;border:0;background:transparent;box-shadow:none;font-size:11px;font-weight:850;}
.schedule-view-switch .secondary-btn.active{background:#fff;color:#0f6f67;box-shadow:0 1px 5px rgba(16,24,40,.10);}
.schedule-day-nav{display:inline-flex;align-items:center;gap:5px;}
.schedule-day-nav .secondary-btn{min-width:38px;min-height:36px;}
.schedule-board[data-schedule-mode="week"]{overflow:auto;padding-bottom:8px;}
.schedule-week-grid{display:grid;grid-template-columns:minmax(220px,1.15fr) repeat(var(--schedule-week-day-count),minmax(170px,1fr));min-width:1180px;border:1px solid var(--ui-border,#dde4e8);border-radius:14px;overflow:hidden;background:var(--ui-surface,#fff);box-shadow:var(--ui-shadow,0 8px 24px rgba(16,24,40,.06));}
.schedule-week-corner,.schedule-week-day-head,.schedule-week-project-label,.schedule-week-cell{min-width:0;}
.schedule-week-corner{position:sticky;left:0;z-index:6;padding:12px 13px;background:#f7f9fa;border-bottom:1px solid #e4eaee;border-right:1px solid #e4eaee;display:grid;gap:2px;align-content:center;}
.schedule-week-corner strong{font-size:13px;}.schedule-week-corner span{font-size:10px;color:#7a8791;}
.schedule-week-day-head{position:sticky;top:0;z-index:5;padding:10px 10px;background:#f7f9fa;border-bottom:1px solid #e4eaee;border-right:1px solid #e4eaee;display:grid;gap:2px;align-content:center;}
.schedule-week-day-head strong{font-size:12px;text-transform:capitalize;}.schedule-week-day-head span{font-size:10px;color:#7a8791;}.schedule-week-day-head.is-today{background:#e9f6f4;box-shadow:inset 0 -3px 0 #0f6f67;}
.schedule-week-project-label{position:sticky;left:0;z-index:4;padding:11px 12px;background:#fff;border-right:1px solid #e4eaee;border-bottom:1px solid #edf1f3;border-left:4px solid var(--schedule-project-color,#0f6f67);display:grid;align-content:start;gap:4px;}
.schedule-week-project-label .schedule-project-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;}
.schedule-week-project-status{font-size:10px;color:#83909a;font-weight:700;}
.schedule-week-cell{padding:7px;background:#fbfcfc;border-right:1px solid #edf1f3;border-bottom:1px solid #edf1f3;min-height:148px;}
.schedule-week-cell .schedule-project-day{height:100%;}
.schedule-project-day{min-width:0;border:1px solid color-mix(in srgb,var(--schedule-project-color,#0f6f67) 23%,#dfe7ea);border-left:3px solid var(--schedule-project-color,#0f6f67);border-radius:10px;background:#fff;overflow:hidden;}
.schedule-project-day.drop-target{outline:2px dashed #0f6f67;outline-offset:-2px;background:#edf9f7;}
.schedule-project-day-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 9px;background:color-mix(in srgb,var(--schedule-project-color,#0f6f67) 8%,#fff);border-bottom:1px solid color-mix(in srgb,var(--schedule-project-color,#0f6f67) 14%,#e5ebee);}
.schedule-project-day-head>.schedule-project-title-row{min-width:0;flex:1;}
.schedule-project-day .schedule-project-title-row{display:flex;align-items:center;gap:7px;min-width:0;}
.schedule-project-link{max-width:100%;overflow-wrap:anywhere;}
.schedule-project-count{font-size:10px;color:#6f7d86;font-weight:800;white-space:nowrap;}
.schedule-project-types{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.schedule-project-types span,.schedule-project-day-note span{font-size:9.5px;line-height:1.2;padding:3px 5px;border-radius:999px;background:#f1f6f5;color:#416d67;border:1px solid #d9ebe8;font-weight:750;}
.schedule-project-workers{display:grid;gap:4px;padding:7px 8px;min-height:34px;}
.schedule-worker-chip{display:block;padding:5px 7px;border-radius:7px;border:1px solid #dce4e8;background:#eef4f7;font-size:10.5px;line-height:1.25;font-weight:750;overflow-wrap:anywhere;}
.schedule-worker-chip.role-student{background:#fff8df;border-color:#f1d36b;color:#765700}.schedule-worker-chip.role-worker{background:#edf6ff;border-color:#c6ddf3;color:#28557a}.schedule-worker-chip.role-leader{background:#fff1e4;border-color:#f0c48b;color:#7a4516}.schedule-worker-chip.role-owner{background:#f2ebff;border-color:#d1b7ef;color:#5d3d83}
.schedule-project-day-note{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px 6px;}
.schedule-project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0 8px 8px;}
.schedule-project-actions button{min-height:32px;padding:6px 8px;font-size:10px;}
.schedule-add-worker-btn{border:1px solid #cfe7e4;background:#eef8f7;color:#0f766e;border-radius:8px;font-weight:800;cursor:pointer;}
.schedule-move-btn{border:1px solid #d9dde7;background:#f7f8fb;color:#4c5564;border-radius:8px;font-weight:800;cursor:pointer;}
.schedule-group-handle{display:inline-flex;align-items:center;gap:4px;cursor:grab;user-select:none;white-space:nowrap;padding:5px 6px;border-radius:7px;border:1px dashed #b9cbc9;background:#f6fbfa;color:#36726d;font-size:9px;font-weight:850;}
.schedule-group-handle:active{cursor:grabbing}.schedule-group-handle.dragging{opacity:.55;}
.schedule-empty-day{padding:9px 6px;color:#89939a;font-size:10.5px;line-height:1.3;text-align:center;}
.schedule-daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.schedule-daily-project-card{min-width:0;border:1px solid #dde5e8;border-left:4px solid var(--schedule-project-color,#0f6f67);border-radius:14px;background:#fff;box-shadow:var(--ui-shadow,0 8px 24px rgba(16,24,40,.06));overflow:hidden;}
.schedule-daily-project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 13px;background:color-mix(in srgb,var(--schedule-project-color,#0f6f67) 7%,#fff);border-bottom:1px solid #e9edef;}
.schedule-daily-date{font-size:10px;color:#75818a;white-space:nowrap;}
.schedule-daily-workers{display:grid;gap:6px;padding:10px 11px;}
.schedule-daily-workers .schedule-card{min-width:0;cursor:grab;}
.schedule-daily-project-card .schedule-project-actions{padding:0 11px 11px;}
.schedule-mobile-week-list{display:grid;gap:10px;}
.schedule-mobile-week-day{border:1px solid var(--ui-border,#dde4e8);border-radius:12px;background:#fff;box-shadow:var(--ui-shadow,0 8px 20px rgba(16,24,40,.05));overflow:hidden;}
.schedule-mobile-week-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;background:#f7f9fa;border-bottom:1px solid #e9edef;}
.schedule-mobile-week-day-head strong{display:block;font-size:13px;text-transform:capitalize}.schedule-mobile-week-day-head span{font-size:10px;color:#7b8790;display:block;margin-top:2px;}
.schedule-mobile-week-day-head>span{font-size:10px;color:#617079;}
.schedule-mobile-week-projects{display:grid;gap:8px;padding:8px;}
.schedule-mobile-week-empty{padding:12px 4px;text-align:center;color:#8a959d;font-size:11px;}
.schedule-worker-add-dialog{max-width:680px;}
@media(max-width:1000px){.schedule-daily-grid{grid-template-columns:1fr;}.schedule-main-actions button{flex:1 1 auto;}}
@media(max-width:700px){
  .schedule-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .schedule-main-actions button{min-width:0;width:100%;}
  #scheduleView .schedule-toolbar{gap:9px;}
  .schedule-toolbar-left{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;}
  .schedule-toolbar-left .week-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .schedule-view-switch{justify-self:end;}
  .schedule-day-nav{grid-column:1/-1;justify-content:center;}
  .schedule-daily-grid{grid-template-columns:1fr;gap:10px;}
  .schedule-daily-project-card{border-radius:13px;}
  .schedule-daily-project-head{padding:13px 12px;}
  .schedule-daily-workers{padding:11px 10px;}
  .schedule-project-day-head{padding:9px 9px;}
  .schedule-project-actions{gap:6px;padding:0 9px 9px;}
  .schedule-project-actions button{flex:1 1 auto;min-height:36px;font-size:10.5px;}
  .schedule-project-types span,.schedule-project-day-note span{font-size:9px;}
  .schedule-worker-chip{font-size:11px;padding:7px 8px;}
  .schedule-pool{margin-top:10px;}
  #scheduleBoard[data-schedule-mode="week"]{overflow:visible;}
  #scheduleBoard[data-schedule-mode="day"]{overflow:visible;}
  .schedule-week-grid{min-width:0;}
}
:root[data-theme="dark"] .schedule-view-switch{background:#121a22;border-color:#2b3743;}
:root[data-theme="dark"] .schedule-view-switch .secondary-btn.active{background:#1d2a34;color:#82d0c7;}
:root[data-theme="dark"] .schedule-week-corner,:root[data-theme="dark"] .schedule-week-day-head{background:#111a22;border-color:#28343f;}
:root[data-theme="dark"] .schedule-week-project-label{background:#151d28;border-color:#2b3743;}
:root[data-theme="dark"] .schedule-week-cell{background:#10171e;border-color:#25313b;}
:root[data-theme="dark"] .schedule-project-day,:root[data-theme="dark"] .schedule-daily-project-card,:root[data-theme="dark"] .schedule-mobile-week-day{background:#151d28;border-color:#2b3743;}
:root[data-theme="dark"] .schedule-project-day-head,:root[data-theme="dark"] .schedule-daily-project-head,:root[data-theme="dark"] .schedule-mobile-week-day-head{background:#111a22;border-color:#26323d;}
:root[data-theme="dark"] .schedule-worker-chip{background:#1d2a34;border-color:#354653;color:#d8e4eb;}
:root[data-theme="dark"] .schedule-add-worker-btn{background:#15312e;color:#8fd9d0;border-color:#285b55;}
:root[data-theme="dark"] .schedule-move-btn{background:#1b2028;color:#d5dbe3;border-color:#39424e;}
:root[data-theme="dark"] .schedule-group-handle{background:#132321;color:#8fd9d0;border-color:#285b55;}


/* V2.29.16 – project-centric mobile schedule selector + daily drag targets */
.schedule-mobile-day-selector{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.schedule-mobile-day-jump{min-width:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}
.schedule-mobile-day-jump strong{font-size:11px;line-height:1.1;text-transform:uppercase}.schedule-mobile-day-jump span{font-size:14px;font-weight:800;color:var(--text)}.schedule-mobile-day-jump small{font-size:9px;line-height:1;color:var(--muted)}
.schedule-mobile-day-jump.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.schedule-daily-project-card.drop-target,.schedule-project-day.drop-target{box-shadow:0 0 0 2px var(--accent) inset,0 12px 28px rgba(0,0,0,.08)}
@media(max-width:700px){.schedule-mobile-day-selector{position:sticky;top:0;z-index:3;overflow:auto;grid-template-columns:repeat(7,48px)}.schedule-mobile-day-jump{min-height:54px}}

/* =========================================================
   V2.29.20 – Beosztás UX / responsive final hardening
   - teljes rendelkezésre álló szélesség
   - mobil NAPI + HETI nem örökli a régi 7 oszlopos gridet
   - azonos műveleti gombok minden nézetben
   - dolgozó külön kivehető
   ========================================================= */
#scheduleView,
#scheduleView > .page-header,
#scheduleView > .schedule-toolbar,
#scheduleView > #scheduleBoard,
#scheduleView > #schedulePool{width:100%;max-width:none;min-width:0;box-sizing:border-box;}
#scheduleView > #scheduleBoard{display:block;}
#scheduleBoard[data-schedule-mode="week"]{overflow-x:auto;overflow-y:visible;padding-bottom:10px;}
#scheduleBoard[data-schedule-mode="day"]{overflow:visible;}
.schedule-week-grid{width:100%;min-width:0;grid-template-columns:minmax(220px,1.15fr) repeat(var(--schedule-week-day-count),minmax(140px,1fr));}
.schedule-week-project-label{min-width:0;}
.schedule-week-project-label .schedule-project-title-row{min-width:0;}
.schedule-project-link{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.schedule-project-day-head{min-width:0;}
.schedule-project-day-head>.schedule-project-title-row{min-width:0;}
.schedule-project-day .schedule-project-title-row{min-width:0;}
.schedule-project-count{flex:0 0 auto;}
.schedule-group-handle{width:28px;height:28px;min-width:28px;padding:0;display:grid;place-items:center;font-size:16px;line-height:1;}
.schedule-worker-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;}
.schedule-worker-chip > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.schedule-worker-remove{width:24px;min-width:24px;height:24px;min-height:24px;padding:0;display:grid;place-items:center;border:1px solid #e2caca;border-radius:7px;background:#fff5f5;color:#a23b3b;font-size:15px;line-height:1;font-weight:900;cursor:pointer;}
.schedule-worker-remove:hover{background:#ffe8e8;border-color:#d8aaaa;}
.schedule-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;}
.schedule-card-main{min-width:0;display:grid;gap:2px;}
.schedule-card-main strong,.schedule-card-main span,.schedule-card-main small{min-width:0;overflow-wrap:anywhere;}
.schedule-card .schedule-worker-remove{align-self:start;}
.schedule-project-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
.schedule-project-actions .schedule-action-btn{width:100%;min-width:0;min-height:34px;padding:7px 8px;border-radius:8px;font-size:10px;line-height:1.15;white-space:normal;}
.schedule-equipment-btn,.schedule-ai-btn{border:1px solid #cfe7e4;background:#eef8f7;color:#0f766e;border-radius:8px;font-weight:800;cursor:pointer;}
.schedule-ai-btn{background:#f4effb;border-color:#d9c9ed;color:#69488d;}
.schedule-add-worker-btn,.schedule-move-btn{border-radius:8px;font-weight:800;cursor:pointer;}
.schedule-mobile-week-list{width:100%;min-width:0;display:grid;gap:10px;}
.schedule-mobile-week-day{width:100%;min-width:0;}
.schedule-mobile-week-projects{width:100%;min-width:0;}
.schedule-daily-grid{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));}
.schedule-daily-project-card{width:100%;min-width:0;}
.schedule-daily-project-head > div:first-child{min-width:0;flex:1;}
.schedule-daily-workers{width:100%;min-width:0;}

@media(max-width:1100px) and (min-width:701px){
  .schedule-week-grid{grid-template-columns:minmax(190px,1.05fr) repeat(var(--schedule-week-day-count),minmax(125px,1fr));}
  .schedule-project-types span,.schedule-project-day-note span{font-size:9px;}
  .schedule-project-actions{grid-template-columns:1fr 1fr;}
  .schedule-project-actions .schedule-action-btn{font-size:9px;padding:6px 5px;}
}

@media(max-width:700px){
  #scheduleView{width:100%;max-width:none;}
  #scheduleView > .page-header{width:100%;}
  #scheduleView > .page-header > .header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  #scheduleView > .page-header > .header-actions button{width:100%;min-width:0;}
  #scheduleView .schedule-toolbar{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;}
  #scheduleView .schedule-toolbar-left{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
  #scheduleView .schedule-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  #scheduleView .schedule-actions button{width:100%;min-width:0;}
  #scheduleBoard[data-schedule-mode="week"]{display:block;width:100%;min-width:0;overflow:visible;}
  #scheduleBoard[data-schedule-mode="day"]{display:block;width:100%;min-width:0;overflow:visible;}
  .schedule-week-grid{display:block;width:100%;min-width:0;border:0;border-radius:0;box-shadow:none;background:transparent;}
  .schedule-week-grid > .schedule-week-corner,
  .schedule-week-grid > .schedule-week-day-head,
  .schedule-week-grid > .schedule-week-project-label,
  .schedule-week-grid > .schedule-week-cell{display:none;}
  .schedule-mobile-day-selector{width:100%;max-width:100%;overflow-x:auto;display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));}
  .schedule-mobile-day-selector .schedule-mobile-day-jump{min-width:48px;}
  .schedule-mobile-week-list{display:grid;width:100%;gap:10px;}
  .schedule-mobile-week-day{width:100%;}
  .schedule-mobile-week-projects{padding:8px;width:100%;}
  .schedule-project-day{width:100%;}
  .schedule-project-actions{grid-template-columns:1fr 1fr;}
  .schedule-project-actions .schedule-action-btn{min-height:38px;font-size:10.5px;padding:7px 7px;}
  .schedule-daily-grid{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:10px;}
  .schedule-daily-project-card{width:100%;max-width:none;}
  .schedule-daily-project-head{padding:13px 12px;}
  .schedule-daily-workers{padding:11px 10px;}
  .schedule-card{min-width:0;padding:10px;}
  .schedule-card strong{font-size:14px;}
  .schedule-card span,.schedule-card small{font-size:11px;}
  .schedule-worker-remove{width:28px;min-width:28px;height:28px;min-height:28px;}
  .schedule-project-link{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;}
}

:root[data-theme="dark"] .schedule-worker-remove{background:#2a1e21;color:#ffb3b3;border-color:#5d3a40;}
:root[data-theme="dark"] .schedule-equipment-btn{background:#17312f;color:#8fd9d0;border-color:#285b55;}
:root[data-theme="dark"] .schedule-ai-btn{background:#2b2333;color:#d7baf0;border-color:#4d3a5b;}

/* V2.29.20 – final schedule/workflow/mobile hardening */
.schedule-week-cell-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;min-height:28px;padding:2px 1px;}
.schedule-week-cell-summary strong{font-size:12px;line-height:1.1;white-space:nowrap;color:var(--text);}
.schedule-week-cell-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--muted);text-align:right;}
.schedule-worker-chip{cursor:grab;}
.schedule-worker-chip:active,.schedule-worker-chip.dragging{cursor:grabbing;}
.schedule-worker-chip .schedule-worker-remove{cursor:pointer;}
.schedule-worker-multiselect{display:grid;gap:6px;max-height:min(48vh,380px);overflow:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);}
.schedule-worker-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);min-width:0;}
.schedule-worker-option input{width:18px;height:18px;margin:0;accent-color:var(--accent);}
.schedule-worker-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;}
.schedule-worker-option small{font-size:10px;color:var(--muted);white-space:nowrap;}
.schedule-worker-option.is-blocked{opacity:.62;}
.schedule-conflict-list{margin-top:8px;border:1px solid var(--border);border-radius:10px;padding:7px 9px;background:var(--surface-alt,var(--surface));}
.schedule-conflict-list summary{cursor:pointer;font-weight:750;}
.project-workflow-engine{display:grid;gap:14px;margin:16px 0;}
.project-workflow-add{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.project-workflow-add select{width:100%;min-height:42px;}
.project-workflow-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.project-workflow-card{display:grid;gap:8px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.project-workflow-card>div:first-child{display:grid;gap:4px;min-width:0;}
.project-workflow-card>div:first-child strong{overflow-wrap:anywhere;}
.project-workflow-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:11px;}
.project-workflow-meta span{white-space:nowrap;}
.survey-types-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;}
.survey-types-toggle[aria-expanded="true"] span{transform:rotate(180deg);}
.survey-type-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.mobile-nav-system .mobile-nav-theme{width:100%;justify-content:flex-start;min-height:42px;}
#projectImageViewerImg{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;object-position:center;}
#scheduleView .modal-actions button,#scheduleView .project-prep-actions button{min-height:38px;}
#scheduleView .schedule-project-actions .schedule-action-btn{font-weight:800;letter-spacing:-.01em;}
#scheduleView,#scheduleView *{box-sizing:border-box;}
#scheduleView .schedule-project-day,#scheduleView .schedule-daily-project-card,#scheduleView .schedule-card{min-width:0;}

@media(max-width:700px){
  #scheduleView .page-header,.schedule-toolbar,.schedule-daily-grid,.schedule-mobile-week-focus,#scheduleBoard{max-width:none;width:100%;}
  #scheduleBoard[data-schedule-mode="week"]{overflow:visible;}
  .schedule-mobile-week-focus{display:grid;gap:10px;}
  .schedule-mobile-week-focus-projects{display:grid;gap:10px;width:100%;min-width:0;}
  .schedule-mobile-week-focus .schedule-project-day{margin:0;width:100%;}
  .schedule-project-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
  .schedule-project-actions .schedule-action-btn{min-height:40px;padding:8px 7px;font-size:10.5px;}
  .schedule-worker-multiselect{max-height:45vh;}
  .project-workflow-list{grid-template-columns:1fr;}
  .project-workflow-card{padding:11px;}
  .survey-type-buttons{display:grid;grid-template-columns:1fr 1fr;}
  .survey-type-buttons .secondary-btn{width:100%;}
  #projectImageViewerImg{max-height:calc(100vh - 150px);}
}

:root[data-theme="dark"] .schedule-worker-option,
:root[data-theme="dark"] .schedule-worker-multiselect,
:root[data-theme="dark"] .project-workflow-card,
:root[data-theme="dark"] .project-workflow-add,
:root[data-theme="dark"] .schedule-conflict-list{background:var(--surface);}


.quote-material-toggle-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-material-ai-panel{margin:12px 0;padding:12px;border:1px solid #dbe4e6;border-radius:9px;background:#f8fbfb}.quote-material-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-material-ai-kpis{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.quote-material-ai-kpis span{padding:8px 10px;border:1px solid #dce5e7;border-radius:7px;background:#fff;font-size:11px}.quote-material-ai-kpis strong{display:block;margin-top:2px;font-size:13px}.quote-material-ai-table{overflow:auto;border:1px solid #e1e7e9;border-radius:8px;background:#fff}.qmai-head,.qmai-row{display:grid;grid-template-columns:1.2fr 1.5fr .8fr 1fr 1fr 2fr;gap:8px;padding:8px 10px;min-width:820px}.qmai-head{font-size:10px;font-weight:800;color:#667085;background:#eef4f4}.qmai-row{font-size:11px;border-top:1px solid #edf0f1}.qmai-row>span{min-width:0}.qmai-row strong{font-size:11px}.quote-item-row .qi-type{min-width:0}.quote-item-row:has(.qi-type option:checked[value="MATERIAL"]){background:#f7fbfa}
@media(max-width:780px){.quote-material-ai-head{align-items:stretch;flex-direction:column}.quote-material-ai-head .secondary-btn{width:100%}.quote-material-ai-kpis{display:grid;grid-template-columns:1fr 1fr}.quote-material-ai-kpis span:last-child{grid-column:1/-1}}
:root[data-theme="dark"] .quote-material-ai-panel{background:#111a20;border-color:#2b3a42}.
:root[data-theme="dark"] .quote-material-ai-kpis span,.
:root[data-theme="dark"] .quote-material-ai-table{background:#151d26;border-color:#2b3743}
/* V2.30.0 – projekt-várakozás és szabad szöveges munkafolyamat */
.project-bar-waiting,.project-month-bar-waiting{background:#c8ced5 !important;color:#334155 !important;border-color:#b5bdc7 !important;box-shadow:none !important;cursor:default !important;}
.project-bar-waiting span,.project-month-bar-waiting small{color:#334155 !important;}
.project-mobile-card.waiting{opacity:.78;border-style:dashed;}
.project-mobile-card.waiting .project-mobile-color{background:#9aa3ad !important;}
.schedule-activity-btn{border-color:color-mix(in srgb,var(--accent,#0f6f67) 35%,#d9e4e2);}

/* V2.30.9 – mobile card conversion hardening for management tables */
@media(max-width:700px){
  .approvals-modern-table{display:block!important;overflow:visible!important;width:100%!important;min-width:0!important}
  .approval-list{width:100%;min-width:0;overflow:visible}
  .procurement-table,.price-list-table,.inventory-count-mobile-table,.salary-benefits-mobile-table,.manager-hours-mobile-table,.presence-calendar-mobile-table,.inventory-report-mobile-table{overflow:visible!important}
  .mobile-card-table select,.mobile-card-table input,.mobile-card-table textarea{max-width:100%;width:100%;box-sizing:border-box}
}


/* V2.30.9 – mobil dolgozói nézet: kompakt, alapból összecsukott eszközök / feladatok / anyagigények. */
#workerHomeView .worker-compact-details{
  padding:0!important;
  overflow:hidden!important;
}
#workerHomeView .worker-compact-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:13px 15px;
  margin:0;
  background:var(--ui-surface,#fff);
}
#workerHomeView .worker-compact-summary::-webkit-details-marker{display:none}
#workerHomeView .worker-compact-summary::after{display:none}
#workerHomeView .worker-compact-summary-main{display:grid;gap:2px;min-width:0}
#workerHomeView .worker-compact-summary-main strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
#workerHomeView .worker-compact-summary-main small{font-size:11px;color:var(--ui-muted,#667085);line-height:1.25;overflow-wrap:anywhere}
#workerHomeView .worker-compact-summary-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}
#workerHomeView .worker-compact-chevron{font-size:17px;font-weight:900;color:var(--ui-muted,#667085);transition:transform .15s ease}
#workerHomeView .worker-compact-details[open] .worker-compact-chevron{transform:rotate(180deg)}
#workerHomeView .worker-compact-details[open] .worker-compact-summary{border-bottom:1px solid var(--ui-border,#e5e7eb)}
#workerHomeView .worker-compact-body{padding:0 13px 13px;min-width:0}
#workerHomeView .worker-compact-body .worker-task-list{margin:0}
#workerHomeView .worker-compact-body .worker-material-list{margin-top:0}
#workerHomeView .worker-compact-body .worker-prep-head-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:9px}
#workerHomeView .worker-compact-body .worker-prep-head-actions .small-btn,
#workerHomeView .worker-compact-body .worker-prep-head-actions .secondary-btn,
#workerHomeView .worker-compact-body .worker-prep-head-actions .primary-btn{min-height:36px;padding:7px 10px}
#workerHomeView .worker-project-prep-card .worker-project-prep-grid{grid-template-columns:1fr!important;gap:10px!important}
#workerHomeView .worker-project-prep-item{padding:8px 0!important;border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
#workerHomeView .worker-project-prep-actions{gap:5px!important}
#workerHomeView .worker-project-prep-actions .small-btn{min-height:32px!important;padding:5px 8px!important;font-size:11px}
#workerHomeView .worker-material-item{padding:8px!important;border-radius:8px!important;grid-template-columns:28px minmax(0,1fr) auto}
#workerHomeView .worker-material-item-icon{width:26px;height:26px;border-radius:7px}
#workerHomeView .worker-material-item-main strong{font-size:12px!important}
#workerHomeView .worker-material-item-main span{font-size:10px!important}
#workerHomeView .worker-material-item-main small{font-size:9px!important}
#workerHomeView .worker-material-action{min-height:38px!important;margin-top:8px!important}
#workerHomeView .worker-task{padding:8px 0!important}
#workerHomeView .worker-task-main{gap:8px!important}
#workerHomeView .worker-task-copy strong{font-size:12px!important}
#workerHomeView .worker-task-copy span{font-size:10px!important}

/* V2.30.9 – vezetői eszközáttekintés: projektenként kompakt, alapból zárt lista. */
.equipment-compact-project{padding:0!important;overflow:hidden!important}
.equipment-project-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;margin:0;background:var(--ui-surface,#fff)}
.equipment-project-summary::-webkit-details-marker{display:none}
.equipment-project-summary-main{display:grid;gap:2px;min-width:0}
.equipment-project-summary-main strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.equipment-project-summary-main small{font-size:11px;color:var(--ui-muted,#667085);line-height:1.25;overflow-wrap:anywhere}
.equipment-project-summary-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.equipment-count-badge{min-width:28px;height:28px;padding:0 7px;display:grid;place-items:center;border:1px solid var(--ui-border,#d9e0e6);border-radius:9px;background:var(--ui-surface-soft,#f7f9fa);font-weight:800;font-size:11px}
.equipment-chevron{font-size:17px;font-weight:900;color:var(--ui-muted,#667085);transition:transform .15s ease}
.equipment-compact-project[open] .equipment-chevron{transform:rotate(180deg)}
.equipment-compact-project[open] .equipment-project-summary{border-bottom:1px solid var(--ui-border,#e5e7eb)}
.equipment-project-body{padding:0 13px 13px}
.equipment-project-head-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:10px 0 9px}
.equipment-project-head-actions .primary-btn,.equipment-project-head-actions .secondary-btn{min-height:36px;padding:7px 11px}
.equipment-project-list{display:grid;gap:0}
.equipment-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--ui-border,#edf0f2)}
.equipment-work-row label{display:flex;align-items:flex-start;gap:8px;min-width:0}
.equipment-work-row label>span{display:grid;gap:2px;min-width:0}
.equipment-work-row label strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.equipment-work-row label small{font-size:10px;color:var(--ui-muted,#667085);line-height:1.25;overflow-wrap:anywhere}
.equipment-work-confirmed{font-size:10px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.equipment-work-row .table-actions{grid-column:1/-1;display:flex;gap:6px;justify-content:flex-end;padding-top:2px}
.equipment-work-row .table-actions .small-btn{min-height:32px;padding:5px 9px;font-size:11px}
@media(max-width:700px){
  .equipment-project-summary{padding:12px}
  .equipment-project-body{padding:0 11px 11px}
  .equipment-work-row{grid-template-columns:minmax(0,1fr)}
  .equipment-work-confirmed{display:none}
  .equipment-work-row .table-actions{justify-content:stretch}
  .equipment-work-row .table-actions .small-btn{flex:1 1 0}
}

/* V2.30.10 – beosztás több dolgozó + mai nap kiemelés */
.schedule-worker-picker{border:1px solid var(--ui-border,#d7e0e8);border-radius:14px;padding:12px;background:#fff}
.schedule-worker-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.schedule-worker-picker-head span{font-size:12px;font-weight:800;color:#0f766e;background:#e8f7f4;border-radius:999px;padding:5px 9px}
.schedule-new-add-dialog .schedule-worker-multiselect{max-height:300px;overflow:auto;display:grid;gap:6px}
.schedule-new-add-dialog .schedule-worker-option{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e2e8ee;border-radius:10px;background:#f8fafb;cursor:pointer}
.schedule-new-add-dialog .schedule-worker-option:has(input:checked){border-color:#0f766e;background:#edf9f7}
.schedule-new-add-dialog .schedule-worker-option input{min-height:auto;width:18px;height:18px;margin:0}
.schedule-new-add-dialog .schedule-worker-option small{font-size:11px;color:#718096}
.schedule-week-day-head.is-today{background:#dff4ef;border-color:#0f766e;box-shadow:inset 0 -4px 0 #0f766e,0 0 0 2px rgba(15,118,110,.10)}
.schedule-week-day-head.is-today strong{color:#075e57}
.schedule-week-cell.is-today{background:rgba(15,118,110,.055);box-shadow:inset 2px 0 0 rgba(15,118,110,.28),inset -2px 0 0 rgba(15,118,110,.28)}
.today-badge,.today-inline-badge{display:inline-flex;align-items:center;justify-content:center;background:#0f766e;color:#fff;border-radius:999px;font-size:10px;font-weight:900;line-height:1;padding:4px 7px;margin-right:6px;vertical-align:middle}
.today-inline-badge{font-size:11px;margin-right:8px}
.schedule-mobile-day-jump.is-today{border-color:#0f766e;background:#e8f7f4;box-shadow:0 0 0 2px rgba(15,118,110,.12)}
.schedule-mobile-day-jump.is-today strong{color:#075e57}

/* V2.30.11 – gépelhető ügyfél/dolgozó választó */
.person-combobox{position:relative;width:100%;min-width:0}
.person-combobox .person-native-select{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important}
.person-combobox-input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #d6dde6;border-radius:12px;background:#fff;padding:11px 14px;font:inherit;color:#243041;outline:none;transition:border-color .15s,box-shadow .15s}
.person-combobox-input:focus{border-color:#2f7c75;box-shadow:0 0 0 3px rgba(47,124,117,.12)}
.person-combobox.open .person-combobox-input{border-bottom-left-radius:8px;border-bottom-right-radius:8px}
.person-combobox-selected{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.person-chip{border:1px solid #c9dedb;background:#eef8f6;color:#166b64;border-radius:999px;padding:5px 9px;font:600 13px/1.2 inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.person-combobox-list{position:absolute;left:0;right:0;top:calc(100% - 1px);z-index:10020;max-height:280px;overflow:auto;background:#fff;border:1px solid #d6dde6;border-top:0;border-radius:0 0 12px 12px;box-shadow:0 14px 28px rgba(16,24,40,.16);padding:6px}
.person-combobox-option{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-radius:9px;background:#fff;padding:11px 10px;min-height:44px;color:#243041;font:600 15px/1.25 inherit;cursor:pointer}
.person-combobox-option:hover,.person-combobox-option:focus{background:#f1f7f6;outline:none}
.person-combobox-option input{width:20px;height:20px;flex:0 0 auto}
.person-combobox-empty,.person-combobox-more{padding:12px 10px;color:#667085;font-size:13px;text-align:center}
.person-combobox-more{border-top:1px solid #eef1f4}
@media(max-width:800px){
  .person-combobox-input{min-height:50px;font-size:16px;padding:12px 14px}
  .person-combobox-list{max-height:min(42vh,320px);padding:5px}
  .person-combobox-option{min-height:48px;font-size:16px;padding:12px 10px}
  .person-combobox-selected{margin-top:7px}
  .person-chip{font-size:14px;padding:7px 10px}
}

/* V2.31.8 – központi beállításközpont + egyedi menücsoportok */
.settings-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.settings-grid-two .full{grid-column:1/-1}
.settings-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.settings-check-grid label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--er-border,#dfe5e4);border-radius:10px;background:var(--er-surface-soft,#f8fafb);font-size:13px}
.settings-check-grid input{min-height:auto;width:18px;height:18px;flex:0 0 auto}
.menu-builder-toolbar{display:flex;gap:8px;align-items:center;margin:12px 0;flex-wrap:wrap}
.menu-builder-toolbar input{flex:1 1 280px;min-width:200px}
.menu-custom-group-editor{display:grid;grid-template-columns:24px 24px minmax(180px,1fr) auto minmax(120px,180px) auto auto;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid #cfdcd9;border-radius:10px;background:#f6faf9}
.menu-custom-group-editor .menu-group-name{min-width:0}
.nav-custom-group-head{padding-right:4px}
.nav-custom-group-label{display:flex;align-items:center;gap:9px;color:var(--er-text,#182230);font-weight:800;min-width:0;padding:8px 10px}
.nav-custom-group-label svg{width:18px;height:18px;color:var(--er-primary,#2f6f68)}
@media(max-width:900px){.settings-grid-two{grid-template-columns:1fr}.settings-check-grid{grid-template-columns:1fr}.menu-custom-group-editor{grid-template-columns:22px 22px minmax(0,1fr) auto;gap:6px}.menu-custom-group-editor .menu-group-name{grid-column:3/-1}.menu-custom-group-editor .menu-edit-icon-select{grid-column:3/-1}.menu-custom-group-editor .menu-edit-enabled{grid-column:3}.menu-custom-group-editor>[data-menu-group-delete]{grid-column:4}.menu-builder-toolbar{display:grid;grid-template-columns:1fr}.menu-builder-toolbar button{width:100%}}

/* V2.31.8 – központi vezetői beállításközpont + saját menücsoportok */
.admin-settings-grid{display:grid;gap:12px}
.admin-settings-section{border:1px solid var(--ui-border,#e3e8eb);background:var(--ui-surface,#fff);border-radius:10px;padding:14px}
.admin-settings-section .section-title{font-weight:800;margin-bottom:6px}
.admin-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.admin-toggle-grid label{display:flex;align-items:flex-start;gap:8px;min-height:34px;padding:7px 0}
.admin-toggle-grid input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;flex:0 0 18px;margin-top:2px}
.admin-settings-actions{justify-content:flex-end}
.settings-safe-note{margin-top:12px}
.menu-group-create{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:8px;align-items:center;margin:12px 0}
.menu-group-create input,.menu-group-create select{min-width:0}
.nav-custom-group .custom-nav-group-head{background:var(--ui-surface-soft,#f7f9fa)}
.nav-custom-group .nav-custom-group-label{display:flex;align-items:center;gap:9px;min-width:0;padding:0 2px;font-weight:800;font-size:12px}
.nav-custom-group .nav-custom-group-label svg{width:17px;height:17px;flex:0 0 auto}
.menu-edit-group-item{border-style:dashed;background:var(--ui-surface-soft,#f8fafb)}
.menu-edit-group-item .menu-edit-group-name{min-width:140px;flex:1 1 220px;font-weight:800}
.menu-edit-group-item.drag-over,.menu-edit-item.drag-over{outline:2px solid color-mix(in srgb,var(--accent,#0f6f67) 45%,transparent);outline-offset:-2px}
.menu-editor-list{display:grid;gap:6px}
.menu-editor-list .menu-edit-item{min-width:0}
@media(max-width:700px){
  .admin-settings-grid{width:100%;min-width:0}
  .admin-settings-section{width:100%;min-width:0;overflow:hidden}
  .admin-toggle-grid{grid-template-columns:1fr;min-width:0}
  .menu-group-create{grid-template-columns:1fr}
  .menu-group-create button{width:100%}
  .menu-edit-group-item{flex-wrap:wrap}
  .menu-edit-group-item .menu-edit-group-name{min-width:0;width:100%;order:3}
  .admin-settings-section{padding:12px}
}
body[data-worker-tasks-enabled="0"] #workerHomeView .worker-tasks-card{display:none!important}
body[data-worker-equipment-enabled="0"] #workerHomeView .worker-project-prep-card{display:none!important}
body[data-worker-materials-enabled="0"] #workerHomeView .worker-material-card{display:none!important}
body[data-worker-history-enabled="0"] #workerHomeView .worker-history-card{display:none!important}
:root[data-theme="dark"] .admin-settings-section,.root[data-theme="dark"] .admin-settings-section{background:var(--surface,#151d26);border-color:#2b3743}
:root[data-theme="dark"] .menu-edit-group-item{background:#111a20}

/* V2.31.8 – egységes fehér ÉpítRend menübrand + verzió */
#appView .brand-logo,
#appView .mobile-nav-brand img,
#appView .topbar-brand img{
  filter:brightness(0) invert(1)!important;
}
#appView .mobile-nav-brand{align-items:center;}
#appView .mobile-nav-brand>div{display:flex;flex-direction:column;gap:1px;min-width:0;}
#appView .mobile-nav-brand strong{font-size:16px;color:#fff;line-height:1.1;}
#appView .mobile-nav-brand small{font-size:10px;letter-spacing:.08em;color:#b9c9d8;line-height:1.2;}
#appView .topbar-brand{display:flex;align-items:center;gap:8px;min-width:0;margin-right:auto;}
#appView .topbar-brand img{width:30px;height:30px;object-fit:contain;flex:0 0 auto;}
#appView .topbar-brand>div{display:flex;flex-direction:column;gap:1px;min-width:0;}
#appView .topbar-brand strong{font-size:14px;color:#fff;line-height:1.05;}
#appView .topbar-brand small{font-size:9px;letter-spacing:.07em;color:#b9c9d8;line-height:1.1;}
@media(max-width:800px){
  #appView .mobile-nav-brand img{width:42px;height:42px;}
  #appView .topbar-brand{margin-right:0;}
}
/* V2.31.8 – közös ügyvezetői üzenőfal */
.owner-wall-card .section-title-line{align-items:flex-start}
.owner-wall-subtitle{display:block;margin-top:3px;color:var(--er-muted);font-size:11px;font-weight:500}
.owner-wall-note{align-items:flex-start}
.owner-wall-note-main{min-width:0;display:grid;gap:4px}
.owner-wall-note-main strong{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:650}
.owner-wall-note-main small{color:var(--er-muted);font-size:10px}
.owner-wall-note.is-done{opacity:.68}
.owner-wall-completed{margin-top:10px;border-top:1px solid var(--er-border);padding-top:8px}
.owner-wall-completed summary{cursor:pointer;color:var(--er-muted);font-size:12px;font-weight:700;padding:4px 0}
.done-static{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--er-surface-soft);color:var(--er-muted);font-weight:800;flex:0 0 28px}
@media(max-width:900px){.owner-wall-subtitle{max-width:220px}.owner-wall-note-main strong{font-size:13px}}

/* V2.31.13 – ügyfél adatvédelmi tájékoztató és érintetti kérelem */
.public-privacy-actions{margin-top:18px;display:flex;justify-content:flex-start}.public-privacy-panel{margin-top:18px}.public-privacy-card{border-top:1px solid var(--border,#dfe4e8);padding-top:20px}.public-privacy-card p{line-height:1.6}.privacy-request-box{margin-top:20px;padding:18px;border:1px solid var(--border,#dfe4e8);border-radius:8px;background:var(--surface,#fff)}.privacy-request-box h3{margin-top:0}.privacy-request-box .form-grid{margin-bottom:14px}

/* V2.31.13 – vezetői adatvédelmi kérelem lista */
#privacyRequestsList .section-box{margin-bottom:12px}#privacyRequestsList .modal-actions{align-items:center;flex-wrap:wrap}#privacyRequestsList input{min-width:280px}

/* V2.31.13 – külön adatvédelmi oldal + mobil ügyféladat-kérelem */
.public-privacy-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid #e3dce7;border-radius:18px;box-shadow:0 12px 36px rgba(52,28,68,.08);padding:28px}.privacy-page-content h3{margin:22px 0 7px;font-size:17px}.privacy-page-content ul{padding-left:22px}.privacy-customer-box{margin-top:28px;padding:20px;border:1px solid #dfe5e8;border-radius:14px;background:#fafcfc}.privacy-edit-form .form-grid{margin-top:14px}.privacy-settings-section textarea{width:100%;resize:vertical}.privacy-settings-section{overflow:hidden}@media(max-width:700px){.public-privacy-card{padding:16px;border-radius:12px}.public-privacy-card .public-quote-brand{align-items:flex-start;flex-direction:column}.privacy-customer-box{padding:14px}.privacy-edit-form .modal-actions{flex-direction:column}.privacy-edit-form .modal-actions button{width:100%}}

/* V2.31.19 – adatkezelési dokumentumok */
.privacy-document-card{border:1px solid var(--border,#dfe4ea);border-radius:12px;padding:18px;margin-top:14px;background:var(--surface,#fff)}
.privacy-document-content{line-height:1.55}.privacy-document-content h4{margin:18px 0 7px}.privacy-document-content ul{margin:6px 0 12px;padding-left:20px}.privacy-ack-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px}.cookie-edit-row{display:grid;grid-template-columns:1fr 2fr 1.4fr auto;gap:12px;align-items:end;padding:12px 0;border-top:1px solid var(--border,#dfe4ea)}.worker-privacy-settings-card{grid-column:1/-1}@media(max-width:900px){.cookie-edit-row{grid-template-columns:1fr}.privacy-ack-row{align-items:stretch}.privacy-ack-row .primary-btn{width:100%}.privacy-document-card{padding:14px}}

/* V2.31.19 – külső publikus ajánlati oldal: alkalmazási navigáció nélkül */
body.public-external-view #mobileBottomNav{display:none!important;visibility:hidden!important;pointer-events:none!important}
.public-quote-shell{min-height:100vh;padding:24px 16px 44px;background:#f6f7f8;color:#182230}
.public-quote-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e2e7e9;border-radius:16px;box-shadow:0 10px 30px rgba(24,34,48,.06);padding:26px}
.public-quote-brand{background:#f2f5f5;color:#182230;border:1px solid #e1e7e7;border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.public-quote-brand strong{font-size:20px}.public-quote-brand>strong{font-size:17px;color:#2f6f68;letter-spacing:.02em}.public-quote-brand span{display:block;color:#667085;font-size:12px;margin-top:3px}
.public-quote-meta{display:flex;justify-content:space-between;gap:20px;margin:20px 0 14px;color:#667085;font-size:13px;line-height:1.55}.public-quote-meta strong{display:block;color:#182230;font-size:18px}.public-quote-greeting{margin:0 0 18px;color:#344054}
.public-quote-items{border:1px solid #e4e8ea;border-radius:12px;overflow:hidden}.public-section-label{padding:10px 14px;background:#f7f9f9;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pqr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-top:1px solid #edf0f1}.pqr-main{min-width:0;display:flex;flex-direction:column;gap:3px}.pqr-main strong{font-size:14px;color:#182230;overflow-wrap:anywhere}.pqr-main span{font-size:12px;color:#667085}.pqr>strong{flex:0 0 auto;font-size:14px;color:#182230;white-space:nowrap}.public-empty{padding:16px;color:#667085;text-align:center}
.public-quote-total{display:flex;flex-direction:column;align-items:center;gap:0;margin:18px auto 0;max-width:430px;text-align:center}.public-quote-total>div{width:100%;display:flex;justify-content:center;align-items:baseline;gap:10px;padding:4px 0;color:#667085;font-size:13px}.public-quote-total>div span{min-width:140px;text-align:right}.public-quote-total>div strong{min-width:145px;text-align:left;color:#182230;font-size:15px}.public-quote-total .final-total{margin-top:10px;padding:12px 16px;border:1px solid #d7e4e2;border-radius:10px;background:#f2f7f6;color:#2f6f68}.public-quote-total .final-total span{font-weight:800;color:#2f6f68}.public-quote-total .final-total strong{font-size:19px;color:#2f6f68}
.public-quote-note{margin-top:16px;padding:12px 14px;border:1px solid #edf0f1;border-radius:10px;background:#fafbfb;color:#667085;font-size:12px;line-height:1.5;text-align:center}.public-quote-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.public-quote-actions button{min-width:210px}.public-privacy-actions{margin-top:18px;text-align:center}.public-privacy-actions a{color:#2f6f68;text-decoration:underline;font-size:12px;font-weight:700}
@media(max-width:600px){.public-quote-shell{padding:10px 10px 28px}.public-quote-card{padding:14px;border-radius:12px;box-shadow:0 5px 18px rgba(24,34,48,.05)}.public-quote-brand{padding:14px;align-items:flex-start}.public-quote-brand strong{font-size:18px}.public-quote-brand>strong{font-size:15px}.public-quote-meta{margin:16px 2px 12px;gap:10px;font-size:12px}.public-quote-meta meta{min-width:0}.public-quote-meta>div:last-child{text-align:right;white-space:nowrap}.public-quote-meta strong{font-size:16px}.pqr{padding:12px 11px}.pqr-main strong{font-size:13px}.pqr-main span{font-size:11px}.pqr>strong{font-size:13px}.public-quote-total{margin-top:14px}.public-quote-total>div{padding:3px 0;font-size:12px}.public-quote-total>div span{min-width:128px}.public-quote-total>div strong{min-width:132px;font-size:14px}.public-quote-total .final-total{padding:11px 10px;margin-top:8px}.public-quote-total .final-total strong{font-size:17px}.public-quote-actions{flex-direction:column;align-items:stretch}.public-quote-actions button{width:100%;min-width:0}.public-quote-greeting{font-size:14px}.public-quote-note{font-size:11.5px}}
