:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c241f;background:#f3efe6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f3efe6;--sheet: #fffdf8;--ink: #1c241f;--muted: #778079;--line: #e8e2d6;--green: #2c5346;--green-dark: #203e34;--soft-green: #e6eee8;--amber: #9b6e23;--soft-amber: #fbf1de;--red: #a33f32;--soft-red: #f9e9e5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}.app-shell{min-height:100vh}.topbar{height:76px;padding:0 max(28px,calc((100vw - 1192px)/2));display:flex;align-items:center;justify-content:space-between;background:#fffdf8e6;border-bottom:1px solid #e9e3d8}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--green);color:#fff;font:800 20px Manrope,sans-serif}.brand strong,.brand small{display:block}.brand strong{font:800 15px Manrope,sans-serif;letter-spacing:.02em;text-transform:uppercase}.brand small{color:var(--muted);font-size:11px;margin-top:1px}.top-actions,.button-row{display:flex;align-items:center;gap:12px}.connection{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.connection i{width:7px;height:7px;border-radius:50%;background:#64a67e}.connection.offline i{background:#c29142}.account-button{border:0;background:transparent;color:var(--ink);font-size:12px;text-align:right}.sync-line{display:block;color:var(--muted);font-size:10px;margin-top:3px}.sync-button,.outline-button,.primary-button{min-height:40px;border-radius:10px;padding:0 16px;font-weight:600;font-size:13px}.sync-button,.notification-button{width:40px;min-width:40px;height:40px;padding:0;color:var(--green);border:1px solid var(--line);border-radius:10px;background:var(--sheet)}.sync-button{font-size:21px}.notification-button{display:grid;place-items:center}.notification-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-button.enabled{color:#fff;border-color:var(--green);background:var(--green)}.outline-button{color:var(--green);border:1px solid #cbd8cf;background:transparent}.primary-button{color:#fff;border:1px solid var(--green);background:var(--green);box-shadow:0 3px 8px #2c534617}.primary-button:hover{background:var(--green-dark)}.main-wrap{width:min(100% - 48px,1192px);margin:0 auto;padding:38px 0 26px}.welcome-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:27px}.eyebrow{color:#77857c;letter-spacing:.11em;font-weight:700;font-size:10px;margin:0 0 8px}h1,h2,p{margin-top:0}h1{font:700 30px Manrope,sans-serif;letter-spacing:-.04em;margin:0}h2{font:700 17px Manrope,sans-serif;letter-spacing:-.02em;margin:0}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #ddd6c9;overflow:hidden}.tab{position:relative;display:flex;align-items:center;gap:9px;min-height:45px;padding:0 15px;color:#68736c;border:0;background:transparent;font-weight:600;font-size:13px}.tab>span{font-size:17px}.tab.selected{color:var(--green)}.tab.selected:after{content:"";position:absolute;height:2px;left:12px;right:12px;bottom:-1px;background:var(--green);border-radius:2px}.tab-badge{background:var(--soft-red);color:var(--red);font-size:10px;border-radius:20px;padding:2px 6px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.metric-card{position:relative;min-height:135px;padding:19px 20px;border:1px solid var(--line);border-radius:14px;background:var(--sheet);display:flex;flex-direction:column;align-items:flex-start}.metric-icon{position:absolute;top:17px;right:18px;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--green);background:var(--soft-green);font-size:18px}.metric-label{font-size:12px;color:#69756d;font-weight:500;margin:1px 0 9px}.metric-card strong{font:700 26px Manrope,sans-serif;letter-spacing:-.04em}.metric-card small{color:#899188;font-size:11px;margin-top:4px}.metric-card.warning .metric-icon{background:var(--soft-amber);color:var(--amber)}.metric-card.warning strong{color:var(--amber)}.panel{background:var(--sheet);border:1px solid var(--line);border-radius:15px;padding:23px 22px;margin-bottom:17px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.panel-actions{display:flex;align-items:center;gap:8px}.panel-actions .outline-button{min-height:34px;padding:0 11px;font-size:11px;white-space:nowrap}.panel-title p{margin:4px 0 0;color:#8a918b;font-size:12px}.count-pill{background:#f1eee6;color:#777f78;border-radius:20px;padding:6px 10px;font-size:11px}.toolbar{display:flex;gap:12px;margin-bottom:13px}.search,.sort-select{height:39px;border-radius:9px;border:1px solid #e5dfd3;background:#fff;color:var(--ink);padding:0 12px;font-size:12px;outline:none}.search{flex:1;min-width:100px}.sort-select{min-width:150px}.search:focus,.sort-select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca497;box-shadow:0 0 0 3px #2c534610}.chips{display:flex;overflow-x:auto;overflow-y:hidden;gap:7px;padding:1px 0 15px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:7px 12px;border-radius:30px;background:#f8f6f0;border:1px solid transparent;color:#737b74;font-size:11px}.chip.active{background:var(--soft-green);border-color:#d4e1d8;color:var(--green);font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{padding:11px 9px;color:#8a918b;font-size:10px;letter-spacing:.06em;font-weight:600;text-transform:uppercase;border-top:1px solid #eee9df;border-bottom:1px solid #eee9df}td{padding:13px 9px;border-bottom:1px solid #f0ece4;vertical-align:middle;color:#48524c}tbody tr:last-child td{border-bottom:0}.item-name{display:flex;align-items:center;gap:10px;min-width:155px}.item-name strong{display:block;color:#27322b;font-weight:600}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#78a181}.status-dot.red{background:#c86d5c}.status-dot.amber{background:#d4a347}.inline-warning{display:block;margin-top:4px;color:var(--red);font-size:10px}.category-label{display:inline-block;border-radius:6px;padding:5px 8px;background:#f4f1e9;color:#68736c;font-size:10px;white-space:nowrap}.muted{color:#969d96}.expiry-warning{color:var(--amber);font-weight:600;white-space:nowrap}.row-actions{display:flex;gap:4px;justify-content:end}.row-actions button,.delete-button,.icon-button{border:0;background:transparent;color:#8a938b;border-radius:7px}.row-actions button{width:29px;height:29px;font-size:16px}.row-actions button:hover,.delete-button:hover,.icon-button:hover{background:#f2eee6;color:var(--ink)}.empty-state{text-align:center;padding:46px 20px 41px}.empty-state>span{display:grid;place-items:center;margin:0 auto 12px;width:38px;height:38px;border-radius:13px;color:var(--green);background:var(--soft-green);font-size:18px}.empty-state strong{font:600 14px Manrope,sans-serif}.empty-state p{color:#899189;font-size:12px;margin:6px 0 0}.segmented{display:flex;gap:3px;border:1px solid #e9e4d9;background:#f8f6f0;padding:3px;border-radius:9px}.segmented button{border:0;background:transparent;color:#828a83;border-radius:6px;padding:7px 11px;font-size:11px}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 1px 3px #1c241f13;font-weight:600}.align-right{text-align:right}.amount{color:#293b31;font-weight:700;white-space:nowrap}.subline{display:block;margin-top:4px;color:#939a93;font-size:10px}.delete-button{font-size:17px;width:28px;height:28px}.purchase-list{display:flex;flex-direction:column}.purchase-row{display:flex;align-items:center;gap:14px;padding:13px 2px;border-top:1px solid #f0ece4}.purchase-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--green);background:var(--soft-green);border-radius:10px}.purchase-main{flex:1;min-width:0}.purchase-main strong,.purchase-main span{display:block}.purchase-main strong{font-size:12px}.purchase-main span{color:#899189;font-size:11px;margin-top:4px;overflow-wrap:anywhere}.purchase-row>strong{font-size:13px;white-space:nowrap}.visit-items{max-height:40vh;overflow-y:auto;border:1px solid #eee9df;border-radius:10px;margin:12px 0 14px}.visit-item{display:grid;grid-template-columns:minmax(0,1fr) 78px 22px;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #f0ece4}.visit-item:last-child{border-bottom:0}.visit-item-name{min-width:0}.visit-item-name strong,.visit-item-name small{display:block}.visit-item-name strong{color:var(--ink);font-size:12px}.visit-item-name small,.visit-item>small{color:#8b938b;font-size:10px;margin-top:3px}.visit-item>input{width:100%;min-width:0;height:40px;border:1px solid #e1dbcf;border-radius:8px;padding:0 8px;text-align:center;outline:none}.visit-item>input:focus{border-color:#8ca497;box-shadow:0 0 0 3px #2c534610}.visit-history{display:flex;flex-direction:column}.visit-history-row{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-top:1px solid #f0ece4}.visit-history-date{flex:0 0 72px;color:#818a82;font-size:11px;padding-top:2px}.visit-history-details{flex:1;min-width:0}.visit-history-details strong,.visit-history-details small{display:block}.visit-history-details strong{font-size:12px}.visit-history-details small{margin-top:4px;color:#848d85;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.visit-history-count{flex:0 0 auto;color:#7b857d;font-size:10px;padding:4px 7px;background:#f4f1e9;border-radius:20px}.stock-untracked{display:block;margin-top:4px;color:#8c938b;font-size:10px}.service-selection{margin:3px 0 17px;padding:13px;border:1px solid #e8e2d6;border-radius:10px}.service-selection legend{padding:0 5px;color:#59645c;font-size:11px;font-weight:600}.service-selection>p{margin:0 0 10px;color:#858e86;font-size:11px;line-height:1.45}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-option{display:flex;align-items:center;gap:7px;color:#39443d;font-size:12px}.service-option input{width:16px;height:16px;accent-color:var(--green)}.service-panel{padding-bottom:15px}.service-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:15px}.service-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:6px 9px;border:1px solid #e9e4d9;border-radius:9px;background:#fff;color:#727c74;font-size:11px;white-space:nowrap}.service-tab.active{border-color:#bfd0c3;background:var(--soft-green);color:var(--green);font-weight:600}.service-tab span{min-width:18px;padding:2px 5px;border-radius:20px;background:#f2eee6;color:#7d867e;font-size:9px;text-align:center}.service-callout{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-radius:10px;background:#f6f4ed}.service-callout>span strong,.service-callout>span small{display:block}.service-callout>span strong{color:#34453a;font:600 13px Manrope,sans-serif}.service-callout>span small{margin-top:4px;color:#818981;font-size:11px;line-height:1.4}.cleaning-summary{display:flex;align-items:center;justify-content:space-between;padding:21px 22px;background:var(--green);color:#fff;border-radius:15px;margin-bottom:17px}.cleaning-summary .eyebrow{color:#c2d1c7}.cleaning-summary h2{font-size:21px;margin-bottom:5px}.cleaning-summary p{margin:0;color:#d0d9d2;font-size:12px}.cleaning-summary>strong{font:700 25px Manrope,sans-serif;white-space:nowrap}.cleaning-summary>strong small{font:500 11px DM Sans,sans-serif;color:#d0d9d2}.cleaning-panel{padding-top:20px;padding-bottom:10px}.cleaning-panel .panel-title{margin-bottom:8px}.task-row{display:flex;align-items:center;gap:12px;min-height:50px;border-top:1px solid #f0ece4;font-size:13px}.task-row>span{flex:1}.task-row.done>span{color:#929991;text-decoration:line-through}.check{width:21px;height:21px;display:grid;place-items:center;border:1px solid #d5dcd5;border-radius:7px;background:#fff;color:#fff;padding:0;font-size:13px}.check.checked{border-color:var(--green);background:var(--green)}.task-delete{opacity:.6}.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.journal-card{position:relative;display:flex;align-items:center;gap:13px;min-height:89px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--sheet);text-align:left;color:var(--ink)}.journal-card:hover{border-color:#bccfc1;transform:translateY(-1px)}.journal-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:var(--soft-green);color:var(--green);font-size:19px}.journal-card-main{flex:1}.journal-card-main strong,.journal-card-main small{display:block}.journal-card-main strong{font:600 13px Manrope,sans-serif}.journal-card-main small{color:#929990;font-size:11px;margin-top:5px}.journal-arrow{color:#a3aaa2;font-size:17px}.journal-card-delete{position:absolute;top:5px;right:9px;color:#9ba19a;font-size:16px;padding:3px 5px}.journal-entries{display:flex;flex-direction:column}.journal-entry{display:grid;grid-template-columns:85px 1fr 28px;gap:15px;border-top:1px solid #f0ece4;padding:16px 0;align-items:start}.entry-date{color:#7e8880;font-size:11px;padding-top:4px}.entry-content{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.entry-content p{margin:2px 0 9px}.entry-content img{width:min(100%,420px);max-height:300px;object-fit:cover;border-radius:10px;display:block}.page-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8d948d;font-size:10px;padding:14px 4px}.storage-note,.footer-branding{display:flex;align-items:center;gap:5px}.footer-branding{gap:10px}.footer-action{border:0;background:transparent;color:var(--green);padding:4px 0;font-size:10px;text-decoration:underline;text-underline-offset:2px}.vk-link{display:grid;place-items:center;width:28px;height:28px;color:#07f;border-radius:8px}.vk-link svg{display:block;width:25px;height:25px}.vk-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:18px;background:#17231ec0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:min(100%,470px);max-height:min(90vh,760px);overflow-y:auto;padding:25px;background:var(--sheet);border-radius:16px;box-shadow:0 20px 80px #101a1545}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head h2{font-size:19px}.icon-button{width:30px;height:30px;font-size:22px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;color:#59645c;font-weight:600;font-size:11px}.field input,.field select,.field textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #e1dbcf;border-radius:8px;background:#fff;color:var(--ink);font-weight:400;font-size:13px;outline:none}.field textarea{resize:vertical}.field small{color:#969c95;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{color:#858e86;font-size:12px;line-height:1.5;margin:-4px 0 15px}.full-button{width:100%;margin-top:5px}.text-button{width:100%;border:0;background:transparent;color:var(--green);padding:13px 8px 0;font-size:12px;font-weight:600}.toast{position:fixed;z-index:20;right:20px;bottom:20px;display:flex;align-items:center;gap:15px;max-width:min(420px,calc(100vw - 30px));padding:13px 15px;background:#203e34;color:#fff;border-radius:10px;box-shadow:0 6px 20px #15221a2b;font-size:12px}.toast button{border:0;background:transparent;color:#fff;font-size:18px}@media(max-width:700px){.topbar{height:64px;padding:0 17px}.connection{font-size:0;gap:0}.connection i{width:8px;height:8px}.top-actions{gap:8px}.account-button{max-width:142px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.notification-button,.sync-button{width:34px;min-width:34px;height:36px}.top-actions{min-width:0;gap:6px}.outline-button,.primary-button{min-height:38px;padding:0 12px;font-size:11px}.main-wrap{width:calc(100% - 28px);padding-top:25px}.welcome-row{align-items:start;flex-direction:column;margin-bottom:20px}.welcome-row>.primary-button,.welcome-row>.outline-button,.welcome-row>.button-row{align-self:stretch}.welcome-row>.button-row>button{flex:1}h1{font-size:25px}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:hidden}.tab{min-width:0;min-height:54px;flex-direction:column;justify-content:center;gap:2px;padding:4px 1px;font-size:10px;white-space:nowrap}.tab>span{font-size:14px;line-height:1}.tab.selected:after{left:5px;right:5px}.tab-badge{position:absolute;top:2px;right:4px;padding:1px 4px;font-size:9px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-card{min-height:117px;padding:13px 11px;border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) 25px;grid-template-areas:"label icon" "value value" "note note";align-content:start;column-gap:5px}.metric-icon{position:static;grid-area:icon;width:25px;height:25px;border-radius:8px;font-size:13px}.metric-label{grid-area:label;min-height:27px;max-width:none;align-self:center;font-size:10px;line-height:1.3;margin:0}.metric-card strong{grid-area:value;margin-top:8px}.metric-card small{grid-area:note}.metric-card:last-child{grid-column:1 / -1}.metric-card strong{font-size:19px}.metric-card small{font-size:9px}.panel{padding:17px 13px;border-radius:12px}.panel-title{align-items:flex-start;flex-wrap:wrap}.panel-actions{flex-wrap:wrap}.panel-title h2{font-size:15px}.toolbar{flex-direction:column;gap:8px}.sort-select{width:100%}th{font-size:9px;padding:10px 8px}td{padding:12px 8px;font-size:11px}.row-actions{gap:0}.row-actions button{width:26px}.service-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.service-callout{align-items:stretch}.service-callout>span{align-self:center}.service-callout .primary-button{flex:0 0 auto}.visit-history-row{gap:8px}.visit-history-date{flex-basis:60px;font-size:10px}.visit-history-count{font-size:9px}.cleaning-summary{padding:17px 15px;gap:10px}.cleaning-summary p{max-width:230px;font-size:10px;line-height:1.4}.cleaning-summary>strong{font-size:22px}.journal-grid{grid-template-columns:1fr;gap:9px}.journal-entry{grid-template-columns:66px 1fr 24px;gap:8px}.page-foot{align-items:flex-start;flex-direction:column}.dialog{padding:20px 16px}.purchase-row{gap:8px}.purchase-main span{line-height:1.4}input,select,textarea,.search,.sort-select,.field input,.field select,.field textarea{font-size:16px}}
