:root{color:#171a15;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f9fafb;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #84cc16}#root{text-align:left;width:100%;min-height:100vh;margin:0 auto}.auth-page{background-color:#f9fafb;background-image:radial-gradient(#dce1d5 .7px,#0000 .7px);background-size:18px 18px;place-items:center;min-height:100svh;padding:16px;display:grid}.auth-panel{background:#fff;border:1px solid #e8eae3;border-radius:18px;width:min(100%,432px);padding:30px 36px 24px;animation:.42s ease-out both auth-appear;box-shadow:0 24px 70px #232a1d14}.brand-mark{background:#10120f;border-radius:14px;place-items:center;width:40px;height:40px;margin-bottom:16px;display:grid}.brand-mark svg{fill:#fff;width:22px;height:22px}.auth-eyebrow{color:#737a6d;letter-spacing:1.4px;margin:0 0 5px;font-size:11px;font-weight:700}.auth-panel h1{color:#171a15;margin:0;font-size:26px;font-weight:750;line-height:1.2}.auth-subtitle{color:#777d73;margin:7px 0 17px;font-size:14px;line-height:1.55}.auth-form{flex-direction:column;gap:6px;display:flex}.auth-form label{color:#2a2e27;margin-top:4px;font-size:13px;font-weight:650}.auth-form input{color:#171a15;background:#fff;border:1px solid #e2e5dd;border-radius:12px;width:100%;min-height:44px;padding:0 14px;font-size:14px;transition:border-color .16s,box-shadow .16s}.auth-form input::placeholder{color:#a6aaa2}.auth-form input:focus{border-color:#91c934;outline:0;box-shadow:0 0 0 3px #a3e63533}.auth-form input:disabled{cursor:wait;background:#f7f8f5}.password-field{position:relative}.password-field input{padding-right:50px}.password-toggle{color:#858b80;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:6px;display:grid;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.password-toggle:hover{color:#30362c;background:#f2f4ee}.password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px;height:19px}.auth-error{color:#a52f23;background:#fff5f3;border:1px solid #f2c9c5;border-radius:9px;margin:3px 0 0;padding:8px 10px;font-size:13px;line-height:1.45}.auth-submit{color:#000;cursor:pointer;background:#a3e635;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:45px;margin-top:8px;font-size:14px;font-weight:750;transition:background .15s,transform .15s;display:flex}.auth-submit:hover:not(:disabled){background:#93d426;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.72}.loading-spinner{border:2px solid #00000040;border-top-color:#000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.auth-switch{color:#737a70;text-align:center;margin:16px 0 0;font-size:13px}.auth-switch button{color:#446d16;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.auth-switch button:hover{text-underline-offset:3px;text-decoration:underline}@keyframes auth-appear{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=520px){.auth-page{padding:12px 14px}.auth-panel{border-radius:15px;padding:24px 22px 20px}.auth-panel h1{font-size:24px}}.dashboard-page{color:#20251f;background:#f4f6f1;min-height:100svh;padding:0 32px 42px}.dashboard-header,.dashboard-subhead,.kpi-strip,.dashboard-content-grid{width:min(100%,1440px);margin-inline:auto}.dashboard-header{border-bottom:1px solid #e1e5dc;padding:18px 0 20px}.dashboard-brand{color:#20251f;align-items:center;gap:10px;font-size:14px;font-weight:750;display:flex}.dashboard-brand-mark{background:#171a15;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.dashboard-brand-mark svg{fill:#a3e635;width:17px;height:17px}.dashboard-header-main{justify-content:space-between;align-items:end;gap:24px;margin-top:21px;display:flex}.dashboard-greeting{color:#20251f;margin:0;font-size:25px;font-weight:750;line-height:1.2}.dashboard-current-date{color:#737a70;text-transform:capitalize;margin:6px 0 0;font-size:13px}.dashboard-header-actions,.modal-actions{align-items:center;gap:10px;display:flex}.button-primary,.button-secondary,.button-quiet,.refresh-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:13px;font-weight:700;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.button-primary{color:#10120f;background:#a3e635;border:1px solid #a3e635;padding:0 15px}.button-primary:hover{background:#94d72a;transform:translateY(-1px)}.button-primary>span{font-size:19px;font-weight:500;line-height:1}.button-quiet,.refresh-button{color:#596158;background:0 0;border:1px solid #0000;padding:0 10px}.button-quiet:hover,.refresh-button:hover:not(:disabled){color:#20251f;background:#fff;border-color:#d9ded4}.button-quiet svg,.refresh-button svg,.calendar-navigation svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}.dashboard-subhead{justify-content:space-between;align-items:end;margin-top:25px;display:flex}.dashboard-section-label,.panel-kicker{color:#798174;letter-spacing:1.1px;margin:0 0 6px;font-size:10px;font-weight:750}.dashboard-subhead h1{color:#20251f;margin:0;font-size:22px;font-weight:750;line-height:1.2}.refresh-button{min-height:34px;font-size:12px}.refresh-button:disabled{cursor:wait;opacity:.55}.dashboard-error{color:#9d362e;background:#fff3f1;border:1px solid #e8bbb6;border-radius:7px;width:min(100%,1440px);margin:14px auto 0;padding:10px 12px;font-size:13px}.kpi-strip{background:#fff;border:1px solid #e2e6dc;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:19px;display:grid}.kpi-item{align-items:center;gap:12px;min-height:86px;padding:16px 20px;display:flex}.kpi-item+.kpi-item{border-left:1px solid #e8ebe4}.kpi-icon{border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:19px;font-weight:700;display:grid}.kpi-icon-lime{color:#527c18;background:#eef8dc}.kpi-icon-red{color:#d34d40;background:#fff0ed}.kpi-icon-amber{color:#a56b12;background:#fff5df}.kpi-icon-green{color:#347d4b;background:#eaf6ed}.kpi-item p{color:#747b70;margin:0 0 4px;font-size:11px;line-height:1.35}.kpi-item strong{color:#20251f;font-size:21px;font-weight:750;line-height:1}.dashboard-content-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.8fr);align-items:start;gap:18px;margin-top:18px;display:grid}.dashboard-panel{background:#fff;border:1px solid #e2e6dc;border-radius:9px;min-width:0}.pending-panel{overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:17px 19px 13px;display:flex}.panel-heading h2{color:#20251f;margin:0;font-size:17px;font-weight:750;line-height:1.25}.panel-kicker{margin-bottom:4px;font-size:9px}.panel-count{color:#454d41;background:#f1f4ed;border-radius:15px;place-items:center;min-width:28px;height:28px;padding-inline:7px;font-size:12px;font-weight:700;display:grid}.service-filters{flex-wrap:wrap;gap:6px;padding:0 19px 14px;display:flex}.filter-chip{color:#626a5f;cursor:pointer;background:#fff;border:1px solid #e3e7df;border-radius:16px;min-height:29px;padding:0 10px;font-size:11px}.filter-chip:hover,.filter-chip.is-selected{color:#395b13;background:#f1f8e5;border-color:#cfe5a8}.filter-chip.is-selected{font-weight:700}.service-table-wrap{width:100%;overflow-x:auto}.service-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.service-table th{color:#798174;white-space:nowrap;background:#fafbf8;border-top:1px solid #ecefe9;border-bottom:1px solid #e7ebe3;padding:10px 12px;font-size:10px;font-weight:700}.service-table td{color:#555d52;vertical-align:middle;border-bottom:1px solid #eef0eb;padding:12px;font-size:11px}.service-table tbody tr:last-child td{border-bottom:0}.service-table tbody tr:hover{background:#fcfdfb}.service-folio-button{color:#456c18;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:750}.service-folio-button:hover{text-underline-offset:3px;text-decoration:underline}.table-primary-text,.table-secondary-text{display:block}.table-primary-text{color:#2d332b;white-space:nowrap;font-weight:650}.table-secondary-text{color:#8a9086;margin-top:3px;font-size:10px}.table-empty{text-align:center;color:#82897f!important;padding:32px!important}.status-badge{white-space:nowrap;border-radius:12px;align-items:center;gap:6px;min-height:23px;padding:0 8px;font-size:10px;font-weight:650;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pending{color:#666f5e;background:#f2f4ed}.status-in_progress{color:#3766a5;background:#eaf2ff}.status-waiting_parts{color:#9a6a1e;background:#fff4df}.status-ready_for_delivery,.status-completed{color:#337449;background:#eaf6ed}.status-cancelled{color:#ae5147;background:#fff0ed}.calendar-panel{padding:0 16px 15px}.calendar-heading{min-height:72px;padding-inline:3px}.calendar-navigation{gap:4px;display:flex}.calendar-navigation button{color:#626a5f;cursor:pointer;background:#fff;border:1px solid #e4e8e0;border-radius:7px;place-items:center;width:30px;height:30px;padding:5px;display:grid}.calendar-navigation button:hover{color:#20251f;background:#f5f7f2}.calendar-month-label{color:#3d443a;text-transform:capitalize;margin:0 0 11px;font-size:13px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-weekday{color:#8a9086;place-items:center;height:25px;font-size:10px;font-weight:700;display:grid}.calendar-day{color:#41483e;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:flex-start;min-width:0;min-height:40px;padding:7px 0 5px;font-size:11px;display:flex;position:relative}button.calendar-day{cursor:pointer}button.calendar-day:disabled{cursor:default}button.calendar-day:not(:disabled):hover{background:#fff7f5;border-color:#efc7c2}.calendar-day.is-today{color:#355916;background:#f6faef;border-color:#dce9c8;font-weight:750}.calendar-day.is-outside{min-height:40px}.delivery-mark{background:#d94b40;border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-legend{color:#7b8278;align-items:center;gap:9px;margin:12px 0 0;font-size:10px;display:flex}.calendar-legend .delivery-mark{flex:0 0 6px;position:static;transform:none}.modal-backdrop{z-index:10;background:#161b147a;place-items:center;padding:20px;animation:.16s ease-out both modal-fade-in;display:grid;position:fixed;inset:0}.dashboard-modal{background:#fff;border:1px solid #e2e6dc;border-radius:12px;width:min(100%,560px);max-height:min(90svh,820px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #151c113d}.modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.modal-heading h2{color:#20251f;margin:0;font-size:20px;font-weight:750}.modal-close{color:#697065;cursor:pointer;background:#fff;border:1px solid #e5e8e1;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:23px;line-height:1;display:grid}.modal-close:hover{color:#20251f;background:#f5f7f2}.service-form{flex-direction:column;gap:12px;display:flex}.service-form label,.status-select-label{color:#4a5146;flex-direction:column;gap:6px;min-width:0;font-size:11px;font-weight:650;display:flex}.service-form input,.service-form select,.service-form textarea,.status-select-label select{color:#262c24;background:#fff;border:1px solid #dfe4da;border-radius:7px;width:100%;min-height:39px;padding:8px 10px;font-size:12px}.service-form textarea{resize:vertical;min-height:76px}.service-form input:focus,.service-form select:focus,.service-form textarea:focus,.status-select-label select:focus{border-color:#96c94a;outline:3px solid #a3e63533}.form-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.modal-actions{justify-content:flex-end;margin-top:6px}.button-secondary{color:#596158;background:#fff;border:1px solid #dfe4da;padding:0 14px}.button-secondary:hover{background:#f6f8f4}.detail-service-list{flex-direction:column;gap:12px;display:flex}.detail-service{background:#fcfdfb;border:1px solid #e7ebe3;border-radius:9px;padding:15px}.detail-service-topline{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-service h3{color:#252b23;margin:0;font-size:14px}.detail-service-topline p,.detail-contact{color:#737a70;margin:4px 0 0;font-size:11px}.work-list-block{margin-top:14px}.work-list-block h4{color:#454d41;margin:0 0 6px;font-size:11px}.work-list-block ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.work-list-block li{color:#666e62;padding-left:14px;font-size:11px;line-height:1.45;position:relative}.work-list-block li:before{content:"";background:#84b73a;border-radius:50%;width:5px;height:5px;position:absolute;top:6px;left:0}.detail-notes{color:#626a5d;background:#f5f9ef;border-left:2px solid #c8df9f;margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.5}.status-select-label{margin-top:14px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=980px){.dashboard-content-grid{grid-template-columns:minmax(0,1fr) 290px}.kpi-item{gap:9px;padding-inline:12px}}@media (width<=760px){.dashboard-page{padding-inline:16px}.dashboard-header-main{align-items:flex-start}.dashboard-greeting{font-size:22px}.dashboard-content-grid{grid-template-columns:minmax(0,1fr)}.calendar-panel{width:min(100%,420px)}}@media (width<=560px){.dashboard-page{padding-inline:12px}.dashboard-header{padding-top:13px}.dashboard-header-main{flex-direction:column;gap:13px;margin-top:16px}.dashboard-header-actions{width:100%}.dashboard-header-actions .button-primary{flex:1}.dashboard-subhead h1{font-size:20px}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-item{min-height:74px;padding:11px}.kpi-item:nth-child(3){border-top:1px solid #e8ebe4;border-left:0}.kpi-item:nth-child(4){border-top:1px solid #e8ebe4}.kpi-icon{flex-basis:30px;width:30px;height:30px}.kpi-item p{font-size:10px}.kpi-item strong{font-size:19px}.panel-heading,.service-filters{padding-inline:14px}.calendar-panel{padding-inline:12px}.dashboard-modal{padding:18px}.form-field-row{grid-template-columns:minmax(0,1fr)}.detail-service-topline{flex-direction:column}}
