:root{--brand-primary:#e20219;--brand-secondary:#050505;--brand-accent:#fff;--bg:#f4f6f8;--surface:#fff;--text-primary:#171b21;--text-secondary:#5f6976;--border:#e1e5eb;--nav:#050505;--nav2:#202020;--card:var(--surface);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--blue:var(--brand-primary);--blue2:#fff0f2;--green:#2c956f;--green2:#e8f8f1;--orange:#d88a2b;--orange2:#fff3df;--red:#c84c4c;--red2:#fff0f0;--maintenance-pending:#3d5876;--maintenance-pending-bg:#eef3fa;--maintenance-done:#236748;--maintenance-done-bg:#e6f5ed;--maintenance-overdue:#8b4d0c;--maintenance-overdue-bg:#fff0d5;--maintenance-archived:#687587;--maintenance-archived-bg:#eceff3;--shadow:0 14px 34px #1f2f491f;--soft-shadow:0 5px 16px #1f2f4914}*{box-sizing:border-box}html,body{color:var(--text);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{grid-template-columns:218px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg,var(--nav),#151515);color:#f3f4f6;flex-direction:column;gap:22px;padding:18px 12px;display:flex}.brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.brand-logo{object-fit:contain;border-radius:10px;flex:none;width:46px;height:46px}.brand-mark{background:var(--brand-primary);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:900;display:grid;box-shadow:0 8px 18px #e2021938}.brand strong,.brand span{display:block}.brand span{color:#aeb7c2;margin-top:2px;font-size:10px}.sidebar nav{gap:6px;display:grid}.nav-item{color:#d3d7dd;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .18s;display:flex}.nav-item:hover,.nav-item.active{background:var(--nav2);color:#fff;transform:translateY(-1px)}.nav-item.active{box-shadow:inset 3px 0 0 var(--brand-primary)}.badge{background:var(--brand-primary);color:#fff;border-radius:99px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-footer{color:#a9b1bd;gap:7px;margin-top:auto;padding:8px;font-size:11px;display:grid}.text-button{color:#d5d9df;text-align:left;background:0 0;border:0;padding:0}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:18;background:#fff;justify-content:space-between;align-items:center;gap:16px;height:84px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:22px}.topbar p{color:var(--muted);margin:3px 0 0;font-size:12px}.topbar-actions{align-items:center;gap:10px;display:flex}.primary-btn,.secondary-btn,.icon-btn,.danger-btn{border:1px solid #0000;border-radius:9px;min-height:38px;padding:8px 12px;font-weight:750;transition:transform .18s,box-shadow .18s,background .18s}.primary-btn{background:var(--brand-primary);color:#fff;box-shadow:0 5px 14px #e202192e}.secondary-btn{color:#34445b;background:#fff;border-color:#d7e0ec}.icon-btn{color:#40516a;background:#fff;border-color:#d7e0ec;width:38px;padding:0;font-size:21px}.danger-btn{color:#ab3232;background:#fff0f0;border-color:#efc7c7}@media (hover:hover) and (pointer:fine){.primary-btn:hover,.secondary-btn:hover,.icon-btn:hover,.person-card:hover,.client-card:hover,.day-job:hover,.job-block:hover,.summary-card:hover,.day-board:hover,.replan-card:hover,.availability-worker:hover{box-shadow:var(--soft-shadow);transform:translateY(-2px)}}.view{padding:20px 24px 32px;display:none}.active-view{display:block}.search-wrap{color:#8c98aa;background:#f8fafc;border:1px solid #dce3ed;border-radius:10px;align-items:center;width:290px;padding:0 10px;display:flex;position:relative}.search-wrap input{background:0 0;border:0;outline:0;width:100%;padding:9px 7px;font-size:12px}.search-results{border:1px solid var(--line);box-shadow:var(--shadow);z-index:40;background:#fff;border-radius:12px;max-height:360px;padding:6px;position:absolute;top:45px;left:0;right:0;overflow:auto}.search-result{text-align:left;background:#fff;border:0;border-radius:8px;width:100%;padding:9px 10px;display:block}.search-result:hover{background:#f5f8fc}.search-result strong{display:block}.search-result small{color:var(--muted)}.sync-badge{color:var(--brand-primary);background:#fff0f2;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.sync-badge.error{color:#bc2c2c;background:#fff0f0}.sync-badge.ok{color:#137643;background:#ecfbf2}.user-pill{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.user-pill>span{width:32px;height:32px;color:var(--brand-primary);background:#fff0f2;border-radius:9px;place-items:center;font-weight:800;display:grid}.user-pill div{flex-direction:column;line-height:1;display:flex}.user-pill small{color:var(--muted);margin-top:4px;font-size:10px}.summary-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:10px;padding:13px;transition:all .18s;display:flex}.summary-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;display:block}.summary-card strong{margin-top:3px;display:block}.mini-icon{border-radius:99px;width:10px;height:34px}.calendar-mini{background:var(--brand-primary)}.people-mini{background:#343a40}.free-mini{background:#5ab78f}.warn-mini{background:#e5a34d}.home-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.today-tomorrow-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.day-board{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0;padding:16px;transition:all .18s}.board-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:11px;display:flex}.board-head h2{margin:3px 0 0;font-size:18px}.eyebrow{color:var(--brand-primary);letter-spacing:.1em;font-size:10px;font-weight:850}.count-pill{color:#4d6078;background:#f2f4f7;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750}.day-list{gap:8px;padding-top:10px;display:grid}.day-job{border:1px solid var(--line);border-left:4px solid var(--brand-primary);text-align:left;background:#fff;border-radius:10px;grid-template-columns:62px 1fr auto;align-items:start;gap:10px;padding:10px 11px;transition:all .18s;display:grid}.day-job.completed{border-left-color:var(--green)}.day-job.incomplete{border-left-color:var(--orange)}.day-job.cancelled{opacity:.65;border-left-color:#9da6b5}.day-job time{color:#274563;font-weight:850}.day-job strong,.day-job span,.day-job small{display:block}.day-job span{font-size:12px;font-weight:750}.day-job small{color:var(--muted);margin-top:2px;font-size:11px}.day-job .status-tag{align-self:center}.empty-state{color:var(--muted);text-align:center;background:#fff;border:1px dashed #cbd3df;border-radius:12px;padding:24px}.calendar-kpi-bar{flex-wrap:wrap;gap:8px;margin-bottom:11px;display:flex}.kpi-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px}.kpi-chip strong{margin-right:4px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.calendar-nav{align-items:center;gap:7px;display:flex}.calendar-nav>div{flex-direction:column;margin-left:4px;display:flex}.calendar-nav span{color:var(--muted);margin-top:2px;font-size:10px}.calendar-toolbar-right{align-items:center;gap:14px;display:flex}.view-switch{background:#edf0f3;border-radius:10px;padding:3px;display:flex}.view-switch button{color:#67758a;background:0 0;border:0;border-radius:8px;padding:7px 9px;font-size:11px}.view-switch button.active{background:var(--brand-primary);color:#fff;box-shadow:0 2px 7px #e2021924}.legend{color:var(--muted);gap:10px;font-size:10px;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot.scheduled{background:var(--brand-primary)}.dot.completed{background:var(--green)}.dot.incomplete{background:var(--orange)}.dot.cancelled{background:#9aa3b1}.calendar-layout{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:12px;display:grid}.calendar-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;max-height:calc(100vh - 220px);overflow:auto}.availability-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;position:sticky;top:99px}.availability-head{border-bottom:1px solid var(--line);gap:3px;padding-bottom:9px;display:grid}.availability-head strong{font-size:12px}.availability-panel>small{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.4;display:block}.availability-worker{border-bottom:1px solid #eef1f5;align-items:center;gap:8px;padding:8px 5px;transition:all .18s;display:flex}.availability-worker:last-child{border-bottom:0}.availability-avatar{width:28px;height:28px;color:var(--brand-primary);background:#fff0f2;border-radius:8px;place-items:center;font-size:10px;font-weight:850;display:grid}.availability-worker strong{font-size:11px}.availability-worker small{color:var(--muted);font-size:9px;display:block}.week-calendar,.day-calendar{grid-template-columns:62px repeat(7,minmax(128px,1fr));min-width:1000px;display:grid;position:relative}.day-calendar{grid-template-columns:62px minmax(560px,1fr);min-width:650px}.time-head,.day-head{border-bottom:1px solid var(--line);z-index:5;background:#fbfcfe;height:58px;position:sticky;top:0}.day-head{border-left:1px solid var(--line);align-content:center;place-items:center;gap:1px;display:grid}.day-head span{text-transform:uppercase;color:var(--muted);font-size:10px}.day-head strong{font-size:18px}.day-head.today strong{background:var(--brand-primary);color:#fff;border-radius:99px;place-items:center;width:29px;height:29px;display:grid}.time-col{grid-column:1}.time-slot{border-top:1px solid var(--line);text-align:right;color:#94a0b3;padding:4px 7px;font-size:10px}.day-col{border-left:1px solid var(--line);background:#fff;position:relative;overflow:hidden}.day-col.drop-target{background:#fff6f7}.grid-line{border-top:1px solid var(--line);position:absolute;left:0;right:0}.job-block{text-align:left;cursor:pointer;z-index:2;border:0;border-left:4px solid;border-radius:9px;align-content:start;gap:2px;padding:7px 8px;transition:transform .18s,box-shadow .18s,opacity .18s;display:grid;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 1px 2px #14243f0f}.job-block b{font-size:10px}.job-block span{font-size:10px;font-weight:850}.job-block .job-worker-name{color:#172233;white-space:normal;font-size:12px;line-height:1.15}.job-block small{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.job-block em{white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:normal;overflow:hidden}.job-block.scheduled{border-color:var(--brand-primary);color:#62222a;background:#fff4f5}.job-block.completed{background:var(--green2);border-color:var(--green);color:#226a53}.job-block.incomplete{background:var(--orange2);border-color:var(--orange);color:#7b521f}.job-block.cancelled{color:#697487;background:#eef0f4;border-color:#8f99aa}.resize-handle{cursor:ns-resize;background:0 0;height:8px;position:absolute;bottom:0;left:0;right:0}.resize-handle:after{content:"";opacity:.25;background:currentColor;width:24px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.month-calendar{grid-template-columns:repeat(7,minmax(130px,1fr));min-width:940px;display:grid}.month-weekday{color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);text-align:center;background:#fbfcfe;padding:10px;font-size:10px}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:125px;padding:7px}.month-day.other-month{color:#a8b0bd;background:#fafbfd}.month-day.today .month-date{background:var(--brand-primary);color:#fff}.month-date{border-radius:99px;place-items:center;width:25px;height:25px;margin-bottom:4px;font-size:11px;font-weight:750;display:grid}.month-job{text-align:left;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:6px;width:100%;margin:3px 0;padding:4px 5px;font-size:9px;display:block;overflow:hidden}.month-job.scheduled{color:#7a101b;background:#fff0f2}.month-job.completed{background:var(--green2);color:#226a53}.month-job.incomplete{background:var(--orange2);color:#7b521f}.month-job.cancelled{color:#697487;background:#eef0f4}.section-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-head h2{margin:0;font-size:20px}.section-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.section-actions{align-items:center;gap:12px;display:flex}.compact-check{color:#526176;align-items:center;gap:7px;font-size:12px;display:flex}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;display:grid}.person-card,.client-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:all .18s;display:flex}.avatar,.client-icon{width:42px;height:42px;color:var(--brand-primary);background:#fff0f2;border-radius:12px;place-items:center;font-weight:800;display:grid}.person-card>div:nth-child(2),.client-card>div:nth-child(2){flex:1;min-width:0}.person-card strong,.client-card strong{display:block}.person-card span,.client-card span,.client-card small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.switch input{display:none}.switch i{cursor:pointer;background:#ccd3df;border-radius:99px;width:36px;height:20px;display:block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:2px;left:2px}.switch input:checked+i{background:var(--green)}.switch input:checked+i:after{left:18px}.client-actions{align-self:flex-start;gap:6px;margin-left:auto;display:flex}.client-action{color:#31435c;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:6px 8px;font-size:11px;transition:all .18s}.client-action:hover{background:#f5f8fc;transform:translateY(-1px)}.client-action.danger{color:#b02f2f;border-color:#f0cece}.client-action.restore{color:#176b43}.client-card.archived{opacity:.62;background:#f6f7f9}.archive-label{background:#eceff3;border-radius:999px;width:max-content;padding:2px 6px;font-weight:750;color:#687587!important;margin-top:5px!important;font-size:9px!important;display:inline-block!important}.table-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.table-card table{border-collapse:collapse;width:100%}.table-card th,.table-card td{text-align:left;border-bottom:1px solid var(--line);padding:13px 15px;font-size:12px}.table-card th{color:var(--muted);text-transform:uppercase;background:#f9fafc;font-size:10px}.stack-list{gap:10px;display:grid}.replan-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:16px;padding:14px;transition:all .18s;display:grid}.replan-card span,.replan-card small,.replan-card em{color:var(--muted);font-size:12px;display:block}.replan-card p{margin:0 0 4px}.backdrop{z-index:30;background:#0c15245c;position:fixed;inset:0}.drawer{z-index:40;background:#fff;width:min(530px,100vw);position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-20px 0 50px #111f3629}.drawer-head{z-index:3;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.drawer-head h2{margin:2px 0 0}.quick-actions{border-bottom:1px solid var(--line);z-index:2;background:#fafbfd;flex-wrap:wrap;gap:6px;padding:10px 20px;display:flex;position:sticky;top:73px}.quick-actions button{color:#35465e;background:#fff;border:1px solid #d7e0ec;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}.quick-actions .danger-lite{color:#a43b3b;border-color:#efcccc}.job-form{gap:12px;padding:16px 20px 24px;display:grid}.form-step{border:1px solid var(--line);border-radius:12px;gap:10px;padding:13px;display:grid}.step-title{align-items:center;gap:9px;display:flex}.step-title>span{width:25px;height:25px;color:var(--brand-primary);background:#fff0f2;border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:grid}.step-title strong{display:block}.step-title small{color:var(--muted);margin-top:1px;font-size:10px;display:block}.job-form label,.modal form label{color:#4d5870;gap:5px;font-size:11px;font-weight:700;display:grid}.job-form input,.job-form select,.job-form textarea,.modal input,.modal select,.modal textarea{color:var(--text);background:#fff;border:1px solid #d8deea;border-radius:8px;outline:0;min-height:39px;padding:9px 10px}.job-form input:focus,.job-form select:focus,.job-form textarea:focus,.modal input:focus,.modal textarea:focus{border-color:#e8a3aa;box-shadow:0 0 0 3px #fff0f2}.worker-picker{grid-template-columns:1fr 1fr;gap:7px;max-height:245px;display:grid;overflow:auto}.worker-chip{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:9px;gap:2px;padding:8px 9px;font-size:11px;transition:all .18s;display:grid}.worker-chip strong{white-space:normal;font-size:11px;line-height:1.2}.worker-chip small{color:var(--muted);font-size:9px}.worker-chip.selected{color:#75131e;background:#fff0f2;border-color:#ea9aa4;box-shadow:0 3px 10px #e2021917}.worker-chip.busy{color:#9099a7;cursor:not-allowed;background:#f1f3f6;border-color:#e2e5ea}.worker-chip.busy small{color:#8e97a4}.inline-add{color:var(--brand-primary);text-align:left;background:0 0;border:0;padding:2px 0;font-weight:750}.selection-preview{color:#53617a;background:#f7f9fc;border-radius:8px;padding:9px 10px;font-size:11px}.client-combobox{position:relative}.combo-menu{border:1px solid var(--line);box-shadow:var(--shadow);z-index:15;background:#fff;border-radius:10px;max-height:240px;padding:5px;position:absolute;top:44px;left:0;right:0;overflow:auto}.combo-option{text-align:left;background:#fff;border:0;border-radius:7px;width:100%;padding:8px 9px;display:block}.combo-option:hover{background:#f3f7fc}.combo-option strong,.combo-option small{display:block}.combo-option small{color:var(--muted);margin-top:2px;font-size:10px}.compact-grid{grid-template-columns:1.35fr 1fr 1fr}.compact-grid .full{grid-column:1/-1}.closing-section{background:#fafcfb}.work-hours-list{gap:7px;display:grid}.work-hour-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 110px;align-items:center;gap:8px;padding:8px;display:grid}.work-hour-row strong{font-size:11px}.work-hour-row small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.alert{background:var(--red2);color:#8d3232;border:1px solid #efb5b5;border-radius:9px;padding:10px 12px;font-size:11px;line-height:1.4}.sync-alert{justify-content:space-between;align-items:center;gap:10px;display:flex}.small-btn{padding:7px 10px;font-size:11px}.drawer-actions{border-top:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding-top:12px;display:flex;position:sticky;bottom:0}.spacer{flex:1}.modal{overscroll-behavior:contain;width:min(440px,100vw - 28px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);z-index:50;background:#fff;border-radius:14px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-head h3{margin:0}.modal form{gap:12px;padding:16px 18px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.toast{z-index:80;color:#fff;box-shadow:var(--shadow);background:#171b21;border-radius:9px;padding:11px 16px;font-size:12px;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@media (width<=1080px){.calendar-layout{grid-template-columns:1fr}.availability-panel{position:static}.availability-panel #availableWorkers{grid-template-columns:repeat(3,1fr);display:grid}}@media (width<=900px){.app-shell{grid-template-columns:72px 1fr}.brand>div:last-child,.nav-item{font-size:0}.brand{padding-left:4px}.nav-item{justify-content:center}.nav-item span{font-size:18px}.sidebar-footer{display:none}.topbar{padding:0 14px}.search-wrap{display:none}.view{padding:14px}.summary-row{grid-template-columns:1fr 1fr}.legend{display:none}.drawer{width:100%}.today-tomorrow-grid{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start}.calendar-toolbar-right{flex-direction:column;align-items:flex-end}.calendar-wrap{max-height:none}}@media (width<=600px){.app-shell{display:block}.sidebar{z-index:20;width:100%;height:62px;padding:6px;display:block;position:fixed;top:auto;bottom:0}.brand,.sidebar-footer{display:none}.sidebar nav{grid-template-columns:repeat(6,1fr);display:grid}.nav-item{height:50px;padding:5px}.nav-item.active{background:#223656}.main{padding-bottom:62px}.topbar{height:72px}.topbar h1{font-size:18px}.topbar p,.user-pill,.sync-badge{display:none!important}.summary-row,.compact-grid{grid-template-columns:1fr 1fr}.compact-grid label:first-of-type{grid-column:1/-1}.worker-picker,.replan-card{grid-template-columns:1fr}.day-job{grid-template-columns:55px 1fr}.day-job .status-tag{display:none}.calendar-layout{display:block}.availability-panel{margin-top:10px}.availability-panel #availableWorkers{grid-template-columns:1fr 1fr}.home-actions{justify-content:stretch}.home-actions button{flex:1}.calendar-toolbar{flex-direction:column}.calendar-toolbar-right{align-items:stretch;width:100%}.view-switch{width:max-content}.section-head{align-items:flex-start;gap:10px}.client-actions{flex-wrap:wrap}.quick-actions{top:72px}.work-hour-row{grid-template-columns:1fr 90px}}.daily-datebar{grid-template-columns:64px minmax(260px,1fr) 64px auto auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.daily-arrow{color:#173b69;background:#fff;border:1px solid #c9d5e5;border-radius:12px;height:58px;font-size:36px;font-weight:850;line-height:1}.daily-datepick{border:1px solid var(--line);text-align:center;color:#1f334d;background:#fff;border-radius:13px;gap:4px;min-height:58px;padding:8px 14px;display:grid}.daily-datepick span{letter-spacing:0;font-size:20px;font-weight:900}.daily-datepick input{color:#43526a;background:#f3f6fb;border:0;border-radius:8px;justify-self:center;padding:5px 8px}.daily-today,.daily-print{min-height:58px}.daily-summary{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.daily-summary span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px}.daily-summary strong{margin-right:5px}.daily-conflict{color:#7a4b08;background:#fff1d8;border:1px solid #efbd67;border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.daily-workers-list{gap:12px;display:grid}.daily-worker-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 2px #14243f0a}.daily-worker-card.has-conflict{border-color:#e6a545;box-shadow:0 0 0 3px #fff4df}.daily-worker-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.daily-worker-card h2{text-transform:uppercase;letter-spacing:.02em;color:#111820;margin:0;font-size:20px;line-height:1.15}.daily-worker-card>header>strong{color:#1b5e41;white-space:nowrap;background:#e9f8f1;border-radius:999px;padding:6px 10px;font-size:20px}.daily-worker-warning{color:#80510d;background:#fff1d8;border-radius:999px;margin-top:4px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.daily-job-list{gap:8px;padding-top:10px;display:grid}.daily-empty{color:var(--muted);background:#f7f9fc;border-radius:10px;padding:12px}.daily-job{border:1px solid #e3eaf3;border-left:5px solid var(--brand-primary);background:#fff;border-radius:12px;grid-template-columns:150px minmax(0,1fr) minmax(320px,auto);align-items:start;gap:12px;padding:11px;display:grid}.daily-job.conflict{background:#fffaf1;border-left-color:#d88a2b}.daily-job-time span{color:#193755;font-size:18px;font-weight:900;display:block}.daily-job-time small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.daily-job-main strong,.daily-job-main span,.daily-job-main p,.daily-job-main b{display:block}.daily-job-main strong{font-size:15px}.daily-job-main span{color:#3f5067;margin-top:3px;font-weight:700}.daily-job-main p{color:var(--muted);margin:5px 0 0}.daily-job-main b{color:#935d0c;margin-top:6px;font-size:12px}.daily-job-tools{grid-template-columns:1fr 1fr 72px auto;align-items:end;gap:8px;display:grid}.daily-job-tools label{color:#5a6578;gap:4px;font-size:10px;font-weight:800;display:grid}.mini-time-stepper,.time-stepper{grid-template-columns:42px minmax(86px,1fr) 42px;align-items:center;gap:5px;display:grid}.time-stepper{grid-template-columns:48px minmax(96px,1fr) 48px}.mini-time-stepper button,.time-stepper button{color:#1e568d;background:#fff;border:1px solid #cbd8e8;border-radius:9px;min-height:40px;font-size:20px;font-weight:900}.time-stepper button{min-height:44px}.mini-time-stepper input,.time-stepper input,.daily-hours-input{text-align:center;border:1px solid #d8deea;border-radius:9px;width:100%;min-height:40px;padding:7px 6px}.daily-job-tools .small-btn{align-self:end;min-height:40px}.print-area{display:none}.week-planner{background:#f8fafc;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:8px;display:grid}.planner-day{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.planner-day.today{border-color:#ea9aa4;box-shadow:0 0 0 3px #fff0f2}.planner-day.tomorrow:not(.today){border-color:#d6dce5}.planner-day.duplicate-target,.month-planner-day.duplicate-target{outline:3px solid var(--brand-primary);outline-offset:-3px;background:#fff6f7}.planner-day.duplicate-target:after,.month-planner-day.duplicate-target:after{content:"Rilascia qui per duplicare";color:var(--brand-primary);padding:6px 8px;font-size:11px;font-weight:850;display:block}.planner-day-head,.month-planner-head{text-align:left;background:#fff;border:0;gap:2px;width:100%;padding:10px;display:grid}.planner-day-head span{color:#55708f;font-size:11px;font-weight:900}.planner-day-head strong{font-size:23px;line-height:1}.planner-day-head small{color:var(--muted);font-size:10px}.planner-day-jobs{align-content:start;gap:7px;max-height:calc(100vh - 305px);padding:0 7px 8px;display:grid;overflow:auto}.planner-task{border:1px solid #dfe7f1;border-left:4px solid var(--brand-primary);text-align:left;background:#fff;border-radius:9px;gap:2px;min-width:0;padding:8px;transition:all .16s;display:grid}.planner-task.dragging{opacity:.45;transform:scale(.98)}.planner-task.completed{border-left-color:var(--green);background:#f4fbf7}.planner-task.incomplete{border-left-color:var(--orange);background:#fff8ec}.planner-task.has-conflict{background:#fffaf1;border-color:#efbd67}.planner-task strong{color:#1b3553;font-size:12px}.planner-task span{color:#213b5c;white-space:normal;font-size:12px;font-weight:850;line-height:1.2}.planner-task em{color:#445770;font-size:11px;font-style:normal;font-weight:700}.planner-task small,.planner-task p{color:var(--muted);margin:0;font-size:10px;line-height:1.25}.planner-empty{color:#7a8698;text-align:center;background:#fafcff;border:1px dashed #ccd6e4;border-radius:9px;padding:12px 6px;font-size:11px}.month-planner{background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.month-planner-weekday{text-align:center;color:#65758b;background:#f8fafc;padding:9px;font-size:11px;font-weight:850}.month-planner-day{background:#fff;align-content:start;gap:5px;min-height:142px;padding:6px;display:grid}.month-planner-day.other-month{color:#9aa4b3;background:#f8f9fb}.month-planner-day.today{box-shadow:inset 0 0 0 2px var(--brand-primary)}.month-planner-head{justify-content:space-between;align-items:center;padding:2px 2px 4px;display:flex}.month-planner-head strong{font-size:16px}.month-planner-head span{color:var(--muted);font-size:10px;font-weight:750}.month-planner-jobs{gap:4px;display:grid}.month-planner .planner-task{border-radius:7px;padding:6px}.month-planner .planner-task small,.month-planner .planner-task p{display:none}.month-planner .planner-task strong{white-space:normal;color:#171b21;font-size:10px;line-height:1.15}.month-planner .planner-task span,.month-planner .planner-task em{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.15;display:-webkit-box;overflow:hidden}.month-planner .planner-task em{-webkit-line-clamp:1;color:var(--muted);font-weight:600}.month-more{color:#3b4655;background:#f2f4f7;border:0;border-radius:7px;padding:5px;font-size:10px;font-weight:850}.toast{align-items:center;gap:10px;display:flex}.toast button{color:#fff;background:0 0;border:1px solid #ffffff73;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:850}.day-agenda{background:#f8fafc;gap:10px;min-height:420px;padding:10px;display:grid}.day-agenda.duplicate-target{outline:3px solid var(--brand-primary);outline-offset:-4px;background:#fff6f7}.day-agenda.duplicate-target:after{content:"Rilascia qui per duplicare nella giornata";text-align:center;color:var(--brand-primary);border:1px dashed #ea9aa4;border-radius:10px;padding:10px;font-size:12px;font-weight:850;display:block}.day-agenda-head{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.day-agenda-head strong{text-transform:capitalize}.day-agenda-head span{color:var(--muted);font-size:12px;font-weight:750}.day-agenda-list{align-content:start;gap:8px;display:grid}.agenda-job{border:1px solid #dfe7f1;border-left:5px solid var(--brand-primary);text-align:left;background:#fff;border-radius:10px;grid-template-columns:104px minmax(170px,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.agenda-job.completed{border-left-color:var(--green);background:#f4fbf7}.agenda-job.incomplete{border-left-color:var(--orange);background:#fff8ec}.agenda-job.cancelled{color:#697487;background:#eef0f4;border-left-color:#9aa3b1}.agenda-job.has-conflict{background:#fffaf1;border-color:#efbd67}.agenda-job .agenda-time{color:#193755;font-weight:900}.agenda-job strong{color:#171b21;font-size:13px}.agenda-job span,.agenda-job p{color:#4d5b6d;margin:0;font-size:12px}.agenda-job p{color:var(--muted)}.form-core-grid{display:grid}.form-step-main .inline-add{justify-self:start}.modal label small{color:var(--muted);font-weight:600}html,body{overflow-x:hidden}.drawer{width:min(640px,100vw);max-width:100vw;overflow-x:hidden}.job-form,.form-step{min-width:0}.worker-picker{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-height:310px}.worker-chip{min-width:0;padding:10px 11px}.worker-chip strong{overflow-wrap:anywhere;font-size:12px}.drawer-actions{flex-wrap:wrap;margin:0 -20px -24px;padding:12px 20px 16px}.drawer-actions .spacer{min-width:0}.drawer-actions button{white-space:normal}.job-form input,.job-form select,.job-form textarea{width:100%;min-width:0}.time-stepper,.client-combobox{min-width:0}.type-combobox{min-width:0;position:relative}.type-menu{z-index:18;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;max-height:250px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.type-option{text-align:left;color:#26364b;background:#fff;border:0;border-radius:8px;width:100%;min-height:44px;padding:11px 12px;font-weight:750;display:block}.type-option:hover,.type-option.active{color:var(--brand-primary);background:#fff0f2}.time-stepper,.mini-time-stepper{grid-template-columns:44px minmax(88px,1fr) 44px;min-width:0}.time-stepper button,.mini-time-stepper button{touch-action:manipulation;width:100%;min-width:44px}.time-stepper input,.mini-time-stepper input{font-variant-numeric:tabular-nums;min-width:0}.form-core-grid{grid-template-columns:minmax(140px,.9fr) minmax(174px,1fr) minmax(174px,1fr);align-items:end;gap:12px 18px}.form-core-grid label{min-width:0}.form-core-grid .time-stepper{grid-template-columns:44px minmax(76px,1fr) 44px;gap:6px;width:100%}.form-core-grid .time-stepper button{min-width:44px;height:44px}.form-core-grid .time-stepper input{min-width:76px;height:42px;padding-left:6px;padding-right:6px}@media (width<=1120px){.daily-datebar{grid-template-columns:58px 1fr 58px}.daily-today,.daily-print{grid-column:auto/span 1}.daily-job{grid-template-columns:130px minmax(0,1fr)}.daily-job-tools{grid-column:1/-1;grid-template-columns:1fr 1fr 80px auto}.daily-datepick span{font-size:18px}}@media (width<=1080px){.week-planner{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-day-jobs{max-height:none}.month-planner-day{min-height:118px}}@media (width<=760px){.daily-datebar{grid-template-columns:56px 1fr 56px}.daily-today,.daily-print{grid-column:1/-1}.daily-job{grid-template-columns:1fr}.daily-job-tools{grid-template-columns:1fr 1fr}.daily-job-tools label:nth-child(3),.daily-job-tools .small-btn{grid-column:auto}.daily-worker-card>header{align-items:flex-start}.daily-datepick span{font-size:16px}.topbar-actions{gap:6px}}@media (width<=900px){.agenda-job{grid-template-columns:1fr}.agenda-job .agenda-time{font-size:13px}.day-agenda-head{flex-direction:column;align-items:flex-start}.form-core-grid{grid-template-columns:1fr}}@media (width<=760px){.month-planner{grid-template-columns:repeat(2,minmax(0,1fr))}.month-planner-weekday{display:none}.month-planner-day{min-height:112px}.calendar-wrap{overflow:visible}}@media (width<=600px){.sidebar nav{grid-template-columns:repeat(7,1fr)}.daily-job-tools{grid-template-columns:1fr}.daily-summary span{flex:calc(50% - 8px)}.week-planner,.month-planner{grid-template-columns:1fr}.planner-day-head,.month-planner-head{min-height:50px}.calendar-nav{grid-template-columns:46px auto 46px 1fr;width:100%;display:grid}.calendar-nav>div{grid-column:1/-1}}@media (width<=430px){.compact-grid,.form-core-grid{grid-template-columns:1fr}.compact-grid label:first-of-type{grid-column:auto}.job-form{padding:12px 14px 20px}.form-step{padding:11px}.drawer-actions{margin:0 -14px -20px;padding:12px 14px 16px}.time-stepper{grid-template-columns:48px minmax(0,1fr) 48px}.type-option{min-height:48px}}@media print{@page{size:A4;margin:14mm}html,body{color:#111;background:#fff}.app-shell,.backdrop,.drawer,.modal,.toast,.print-area{display:block}.print-doc{color:#111;font-family:Arial,sans-serif;font-size:11pt}.print-doc header{border-bottom:2px solid #111;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.print-doc header img{object-fit:contain;width:42px;height:42px}.print-doc header strong{font-size:12pt}.print-doc h1{margin:4px 0;font-size:18pt}.print-doc header p{margin:0;font-weight:700}.print-warning{background:#fff4dc;border:1px solid #a46400;margin:10px 0;padding:8px}.print-jobs{display:block}.print-job-block{break-inside:avoid;page-break-inside:avoid;border:1px solid #cfcfcf;border-left:5px solid #111;margin:0 0 10px;padding:9px 11px}.print-job-block h2{text-transform:uppercase;overflow-wrap:break-word;margin:0 0 6px;font-size:13pt;line-height:1.2}.print-job-block p{margin:2px 0;line-height:1.28}.print-job-block .print-time{margin-bottom:5px;font-size:11.5pt;font-weight:800}.print-empty{color:#666;margin:0}.print-doc footer{border-top:2px solid #111;margin-top:14px;padding-top:8px;font-weight:700}}.worker-times-section{border-top:1px solid var(--line);padding:8px 0}.worker-times-section h3{margin:8px 0;font-size:14px}.worker-time-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 100px 100px;align-items:center;gap:8px;padding:10px 0;display:grid}.worker-time-row strong{overflow-wrap:anywhere;font-size:13px;display:block}.worker-time-row>label{min-width:0;font-size:11px}.worker-time-row input[type=time]{border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;min-height:38px;padding:6px 3px}.worker-time-row .worker-time-default{align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.worker-time-default input{width:16px;height:16px;margin:0}.worker-time-reset{grid-column:1/-1;justify-self:start;min-height:38px}.split-worker-actions{border-top:1px solid var(--line);padding:12px 0}.split-worker-panel{background:#f7f9fc;border:1px solid #cbd8e8;border-radius:12px;gap:12px;margin-top:10px;padding:14px;display:grid}.split-worker-panel p{color:#46566b;margin:0;font-size:14px;line-height:1.4}.split-worker-panel label{color:#34445b;gap:5px;font-size:13px;font-weight:750;display:grid}.split-worker-panel select,.split-worker-panel input{width:100%;min-height:48px;color:var(--text);background:#fff;border:1px solid #9ba8b6;border-radius:9px;padding:8px 10px;font-size:17px}.split-worker-times{grid-template-columns:1fr 1fr;gap:10px;display:grid}.split-worker-buttons{flex-wrap:wrap;gap:9px;display:flex}.split-worker-buttons button,.split-worker-actions>#openSplitWorkerBtn{min-height:44px}@media (width<=430px){.worker-time-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.worker-time-row>div{grid-column:1/-1}.split-worker-times{grid-template-columns:1fr 1fr}.split-worker-buttons button{flex:100%}}.maintenance-home-card{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#fff;border:1px solid #edd3d6;border-radius:13px;align-items:center;gap:12px;margin:14px 0 18px;padding:14px 16px;display:flex;box-shadow:0 2px 7px #1e2d460a}.maintenance-home-card:hover{background:#fffafb;border-color:#e7a3aa}.maintenance-home-icon{background:#fff0f2;border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.maintenance-home-card>span:nth-child(2){flex:1}.maintenance-home-card strong,.maintenance-home-card small{display:block}.maintenance-home-card strong{letter-spacing:.04em;font-size:12px}.maintenance-home-card small{color:var(--muted);margin-top:3px;font-size:12px}.maintenance-home-card>b{color:var(--brand-primary);font-size:12px}.maintenance-summary{grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;margin-bottom:14px;display:grid}.maintenance-stat{border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 13px}.maintenance-stat small,.maintenance-stat strong{display:block}.maintenance-stat small{color:var(--muted);font-size:11px}.maintenance-stat strong{margin-top:4px;font-size:22px}.maintenance-month-home{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;padding:14px 16px;display:flex}.maintenance-month-heading{text-align:center;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;display:grid}.maintenance-month-heading button{min-width:42px;min-height:42px;font-size:20px}.maintenance-month-heading h3{color:#263d59;margin:0;font-size:18px}.maintenance-month-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.maintenance-overdue-link{color:#814809;cursor:pointer;background:#fff7e9;border:1px solid #f0d2a8;border-radius:9px;padding:9px 12px;font-weight:750}.maintenance-print-option{align-items:center;grid-template-columns:auto 1fr!important;gap:9px!important;display:flex!important}.maintenance-print-option input{width:18px;min-height:18px;accent-color:var(--brand-primary);margin:0}.maintenance-filters{gap:7px;margin-bottom:8px;padding:2px 1px 10px;display:flex;overflow-x:auto}.maintenance-filters button,.maintenance-actions button{color:#31435c;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8e0eb;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:750}.maintenance-filters button.active{color:#7c151e;background:#fff0f2;border-color:#eaa1a9}.maintenance-list{gap:10px;display:grid}.maintenance-card{--maintenance-state:var(--maintenance-pending);--maintenance-state-bg:var(--maintenance-pending-bg);border:1px solid var(--line);border-left:4px solid var(--maintenance-state);border-right:4px solid var(--maintenance-state);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.maintenance-card:has(.maintenance-status.is-done){--maintenance-state:var(--maintenance-done);--maintenance-state-bg:var(--maintenance-done-bg)}.maintenance-card.overdue{--maintenance-state:var(--maintenance-overdue);--maintenance-state-bg:var(--maintenance-overdue-bg);background:#fffaf2}.maintenance-card:has(.maintenance-status.is-overdue){--maintenance-state:var(--maintenance-overdue);--maintenance-state-bg:var(--maintenance-overdue-bg);background:#fffaf2}.maintenance-card.cancelled{--maintenance-state:var(--maintenance-archived);--maintenance-state-bg:var(--maintenance-archived-bg);opacity:.7}.maintenance-card-main{flex:1;min-width:0}.maintenance-card-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.maintenance-card-title>div>strong,.maintenance-card-title>div>span{display:block}.maintenance-card-title>div>strong{font-size:14px}.maintenance-card-title>div>span{color:var(--maintenance-state);margin-top:3px;font-size:11px}.maintenance-status{background:var(--maintenance-state-bg);color:var(--maintenance-state);white-space:nowrap;border:1px solid;border-radius:999px;padding:5px 8px;font-size:9px}.maintenance-card.cancelled .maintenance-status{background:var(--maintenance-archived-bg);color:var(--maintenance-archived)}.maintenance-card-main>p{margin:7px 0 0;font-size:12px}.maintenance-details{color:#53617a;flex-wrap:wrap;gap:6px 12px;margin-top:7px;font-size:10px;display:flex}.maintenance-note{color:#66758a;font-size:11px}.maintenance-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:290px;display:flex}.maintenance-actions .primary-btn{padding:8px 10px;font-size:11px}.maintenance-actions .danger-lite{color:#a43b3b;border-color:#efcccc}.maintenance-report-pick{color:var(--muted);gap:4px;font-size:10px;font-weight:750;display:grid}.maintenance-report-pick select,.maintenance-report-pick input{max-width:150px;min-height:37px;color:var(--text);background:#fff;border:1px solid #d8deea;border-radius:8px;padding:7px 9px}.maintenance-date-fields{grid-template-columns:1.4fr 1fr;display:grid}.maintenance-recurring-toggle{border:1px solid #dfe6ef;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;padding:10px;color:#30435d!important;gap:8px!important;font-size:12px!important;display:flex!important}.maintenance-recurring-toggle input{width:18px;min-height:18px;accent-color:var(--brand-primary);margin:0}.maintenance-recurrence-options{background:#f8fafc;border:1px solid #e5ebf2;border-radius:10px;gap:10px;padding:12px;display:grid}.maintenance-recurrence-options>small{color:var(--muted);font-size:10px;line-height:1.4}.maintenance-custom-months{gap:8px;display:grid}.maintenance-month-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.maintenance-month-choice{background:#fff;border:1px solid #e2e8f0;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;padding:6px 7px;gap:6px!important;font-size:10px!important;display:flex!important}.maintenance-month-choice input{width:16px;min-height:16px;accent-color:var(--brand-primary);margin:0}.maintenance-modal-intro{color:#43546c;margin:0;font-size:12px;line-height:1.5}.modal.maintenance-modal{width:min(600px,100vw - 24px)}.maintenance-print-group{break-inside:avoid;page-break-inside:avoid;margin:0 0 15px}.maintenance-print-group h2{text-transform:uppercase;margin:14px 0 5px;font-size:13pt}.maintenance-print-group h3{margin:4px 0 7px;font-size:11pt}.maintenance-print table{border-collapse:collapse;width:100%;font-size:9pt}.maintenance-print th,.maintenance-print td{text-align:left;vertical-align:top;border:1px solid #b8bec7;padding:5px 6px}.maintenance-print thead th{background:#edf0f4}.maintenance-print-subtotal th{background:#f5f6f8}.maintenance-print-totals{border-top:2px solid #111;margin-top:14px;padding-top:5px}.maintenance-print-totals span{margin:0 8px 5px 0;display:inline-block}.maintenance-print-totals strong{margin-top:8px;font-size:13pt;display:block}.maintenance-detail-filters{border:1px solid var(--line);background:#f8fafc;border-radius:10px;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;margin:4px 0 15px;padding:12px;display:grid}.maintenance-detail-filters label{color:var(--muted);gap:4px;font-size:10px;font-weight:750;display:grid}.maintenance-detail-filters select,.maintenance-detail-filters input{min-width:0;min-height:37px;color:var(--text);background:#fff;border:1px solid #d8deea;border-radius:8px;padding:7px 9px}.maintenance-client-group{gap:8px;display:grid}.maintenance-client-group>h3{border-bottom:1px solid var(--line);color:#253a56;margin:12px 0 2px;padding:0 0 6px;font-size:16px}.maintenance-location-group{gap:7px;margin:0 0 8px 10px;display:grid}.maintenance-location-group>header{background:#f2f5f9;border-left:3px solid #8398b2;border-radius:7px;gap:2px;padding:8px 11px;display:grid}.maintenance-location-group>header strong{color:#344a64;font-size:13px}.maintenance-location-group>header span{color:var(--muted);font-size:11px}.maintenance-location-group .maintenance-card{margin-left:8px}.maintenance-place-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.maintenance-place-picker label{min-width:0}.maintenance-place-picker .inline-add{white-space:nowrap;margin:0 0 2px}.maintenance-new-location{background:#f8fafc;border:1px solid #dfe6ef;border-radius:10px;gap:9px;padding:12px;display:grid}.maintenance-new-location>strong{color:#344a64;font-size:12px}@media (width<=900px){.maintenance-card{flex-direction:column;align-items:flex-start}.maintenance-actions{justify-content:flex-start;max-width:none}.maintenance-report-pick select,.maintenance-report-pick input{max-width:115px}.maintenance-detail-filters{grid-template-columns:repeat(3,minmax(110px,1fr))}}@media (width<=600px){.sidebar nav{grid-template-columns:repeat(8,minmax(0,1fr))}.nav-item{font-size:0!important}.nav-item span{font-size:16px}.maintenance-summary,.maintenance-detail-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-card-title>div>strong{font-size:13px}#maintenanceView .section-head,#maintenanceView .section-actions{flex-wrap:wrap}.maintenance-report-pick{display:grid}.maintenance-report-pick select,.maintenance-report-pick input{max-width:135px}.maintenance-month-grid{grid-template-columns:repeat(2,1fr)}.maintenance-month-home{flex-direction:column;align-items:stretch}.maintenance-month-heading{order:0}.maintenance-month-home>.primary-btn{width:100%}}@media print{.maintenance-print-client>h2{text-transform:uppercase;break-after:avoid-page;border-bottom:2px solid #111;margin:13px 0 8px;padding:0 0 5px;font-size:14pt}.maintenance-print-place{margin:0 0 12px}.maintenance-print-place>h3{break-after:avoid-page;margin:8px 0 0;font-size:11pt}.maintenance-print-address{break-after:avoid-page;margin:2px 0 5px;font-size:9pt}.maintenance-print-table{break-inside:auto;page-break-inside:auto;margin:0 0 8px}.maintenance-print-table tr{break-inside:avoid;page-break-inside:avoid}.maintenance-print table{font-size:8.5pt}.maintenance-print th,.maintenance-print td{padding:4px}.maintenance-print header{break-after:avoid-page}.maintenance-print-table td small{color:#555;font-size:8pt;display:block}}.section-actions>.maintenance-report-pick{display:none}.maintenance-print-order-panel{border:1px solid #dfe6ef;border-radius:9px;gap:9px;padding:12px;display:grid}.maintenance-print-order-panel.hidden,.maintenance-custom-category.hidden{display:none!important}.maintenance-print-order-list{gap:5px;display:grid}.maintenance-print-order-row{border:1px solid #e2e8f0;border-radius:7px;grid-template-columns:minmax(0,1fr) 38px 38px;align-items:center;gap:6px;padding:5px 7px;display:grid}.maintenance-print-order-row span{overflow-wrap:break-word}.maintenance-print-order-row button{cursor:pointer;background:#fff;border:1px solid #cbd8e8;border-radius:7px;min-height:34px}.maintenance-year-group{gap:8px;display:grid}.maintenance-year-group>h2{color:#344a64;background:#f2f5f9;border-left:3px solid #8398b2;border-radius:7px;margin:14px 0 0;padding:8px 10px;font-size:14px}.maintenance-card .maintenance-status.is-pending{background:var(--maintenance-pending-bg);color:var(--maintenance-pending)}.maintenance-card .maintenance-status.is-done{background:var(--maintenance-done-bg);color:var(--maintenance-done)}.maintenance-card .maintenance-status.is-overdue{background:var(--maintenance-overdue-bg);color:var(--maintenance-overdue)}.maintenance-suggestion-field{min-width:0;position:relative}.maintenance-suggestion-field>label{display:grid}.maintenance-suggestion-menu{overscroll-behavior:contain;max-height:220px;box-shadow:var(--shadow);background:#fff;border:1px solid #d8deea;border-radius:9px;margin-top:4px;padding:4px;position:relative;overflow-y:auto}.maintenance-suggestion-row{border-radius:6px;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:3px;display:grid}.maintenance-suggestion-row:hover,.maintenance-suggestion-row:focus-within{background:#f5f7fa}.maintenance-suggestion-row>button:first-child,.maintenance-suggestion-custom{text-align:left;min-height:34px;color:var(--text);background:0 0;border:0;padding:8px 9px;font-size:12px}.maintenance-suggestion-row>button:first-child{overflow-wrap:anywhere;grid-column:1}.maintenance-suggestion-custom{width:100%;color:var(--brand-primary);font-weight:700;display:block}.maintenance-suggestion-remove{color:#a43b3b;opacity:0;background:0 0;border:0;grid-column:2;min-width:30px;min-height:30px;font-size:18px}.maintenance-suggestion-row:hover .maintenance-suggestion-remove,.maintenance-suggestion-row:focus-within .maintenance-suggestion-remove{opacity:1}.maintenance-suggestion-row button:focus-visible,.maintenance-suggestion-custom:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}@media (hover:none){.maintenance-suggestion-remove{opacity:1}}.maintenance-print-empty{color:#637084;margin:4px 0 7px;font-size:9pt;font-style:italic}@media print{.maintenance-print-client+.maintenance-print-client{border-top:3px solid #222;margin-top:15px;padding-top:10px}.maintenance-print-place+.maintenance-print-place{border-top:1px solid #aab3bd;margin-top:9px;padding-top:8px}.maintenance-print-client>h2{border-bottom:2px solid #222}.maintenance-print-place>h3{break-after:avoid-page}.maintenance-print-table thead{display:table-header-group}.maintenance-print-table tbody tr{break-inside:avoid-page}}html,body{overflow:hidden auto}.backdrop.hidden,.drawer.hidden,.modal.hidden{pointer-events:none}.client-usage-fieldset{background:#fbfcfe;border:1px solid #d8e0eb;border-radius:10px;gap:7px;margin:2px 0 0;padding:11px;display:grid}.client-usage-fieldset legend{color:#43546c;padding:0 5px;font-size:12px;font-weight:800}.client-usage-option{cursor:pointer;background:#fff;border:1px solid #dfe5ed;border-radius:8px;align-items:center;min-height:46px;padding:8px 10px;font-weight:650;transition:background .15s,border-color .15s,box-shadow .15s;color:#25364d!important;gap:11px!important;font-size:14px!important;display:flex!important}.client-usage-option:hover{background:#f7f9fc;border-color:#b8c5d6}.client-usage-option input{appearance:none;cursor:pointer;background:#fff;border:2px solid #68788d;border-radius:5px;flex:0 0 23px;place-content:center;width:23px;height:23px;min-height:23px;margin:0;display:grid}.client-usage-option input:before{content:"";border:0 solid #fff;border-width:0 0 2px 2px;width:11px;height:6px;transition:transform .12s;transform:rotate(-45deg)scale(0)}.client-usage-option input:checked{border-color:var(--brand-primary);background:var(--brand-primary)}.client-usage-option input:checked:before{transform:rotate(-45deg)scale(1)}.client-usage-option input:focus-visible{outline-offset:2px;outline:3px solid #e2021947}.client-usage-option:has(input:focus-visible){box-shadow:0 0 0 2px #e202192e}.maintenance-advanced{margin:0 0 10px}.maintenance-advanced>summary{align-items:center;min-height:38px;list-style:none;display:inline-flex}.maintenance-advanced>summary::-webkit-details-marker{display:none}.maintenance-advanced>summary:focus-visible{outline-offset:2px;outline:3px solid #e2021947}.maintenance-advanced[open]>.maintenance-detail-filters{margin-top:9px}.maintenance-detail-filters>[data-reset-maintenance-filters]{place-self:end start}.empty-state [data-reset-maintenance-filters]{margin:12px auto 0;display:block}#clientsGrid.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}.client-card{border-radius:12px;flex-direction:column;align-items:stretch;gap:0;min-width:0;height:auto;padding:16px;display:flex}.client-card-heading{align-items:flex-start;gap:10px;min-width:0;display:flex}.client-card-heading-main{align-items:flex-start;gap:11px;width:100%;min-width:0;display:flex}.client-card .client-icon{flex:0 0 38px;width:38px;height:38px}.client-card .client-name{text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;word-break:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;min-width:0;max-width:100%;padding-top:2px;line-height:1.35;display:-webkit-box;overflow:hidden}.client-card-details{flex:1 0 auto;align-content:start;gap:5px;min-width:0;margin:10px 0 0;padding:0;display:grid}.client-card-details>*{overflow-wrap:break-word;word-break:normal;min-width:0;max-width:100%;margin:0;line-height:1.4;display:block}.client-card-details small{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.client-use-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.client-card .client-use-tag{color:#3d5067;overflow-wrap:normal;background:#f3f7fb;border:1px solid #d6e2ef;border-radius:999px;align-items:center;min-height:25px;margin:0;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.client-card .client-use-tag.daily{color:#276344;background:#eff8f2;border-color:#c8e1d4}.client-card .client-use-tag.maintenance{color:#81501e;background:#fff6ec;border-color:#f1d6ba}.client-card .client-actions{border-top:1px solid #edf0f4;flex-wrap:wrap;flex:none;justify-content:flex-start;align-self:stretch;gap:8px;margin:14px 0 0;padding-top:12px;display:flex}.client-card .client-actions .client-action{text-align:center;flex:76px;min-width:76px;min-height:34px;margin:0;padding:7px 9px;font-size:12px;line-height:1.2}@media (width<=1080px){#clientsGrid.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){#clientsGrid.cards-grid{grid-template-columns:minmax(0,1fr)}.client-card .client-actions .client-action{flex:76px}}.maintenance-delete-warning{color:#8a2424;background:#fff3f3;border:1px solid #e7baba;border-radius:9px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.maintenance-delete-confirm{align-items:center;padding:8px 0;font-weight:650;gap:10px!important;display:flex!important}.maintenance-delete-confirm input{accent-color:#b92b2b;width:20px;min-height:20px;margin:0}.modal-actions .danger-lite{color:#9b2929;background:#fff;border:1px solid #dfaaaa;border-radius:9px;min-height:38px;padding:8px 12px}.modal-actions .danger-lite:disabled{opacity:.5;cursor:not-allowed}.app-update-banner{color:#513d10;background:#fff8e5;border:1px solid #e8c875;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;font-weight:700;display:flex}.app-update-banner.hidden{display:none}.app-update-banner button{flex:none}.auth-gate{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:30px;display:grid}.auth-logo{object-fit:contain;justify-self:center;width:88px;height:88px}.auth-card h1,.auth-card p{text-align:center;margin:0}.auth-card>label{gap:6px;font-weight:650;display:grid}.auth-card input{border:1px solid var(--border);min-height:44px;color:var(--text-primary);background:#fff;border-radius:8px;padding:10px 12px}.auth-card input:focus-visible{border-color:var(--brand-primary);outline:3px solid #e2021938}.auth-card>.auth-error{color:#8a2424;text-align:left;background:#fff0f0;border-radius:8px;padding:10px}.auth-card>.primary-btn{min-height:46px}@media (width<=480px){.auth-card{padding:22px}}
