:root{font-family:Segoe UI,system-ui,sans-serif;color:#21352d;background:#f5f6f2;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:228px;background:#173b2d;color:#fff;min-height:100vh;position:fixed;padding:32px 20px}.brand{font-size:28px;font-weight:750;display:flex;gap:12px;align-items:center}.brand span{font-size:12px;letter-spacing:2px;line-height:1.6}.workspace{font-size:10px;letter-spacing:1.5px;opacity:.55;margin:45px 12px 14px}nav button{display:block;width:100%;text-align:left;background:none;color:#cad6cf;border:0;padding:14px 12px;margin-bottom:6px}nav button.active{background:#315644;color:white}.local{position:absolute;bottom:28px;font-size:12px;line-height:2}.local small{opacity:.55}i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#bbdba4;margin-right:6px}main{margin-left:228px;width:calc(100% - 228px);padding:38px 42px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#7b897e;text-transform:uppercase}h1{font-size:30px;letter-spacing:-.8px;margin:8px 0}h2{font-size:19px}h3{font-size:15px}.muted,small{color:#728078}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px}.actions{display:flex;gap:10px}button{font:inherit;border:1px solid #d5ded4;border-radius:7px;background:white;color:#234131;padding:10px 15px;cursor:pointer}button:hover{background:#edf2e8}button.primary{background:#285b3c;color:#fff;border-color:#285b3c}button:disabled{opacity:.45;cursor:default}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card,.panel{background:#fff;border:1px solid #e0e6dc;border-radius:10px;padding:20px}.card strong{font-size:30px;display:block;margin-top:8px}.card.alert strong{color:#a75b37}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.toolbar input{flex:1;min-width:190px}input,select,textarea{font:inherit;border:1px solid #d5ded4;border-radius:6px;background:#fff;color:#21352d;padding:10px;width:100%}select{cursor:pointer}.toolbar select{width:auto;max-width:200px}.tablewrap{overflow:auto;background:white;border:1px solid #e0e6dc;border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#f0f3ec;padding:14px;white-space:nowrap}th button{padding:0;border:0;background:none;font-size:inherit;text-transform:inherit}td{padding:16px 14px;border-top:1px solid #edf0e9;max-width:270px}td small{display:block;margin-top:4px}.link{padding:0;border:0;background:none;text-align:left;font-weight:600;color:#285b3c}.badge{font-size:11px;display:inline-block;border-radius:5px;background:#edf3e8;padding:5px 8px}.badge.late{background:#f8e9df;color:#a75b37}.empty{text-align:center;padding:65px 25px;color:#748178}.empty h2{color:#34543d}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{font-size:12px;font-weight:600;display:block;margin-bottom:6px}label.check{display:flex;align-items:center;gap:8px}input[type=checkbox],input[type=radio]{width:auto}.field{margin-bottom:14px}dialog{width:min(850px,94vw);max-height:90vh;border:0;border-radius:14px;padding:28px;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#10271d66}dialog .top{margin-bottom:20px}textarea{min-height:90px;resize:vertical}.section{border-top:1px solid #e5eade;margin-top:20px;padding-top:14px}.entry{background:#f6f8f1;border-radius:8px;padding:14px;margin:10px 0}.entry p{white-space:pre-wrap}.contact{border:1px solid #e1e6dd;border-radius:8px;padding:14px;margin:12px 0}.footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.hint{font-size:12px;line-height:1.6;color:#748178}.danger{color:#a34d2c}#toast{position:fixed;bottom:25px;right:25px;background:#244b34;color:white;padding:14px 20px;border-radius:9px;display:none;max-width:420px;z-index:10}.notice{background:#f7f0dd;border:1px solid #e6d9b7;border-radius:8px;padding:14px;line-height:1.6}.notes{white-space:pre-wrap}.statsline{font-size:12px;color:#728078;margin-top:15px}details{margin:12px 0}summary{cursor:pointer}a{color:#285b3c}@media(max-width:1000px){main{padding:25px 22px}.cards{grid-template-columns:repeat(2,1fr)}aside{width:190px}main{margin-left:190px;width:calc(100% - 190px)}}
.customer-picker{position:relative}#customer-suggestions{position:absolute;z-index:3;top:75px;width:100%;background:white;border:1px solid #d5ded4;border-radius:8px;padding:8px;box-shadow:0 10px 25px #173b2d22;max-height:300px;overflow:auto}#customer-suggestions button{display:block;width:100%;text-align:left;border:0;padding:10px}#customer-suggestions small{display:block;margin-top:3px}.inline-value{border:0;background:none;padding:3px 0;text-align:left;max-width:220px;font-size:inherit}.inline-value:hover{background:#edf3e8;box-shadow:0 0 0 4px #edf3e8;text-decoration:underline}.inline-editor{min-width:180px}.inline-editor input,.inline-editor select{margin-bottom:7px}.inline-editor button{padding:6px 10px}.inline-editor select[hidden]{display:none}
dialog{padding:0;overflow:hidden}.dialog-close{position:absolute;right:16px;top:16px;z-index:4;width:36px;height:36px;line-height:1;font-size:24px;padding:0;border:0;background:#fff;color:#52675a;border-radius:50%;box-shadow:0 0 0 1px #e0e6dc}.dialog-close:hover{background:#edf3e8}#dialogContent{padding:28px;max-height:calc(90vh - 2px);overflow:auto}#dialogContent>.top,#dialogContent>form>.top{padding-right:40px}#customer-suggestions[hidden]{display:none}
.customer-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #d5ded4;border-radius:8px;background:#edf3e8;margin-top:18px}.inquiry-count{min-width:38px;padding:5px 10px;border-color:#d5e3ce;background:#edf3e8;font-weight:600}
.profile-title{display:flex;align-items:center;gap:12px}.profile-edit{border:0;background:none;font-size:23px;padding:6px 9px;color:#56735e}.profile-edit:hover{background:#edf3e8}.profile-lead-source{margin:-8px 0 22px;font-size:13px}.profile-lead-source .muted{margin-right:8px}.historical-data{color:#64766b}
.customer-row{cursor:pointer}.customer-row:hover{background:#edf2f7}.customer-row:focus-visible{outline:2px solid #285b3c;outline-offset:-2px}

.job-status{display:inline-block;font-size:11px;border-radius:5px;padding:5px 8px}.job-status.active{background:#dfefde;color:#286338}.job-status.completed{background:#e7e9e7;color:#687069}.job-status.canceled{background:#f8e1de;color:#a53f32}.route-panel{margin-bottom:22px}.route-stop{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #dce3d5;border-radius:8px;margin:8px 0}.route-stop small{display:block;margin-top:4px}#schedule-date{max-width:190px}.grid [hidden]{display:none}#job-customer-results button{display:block;width:100%;text-align:left}#route-candidates{max-height:300px;overflow:auto}
.job-search-wrap{position:relative}.job-search-wrap input{padding-right:38px}.job-clear-customer{position:absolute;right:4px;top:4px;border:0;background:white;font-size:22px;padding:4px 9px}#job-customer-results small{display:block;margin-top:4px}#job-clear-all[hidden],.job-clear-customer[hidden],#recurring-warning[hidden]{display:none}
.job-row{cursor:pointer}.job-row:hover{background:#edf2f7}.job-row:focus-visible{outline:2px solid #285b3c;outline-offset:-2px}.schedule-day{align-self:center}
.status-button{padding:0;border:0;background:none}.job-status-select{min-width:135px}
.status-menu{position:fixed;z-index:20;background:white;border:1px solid #d5ded4;border-radius:8px;padding:6px;width:174px;box-shadow:0 8px 28px #173b2d30}.status-menu button{display:block;width:100%;border:0;text-align:left;padding:8px;background:white}.status-menu button:hover{background:#edf2f7}
.recurring-group{border:1px solid #dce3d5;border-radius:8px;margin:15px 0;padding:12px}.recurring-heading{padding:6px}.recurring-heading small{display:block;margin:7px 0}.job-instance{margin-left:14px}.status-separator{border:0;border-top:1px solid #dde3dc;margin:6px 0}.job-status.delete-option{background:none;color:#52605a;display:flex;align-items:center;gap:8px}
.job-instance{cursor:pointer}.job-instance:hover{background:#edf2f7}.job-instance:focus-visible{outline:2px solid #285b3c}.job-profile-date{font-size:16px;font-weight:600;margin:9px 0 5px}
.closed-toggle{margin:0 0 16px}
.import-steps{font-size:13px;color:#6c7f6e;margin-bottom:15px}.import-review-list{max-height:650px;overflow:auto;padding:3px}.import-record{border:1px solid #dce3d5;border-radius:8px;padding:14px;margin:12px 0}.import-record summary{line-height:1.7}.import-record pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f5f7f1;padding:12px}.import-value{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:340px}.import-record label.check{margin:14px 0}.import-confirm{margin-top:20px}.yb-existing-results button{display:block;width:100%;text-align:left}

.customer-tag{display:inline-block;background:#edf1e8;color:#3e5c40;border-radius:5px;padding:4px 7px;font-size:12px;margin:2px}.import-origin{color:#748174;font-size:11px}.customer-tag-filters{padding:14px;border:1px solid #dce3d5;border-radius:8px;margin:0 0 18px}.tag-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:14px 0}.tag-filter-options{max-height:220px;overflow:auto;margin-top:12px}.tag-filter-options .check{display:flex;margin:8px 0}.tag-filter-options input{width:auto}.tag-filter-grid select{display:block;margin-top:8px}@media(max-width:800px){.tag-filter-grid{grid-template-columns:1fr}}
.tag-manager-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.tag-library h2{margin-top:0}.tag-library #tag-library-search{margin-bottom:12px}#tag-library-list{max-height:480px;overflow:auto;margin-bottom:12px}.tag-library-row{display:flex;gap:5px;align-items:center;border-bottom:1px solid #edf0e9;padding:6px 0}.tag-library-name{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;border:0;background:none;padding:8px;min-width:0;overflow-wrap:anywhere}.tag-library-name.chosen{background:#edf1e8}.tag-library-name small{border-radius:12px;background:#edf1e8;padding:2px 6px}.tag-icon{padding:5px;border:0;background:none;font-size:16px}.tag-customer-workspace{min-width:0}.tag-customer-workspace>.toolbar{margin-top:0}.tag-batch-actions{margin-bottom:20px}.tag-batch-actions .top{margin-bottom:10px}.tag-batch-actions .actions{margin-top:12px;flex-wrap:wrap}.tag-customer-row td:first-child{width:45px}.customer-tag button{border:0;background:none;color:inherit;padding:0 2px;font-size:16px;line-height:1}.tag-change-review{max-height:45vh;overflow:auto}.tag-change-review th{position:sticky;top:0}.tag-customer-workspace .statsline{margin-bottom:10px}@media(max-width:1200px){.tag-manager-layout{grid-template-columns:245px minmax(0,1fr);gap:16px}}@media(max-width:900px){.tag-manager-layout{grid-template-columns:1fr}#tag-library-list{max-height:240px}}
#profile-tag-picker{max-width:520px}#profile-tag-picker>summary{color:#285b3c;font-weight:600;margin:12px 0}#profile-tag-search{margin:6px 0}#profile-tag-choices{max-height:220px;overflow:auto;border:1px solid #e0e6dc;border-radius:6px;padding:10px;margin:8px 0 12px}#profile-tag-choices .check{margin:8px 0}.profile-tag-create{border-top:1px solid #e5eade;padding-top:12px;margin-top:16px}.profile-tag-create summary{margin-bottom:12px}.profile-tag-create input{margin-bottom:12px}.profile-inquiries>.top,.profile-contact-history>.top{margin-bottom:10px}

/* Authentication shell is hidden until the owner session is verified. */
#auth-screen{display:none;max-width:640px;margin:6vh auto;padding:28px}body.auth-locked{display:block}body.auth-locked aside,body.auth-locked main,body.auth-locked #editor,body.auth-locked #toast{display:none}body.auth-locked #auth-screen{display:block}#auth-screen h1{font-size:26px}#auth-screen p{line-height:1.6}#auth-screen>button{margin:8px 10px 0 0}#owner-session{margin-top:10px}#owner-session span{display:block}#owner-session button{padding:6px 10px;margin-top:6px}
/* Small-screen owner workflows: browser navigation, single-column forms and readable touch controls. */
.workspace-tools{margin-top:18px}.workspace-tools button{background:#315644;border-color:#54735f;color:#fff;padding:8px 12px}
@media(max-width:760px){
  body{display:block}aside{position:static;width:100%;min-height:0;padding:16px}.brand{font-size:24px;gap:10px}.brand span{font-size:10px}.workspace{display:none}
  nav{display:flex;gap:6px;overflow-x:auto;margin-top:16px;padding-bottom:6px;scrollbar-width:thin}nav button{width:auto;flex:0 0 auto;white-space:nowrap;text-align:center;margin:0;min-height:44px;padding:10px 12px;font-size:14px}
  .workspace-tools{display:inline-block;margin:8px 12px 0 0}.workspace-tools button{min-height:44px}.local{position:static;display:inline-flex;flex-wrap:wrap;gap:4px 10px;align-items:center;vertical-align:middle;font-size:11px;line-height:1.6}.local>br{display:none}#owner-session{display:flex;align-items:center;gap:10px;margin-top:0}#owner-session button{margin:0;min-height:44px}
  main{margin:0;width:100%;padding:20px 16px 32px;min-width:0}.eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:25px;overflow-wrap:anywhere}h2{font-size:18px}.top{align-items:flex-start;flex-wrap:wrap;gap:12px}.top>.actions{flex-wrap:wrap}.actions{flex-wrap:wrap;gap:8px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card,.panel{padding:14px}.card strong{font-size:26px}.grid{grid-template-columns:minmax(0,1fr);gap:10px}.full{grid-column:1}.toolbar{gap:10px}.toolbar input,.toolbar select{width:100%;max-width:none;min-width:0;flex:1 1 100%}
  input,select,textarea{font-size:16px;min-height:44px}input[type=checkbox],input[type=radio]{min-height:0;width:20px;height:20px;flex-shrink:0}label.check{min-height:40px}button{min-height:44px}.link{min-height:36px}.badge,.job-status{font-size:12px}.inquiry-count{min-height:40px}.inline-editor button{min-height:44px}
  .tablewrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.tablewrap table{min-width:560px}td{padding:12px 10px;max-width:220px;overflow-wrap:anywhere}th{padding:12px 10px}.statsline{line-height:1.6}.empty{padding:38px 14px}.customer-filter{align-items:flex-start;flex-wrap:wrap}
  dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 16px);margin:auto;border-radius:12px}#dialogContent{padding:20px 16px;max-height:calc(100dvh - 18px);overscroll-behavior:contain}.dialog-close{width:44px;height:44px;top:8px;right:8px;min-height:44px}#dialogContent>.top,#dialogContent>form>.top{padding-right:36px}.profile-title{gap:4px;max-width:calc(100% - 35px)}.profile-title h1{font-size:24px}.profile-edit{flex-shrink:0}.contact,.entry{padding:12px;overflow-wrap:anywhere}.entry small,.notes{overflow-wrap:anywhere}.footer{flex-wrap:wrap;gap:8px}.footer>button{flex:1 1 auto;min-width:90px}
  #toast{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;max-width:none}.route-stop{align-items:flex-start;gap:10px;flex-wrap:wrap}.route-stop>.actions{width:100%}.status-menu{max-width:calc(100vw - 16px)}.status-menu button{min-height:44px}.job-search-wrap .job-clear-customer{min-height:36px}
  .tag-filter-grid{gap:12px}.tag-manager-layout{display:block}.tag-library{margin-bottom:18px}.tag-library-name{min-height:44px}.tag-icon{min-width:44px}.tag-batch-actions .top{display:block}.tag-batch-actions .actions{display:flex}.profile-inquiries>.top,.profile-contact-history>.top{padding-right:0}
  #auth-screen{margin:20px auto;padding:16px;width:100%;max-width:440px}.cl-rootBox,.cl-cardBox{max-width:100%}.cl-card{max-width:100%}
}

.mobile-navigation{display:none}@media(max-width:760px){aside nav{display:none}.mobile-navigation{display:block;margin-top:16px}.mobile-navigation label{color:#d7e4db}.mobile-navigation select{min-height:44px}.local small{color:#c4d3c8}.local{max-width:calc(100% - 100px);color:#d7e4db}}

.editor-error{background:#fff0e5;border:1px solid #d9a787;border-radius:8px;color:#7d3e26;padding:14px;margin-top:18px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:760px){.job-details>.top{padding-right:36px}}
