:root{--ink:#14243b;--muted:#667c95;--line:#d5e4f1;--blue:#2a82d4;--navy:#124f8f;--orange:#f58a1f;--success:#1e9860;--green:var(--blue);--green-dark:var(--navy);--soft:#eef7ff;--cream:#f8fbff}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0}body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.auth-loading{background:#f3f7fb;place-items:center;min-height:100vh;display:grid}.auth-loading span{border:4px solid #d8e8f7;border-top-color:var(--blue);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-login{background:#fff;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-intro{color:#fff;background:linear-gradient(145deg,#123d68,#1d5e9d);flex-direction:column;justify-content:center;padding:9vh 10vw;display:flex}.login-logo{background:var(--orange);color:#fff;border-radius:18px 18px 18px 5px;place-items:center;width:58px;height:58px;font-size:30px;font-weight:900;display:grid}.login-intro>p{letter-spacing:.16em;color:#bfd8ef;margin:30px 0 15px;font-size:10px;font-weight:900}.login-intro h1{letter-spacing:-.05em;margin:0;font-size:clamp(45px,5vw,72px);line-height:1.02}.login-intro h1 em{color:#ffb45e;font-style:normal}.login-intro>small{color:#d7e8f7;margin-top:25px;font-size:15px}.login-form{width:min(390px,80%);margin:auto}.login-form h2{letter-spacing:-.04em;margin:0 0 8px;font-size:34px}.login-form>p:not(.eyebrow){color:#748193;margin:0 0 32px;font-size:13px}.login-form label{margin-bottom:17px;display:block}.login-form label span{color:#617086;margin-bottom:7px;font-size:10px;font-weight:900;display:block}.login-form input{background:#fafcff;border:1px solid #dce4ed;border-radius:11px;outline:none;width:100%;height:49px;padding:0 13px;font-size:14px}.login-form input:focus{border-color:#72a9dc;box-shadow:0 0 0 3px #e2effb}.login-form .primary{width:100%;height:49px;margin-top:3px}.login-form>small{text-align:center;color:#8c98a7;margin-top:18px;font-size:10px;display:block}.login-message{color:#a74331;background:#fff2ed;border-radius:9px;margin:-4px 0 13px;padding:10px;font-size:11px}.text-button{color:#1d5e9d;font:inherit;cursor:pointer;background:0 0;border:0;margin:16px auto 0;font-size:12px;font-weight:800;display:block}.text-button:hover{text-decoration:underline}.app-shell{background:#fff;grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(340px,390px);height:100dvh;min-height:0;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:#f6f9fc;flex-direction:column;padding:24px 14px 18px;display:flex}.brand{align-items:center;gap:11px;padding:0 8px 26px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,var(--blue),var(--navy));border-radius:12px 12px 12px 4px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid;box-shadow:4px 4px #ffd4a5}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:var(--muted);letter-spacing:.04em;margin-top:2px;font-size:11px}.brand-logo{padding:0 8px 26px;display:block}.brand-logo img{object-fit:contain;filter:drop-shadow(0 5px 8px #174a7e1f);border-radius:28px;width:174px;height:174px;display:block}.main-nav{gap:5px;display:grid}.nav-item{color:#5f6d82;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:13px;font-weight:700;display:flex}.nav-item span{text-align:center;width:21px;font-size:18px}.nav-item.active{color:var(--navy);background:#e6f0fa}.calendar-list{margin-top:28px;padding:0 7px}.section-label{color:#8995a3;letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;font-weight:800;display:flex}.section-label button{color:var(--orange);background:0 0;border:0;font-size:17px}.filter-row{color:#44536a;grid-template-columns:17px 11px 1fr auto;align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:700;display:grid}.filter-row input{accent-color:var(--blue)}.filter-row small{color:#9aa5b2}.color-dot{border:0;border-radius:50%;width:11px;height:11px;padding:0;box-shadow:0 0 0 2px #fff,0 0 0 3px #dce3ea}.calendar-name{text-align:left;color:inherit;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.profile{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;margin-top:auto;padding:16px 6px 0;display:grid}.avatar{width:34px;height:34px;color:var(--green-dark);background:#d5e9dc;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.profile strong,.profile small{display:block}.profile strong{font-size:12px}.profile small{color:#839089;margin-top:3px;font-size:9px}.profile button{color:#88948e;background:0 0;border:0}.workspace{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:auto}.topbar{border-bottom:1px solid var(--line);flex:0 0 86px;justify-content:space-between;align-items:center;height:86px;padding:17px 25px 15px 28px;display:flex}.eyebrow{letter-spacing:.13em;color:#839188;margin:0 0 5px;font-size:9px;font-weight:800}.topbar h1{letter-spacing:-.02em;margin:0;font-size:20px}.top-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);color:#637069;background:#fff;border-radius:10px;width:38px;height:38px;font-size:20px;position:relative}.icon-button.alert i{background:#ef5d45;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.primary{background:var(--green);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:800;box-shadow:0 4px 10px #167a5529}.calendar-toolbar{justify-content:space-between;align-items:center;height:66px;padding:0 25px 0 28px;display:flex}.date-navigation{align-items:center;gap:7px;display:flex}.date-navigation button{border:1px solid var(--line);color:#53615a;background:#fff;border-radius:8px;min-width:32px;height:32px;font-weight:700}.date-navigation h2{margin:0 0 0 9px;font-size:17px}.view-switch{background:#f0f3f1;border-radius:9px;padding:3px;display:flex}.view-switch button{color:#7a8780;background:0 0;border:0;border-radius:7px;padding:7px 13px;font-size:11px;font-weight:700}.view-switch button.active{color:#26332d;background:#fff;box-shadow:0 1px 4px #00000014}.calendar-wrap{border-top:1px solid var(--line);flex-direction:column;flex:1;min-height:620px;display:flex}.weekday-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);height:38px;display:grid}.weekday-row span{color:#9aa39e;letter-spacing:.1em;border-right:1px solid var(--line);place-items:center;font-size:9px;font-weight:800;display:grid}.month-grid{flex:1;grid-template-rows:repeat(6,minmax(96px,1fr));grid-template-columns:repeat(7,minmax(88px,1fr));display:grid}.day-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:8px 6px;transition:background .15s,box-shadow .15s;box-shadow:inset 0 0 #0000}.day-cell:hover{background:#f8fbfe}.day-cell.selected-day{background:#eef6fd;box-shadow:inset 0 0 0 2px #9bc4e8}.day-cell.muted{color:#c0c7c3;background:#fafbfa}.day-number{place-items:center;width:25px;height:25px;font-size:11px;font-weight:700;display:grid}.day-cell.today .day-number{background:var(--green);color:#fff;border-radius:50%}.day-jobs{gap:4px;margin-top:4px;display:grid}.job-pill{text-align:left;border:0;border-left:3px solid;border-radius:5px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding:5px;display:grid}.job-pill span{opacity:.8;font-size:8px;font-weight:800}.job-pill strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.job-pill i{color:var(--success);font-style:normal}.job-pill.selected{outline-offset:-1px;outline:2px solid}.detail-panel{border-left:1px solid var(--line);overscroll-behavior:contain;background:#fff;min-width:0;height:100%;max-height:100%;overflow-y:auto}.panel-content{flex-direction:column;min-height:100%;padding:24px 25px;display:flex}.panel-back{color:var(--navy);background:#edf5fc;border:0;border-radius:9px;align-self:flex-start;margin:0 0 18px;padding:8px 10px;font-size:10px;font-weight:900}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel-head button,.create-head button{color:#7a8880;background:0 0;border:0;font-size:18px}.service-badge,.status{border-radius:20px;align-items:center;margin-right:6px;padding:6px 9px;font-size:9px;font-weight:800;display:inline-flex}.service-badge{color:var(--job);background:var(--job-bg)}.status{color:#68756e;background:#f2f5f3}.status.assigned{color:#a9671a;background:#fff3e1}.panel-content>h2{letter-spacing:-.035em;max-width:320px;margin:24px 0 5px;font-size:26px;line-height:1.18}.job-id{color:#99a39d;margin:0;font-size:10px}.time-card{border:1px solid var(--line);background:#fafcfa;border-radius:13px;grid-template-columns:1fr 26px 1fr;align-items:center;margin:22px 0;padding:14px 15px;display:grid}.time-card>span{color:var(--green);font-size:19px}.time-card div:last-child{text-align:right}.time-card small,.time-card strong{display:block}.time-card small,.detail-section small,.detail-grid small,.notes small{letter-spacing:.08em;color:#8b9790;font-size:8px;font-weight:800}.time-card strong{margin-top:5px;font-size:17px}.detail-section{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:start;gap:11px;padding:17px 0;display:grid}.section-icon{width:30px;height:30px;color:var(--green);background:#edf4ef;border-radius:9px;place-items:center;font-size:16px;display:grid}.detail-section strong,.detail-section a{display:block}.detail-section strong{margin:4px 0;font-size:13px}.detail-section a{color:var(--green);font-size:11px;text-decoration:none}.mini-action{background:#f4faf6;border:1px solid #cfe2d6;border-radius:8px;padding:7px 12px;font-weight:800}.detail-section p{margin:5px 0 0;font-size:12px;line-height:1.65}.preline{white-space:pre-line}.scope-preview:not(.expanded){-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.scope-toggle{color:var(--blue);background:0 0;border:0;padding:7px 0 0;font-size:10px;font-weight:900}.detail-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.6fr;gap:18px;padding:16px 0;display:grid}.detail-grid>div>strong{margin-top:7px;font-size:17px;display:block}.worker-stack{align-items:center;margin-top:7px;display:flex}.worker-stack span{width:25px;height:25px;color:var(--green-dark);background:#d7e8dc;border:2px solid #fff;border-radius:50%;place-items:center;margin-right:-6px;font-size:9px;font-weight:900;display:grid}.worker-stack span:nth-child(2){color:#8f5818;background:#f6d9b7}.worker-stack strong{margin-left:12px;font-size:10px}.notes{padding:17px 0}.notes p{color:#5f6c65;font-size:11px;line-height:1.55}.panel-footer{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr auto;gap:8px;margin:auto -25px -24px;padding:13px 25px 24px;display:grid;position:sticky;bottom:-24px;box-shadow:0 -8px 20px #174a7e0f}.share,.secondary{border:1px solid var(--line);color:#405048;background:#fff;border-radius:10px;padding:10px 15px;font-size:11px;font-weight:800}.share{background:var(--green);color:#fff;border-color:var(--green)}.create-head{justify-content:space-between;align-items:start;display:flex}.create-head h2{margin:0;font-size:22px}.create-head button{font-size:28px}.form-intro{color:var(--muted);margin:8px 0 18px;font-size:11px}.create-form label{margin-bottom:13px;display:block}.create-form label>span,.create-form legend{color:#66736c;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.create-form b{color:#d2543d}.create-form input,.create-form select,.create-form textarea{color:#26332d;background:#f9fbfa;border:1px solid #dfe6e2;border-radius:9px;outline:none;width:100%;padding:10px 11px;font-size:11px}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-row.three{grid-template-columns:1.35fr 1fr 1fr}.create-form fieldset{border:0;margin:0 0 14px;padding:0}.worker-picks{flex-wrap:wrap;gap:6px;display:flex}.worker-picks button,.upload{border:1px solid var(--line);color:#647169;background:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.money-input{background:#f9fbfa;border:1px solid #dfe6e2;border-radius:9px;align-items:center;display:flex}.money-input i{color:#718078;padding-left:10px;font-size:10px;font-style:normal}.money-input input{border:0;padding-left:5px}.upload{width:100%;height:36px}.sticky-actions{border-top:1px solid var(--line);background:#fff;grid-template-columns:auto 1fr;gap:8px;margin:5px -25px -24px;padding:13px 25px;display:grid;position:sticky;bottom:-24px}.sticky-actions .primary{width:100%}.primary{background:var(--orange);box-shadow:0 4px 12px #f28c2838}.status.done{color:var(--success);background:#e6f4eb}.day-cell.today .day-number{background:var(--blue)}.time-card>span,.detail-section a{color:var(--blue)}.section-icon{color:var(--blue);background:#e8f2fb}.mini-action{background:#f2f8fd;border-color:#c9dff2}.share{background:var(--blue);border-color:var(--blue)}.worker-stack span{color:var(--navy);background:#dbeafa}.detail-grid>div:first-child strong{color:var(--orange)}.profile .avatar{color:var(--navy);background:#dbeafa}.create-form input:focus,.create-form textarea:focus,.create-form select:focus{border-color:#72a9dc;box-shadow:0 0 0 3px #e2effb}.worker-picks button.picked{color:var(--navy);background:#e8f2fb;border-color:#c9dff2}.create-form select{cursor:pointer;min-height:42px;font-size:12px;font-weight:700}.calendar-settings label{margin-top:18px;display:block}.calendar-settings label>span,.calendar-settings legend{color:#66758a;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.calendar-settings input{width:100%;color:var(--ink);background:#f9fbfe;border:1px solid #dce5ee;border-radius:10px;outline:none;padding:11px 12px;font-size:12px}.calendar-settings input:focus{border-color:#72a9dc;box-shadow:0 0 0 3px #e2effb}.calendar-settings fieldset{border:0;margin:20px 0;padding:0}.colour-options{flex-wrap:wrap;gap:12px;display:flex}.colour-options button{color:#fff;border:3px solid #fff;border-radius:50%;width:36px;height:36px;font-size:16px;font-weight:900;box-shadow:0 0 0 1px #d9e0e8}.colour-options button.selected{box-shadow:0 0 0 3px var(--navy)}.calendar-preview{border:1px solid var(--line);background:#f5f8fc;border-radius:13px;padding:15px}.calendar-preview>small{color:#8491a0;letter-spacing:.1em;margin-bottom:10px;font-size:8px;font-weight:900;display:block}.calendar-preview>div{border-left:4px solid;border-radius:7px;grid-template-columns:45px 1fr;align-items:center;gap:8px;padding:10px;display:grid}.calendar-preview span{font-size:9px;font-weight:900}.calendar-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.colour-tip{background:#fff7ec;border:1px solid #f8dfbe;border-radius:12px;grid-template-columns:27px 1fr;gap:10px;margin-top:14px;padding:13px;display:grid}.colour-tip>span{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:12px;font-weight:900;display:grid}.colour-tip p{color:#6e6252;margin:0;font-size:10px;line-height:1.5}.colour-tip strong{color:#4d4539;font-size:10px;display:block}.contact-actions{gap:6px;display:grid}.contact-actions .mini-action{text-align:center}.mini-action.whatsapp{color:#167345;background:#e8f6ed;border-color:#bfe3cc}.form-error{color:#a74331;background:#fff0eb;border:1px solid #f1cec2;border-radius:9px;margin:-2px 0 10px;padding:9px 11px;font-size:10px;font-weight:700}.create-form .permission-toggle{background:#f3f8fd;border:1px solid #cfe0f0;border-radius:11px;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:13px;display:grid}.create-form .permission-toggle>span{margin:0}.create-form .permission-toggle input{width:18px;height:18px;accent-color:var(--blue);margin:1px 0 0}.create-form .permission-toggle strong{color:var(--navy);font-size:11px;display:block}.create-form .permission-toggle small{color:#718096;margin-top:4px;font-size:9px;line-height:1.5;display:block}.holiday-pill{color:#a95d0c;border-left:3px solid var(--orange);background:#fff2df;border-radius:5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;padding:5px;display:grid}.holiday-pill span{font-size:7px}.holiday-pill strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.holiday-pill.observed{color:#b9752d;background:#fef7ed;border-left-style:dashed}.week-grid{flex:1;grid-template-columns:repeat(7,minmax(88px,1fr));display:grid}.week-grid .day-cell{min-height:560px}.day-view{background:#f8fafc;padding:0 28px 28px}.day-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:110px;display:flex}.day-heading>div{align-items:center;gap:13px;display:flex}.day-heading small{color:#758396;letter-spacing:.1em;font-size:10px;font-weight:900}.day-heading strong{color:var(--navy);font-size:44px}.day-heading p{color:#7d8998;font-size:12px}.day-agenda{gap:12px;padding:20px 0;display:grid}.day-agenda>.holiday-pill{padding:12px 14px}.day-agenda>.holiday-pill strong{font-size:12px}.agenda-row{grid-template-columns:95px minmax(0,420px);align-items:stretch;gap:14px;display:grid}.agenda-time{border-right:2px solid #dfe6ee;flex-direction:column;justify-content:center;display:flex}.agenda-time strong{font-size:12px}.agenda-time span{color:#8b96a3;margin-top:3px;font-size:10px}.agenda-row .job-pill{min-height:52px;padding:10px}.agenda-row .job-pill strong{font-size:12px}.empty-day{text-align:center;color:#8995a3;padding:80px 20px}.empty-day>span{font-size:35px}.empty-day strong{color:#40516a;margin-top:10px;font-size:17px;display:block}.empty-day p{font-size:12px}.day-schedule-panel{background:linear-gradient(#fff 0,#f8fbfe 100%)}.day-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-panel-head h2{color:var(--navy);margin:0;font-size:23px;line-height:1.1}.day-panel-head p:not(.eyebrow){color:#718096;margin:6px 0 0;font-size:11px}.day-panel-head .primary{white-space:nowrap;padding:10px 12px}.day-summary{background:linear-gradient(135deg,var(--navy),#276da9);color:#fff;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;margin:22px 0 15px;padding:16px;display:grid}.day-summary>strong{font-size:32px;line-height:1}.day-summary>span{font-size:12px;font-weight:800}.day-summary>div{grid-column:1/-1;gap:8px;margin-top:13px;display:flex}.day-summary b{background:#ffffff24;border-radius:14px;padding:6px 9px;font-size:9px}.day-holiday{border-left:4px solid var(--orange);color:#a95d0c;background:#fff3e4;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:10px;font-weight:900}.day-job-list{gap:10px;display:grid}.day-job-card{text-align:left;background:#fff;border:1px solid #dfe7ef;border-left:5px solid;border-radius:14px;grid-template-columns:62px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;padding:13px 11px;display:grid;box-shadow:0 4px 14px #174a7e0d}.day-job-card:hover{border-top-color:#b9d4eb;border-bottom-color:#b9d4eb;border-right-color:#b9d4eb;transform:translateY(-1px)}.day-job-time{border-right:1px solid #e5eaf0;flex-direction:column;display:flex}.day-job-time strong{color:var(--navy);font-size:11px}.day-job-time span{color:#8a96a3;margin-top:4px;font-size:9px}.day-job-main{min-width:0}.day-job-main>div{align-items:center;gap:5px;margin-bottom:7px;display:flex}.day-service-dot{border-radius:50%;width:7px;height:7px}.day-job-main b{color:#64748b;font-size:9px}.day-job-status{color:#a9671a;background:#fff2df;border-radius:10px;margin-left:auto;padding:4px 6px;font-size:8px;font-style:normal;font-weight:900}.day-job-status.done{color:#21875a;background:#e6f5ec}.day-job-status.unassigned{color:#687487;background:#f1f4f7}.day-job-main>strong{color:var(--ink);text-overflow:ellipsis;font-size:13px;line-height:1.35;display:block;overflow:hidden}.day-job-main>small{color:#788696;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:9px;display:block;overflow:hidden}.day-job-arrow{color:var(--blue);font-size:21px}.day-panel-empty{text-align:center;margin:auto 0;padding:50px 18px}.day-panel-empty>span{width:52px;height:52px;color:var(--blue);background:#e8f2fb;border-radius:17px;place-items:center;margin:0 auto;font-size:28px;font-weight:300;display:grid}.day-panel-empty h3{color:var(--navy);margin:16px 0 7px;font-size:19px}.day-panel-empty p{color:#718096;max-width:260px;margin:0 auto 20px;font-size:11px;line-height:1.6}.day-panel-empty .primary{padding:12px 17px}.worker-report{background:linear-gradient(#f8fbfe,#fff);border:1px solid #dbe5ee;border-radius:16px;margin-bottom:22px;padding:18px}.worker-report-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.worker-report-head h2{color:var(--navy);margin:0;font-size:19px}.worker-report-head>div>p:not(.eyebrow){color:#6e7d8d;margin:5px 0 0;font-size:11px}.worker-report-month{align-items:center;gap:8px;display:flex}.worker-report-month button{width:32px;height:32px;color:var(--navy);background:#fff;border:1px solid #d6e1ec;border-radius:8px;font-size:18px}.worker-report-month strong{text-align:center;min-width:120px;color:var(--navy);font-size:12px}.worker-report-labels,.worker-report-row{grid-template-columns:minmax(170px,1.6fr) repeat(4,minmax(62px,.55fr)) minmax(120px,1fr);align-items:center;gap:10px;display:grid}.worker-report-labels{color:#8794a3;letter-spacing:.07em;text-transform:uppercase;padding:0 14px 7px;font-size:8px;font-weight:900}.worker-report-labels span:not(:first-child){text-align:center}.worker-report-rows{gap:7px;display:grid}.worker-report-entry{background:#fff;border:1px solid #e1e8ef;border-radius:12px;overflow:hidden}.worker-report-row{text-align:left;width:100%;color:var(--navy);background:#fff;border:0;padding:12px 14px}.worker-report-row:hover,.worker-report-row.expanded{background:#f1f7fc}.worker-report-row>strong{text-align:center;font-size:16px}.worker-report-row .completed-count{color:var(--success);font-size:21px}.worker-report-person{grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:9px;min-width:0;display:grid}.worker-report-person>i{width:34px;height:34px;color:var(--navy);background:#dbeafa;border-radius:50%;grid-row:1/3;place-items:center;font-size:10px;font-style:normal;font-weight:900;display:grid}.worker-report-person>b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.worker-report-person>small{color:#82909e;font-size:9px}.completion-cell{grid-template-columns:auto 1fr;align-items:center;gap:6px;display:grid}.completion-cell>b{font-size:12px}.completion-cell>i{background:#e7edf2;border-radius:6px;height:6px;overflow:hidden}.completion-cell>i>em{background:var(--success);border-radius:6px;height:100%;display:block}.completion-cell>small{color:var(--blue);text-align:right;grid-column:1/-1;font-size:8px;font-weight:900}.worker-report-jobs{background:#fbfcfe;border-top:1px solid #e1e8ef;gap:5px;padding:8px 12px 11px;display:grid}.worker-report-jobs>button{text-align:left;background:#fff;border:0;border-radius:9px;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.worker-report-jobs>button:hover{background:#edf5fc}.worker-report-jobs time{color:var(--navy);font-size:10px;font-style:normal;font-weight:900}.worker-report-jobs time small,.worker-report-jobs span small{color:#8491a0;margin-top:3px;font-size:8px;display:block}.worker-report-jobs span{min-width:0}.worker-report-jobs span b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.worker-report-jobs>button>i{color:var(--blue);font-size:18px;font-style:normal}.worker-report-jobs>p,.worker-report-empty{text-align:center;color:#7b8997;margin:0;padding:18px;font-size:10px}.worker-report-values{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:7px;display:grid}.worker-report-values>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe7f1;border-radius:12px;padding:12px 14px}.worker-report-values>button:hover{background:#edf5fc;border-color:#b9d4eb}.worker-report-values small{color:#7d8b99;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:900;display:block}.worker-report-values strong{color:var(--navy);margin-top:5px;font-size:20px;display:block}.worker-report-values>button:nth-child(2) strong{color:var(--success)}.worker-report-values>button:nth-child(3) strong{color:var(--orange)}.worker-report-values span{color:var(--blue);margin-top:7px;font-size:9px;font-weight:900;display:block}.worker-report-note{color:#84909c;margin:0 2px 14px;font-size:8px}.worker-report-jobs>button{grid-template-columns:68px minmax(0,1fr) minmax(92px,auto) auto}.worker-report-job-money{grid-template-columns:auto auto;justify-content:end;align-items:center;gap:2px 6px;display:grid}.worker-report-job-money>small{color:#8491a0;text-align:right;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:7px}.worker-report-job-price{color:var(--orange);white-space:nowrap;font-size:11px}.worker-report-job-spend{color:var(--navy);white-space:nowrap;font-size:11px}.job-extras-summary{border-bottom:1px solid var(--line);padding:15px 0}.job-extras-heading{grid-template-columns:1fr 1fr;gap:14px;display:grid}.job-extras-heading>div:last-child{text-align:right}.job-extras-heading small{color:#8b9790;letter-spacing:.08em;font-size:8px;font-weight:900;display:block}.job-extras-heading strong{color:var(--navy);margin-top:5px;font-size:15px;display:block}.job-extras-heading>div:last-child strong{color:var(--orange);font-size:18px}.job-extra-row{background:#f7f9fc;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:11px;padding:9px 10px;display:flex}.job-extra-row>span{color:#40516a;font-size:10px;font-weight:800}.job-extra-row small{color:#8794a3;margin-top:3px;font-size:8px;display:block}.job-extra-row>strong{color:var(--orange);white-space:nowrap;font-size:11px}@media (max-width:1100px){.app-shell{grid-template-columns:72px minmax(0,1fr) minmax(320px,36vw)}.sidebar{padding-inline:8px}.brand div,.main-nav .nav-item:not(.active),.nav-item.active{font-size:0}.brand{padding-inline:8px}.brand-mark{width:38px}.nav-item span{font-size:18px}.calendar-list,.profile div,.profile button{display:none}.profile{justify-content:center;display:flex}.topbar{padding-left:20px}.calendar-wrap{overflow:auto}.calendar-toolbar{min-width:620px}}@media (max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.detail-panel{z-index:5;position:fixed;inset:0 0 0 12%;box-shadow:-16px 0 50px #17211d29}.workspace{overflow:auto}.month-grid{min-width:700px}.calendar-wrap{overflow:auto}.topbar{z-index:2;background:#fff;position:sticky;top:0}.topbar h1{font-size:17px}.calendar-toolbar{min-width:700px}}@media (max-width:700px){.admin-login{grid-template-columns:1fr}.login-intro{display:none}.login-form{width:min(390px,84%);padding:45px 0}}@media (max-width:1100px){.brand-logo{padding:0 0 22px}.brand-logo img{border-radius:13px;width:52px;height:52px}}.assign-worker-link{color:var(--blue);text-align:left;background:0 0;border:0;padding:8px 0 0;font-size:10px;font-weight:800;display:block}.assign-worker-link:hover{text-decoration:underline}.month-grid,.month-grid .day-cell,.month-grid .day-jobs{min-height:0;overflow:hidden}.more-jobs{color:var(--blue);text-align:left;background:0 0;border:0;padding:3px 4px;font-size:9px;font-weight:900}.more-jobs:hover{text-decoration:underline}.job-extra-actions{flex-shrink:0;gap:5px;display:flex}.job-extra-actions button,.job-extra-edit-row button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #b9d5ea;border-radius:6px;padding:5px 7px;font-size:8px;font-weight:900}.job-extra-actions button:hover,.job-extra-edit-row button:hover{background:#eaf3fc}.job-extra-actions .job-extra-delete{color:#c24141;border-color:#f0b7b7}.job-extra-actions button:disabled,.job-extra-edit-row button:disabled{opacity:.55;cursor:wait}.job-extra-edit-row{background:#eef5fb;border-radius:9px;grid-template-columns:1fr 1.4fr .7fr auto;align-items:center;gap:6px;margin-top:11px;padding:9px 10px;display:grid}.job-extra-edit-row select,.job-extra-edit-row input{color:#30465e;background:#fff;border:1px solid #cddceb;border-radius:6px;min-width:0;padding:6px 7px;font-size:9px}.job-extra-edit-row div{gap:5px;display:flex}.job-extra-edit-row .job-extra-cancel{color:#64748b;border-color:#d5dde6}.app-shell,.workspace{height:100vh;min-height:0;overflow:hidden}.calendar-wrap{min-height:0;overflow:auto}.month-grid{grid-template-rows:repeat(6,minmax(0,1fr))}.workspace:has(.month-grid) .calendar-wrap{height:calc(100vh - 152px);max-height:calc(100vh - 152px);overflow:hidden}.workspace:has(.month-grid) .month-grid{height:calc(100vh - 190px);max-height:calc(100vh - 190px)}.calendar-actions{grid-template-columns:auto auto 1fr}.danger{color:#be123c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:800}.danger:hover{background:#ffe4e6}.worker-report-person>small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.worker-report-person>small>em{color:var(--navy);font-style:normal;font-weight:900}.worker-report-labels,.worker-report-row{grid-template-columns:minmax(150px,1.45fr) minmax(76px,.68fr) minmax(76px,.68fr) repeat(4,minmax(52px,.48fr)) minmax(112px,1fr);gap:8px}.worker-report-assigned-value{color:var(--orange)}.worker-report-paid-value{color:var(--navy)}.day-status-filters{flex-wrap:wrap;margin-top:13px;display:flex;gap:6px!important}.day-status-filters button{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:14px;padding:6px 9px;font-size:9px;font-weight:900}.day-status-filters button.active{color:var(--navy);background:#fff}.done-panel-action{background:var(--success);color:#fff;border:0;border-radius:10px;grid-column:1/-1;padding:11px 15px;font-size:11px;font-weight:900}.done-panel-action:disabled{opacity:.65}.notification-wrap{position:relative}.notification-popover{border:1px solid var(--line);z-index:30;background:#fff;border-radius:12px;width:300px;max-height:380px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 14px 30px #174a7e29}.notification-popover>strong{color:var(--navy);margin-bottom:7px;font-size:13px;display:block}.notification-popover>p{color:#7b8997;margin:10px 3px;font-size:11px}.notification-popover>button{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #edf1f4;width:100%;padding:9px 3px;display:block}.notification-popover>button.unread{background:#f3f8fd}.notification-popover>button b,.notification-popover>button span,.notification-popover>button small{display:block}.notification-popover>button b{color:var(--navy);font-size:11px}.notification-popover>button span{color:#637286;margin-top:3px;font-size:10px}.notification-popover>button small{color:#97a2ae;margin-top:4px;font-size:8px}.global-search{border-bottom:1px solid var(--line);background:#f8fbfe;align-items:center;gap:9px;padding:10px 20px;display:flex}.global-search span{color:var(--blue);font-size:18px}.global-search input{color:var(--navy);background:#fff;border:1px solid #d6e1ec;border-radius:8px;outline:none;flex:1;padding:9px 11px;font-size:12px}.global-search button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:900}.jobs-status-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.jobs-status-filters button{color:#607084;cursor:pointer;background:#fff;border:1px solid #d6e1ec;border-radius:16px;padding:7px 11px;font-size:10px;font-weight:900}.jobs-status-filters button.active{border-color:var(--blue);color:var(--navy);background:#eaf3fc}.jobs-status-filters span{color:var(--blue);margin-left:3px}.jobs-filter-empty{text-align:center;color:#7b8997;padding:40px;font-size:12px}.worker-report-row{cursor:pointer}.report-count{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:3px 5px;font-weight:900}.report-count:hover,.report-count.active{color:var(--blue);background:#eaf3fc}.brand-lockup{display:none}.topbar-title{min-width:0}.calendar-footer{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:11px 18px;display:flex}.calendar-footer>strong{color:var(--navy);white-space:nowrap;font-size:11px}.calendar-legend{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.calendar-legend span{color:#52657d;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.calendar-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.day-view-all{color:var(--blue);text-align:center;background:#fff;border:1px solid #c7dff3;border-radius:9px;padding:10px 12px;font-size:10px;font-weight:900}.day-view-all:hover{background:#edf6fd}.directory-view{padding:28px;overflow:auto}.directory-intro{border-bottom:1px solid var(--line);padding-bottom:20px}.directory-intro h2{color:var(--navy);margin:3px 0 7px;font-size:27px}.directory-intro>p:last-child{color:#718096;margin:0;font-size:12px}.directory-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:20px;display:grid}.directory-card{background:#fff;border:1px solid #dce6ef;border-radius:14px;grid-template-columns:24px 1fr;gap:3px 9px;padding:16px;display:grid;box-shadow:0 4px 14px #174a7e0a}.directory-card span{color:var(--orange);grid-row:1/3}.directory-card strong{color:var(--navy);font-size:12px}.directory-card small{color:#8491a0;font-size:9px}.directory-empty{color:#718096;padding:30px;font-size:12px}.account-chip{color:var(--navy);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:4px 6px;display:flex}.account-avatar{width:32px;height:32px;color:var(--navy);background:#f2f8fd;border:2px solid #c7def1;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.account-copy{gap:2px;min-width:118px;display:grid}.account-copy strong{white-space:nowrap;font-size:11px}.account-copy small{color:#728092;white-space:nowrap;font-size:8px}.account-chevron{color:#718096;margin-left:3px;font-size:17px}.account-chip:hover .account-avatar{border-color:var(--blue);background:#eaf4fc}@media (min-width:1101px){.topbar{position:relative}.brand-lockup{text-align:center;pointer-events:none;display:block;position:absolute;left:50%;transform:translate(-50%)}.brand-wordmark{letter-spacing:-.04em;color:var(--navy);margin:0;font-size:22px;font-weight:900}.brand-wordmark em{color:var(--orange);font-style:normal}.brand-subtitle{color:#718096;letter-spacing:.08em;margin:2px 0 0;font-size:8px;font-weight:800}.topbar-title{min-width:180px}}@media (max-width:1500px){.worker-report{padding:15px;overflow:visible}.worker-report-head,.worker-report-values,.worker-report-note,.worker-report-labels,.worker-report-rows{min-width:0}.worker-report-labels,.worker-report-row{grid-template-columns:minmax(104px,1.45fr) minmax(54px,.72fr) minmax(54px,.72fr) repeat(4,minmax(32px,.46fr)) minmax(72px,.9fr);gap:5px}.worker-report-labels{padding:0 8px 7px;font-size:7px}.worker-report-row{padding:10px 8px}.worker-report-row>strong{font-size:13px}.worker-report-row .completed-count{font-size:17px}.worker-report-person{grid-template-columns:28px minmax(0,1fr);column-gap:7px}.worker-report-person>i{width:28px;height:28px;font-size:8px}.worker-report-person>b{font-size:10px}.worker-report-person>small{font-size:8px}.completion-cell{gap:4px}.completion-cell>b{font-size:10px}.completion-cell>small{text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.worker-report-values>button{padding:10px}.worker-report-values strong{font-size:18px}}.selectable-phone{color:var(--blue);-webkit-user-select:text;user-select:text;cursor:text;font-size:11px;display:block}.customer-directory-card{text-align:left;grid-template-columns:24px minmax(0,1fr);width:100%;min-height:78px;transition:border-color .15s,box-shadow .15s}.customer-directory-card:hover,.customer-directory-card.expanded{border-color:#9fc7e7;box-shadow:0 8px 20px #174a7e1a}.customer-directory-copy{gap:5px;min-width:0;display:grid}.customer-directory-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-directory-copy small{overflow-wrap:anywhere;line-height:1.35}.report-menu-card{text-align:left;cursor:pointer;min-height:92px}.report-menu-card:hover{border-color:#9fc7e7;box-shadow:0 8px 20px #174a7e1a}.report-menu-card small{line-height:1.35}.report-detail-view{min-height:100%;overflow:auto}.report-back{color:var(--blue);background:0 0;border:0;margin:0 0 16px;padding:0;font-size:11px;font-weight:900}.report-service-filters{flex-wrap:wrap;gap:7px;margin:18px 0 12px;display:flex}.report-service-filters button{color:#627285;cursor:pointer;background:#fff;border:1px solid #d6e1ec;border-radius:16px;padding:7px 11px;font-size:10px;font-weight:900}.report-service-filters button.active{border-color:var(--blue);color:var(--navy);background:#eaf3fc}.report-month-control{justify-content:flex-start;margin:8px 0 14px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.report-summary-grid>div,.worker-report-costs>div{background:#fff;border:1px solid #dbe7f1;border-radius:12px;padding:12px}.report-summary-grid small,.worker-report-costs small{color:#7d8b99;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:900;display:block}.report-summary-grid strong,.worker-report-costs strong{color:var(--navy);margin-top:5px;font-size:18px;display:block}.report-summary-grid .report-earned strong{color:var(--blue)}.report-summary-grid .report-pending strong{color:var(--orange)}.growth-chart-card{background:linear-gradient(#f8fbfe,#fff);border:1px solid #dbe5ee;border-radius:16px;padding:18px}.growth-chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.growth-chart-head h3{color:var(--navy);margin:2px 0 0;font-size:18px}.growth-chart-head>span{color:#718096;font-size:9px;font-weight:800}.growth-chart-head>span i{border-radius:50%;width:8px;height:8px;margin:0 4px 0 10px;display:inline-block}.growth-chart-head>span i:first-child{margin-left:0}.chart-key-earned{background:var(--blue)}.chart-key-pending{background:var(--orange)}.growth-chart{gap:12px;display:grid}.growth-chart-row{grid-template-columns:32px minmax(0,1fr) 68px;align-items:center;gap:9px;display:grid}.growth-chart-row>b{color:#718096;font-size:10px}.growth-chart-row>small{text-align:right;color:var(--navy);font-size:10px;font-weight:900}.growth-chart-track{background:#edf2f6;border-radius:6px;height:18px;display:flex;overflow:hidden}.growth-chart-track i{height:100%;display:block}.growth-chart-earned{background:var(--blue)}.growth-chart-pending{background:var(--orange)}.worker-report-costs{grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 7px;display:grid}.worker-report-costs>div:nth-child(2) strong{color:var(--orange)}.settings-card{text-align:left;cursor:pointer;min-height:92px}.settings-card:hover,.settings-card.expanded{border-color:#9fc7e7;box-shadow:0 8px 20px #174a7e1a}.settings-card small{line-height:1.35}.settings-calendar-list{border-top:1px solid #e6edf3;grid-column:1/-1;gap:7px;margin-top:8px;padding-top:10px;display:grid}.settings-calendar-list span{color:var(--navy);align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.settings-calendar-list i{border-radius:50%;width:10px;height:10px;display:inline-block}.settings-calendar-list em{color:var(--blue);margin-left:auto;font-size:9px;font-style:normal}.month-grid .day-jobs{overflow:visible}.month-grid .more-jobs{color:#2678c9;cursor:pointer;background:#e8f2fb;border-radius:8px;width:max-content;min-height:18px;padding:3px 7px;font-size:9px;font-weight:900;line-height:12px;display:block}.month-grid .more-jobs:hover{background:#d7eafb;text-decoration:none}@media (min-width:1101px){.top-actions{margin-right:205px}.top-actions .account-chip{margin:0;position:absolute;top:25px;right:18px}.month-grid .day-cell{padding:6px 5px}.month-grid .day-number{height:21px}.month-grid .day-jobs{gap:2px;margin-top:2px}.month-grid .job-pill{min-height:20px;padding:3px 4px}.month-grid .job-pill span,.month-grid .job-pill strong{font-size:8px}.month-grid .more-jobs{margin-top:1px}.topbar{grid-template-columns:minmax(220px,1fr) auto minmax(250px,1fr);column-gap:18px;display:grid}.topbar-title{grid-column:1;min-width:0}.brand-lockup{white-space:nowrap;grid-area:1/2;justify-self:center;position:static;transform:none}.top-actions{grid-column:3;justify-content:flex-end;min-width:0;margin-right:0}.top-actions .account-chip{display:none}}.worker-report-future-money{grid-column:1/-1;color:#8491a0!important;font-size:8px!important}@media (max-width:1500px){.worker-report-labels,.worker-report-row{grid-template-columns:minmax(104px,1.45fr) repeat(6,minmax(32px,.46fr)) minmax(72px,.9fr)}}.worker-report-costs{grid-template-columns:repeat(4,1fr)}.worker-report-costs>div:nth-child(2) strong,.worker-report-costs>div:nth-child(3) strong{color:var(--orange)}.cash-collection-summary{background:#fff;border:1px solid #dbe7f1;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:10px 12px;display:flex}.cash-collection-summary>div:first-child{min-width:145px}.cash-collection-summary>div:first-child>b{color:var(--navy);font-size:10px;display:block}.cash-collection-summary>div:first-child>small{color:#8491a0;margin-top:3px;font-size:8px;display:block}.cash-collection-summary-list{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:12px;display:flex}.cash-collection-summary-list>span{grid-template-columns:auto auto;align-items:center;column-gap:7px;display:grid}.cash-collection-summary-list>span>b{color:var(--navy);font-size:9px}.cash-collection-summary-list>span>strong{color:var(--blue);font-size:13px}.cash-collection-summary-list>span.cash-worker-summary>strong{color:var(--orange)}.cash-collection-summary-list>span>small{color:#8491a0;text-align:right;grid-column:1/-1;font-size:7px}.completion-cell>.worker-report-cash-status{color:var(--orange);text-overflow:clip;white-space:nowrap;overflow:visible}.worker-report-cash-count{text-align:center;color:var(--blue);white-space:nowrap;font-size:12px}.worker-report-cash-count.worker,.worker-report-cash-count.pending{color:var(--orange)}.cash-collection-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.cash-collection-actions>small{color:#718096;width:100%;font-size:8px;font-weight:800}.cash-collection-actions>button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #b9d5ea;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:900}.cash-collection-actions>button:hover{background:#eaf3fc}.cash-collection-actions>button:disabled{opacity:.55;cursor:wait}.worker-report-job-cash{color:#e07b19!important}.worker-report-job-cash.collected{color:#21875a!important}@media (max-width:1500px){.worker-report-labels,.worker-report-row{grid-template-columns:minmax(104px,1.45fr) repeat(7,minmax(32px,.46fr)) minmax(72px,.9fr)}}.invoice-draft-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0 12px;display:grid}.invoice-draft-summary>div{background:#fff;border:1px solid #dbe7f1;border-radius:12px;padding:12px}.invoice-draft-summary small{color:#7d8b99;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:900;display:block}.invoice-draft-summary strong{color:var(--navy);margin-top:5px;font-size:20px;display:block}.invoice-draft-notice{background:#f5faff;border:1px solid #cfe3f5;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.invoice-draft-notice strong{color:var(--navy);white-space:nowrap;font-size:11px}.invoice-draft-notice span{color:#718096;font-size:10px;line-height:1.45}.invoice-draft-controls{gap:8px;margin-bottom:12px;display:flex}.invoice-draft-controls input,.invoice-draft-controls select{color:var(--navy);background:#fff;border:1px solid #d6e1ec;border-radius:9px;outline:none;padding:10px 11px;font-size:11px}.invoice-draft-controls input{flex:1}.invoice-customer-list{gap:8px;display:grid}.invoice-customer-row{background:#fff;border:1px solid #dbe7f1;border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 12px;display:grid}.invoice-customer-avatar{width:38px;height:38px;color:var(--navy);background:#e1effb;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.invoice-customer-row strong,.invoice-customer-row small{display:block}.invoice-customer-row strong{color:var(--navy);font-size:12px}.invoice-customer-row small{color:#718096;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.invoice-customer-date{color:#8a98a7;white-space:nowrap;font-size:9px}.invoice-customer-row .secondary{padding:8px 9px;font-size:9px}.invoice-customer-row .secondary:disabled{cursor:default;opacity:.55}@media (max-width:800px){.invoice-draft-summary{grid-template-columns:repeat(2,1fr)}.invoice-customer-row{grid-template-columns:38px minmax(0,1fr)}.invoice-customer-date,.invoice-customer-row .secondary{grid-column:2}.invoice-customer-date{order:3}.invoice-customer-row .secondary{order:4;justify-self:start}}.invoice-job-list{gap:8px;display:grid}.invoice-job-row{background:#fff;border:1px solid #dbe7f1;border-radius:13px;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.invoice-job-date strong,.invoice-job-date small,.invoice-job-row>div:nth-child(2) strong,.invoice-job-row>div:nth-child(2) small{display:block}.invoice-job-date strong{color:var(--navy);font-size:11px}.invoice-job-date small,.invoice-job-row>div:nth-child(2) small{color:#718096;margin-top:3px;font-size:9px}.invoice-job-row>div:nth-child(2) strong{color:var(--navy);font-size:12px}.invoice-job-row>strong{color:var(--orange);white-space:nowrap;font-size:12px}.invoice-job-row .secondary{padding:8px 9px;font-size:9px}.invoice-balance-preview{color:#718096;font-size:9px;font-weight:800;display:block}.invoice-draft-controls{flex-wrap:wrap;align-items:center}.invoice-draft-controls select{min-width:145px}.invoice-draft-controls .invoice-more-filters{white-space:nowrap;padding:10px 12px;font-size:10px}.invoice-custom-dates label{color:#718096;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.invoice-custom-dates input{flex:none}.invoice-more-filter-row{margin-top:-5px}.invoice-more-filter-row input{flex:0 130px;min-width:100px}.invoice-export-actions{color:#718096;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;font-size:10px;font-weight:800;display:flex}.invoice-export-actions>div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.invoice-export-actions button{padding:9px 11px;font-size:9px}.invoice-export-actions .primary{box-shadow:none}.invoice-export-note{color:#9aa7b5;margin-top:3px;font-size:9px;font-weight:600;display:block}@media (max-width:800px){.invoice-job-row{grid-template-columns:1fr auto}.invoice-job-row>div:nth-child(2){grid-area:1/1/auto/-1}.invoice-job-date{grid-column:1}.invoice-job-row>strong{grid-column:2}.invoice-job-row .secondary{grid-column:1/-1;justify-self:start}}.invoice-editor-backdrop{z-index:60;background:#0d233859;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.invoice-editor{background:#fff;border:1px solid #d8e5f0;border-radius:16px;width:min(640px,100%);max-height:calc(100vh - 44px);padding:20px;overflow:auto;box-shadow:0 20px 60px #0f2b4638}.invoice-editor-head{border-bottom:1px solid #e4ebf1;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:14px;display:flex}.invoice-editor-head h3{color:var(--navy);margin:3px 0 0;font-size:19px}.panel-head-close{color:var(--navy);cursor:pointer;background:#edf5fc;border:0;border-radius:9px;width:32px;height:32px;font-size:22px;line-height:1}.invoice-editor-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.invoice-editor-grid label{gap:6px;display:grid}.invoice-editor-grid label.full{grid-column:1/-1}.invoice-editor-grid span{color:#718096;letter-spacing:.08em;font-size:9px;font-weight:900}.invoice-editor-grid input,.invoice-editor-grid textarea{box-sizing:border-box;width:100%;color:var(--navy);font:inherit;background:#fbfdff;border:1px solid #d6e1ec;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.invoice-editor-grid textarea{resize:vertical}.invoice-payment-history{background:#f8fbfe;border:1px solid #dbe7f1;border-radius:10px;margin-top:16px;padding:11px}.invoice-payment-history>strong{color:#718096;letter-spacing:.08em;margin-bottom:7px;font-size:9px;display:block}.invoice-payment-history>div{color:#66788d;text-transform:capitalize;border-top:1px solid #e5edf4;justify-content:space-between;gap:12px;padding:5px 0;font-size:10px;display:flex}.invoice-payment-history>div:first-of-type{border-top:0}.invoice-payment-history b{color:var(--navy);white-space:nowrap}.invoice-editor-actions{border-top:1px solid #e4ebf1;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:15px;display:flex}.invoice-editor-actions .secondary,.invoice-editor-actions .primary{padding:10px 14px;font-size:10px}@media (max-width:600px){.invoice-editor-grid{grid-template-columns:1fr}.invoice-editor-grid label.full{grid-column:auto}.invoice-editor-actions{flex-direction:column}.invoice-editor-actions button{width:100%}}.invoice-status-summary{color:#718096;background:#fff;border:1px solid #dbe7f1;border-radius:12px;flex-wrap:wrap;align-items:center;gap:15px;margin:0 0 12px;padding:9px 12px;font-size:9px;font-weight:800;display:flex}.invoice-status-summary span{align-items:center;gap:5px;display:inline-flex}.invoice-status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.invoice-status-dot.draft{background:#8a98a7}.invoice-status-dot.sent{background:#2678c9}.invoice-status-dot.partial{background:#d77d1b}.invoice-status-dot.paid{background:#21875a}.invoice-status-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.invoice-status-chip.draft{color:#687887;background:#edf1f4}.invoice-status-chip.sent{color:#2678c9;background:#e9f3fc}.invoice-status-chip.partially_paid{color:#c46c10;background:#fff2df}.invoice-status-chip.paid{color:#21875a;background:#e8f7ef}.invoice-status-chip.overdue{color:#c84f36;background:#fff0ed}.invoice-status-chip.void{color:#6b7280;background:#f0f0f0}.invoice-job-row{grid-template-columns:92px minmax(0,1fr) auto auto auto}.invoice-job-money{justify-items:end;gap:3px;min-width:78px;display:grid}.invoice-job-money strong{color:var(--orange);white-space:nowrap;font-size:12px}.invoice-job-money small{color:#718096;white-space:nowrap;font-size:8px}.invoice-editor-error{color:#b54833;background:#fff4f1;border:1px solid #f2c5bb;border-radius:9px;margin:0 0 12px;padding:9px 11px;font-size:10px;font-weight:800}.invoice-editor-head .invoice-status-chip{margin-top:7px}@media (max-width:1000px){.invoice-job-row{grid-template-columns:82px minmax(0,1fr) auto}.invoice-job-row .invoice-status-chip{grid-column:2;justify-self:start}.invoice-job-row .secondary{grid-area:2/3}.invoice-job-money{grid-area:1/3}}@media (max-width:800px){.invoice-job-row{grid-template-columns:1fr auto}.invoice-job-row>div:nth-child(2){grid-area:1/1/auto/-1}.invoice-job-date{grid-area:2/1}.invoice-job-money{grid-area:2/2}.invoice-job-row .invoice-status-chip{grid-area:3/1/auto/-1;justify-self:start}.invoice-job-row .secondary{grid-area:4/1/auto/-1;justify-self:start}}.worker-report-labels,.worker-report-row{grid-template-columns:minmax(150px,1.35fr) minmax(62px,.55fr) minmax(90px,.85fr) repeat(4,minmax(62px,.55fr))}@media (max-width:1500px){.worker-report-labels,.worker-report-row{grid-template-columns:minmax(104px,1.35fr) minmax(48px,.55fr) minmax(70px,.8fr) repeat(4,minmax(42px,.5fr))}}.chart-key-cancelled,.growth-chart-cancelled{background:#d94b4b}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-summary-grid .report-cancelled{color:#d94b4b}.growth-chart-track{background:0 0}.primary,.share{background:linear-gradient(135deg,#3294e2,#1b68b9);box-shadow:0 5px 14px #2a82d438}.primary:hover{background:linear-gradient(135deg,#2a82d4,#155a9f)}.nav-item.active,.report-service-filters button.active{background:linear-gradient(135deg,#eef8ff,#dceeff)}.status.done{background:#e4f8ed}.status.assigned{background:#fff1dc}.day-job-status.cancelled{color:#c63f3a;background:#fff0ef}
