:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{border:0;border-radius:10px;padding:10px 16px;background:#172033;color:#fff;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#eef1f5;color:#172033}input{border:1px solid #dce1e8;border-radius:10px;padding:10px 12px;background:#fff}label{display:grid;gap:7px;font-size:14px}h1,h2,p{margin-top:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#101827;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:24px}.brand-mark{display:flex;align-items:center;gap:10px;width:max-content}.brand-leaf{width:42px;height:42px;flex:0 0 auto;fill:#2eae65;filter:drop-shadow(0 3px 5px rgba(19,114,59,.18))}.brand-leaf-vein{fill:none;stroke:#e9fff0;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brand-copy{display:grid;line-height:1}.brand-copy strong{color:#101827;font-size:31px;font-weight:800;letter-spacing:-.045em}.brand-copy small{margin-top:7px;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.055em}.brand-mark.compact .brand-leaf{width:34px;height:34px}.brand-mark.compact .brand-copy strong{color:#fff;font-size:25px}.brand-mark.compact .brand-copy small{color:#b8c7db;font-size:9px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#c7d0df;text-decoration:none;border-radius:10px;padding:10px 12px}.sidebar nav a.active,.sidebar nav a:hover{color:#fff;background:#1d293b}.sidebar .secondary{margin-top:auto}.main-content{padding:32px;overflow-x:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.inline-actions{display:flex;gap:10px;align-items:center}.card{background:#fff;border:1px solid #e4e8ee;border-radius:16px;padding:20px;box-shadow:0 8px 28px #0f172a0a}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{display:grid;gap:8px}.kpi span{color:#687386;font-size:14px}.kpi strong{font-size:28px}.muted{color:#778196}.form-grid{display:grid;gap:16px;max-width:680px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);display:grid;gap:16px}.error{color:#a51d2d;background:#fff0f2;border-radius:10px;padding:10px 12px}.success{color:#146c43;background:#e9f8f0;border-radius:10px;padding:10px 12px;margin-bottom:16px}.empty{color:#778196}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #edf0f4;padding:12px 10px;white-space:nowrap}th{color:#687386;font-size:13px;font-weight:600}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:3}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.warning-box{margin-bottom:16px;padding:14px;border-radius:12px;background:#fff7e6;color:#7a4b00}.warning-box pre{margin-bottom:0;white-space:pre-wrap;font-family:inherit}.schedule-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.schedule-column{background:#eef1f5;border-radius:16px;min-height:240px;padding:12px}.schedule-column-header{display:grid;gap:4px;margin-bottom:10px}.schedule-column-header span{font-size:12px;color:#687386;word-break:break-all}.schedule-column-body{display:grid;gap:10px}.schedule-card{background:#fff;border:1px solid #dfe4eb;border-radius:12px;padding:12px;display:grid;gap:6px;cursor:grab}.schedule-card span{font-size:12px;color:#687386;word-break:break-all}.schedule-card small{color:#687386}.top-gap{margin-top:16px}.small-input{width:90px}.team-ok{border:2px solid transparent}.team-warning{border:3px solid #f59e0b;background:#fff8e6;box-shadow:0 0 0 3px #f59e0b1a}.team-critical{border:3px solid #dc2626;background:#fff1f2;box-shadow:0 0 0 4px #dc26261f}.team-header-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.problem-badge{display:inline-flex;border-radius:999px;padding:4px 8px;background:#dc2626;color:#fff!important;font-size:10px!important;font-weight:800;letter-spacing:.04em}.team-warning .problem-badge{background:#d97706}.team-composition{display:grid;gap:2px;margin-top:8px;font-size:12px}.team-problem-message{margin-top:8px;padding:8px 10px;border-radius:8px;background:#ffffffbf;color:#991b1b;font-weight:700;font-size:12px}.team-warning .team-problem-message{color:#92400e}.empty-team-placeholder{padding:16px;border:2px dashed #cbd5e1;border-radius:10px;text-align:center;color:#64748b;font-size:13px}.live-schedule-banner{margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#e8f0ff;color:#1e3a8a;display:flex;justify-content:space-between;gap:12px;align-items:center}.team-edit-field{margin-top:10px}.team-edit-field select{width:100%;border:1px solid #dce1e8;border-radius:10px;padding:9px 10px;background:#fff}.employee-picker{margin-top:12px;display:grid;gap:8px}.employee-list{max-height:180px;overflow-y:auto;display:grid;gap:6px;background:#ffffffbf;border-radius:10px;padding:8px}.employee-search{display:grid;gap:.4rem;margin-bottom:.75rem}.employee-search input{width:100%}.employee-search-empty{margin:0;padding:1rem .25rem;text-align:center}.employee-removed-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.employee-removed-toggle input{width:auto}.employee-option{display:flex;align-items:center;gap:8px;cursor:pointer}.employee-option span{display:grid;gap:1px}.employee-option small{color:#687386;font-size:11px}.permissions-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px}.permission-user-button{text-align:left;display:grid;gap:2px;width:100%}.permission-section{display:grid;gap:10px;margin-top:20px}.permission-toggle{display:flex;align-items:center;gap:10px}.sensitive-box{border:1px solid #f1c6c6;background:#fff7f7;border-radius:12px;padding:14px}@media (max-width: 900px){.permissions-layout{grid-template-columns:1fr}}.report-controls{display:grid;gap:14px;margin-bottom:20px}.report-card{margin-top:20px}.report-card .kpi-grid{margin-bottom:18px}.address-form{margin-bottom:24px}.address-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.address-grid .span-2{grid-column:span 2}.address-grid select{border:1px solid #dce1e8;border-radius:10px;padding:10px 12px;background:#fff}@media (max-width: 900px){.address-grid{grid-template-columns:1fr}.address-grid .span-2{grid-column:auto}}.legacy-board-page{min-width:980px}.legacy-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.legacy-toolbar h1{margin-bottom:4px}.legacy-toolbar p{color:#687386;margin:0}.publish-button{background:#198754}.legacy-board{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;padding:4px 2px 16px}.legacy-team{width:310px;flex:0 0 310px;border:1px solid #cfd5dc;background:#f0f0f0;min-height:320px}.legacy-team-problem{border:3px solid #d32f2f}.legacy-team-header{background:#333;color:#fff;min-height:70px;padding:10px 12px;display:grid;gap:3px}.legacy-team-header strong{font-size:17px}.legacy-team-header span{font-size:12px;color:#eee}.legacy-team-header b{background:#d32f2f;padding:3px 6px;width:max-content;font-size:11px}.legacy-team-warning{padding:8px 10px;background:#ffe4e4;color:#971818;font-size:12px;font-weight:700}.legacy-team-body{display:grid;gap:5px;padding:6px;min-height:220px}.legacy-task-card{min-height:72px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid rgba(0,0,0,.16);cursor:grab;box-shadow:0 1px 2px #00000014}.legacy-task-card{border-left-width:7px}.legacy-task-card.task-urgent,.todo-task.task-urgent{outline:3px solid #c62828;outline-offset:-3px}.urgent-badge{background:#c62828;color:#fff;padding:2px 5px;border-radius:5px;font-size:10px!important;font-weight:800}.service-badges{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0}.service-badge{background:#132b50;color:#fff;border-radius:5px;padding:2px 6px;font-size:10px!important;line-height:1.3;font-weight:800}.legacy-task-card:active{cursor:grabbing}.task-status-planned{background:#fffdf7}.task-status-in-progress{background:#ffd89b}.task-status-completed{background:#77c875}.legacy-task-number{font-size:20px;font-weight:800;text-align:center}.legacy-task-main{display:grid;gap:2px;min-width:0}.legacy-task-main strong{font-size:14px}.legacy-task-main span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-task-main small{font-size:11px;opacity:.75}.preparation-count-editor{display:flex;align-items:end;gap:5px;margin:5px 0;padding:5px;border:2px solid #2563eb;border-radius:7px;background:#eaf2ff}.preparation-count-editor.missing{border-color:#dc2626;background:#fff0f0}.preparation-count-editor label{display:grid;gap:2px;min-width:0;flex:1;font-weight:800}.preparation-count-editor label span{white-space:normal;color:#162d52}.preparation-count-compact-label,.preparation-count-save-icon{display:none}.preparation-count-editor input{width:100%;min-width:0;padding:5px}.preparation-count-editor button{padding:6px 8px;font-size:11px}.task-attention-badge{display:inline-block;background:#dc2626;color:#fff;border-radius:6px;padding:3px 7px;font-size:11px!important;font-weight:900;white-space:nowrap}.legacy-task-price{font-size:12px;font-weight:700}.compact-board .legacy-team{width:190px;flex-basis:190px}.compact-board .legacy-team-header strong{font-size:14px}.compact-board .legacy-task-card{grid-template-columns:22px 1fr;gap:4px;padding:6px}.compact-board .legacy-task-number{font-size:16px}.compact-board .legacy-task-main strong{font-size:12px}.compact-board .legacy-task-main span,.compact-board .legacy-task-main small{font-size:10px}.compact-board .preparation-count-editor{display:flex;align-items:center;gap:3px;margin:3px 0;padding:3px;border-width:1px}.compact-board .preparation-count-editor label{display:flex;align-items:center;gap:3px}.compact-board .preparation-count-label,.compact-board .preparation-count-save-text{display:none}.compact-board .preparation-count-compact-label,.compact-board .preparation-count-save-icon{display:inline}.compact-board .preparation-count-editor input{width:42px;height:27px;padding:3px 4px}.compact-board .preparation-count-editor button{flex:0 0 28px;width:28px;height:27px;padding:2px}.compact-toggle{margin-left:auto;display:flex;gap:7px;align-items:center}.plan-b-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.plan-b-panel>label{display:grid;gap:4px}.plan-b-panel input[type=number]{width:100px}.todo-task{border-left:7px solid #90a4ae}.task-service-editor{margin-top:14px;border-top:1px solid #e1e5eb;padding-top:14px}.task-service-editor>label{display:grid;gap:6px}.plan-range-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.plan-range-controls label{display:grid;gap:5px}.period-plan-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;overflow-x:auto;align-items:start;margin-bottom:18px}.period-day{padding:12px;min-height:150px}.period-day.drop-target{border:2px dashed #1f7a4d;background:#edf9f2;box-shadow:0 0 0 4px #1f7a4d1a}.period-day h2{margin:0 0 4px;text-transform:capitalize}.period-task{display:grid;gap:2px;border:1px solid #dce1e8;border-left:7px solid #90a4ae;padding:8px;margin-top:7px;border-radius:7px;background:#fff}.plan-drag-help{margin:8px 0;color:#526071;font-weight:600}.draggable-task,.draggable-apartment{cursor:grab;-webkit-user-select:none;user-select:none}.draggable-task:active,.draggable-apartment:active{cursor:grabbing}.draggable-task.is-dragging,.draggable-apartment.is-dragging{opacity:.45}.period-task span{font-size:12px}.apartment-multiselect{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:7px;max-height:330px;overflow:auto;margin-top:12px}.apartment-multiselect>label{display:flex;gap:9px;border:1px solid #dce1e8;border-left:7px solid #90a4ae;border-radius:8px;padding:9px}.apartment-multiselect span{display:grid;gap:2px}.apartment-multiselect small{color:#687386}.maintenance-report textarea{min-height:90px}.maintenance-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.maintenance-ticket{display:grid;gap:10px}.maintenance-ticket.alarm{border:4px solid #c62828;animation:maintenance-pulse 1.2s infinite alternate}.maintenance-ticket-title{display:flex;justify-content:space-between;gap:10px;align-items:start}.maintenance-ticket-title h2{margin:0}.maintenance-ticket label{display:grid;gap:5px}.maintenance-updates{border-top:1px solid #dfe5ec;padding-top:10px;display:grid;gap:10px}.maintenance-updates h3{margin:0;font-size:1rem}.maintenance-update{background:#f5f7fa;border-radius:10px;padding:10px;display:grid;gap:7px}.maintenance-update>div:first-child{display:flex;justify-content:space-between;gap:12px}.maintenance-update p{margin:0}.maintenance-update-photo{width:100%;max-height:320px;object-fit:cover;border-radius:8px;border:1px solid #d8dee7}.maintenance-status{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#e8edf4;white-space:nowrap}.maintenance-status.s3{background:#ffe0a3}.maintenance-status.s5,.maintenance-status.s6{background:#ccebd4}@keyframes maintenance-pulse{0%{box-shadow:0 0 #c6282800}to{box-shadow:0 0 18px #c6282866}}.guest-vacated-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.guest-vacated-card.vacated{border:4px solid #c65d00;background:#fff1e3}.guest-vacated-card h2{margin:0}.legacy-task-card:has(.vacated-badge),.todo-task:has(.vacated-badge){background:#fff1df;box-shadow:inset 0 0 0 3px #d86600,0 1px 3px #d8660047}.legacy-task-card.task-urgent:has(.vacated-badge),.todo-task.task-urgent:has(.vacated-badge){outline:3px solid #c62828;outline-offset:0}.legacy-task-card.task-status-completed:has(.vacated-badge){background:#77c875;box-shadow:inset 0 0 0 3px #2e7d32,0 1px 3px #2e7d3247}.vacated-badge{background:#d86600;color:#fff;padding:3px 7px;border-radius:5px;font-size:10px!important;font-weight:900;letter-spacing:.02em}.status-legend{display:flex;flex-wrap:wrap;gap:10px}.legend-chip{border:2px solid #94a3b8;border-radius:8px;padding:7px 11px;font-weight:800;background:#fff}.legend-unchecked{border-style:dashed;color:#64748b}.legend-internal{background:#e8f7e8;border-color:#3a9b52}.legend-client{background:#e4f2ff;border-color:#2784c7}.legend-both{background:#efe3ff;border-color:#7950a3}.legend-correction{background:#fff0f0;border-color:#c62828}.legend-vacated{background:#fff1e3;border:4px solid #c65d00}.legacy-empty{border:2px dashed #aaa;color:#777;text-align:center;padding:28px 10px;background:#fff}.status-legend{display:flex;gap:8px;margin-top:8px}.legend{padding:6px 10px;border:1px solid #bbb;font-size:12px}.legend.planned{background:#fffdf7}.legend.progress{background:#ffd89b}.legend.completed{background:#77c875}.live-dot{color:#198754;font-weight:800;padding:8px 10px;background:#e8f7ee;border-radius:999px}.small-kpi{font-size:20px!important}.report-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.report-controls select{border:1px solid #dce1e8;border-radius:10px;padding:10px 12px;background:#fff}.toggle-row{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px}.toggle-row input{margin-top:4px}.toggle-row span{display:grid;gap:3px}.toggle-row small{color:#687386}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-option{display:flex;gap:9px;align-items:flex-start;border:1px solid #dce1e8;padding:10px;border-radius:10px}.service-option span{display:grid;gap:2px}.service-option small{color:#687386}@media (max-width:900px){.service-grid{grid-template-columns:1fr}}.team-people-editor{padding:8px 10px;border-bottom:1px solid #ddd}.team-people-options{display:grid;gap:5px;margin:8px 0;max-height:160px;overflow:auto}.team-people-options label{display:flex;gap:8px;align-items:center}.attention-list{display:grid;gap:12px}.attention-item{border-left:6px solid #e69f00}.attention-item.urgent{border-left-color:#c62828}.attention-title{display:flex;justify-content:space-between;gap:12px}.history-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eee}.apartment-picker{min-width:320px;display:grid;gap:4px}.apartment-picker-trigger{width:100%;text-align:left;border:1px solid #dce1e8;background:#fff}.apartment-picker-selected-address{color:#778196;white-space:normal}.apartment-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a7a;display:grid;place-items:center;padding:24px}.apartment-picker-dialog{width:min(760px,96vw);max-height:82vh;background:#fff;border-radius:16px;box-shadow:0 24px 80px #0f172a3d;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:18px}.apartment-picker-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.apartment-picker-header h3{margin:0 0 4px}.apartment-picker-search{width:100%;font-size:16px}.apartment-picker-results{overflow:auto;display:grid;gap:7px;padding-right:4px}button.apartment-picker-result{width:100%;display:grid;gap:4px;text-align:left;color:#172033;background:#f8fafc;border:1px solid #e4e8ee;padding:12px 14px}button.apartment-picker-result:hover,button.apartment-picker-result.selected{background:#eef4ff;border-color:#9bb6e8}.apartment-picker-result-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.apartment-picker-result-meta{color:#687386;font-size:13px;white-space:normal}.apartment-picker-suggestion{font-size:11px;font-weight:600;color:#2856a6;background:#e9f0ff;border-radius:999px;padding:2px 7px}.legacy-task-card.quality-internal{background:#dff2df!important;border-color:#54a95a}.legacy-task-card.quality-client{background:#dcefff!important;border-color:#4d9ad6}.legacy-task-card.quality-both{background:#eadcff!important;border-color:#8f61c3}.quality-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;align-items:center}.quality-badge{display:inline-block;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.quality-badge.internal{background:#c7e8c7;color:#205c24}.quality-badge.client{background:#c8e5fb;color:#19547f}.board-overview{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0}.quality-circle-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e0e4ea;border-radius:14px;padding:10px 14px;min-width:180px}.quality-circle{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;position:relative}.quality-circle:after{content:"";position:absolute;width:40px;height:40px;background:#fff;border-radius:50%}.quality-circle b{position:relative;z-index:1;font-size:12px}.todo-toggle{margin-left:auto}.todo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141b2659;z-index:1000;pointer-events:none}.todo-panel{pointer-events:auto;position:absolute;right:0;top:0;height:100%;width:min(460px,94vw);background:#fff;padding:20px;box-shadow:-8px 0 30px #0000002e;overflow:auto}.todo-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.todo-panel-header h2{margin:0}.todo-panel-header p{margin:3px 0;color:#667085}.todo-filters{display:grid;grid-template-columns:1fr 180px;gap:8px;margin:16px 0}.todo-list{display:grid;gap:8px}.todo-task{border:1px solid #dbe1e8;border-radius:10px;padding:10px;display:grid;gap:3px;cursor:grab}.todo-task.needs-price,.apartment-needs-price{background:#fff0f0!important;border-color:#d64040!important}.needs-price-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#c62828;color:#fff;font-size:10px;font-weight:800;vertical-align:middle}.team-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-name-button{background:transparent!important;border:0!important;color:#fff!important;padding:2px 6px!important}.text-danger{color:#b42318}.warning-kpi{border-color:#d64040!important}.warning-kpi strong{color:#b42318}.client-summary-total td{background:#eef3fb;border-top:2px solid #8ba3c7;font-size:1.05rem}.client-summary-total td:first-child{color:#102a56}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:7px;margin:10px 0 12px}.week-strip button{background:#fff;color:#344054;border:1px solid #d0d5dd;border-radius:10px;padding:8px 6px;display:grid;gap:2px}.week-strip button.active{background:#1f3b70;color:#fff;border-color:#1f3b70}.week-strip span{font-size:12px}.generator-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e0e4ea;border-radius:12px;padding:10px 12px;margin-bottom:10px}.generator-bar label{display:flex;align-items:center;gap:8px;font-weight:700}.generator-advanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;background:#f7f9fc;border:1px solid #e0e4ea;border-radius:12px;padding:12px;margin-bottom:12px}.generator-advanced label{display:grid;grid-template-columns:1fr minmax(80px,1fr) 35px;gap:8px;align-items:center}.generator-advanced label:nth-last-child(-n+2){grid-template-columns:1fr 1.4fr}.taskboard-workspace{position:relative;min-height:420px;transition:padding-right .12s ease}.todo-panel-inline{position:fixed;right:12px;top:84px;bottom:12px;z-index:40;background:#fff;border:1px solid #d8dee8;border-radius:14px;box-shadow:-6px 8px 28px #141b2624;padding:18px;overflow:auto;min-width:300px;max-width:680px}.todo-resize-handle{position:absolute;left:-6px;top:0;width:12px;height:100%;cursor:ew-resize}.todo-resize-handle:after{content:"";position:absolute;left:5px;top:44%;width:2px;height:52px;background:#98a2b3;border-radius:2px}.todo-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 8px}.todo-tabs button{background:#f2f4f7;color:#344054}.todo-tabs button.active{background:#1f3b70;color:#fff}.apartment-db-row button{margin-top:5px;width:100%}.taskboard-workspace.with-side-panel .legacy-board{padding-right:4px}.weekly-planner-panel{max-width:1200px;min-width:720px}.manual-week-planner{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(390px,1.1fr);gap:14px;margin-top:14px;min-height:0}.planner-window{border:1px solid #d8dee8;border-radius:12px;padding:12px;background:#f8fafc;min-width:0}.planner-window h3{margin:0 0 8px}.planner-window .todo-filters{margin:8px 0;grid-template-columns:minmax(150px,1fr) minmax(130px,180px)}.planner-date-field{display:grid;grid-template-columns:auto minmax(150px,220px);align-items:center;gap:10px;font-weight:700;margin:10px 0}.planner-apartment-list,.planner-day-list{max-height:calc(100vh - 360px);overflow:auto;padding-right:4px}.planner-week-tabs{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:5px;margin:8px 0 12px}.planner-week-tabs button{display:grid;gap:1px;padding:7px 3px;background:#fff;color:#344054;border:1px solid #cfd6df}.planner-week-tabs button.active{background:#1f3b70;color:#fff;border-color:#1f3b70}.planner-week-tabs button small{font-weight:800}.planner-week-tabs button:hover{border-color:#2458a6}.selected-day-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin-bottom:8px;border-radius:9px;background:#eef3fb}.selected-day-heading div{display:grid}.selected-day-heading span{font-size:12px;color:#667085}.planner-day-list .todo-task{cursor:grab;background:#fff}.planner-drop-empty{min-height:90px;display:grid;place-items:center;border:2px dashed #98a2b3;background:#fff}.planner-week-tabs button:has(+*){transition:transform .08s,border-color .08s}.planner-week-tabs button:active{transform:scale(.98)}.planner-week-navigation{position:fixed;right:30px;top:158px;z-index:43;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;background:#eef3fb;border:1px solid #b8c7dd;border-radius:10px;box-shadow:0 4px 12px #141b261a;max-width:1200px;min-width:720px}.planner-week-navigation strong{text-align:center}.weekly-planner-panel .manual-week-planner{margin-top:62px}@media (max-width:900px){.weekly-planner-panel{left:8px;right:8px;width:auto!important;min-width:0;max-width:none}.planner-week-navigation{left:20px;right:20px;width:auto!important;min-width:0;grid-template-columns:1fr 1fr;top:158px}.planner-week-navigation strong{grid-column:1/-1;grid-row:1}.manual-week-planner{grid-template-columns:1fr}.planner-apartment-list,.planner-day-list{max-height:42vh}.planner-week-tabs{grid-template-columns:repeat(4,1fr)}}.language-switcher{position:fixed;right:18px;top:18px;z-index:3000;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:7px 9px;box-shadow:0 6px 22px #10182824}.language-flag{display:inline-block;width:25px;height:17px;flex:0 0 auto;border:1px solid rgba(16,24,40,.2);border-radius:2px;box-shadow:0 1px 2px #1018281f;background-size:100% 100%}.flag-pl{background:linear-gradient(to bottom,#fff 0,#fff 50%,#dc143c 50%,#dc143c)}.flag-de{background:linear-gradient(to bottom,#000 0,#000 33.333%,#d00 33.333%,#d00 66.666%,#ffce00 66.666%,#ffce00)}.flag-uk{background:linear-gradient(to bottom,#0057b7 0,#0057b7 50%,gold 50%,gold)}.flag-en{width:30px;height:15px;background:#012169 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MCAzMCI+PHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2MHYzMEgweiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMCAwbDYwIDMwbTAtMzBMMCAzMCIvPjxwYXRoIHN0cm9rZT0iI0M4MTAyRSIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMCAwbDYwIDMwbTAtMzBMMCAzMCIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI4IiBkPSJNMzAgMHYzME0wIDE1aDYwIi8+PHBhdGggc3Ryb2tlPSIjQzgxMDJFIiBzdHJva2Utd2lkdGg9IjQiIGQ9Ik0zMCAwdjMwTTAgMTVoNjAiLz48L3N2Zz4=) center/cover no-repeat}.language-switcher select{border:0;background:transparent;font:inherit;color:#172033;outline:none;cursor:pointer;padding:2px 4px}@media (max-width:700px){.language-switcher{right:8px;top:8px;padding:5px 7px}.language-flag{display:inline-block;width:25px;height:17px;flex:0 0 auto;border:1px solid rgba(16,24,40,.2);border-radius:2px;box-shadow:0 1px 2px #1018281f;background-size:100% 100%}.flag-pl{background:linear-gradient(to bottom,#fff 0,#fff 50%,#dc143c 50%,#dc143c)}.flag-de{background:linear-gradient(to bottom,#000 0,#000 33.333%,#d00 33.333%,#d00 66.666%,#ffce00 66.666%,#ffce00)}.flag-uk{background:linear-gradient(to bottom,#0057b7 0,#0057b7 50%,gold 50%,gold)}.flag-en{width:30px;height:15px;background:#012169 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MCAzMCI+PHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2MHYzMEgweiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMCAwbDYwIDMwbTAtMzBMMCAzMCIvPjxwYXRoIHN0cm9rZT0iI0M4MTAyRSIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMCAwbDYwIDMwbTAtMzBMMCAzMCIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI4IiBkPSJNMzAgMHYzME0wIDE1aDYwIi8+PHBhdGggc3Ryb2tlPSIjQzgxMDJFIiBzdHJva2Utd2lkdGg9IjQiIGQ9Ik0zMCAwdjMwTTAgMTVoNjAiLz48L3N2Zz4=) center/cover no-repeat}.language-switcher select{max-width:125px}}:root{--utility-bar-height:58px}.app-utility-bar{height:var(--utility-bar-height);display:flex;align-items:center;justify-content:flex-end;padding:9px 18px;background:#f4f6f9;border-bottom:1px solid #e4e8ee}.app-utility-bar .language-switcher{position:static;right:auto;top:auto;bottom:auto;z-index:auto;box-shadow:0 3px 12px #1018281a}.app-shell,.login-page{min-height:calc(100vh - var(--utility-bar-height))}@media (max-width:700px){.app-utility-bar{padding:7px 8px}.app-utility-bar .language-switcher{position:static;padding:5px 7px}}.tenant-access-select{min-width:190px;border:1px solid #d0d5dd;border-radius:9px;padding:8px 10px;background:#fff;font:inherit;font-weight:700}.tenant-access-select.access-mode-1{background:#fff7d6;border-color:#e5a700}.tenant-access-select.access-mode-2{background:#fff0dc;border-color:#d97706}.tenant-access-select.access-mode-3{background:#ffe5e5;border-color:#c62828;color:#8b1111}.tenant-access-details{white-space:normal;min-width:220px}.tenant-access-details span,.tenant-access-details small{display:block}.tenant-access-details small{margin-top:4px;color:#667085}.tenant-access-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:13px 16px;border-radius:12px;border:1px solid;font-size:14px}.tenant-access-banner strong{font-size:15px}.tenant-access-banner small{margin-left:auto}.payment-warning{background:#fff8d8;border-color:#e7ad18;color:#6f4b00}.read-only-warning{background:#fff0df;border-color:#d97706;color:#7a3600}.tenant-suspended-page{min-height:calc(100vh - var(--utility-bar-height));display:grid;place-items:center;padding:24px;background:#f4f6f9}.tenant-suspended-card{width:min(620px,100%);text-align:center;border-color:#c62828}.tenant-suspended-card h1{color:#9b1c1c}.client-plan-summary{margin:12px 0}.client-plan-summary h2{margin-top:0}.count-urgent{color:#b42318;font-weight:800;background:#fff1f0}.generator-advanced .generator-check{grid-template-columns:auto 1fr!important;grid-column:1/-1;background:#fff7e6;border:1px solid #f6c453;border-radius:9px;padding:9px 12px}.generator-check input{width:auto}.operational-pool{margin-top:16px}.operational-pool summary{cursor:pointer}.planning-badge{display:inline-block;margin:2px 4px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:750;background:#eef2f6;color:#344054}.planning-badge.urgent{background:#fee4e2;color:#b42318}.planning-badge.tomorrow{background:#fff3cd;color:#8a5a00}.planning-badge.later{background:#e0f2fe;color:#075985}.planning-badge.none{background:#edf0f4;color:#475467}.planning-badge.heavy{background:#f3e8ff;color:#6b21a8}.planning-badge.zone{background:#dcfce7;color:#166534}.operational-pool td:last-child{text-align:right}.operational-pool .todo-filters{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}@media (max-width:800px){.operational-pool .todo-filters{grid-template-columns:1fr}.client-plan-summary{overflow:auto}}.apartments-table-wrap{overflow-x:auto}.apartments-table{min-width:900px}.apartments-table .apartment-address-cell{white-space:normal;min-width:300px}.apartment-address-cell span,.apartment-map-link{display:block}.apartment-map-link{margin-top:5px;font-size:13px;white-space:nowrap}.apartments-table .apartment-actions-cell{position:sticky;right:0;z-index:1;background:#fff;min-width:190px;box-shadow:-8px 0 12px #1018280d}.apartments-table tr.apartment-needs-price .apartment-actions-cell{background:#fff0f0!important}.apartment-actions{display:flex;gap:8px;align-items:center}.apartment-actions button{white-space:nowrap}button.danger{background:#b42318;color:#fff;border-color:#b42318}button.danger:hover{background:#912018;border-color:#912018}button.danger:disabled{opacity:.55;cursor:wait}.remove-day-task{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:12px}.remove-day-task label{display:grid;gap:6px;min-width:min(360px,100%)}.permission-presets{display:grid;gap:12px;margin-top:14px;padding:16px;border:1px solid #cbd8ee;background:#f4f7fc;border-radius:12px}.permission-presets h3,.permission-presets p{margin:0}.permission-saving{color:#294a80;font-weight:700;margin:12px 0 0}.permission-save-bar{position:sticky;top:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid #cfd7e3;border-radius:12px;background:#fffffff5;box-shadow:0 8px 20px #10182814;font-weight:700}.permission-save-bar.has-changes{border-color:#e3a008;background:#fff8dc}.permission-save-success{margin-top:12px;padding:11px 13px;border:1px solid #80bb91;border-radius:10px;background:#edf9f0;color:#176b32;font-weight:700}@media (max-width: 700px){.permission-save-bar{align-items:stretch;flex-direction:column}}.password-card,.password-reset-box{display:grid;gap:14px;margin-bottom:20px}.password-reset-box{margin-top:16px;padding:16px;border:1px solid #dce1e8;border-radius:12px;background:#fafbfc}.password-card h2,.password-reset-box h3,.password-card p,.password-reset-box p{margin:0}.password-fields{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end}.reset-password-fields{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}.password-message{margin:0;font-weight:700}@media (max-width:900px){.password-fields,.reset-password-fields{grid-template-columns:1fr}}.create-user-card{display:grid;gap:16px;margin-bottom:20px}.create-user-card h2,.create-user-card p{margin:0}.create-user-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.create-user-grid select{width:100%;border:1px solid #dce1e8;border-radius:10px;padding:10px 12px;background:#fff}.created-credentials{display:grid;gap:8px;padding:16px;border:1px solid #89b99a;border-radius:12px;background:#f0fbf3}.created-credentials code{font-size:15px;-webkit-user-select:all;user-select:all}.created-credentials button{width:max-content}@media (max-width:900px){.create-user-grid{grid-template-columns:1fr}}.nav-alert{color:#ffb4b4;font-weight:800}.fleet-page{display:grid;gap:18px}.fleet-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.fleet-summary .card{display:grid;gap:6px}.fleet-summary strong{font-size:28px}.fleet-danger{color:#c81e1e}.fleet-form,.fleet-list{display:grid;gap:16px}.fleet-vehicle{display:grid;gap:16px;border-left:6px solid #d9e1ec}.fleet-vehicle.has-alert{border-left-color:#dc2626}.fleet-vehicle-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.fleet-vehicle-head h2,.fleet-vehicle-head p{margin:0}.fleet-cost{display:grid;text-align:right}.fleet-cost strong{font-size:20px}.fleet-alerts{display:grid;gap:8px}.fleet-alerts>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#fff5d6;color:#7a4b00}.fleet-alerts>div.overdue{background:#fee2e2;color:#991b1b}.fleet-details{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;padding:14px;border-radius:12px;background:#f7f9fc}.fleet-details span{display:grid;gap:3px}.fleet-notes{margin:0;padding:12px;border-left:3px solid #94a3b8;background:#f8fafc}.fleet-actions{display:flex;gap:10px;flex-wrap:wrap}.fleet-event-form{display:grid;gap:12px;padding:16px;border:1px solid #d6deea;border-radius:12px;background:#f8fafc}.fleet-event-form h3{margin:0}.fleet-history summary{cursor:pointer;font-weight:800}.fleet-history-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e5eaf1}.fleet-history-row>div{display:grid;gap:4px}.fleet-history-row>div:last-child{text-align:right}.fleet-history-row p{margin:0}.fleet-history-row span{color:#6b7890;font-size:13px}@media (max-width:900px){.fleet-summary,.fleet-details{grid-template-columns:1fr}.fleet-vehicle-head,.fleet-history-row,.fleet-alerts>div{flex-direction:column}.fleet-cost,.fleet-history-row>div:last-child{text-align:left}}
