:root{color-scheme:light;--ink: #20302d;--muted: #788480;--line: #e9eeeb;--surface: #fff;--canvas: #f7f9f7;--green: #183b35;--green-soft: #e8f2ed;--teal: #4a8f7a;--orange: #e99669;--shadow: 0 8px 26px rgba(27, 55, 48, .045);font-family:Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:3;display:flex;width:248px;flex-direction:column;padding:28px 18px 20px;background:var(--green);color:#fff}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:#d3e6db;color:var(--green);font:800 23px Segoe UI,Arial,sans-serif}.brand strong{display:block;font:800 23px Segoe UI,Arial,sans-serif;letter-spacing:-.8px}.brand small{display:block;margin-top:1px;color:#a9c2b8;font-size:10px;letter-spacing:.2px}.side-label{margin:54px 0 12px 12px;color:#91aaa0;font-size:9px;font-weight:700;letter-spacing:1.4px}.main-nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#c2d1ca;text-align:left;font-size:13px;transition:background .16s,color .16s}.nav-link:hover,.nav-link.is-active{background:#ffffff1b;color:#fff}.nav-link.is-active{box-shadow:inset 3px 0 #d9e8dd}.nav-icon{display:inline-grid;width:19px;place-items:center;color:#d6e5dc;font-size:18px}.sidebar-bottom{margin-top:auto}.local-note{display:flex;align-items:flex-start;gap:10px;padding:13px 10px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:#ffffff0b}.local-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#92d3a7;box-shadow:0 0 0 3px #92d3a721}.local-note strong,.local-note small{display:block}.local-note strong{font-size:11px;font-weight:600}.local-note small{margin-top:4px;color:#a8c0b5;font-size:10px;line-height:1.4}.sidebar-bottom>p{margin:12px 2px 0;color:#819e92;font-size:9px}.main-content{min-height:100vh;margin-left:248px}.topbar{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:16px;padding:0 42px;border-bottom:1px solid #e8eeea;background:#ffffffc7}.breadcrumbs{color:#89938f;font-size:12px}.breadcrumbs span{margin:0 9px;color:#c1cac5}.breadcrumbs strong{color:#43504b;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:20px}.today-label{color:#7a8580;font-size:11px}.mobile-brand{display:none;align-items:center;gap:8px;color:var(--green)}.mobile-brand .brand-mark{width:30px;height:30px;border-radius:9px;font-size:17px}.mobile-brand strong{font:800 18px Segoe UI,Arial,sans-serif}.page{display:none;max-width:1440px;margin:0 auto;padding:38px 42px 54px}.page.is-visible{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{margin:0 0 8px;color:#6e9988;font-size:9px;font-weight:700;letter-spacing:1.35px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:7px;color:#243530;font:700 28px Segoe UI,Arial,sans-serif;letter-spacing:-.7px}.page-description{margin:0;color:var(--muted);font-size:12px}.button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:600;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#255248}.button-primary:disabled{cursor:not-allowed;opacity:.46}.button-secondary{border-color:#dfe8e3;background:#fff;color:#3d5a50}.button-secondary:hover{border-color:#b7d0c3;background:#f7fbf8}.button-text{background:transparent;color:#72807a}.button-danger-outline{border-color:#edd5d0;background:#fff;color:#a8574d}.button-danger-outline:hover{background:#fff7f5}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.stat-card{display:flex;min-height:103px;align-items:flex-start;gap:13px;padding:18px;border:1px solid #edf1ee;border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.stat-icon{display:grid;width:35px;height:35px;flex:0 0 auto;place-items:center;border-radius:10px;font-size:16px;font-weight:700}.stat-icon-green{background:#e8f2ed;color:#428268}.stat-icon-blue{background:#eaf1f6;color:#5a829e}.stat-icon-peach{background:#fbefe8;color:#d4875d;font-size:11px}.stat-card div{display:grid;gap:3px}.stat-card div>span{color:#73807a;font-size:10px}.stat-card strong{color:#2d4039;font:700 20px Segoe UI,Arial,sans-serif}.stat-card small{color:#9aa49f;font-size:9px}.panel{overflow:hidden;border:1px solid #e9efeb;border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 21px;border-bottom:1px solid #eff2f0}.panel-heading h2{margin:0 0 5px;color:#30413b;font:700 14px Segoe UI,Arial,sans-serif}.panel-heading p{margin:0;color:#89948f;font-size:10px}.agenda-heading{min-height:82px}.agenda-controls,.list-filters{display:flex;align-items:center;gap:7px}.agenda-controls input,.agenda-controls select,.list-filters input,.list-filters select{height:34px;padding:0 9px;border:1px solid #e4eae6;border-radius:6px;background:#fff;color:#58655f;font-size:10px}.agenda-controls input{width:126px}.agenda-controls select{max-width:166px}.icon-button{display:inline-grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border:1px solid #e6ece8;border-radius:6px;background:#fff;color:#6d7c74;font-size:18px;line-height:1}.icon-button:hover{border-color:#bfd3c8;background:#f7faf8;color:var(--green)}.schedule-list{padding:5px 22px 4px}.schedule-item{position:relative;display:grid;grid-template-columns:63px 19px minmax(0,1fr) 32px;gap:11px;min-height:105px;padding:17px 0}.schedule-time{display:flex;align-items:flex-start;flex-direction:column;padding-top:1px}.schedule-time strong{color:#31453d;font:700 12px Segoe UI,Arial,sans-serif}.schedule-time span{margin-top:4px;color:#9aa49f;font-size:10px}.schedule-track{position:relative;display:flex;justify-content:center}.track-dot{z-index:1;width:9px;height:9px;margin-top:4px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #8db4a0;background:#78a68e}.track-dot.status-traveling{background:#d6a461;box-shadow:0 0 0 1px #d6a461}.track-dot.status-working{background:#7195ae;box-shadow:0 0 0 1px #7195ae}.track-dot.status-done{background:#6aa078;box-shadow:0 0 0 1px #6aa078}.track-line{position:absolute;top:13px;bottom:-19px;width:1px;background:#e8eeea}.schedule-item:last-child .track-line{display:none}.schedule-details{min-width:0;padding-bottom:12px;border-bottom:1px solid #f0f3f1}.schedule-item:last-child .schedule-details{border-bottom:0}.schedule-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.schedule-title h3{margin:0 0 3px;color:#35463f;font-size:12px;font-weight:700}.schedule-title>div>span{color:#829089;font-size:10px}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:600;white-space:nowrap}.status-scheduled{background:#edf4ef;color:#56816b}.status-pending-review{background:#fff3df;color:#9a6a19}.status-traveling{background:#fbf2e5;color:#ad7a34}.status-working{background:#eaf1f7;color:#557a98}.status-done{background:#e9f4ed;color:#4a8862}.status-cancelled{background:#f4eeee;color:#9c6a67}.schedule-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;color:#84918a;font-size:9px}.travel-gap{display:flex;align-items:center;gap:6px;width:fit-content;margin-top:9px;padding:5px 8px;border-radius:5px;background:#f5f8f6;color:#75867d;font-size:9px}.travel-gap span{color:#569079;font-size:12px}.schedule-edit{align-self:start;opacity:.75}.demo-disclaimer{margin:11px 1px 0;color:#9aa49f;font-size:9px}.empty-state{display:grid;min-height:230px;justify-items:center;align-content:center;padding:24px;text-align:center}.empty-icon{display:grid;width:40px;height:40px;margin-bottom:10px;place-items:center;border-radius:50%;background:#eff5f1;color:#6e9a83;font-size:20px}.empty-state strong{color:#43534c;font-size:12px}.empty-state p{margin:5px 0 13px;color:#929d97;font-size:10px}.compact-empty{min-height:150px}.list-heading{min-height:82px}.list-filters input{width:190px}.list-filters select{min-width:136px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:11px 14px;background:#fafbfa;color:#929d97;text-align:left;font-size:8px;font-weight:700;letter-spacing:.8px}td{padding:12px 14px;border-top:1px solid #eff2f0;color:#66746d;font-size:10px}td strong,td small{display:block}td strong{color:#3c4c45;font-size:10px;font-weight:600}td small{margin-top:3px;color:#97a19c;font-size:9px}.table-status{max-width:130px;padding:5px 7px;border:0;border-radius:20px;font-size:9px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.settings-wide{grid-column:1 / -1}.settings-panel .panel-heading{padding:16px 18px}.settings-panel .panel-heading h2{font-size:13px}.catalog-warning{margin:12px 18px 0;padding:10px 11px;border:1px solid #ecd7a8;border-radius:8px;background:#fff9eb;color:#725b2d;font-size:11px;line-height:1.5}.rules-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:19px}.rules-form>label,.compact-form>label,.form-row label,.form-grid label,.route-form>label{display:grid;gap:6px;color:#697770;font-size:10px;font-weight:600}.rules-form input,.compact-form input,.form-row input,.form-grid input,.form-grid select,.route-form input,.route-form select,.inline-add-form input{width:100%;height:35px;padding:0 10px;border:1px solid #e1e9e4;border-radius:6px;outline:none;background:#fff;color:#394b42;font-size:11px;font-weight:400}input:focus,select:focus{border-color:#83aa95!important;box-shadow:0 0 0 3px #6f9d811f}.rules-form small{color:#a0aaa4;font-size:9px;font-weight:400;line-height:1.4}.days-field{grid-column:1 / -1;margin:0;padding:0;border:0}.days-field legend{margin-bottom:10px;color:#697770;font-size:10px;font-weight:600}.weekday-options{display:flex;flex-wrap:wrap;gap:7px}.weekday-option input{position:absolute;width:1px;height:1px;opacity:0}.weekday-option span{display:grid;min-width:42px;height:31px;place-items:center;border:1px solid #e2eae5;border-radius:6px;color:#738179;font-size:10px;cursor:pointer}.weekday-option input:checked+span{border-color:#b6d0c0;background:#eff6f1;color:#3d7558}.weekday-option input:focus-visible+span{outline:2px solid #83aa95}.form-actions{display:flex;justify-content:flex-end}.rules-form .form-actions{grid-column:1 / -1}.compact-form{display:grid;gap:12px;padding:16px 18px 13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-form .button{min-height:34px}.settings-list{padding:0 17px 7px}.settings-list-item{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0f3f1}.settings-list-item>div:first-child{min-width:0}.settings-list-item strong,.settings-list-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-list-item strong{color:#495950;font-size:10px;font-weight:600}.settings-list-item small{margin-top:4px;color:#98a39c;font-size:9px}.settings-list-item.is-inactive{opacity:.62}.item-actions{display:flex;flex:0 0 auto;gap:10px}.text-action{padding:3px 0;border:0;background:transparent;color:#55816b;font-size:9px;font-weight:600}.text-action:hover{text-decoration:underline}.text-action.text-danger{color:#a9685c}.empty-list{margin:0;padding:12px 0;color:#99a39e;font-size:10px}.inline-add-form{display:flex;gap:8px;padding:16px 18px 13px}.inline-add-form input{flex:1;min-width:0}.tag-list{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 15px}.region-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:5px;background:#f0f5f2;color:#50705f;font-size:9px}.region-tag button{padding:0;border:0;background:transparent;color:#81978a;font-size:14px;line-height:.8}.divider{height:1px;margin:0 18px 14px;background:#edf1ee}.subheading{margin:0 18px 11px;color:#596961;font-size:10px;font-weight:700}.route-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 55px auto auto;align-items:center;gap:6px;padding:0 18px}.route-arrow,.route-suffix{color:#89958e;font-size:10px}.route-form .button{min-height:34px;padding:0 9px}.field-help{margin:8px 18px 6px;color:#9aa49e;font-size:9px;line-height:1.4}.reset-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px 17px;border:1px solid #f0e5e2;border-radius:9px;background:#fffdfc}.reset-row strong,.reset-row span{display:block}.reset-row strong{margin-bottom:4px;color:#61544f;font-size:10px}.reset-row span{color:#9e928c;font-size:9px}.appointment-dialog{width:min(590px,calc(100vw - 28px));max-height:min(90vh,780px);padding:0;border:0;border-radius:12px;background:#fff;box-shadow:0 22px 80px #14282140}.appointment-dialog::backdrop{background:#192a247a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.appointment-dialog form{padding:23px 25px 20px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{margin:0;color:#2d4038;font:700 19px Segoe UI,Arial,sans-serif}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.form-span-2{grid-column:1 / -1}.estimate-box{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #edf1ee;border-radius:7px;background:#f8faf8}.estimate-box span:first-child{color:#8a9790;font-size:8px;font-weight:700;letter-spacing:.6px}.estimate-box strong{color:#395c4a;font:700 13px Segoe UI,Arial,sans-serif}.estimate-box span:last-child{margin-left:auto;color:#66776e;font-size:10px}.availability-message{min-height:30px;padding:8px 10px;border-radius:6px;font-size:10px;line-height:1.5}.availability-message.is-valid{background:#eef7f0;color:#4c805d}.availability-message.is-invalid{background:#fbf3ef;color:#a26852}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:17px;padding-top:14px;border-top:1px solid #eff2f0}.toast{position:fixed;right:24px;bottom:22px;z-index:10;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;transform:translateY(12px);border-radius:8px;background:#244b3e;box-shadow:0 8px 24px #1e352b33;color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.is-visible{transform:translateY(0);opacity:1}.toast.is-error{background:#9d5148}.storage-error{padding:10px 42px;background:#fff1ed;color:#9d574e;font-size:11px}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.auth-screen{display:grid;min-height:100vh;align-content:center;justify-items:center;padding:28px 18px;background:radial-gradient(ellipse at 50% 20%,#edf4ef 0,#f7f9f7 55%)}.auth-screen[hidden],.app-shell[hidden]{display:none}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:27px;color:var(--green);text-decoration:none}.auth-brand strong{display:block;font:800 23px Segoe UI,Arial,sans-serif;letter-spacing:-.8px}.auth-brand small{display:block;margin-top:1px;color:#788f83;font-size:10px}.auth-card{width:min(390px,100%);padding:29px;border:1px solid #e8efea;border-radius:12px;background:#fff;box-shadow:0 16px 50px #1b373014}.auth-card h1{margin-bottom:7px;font-size:24px}.auth-description{margin-bottom:22px;color:#849089;font-size:11px;line-height:1.5}.login-form{display:grid;gap:8px}.login-form label{margin-top:4px;color:#64736a;font-size:10px;font-weight:600}.login-form input{width:100%;height:39px;padding:0 11px;border:1px solid #e1e9e4;border-radius:6px;outline:none;color:#394b42;font-size:11px}.login-submit{width:100%;margin-top:8px}.auth-message{padding:9px 10px;border-radius:6px;font-size:10px;line-height:1.5}.auth-message-error{border:1px solid #f0dad4;background:#fff5f2;color:#995849}.auth-footnote{margin:18px 0 0;color:#9aa49f;text-align:center;font-size:9px;line-height:1.5}.auth-footer{margin:20px 0 0;color:#98a39d;font-size:9px}.logout-button{margin:10px 0 0 18px;padding:0;border:0;background:transparent;color:#c0d3ca;text-align:left;font-size:10px}.logout-button:hover{color:#fff;text-decoration:underline}.logout-button:disabled{opacity:.6}.session-error{position:fixed;top:14px;right:14px;z-index:20;max-width:min(440px,calc(100vw - 28px));padding:11px 14px;border:1px solid #f0dad4;border-radius:7px;background:#fff5f2;box-shadow:var(--shadow);color:#995849;font-size:10px;line-height:1.5}@media(max-width:1050px){.sidebar{width:210px;padding-right:13px;padding-left:13px}.main-content{margin-left:210px}.topbar,.page{padding-right:27px;padding-left:27px}.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}}@media(max-width:720px){.sidebar{position:sticky;inset:auto;width:100%;height:auto;padding:9px 13px}.brand,.side-label,.sidebar-bottom{display:none}.main-nav{display:flex;gap:5px}.nav-link{justify-content:center;gap:6px;padding:9px 7px;font-size:10px}.nav-link.is-active{box-shadow:inset 0 -2px #d9e8dd}.nav-icon{font-size:14px}.main-content{margin-left:0}.topbar{min-height:57px;padding:0 14px}.mobile-brand{display:flex}.breadcrumbs,.today-label{display:none}.topbar-actions{margin-left:auto}.topbar-actions .button{min-height:34px;padding:0 10px;font-size:10px}.page{padding:25px 14px 40px}.page-heading{align-items:flex-start}h1{font-size:24px}.page-description{max-width:300px;line-height:1.5}.page-heading>.button{font-size:0}.page-heading>.button:first-letter{font-size:14px}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{min-height:76px;padding:13px}.stat-card strong{font-size:17px}.agenda-heading,.list-heading{align-items:flex-start;flex-direction:column}.agenda-controls{width:100%;flex-wrap:wrap}.agenda-controls select{flex:1;max-width:none}.agenda-controls input{flex:1}.schedule-list{padding-right:13px;padding-left:13px}.schedule-item{grid-template-columns:45px 15px minmax(0,1fr) 28px;gap:7px}.schedule-title{align-items:flex-start;flex-direction:column}.schedule-meta{display:grid;gap:6px}.list-filters{width:100%}.list-filters input{flex:1;min-width:0}.list-filters select{min-width:0;max-width:145px}.rules-form{grid-template-columns:1fr 1fr;padding:15px}.route-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 48px}.route-suffix{display:none}.route-form .button{grid-column:4}.route-minutes{grid-column:1}.reset-row{align-items:flex-start;flex-direction:column}.storage-error{padding:9px 14px}}@media(max-width:420px){.nav-link{font-size:9px}.form-grid{grid-template-columns:1fr}.form-span-2{grid-column:auto}.appointment-dialog form{padding:19px 16px 15px}.rules-form{grid-template-columns:1fr}.days-field,.rules-form .form-actions{grid-column:auto}.route-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 47px;padding-right:12px;padding-left:12px}.route-form .button{padding:0 6px;font-size:9px}}
