:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#24362f;background:#f5f6f1;font-synthesis:none;--green:#183f35;--lime:#d7edb8;--muted:#768079;--line:#e2e6dd;--white:#fff;--radius:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,select,textarea{outline-offset:4px}a{color:inherit}button{border:0}h1,h2,h3,p{margin:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fbfcf8;border-right:1px solid var(--line);padding:33px 20px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:700;letter-spacing:-1px;padding:0 9px 36px}.brand-mark{width:35px;height:35px;border-radius:10px;background:var(--green);color:var(--lime);display:grid;place-items:center;font-size:26px;line-height:1;font-weight:800}.workspace-label{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin:5px 13px 14px}.nav{display:flex;align-items:center;gap:13px;padding:13px 14px;margin-bottom:5px;border-radius:9px;color:#6a766d;background:transparent;text-align:left;width:100%;font-size:13px;font-weight:550}.nav.active{color:var(--green);background:#e9efdf}.nav.active svg{stroke-width:2}.nav .count{margin-left:auto;font-size:10px;background:#fff;border-radius:5px;padding:3px 6px}.sidebar-footer{margin-top:auto}.demo-note{padding:16px;background:#eff2e8;border:1px solid #e2e8d7;border-radius:12px;font-size:11px;line-height:1.7;color:#72806c;margin-bottom:24px}.demo-note strong{display:flex;align-items:center;gap:7px;font-weight:600;color:#405d40;font-size:12px;margin-bottom:5px}.profile{display:flex;align-items:center;gap:10px;padding:0 7px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6eadf;color:#536346;font-size:11px;font-weight:700}.profile-name{font-size:12px;font-weight:650}.profile-role{font-size:10px;color:var(--muted);text-transform:capitalize;margin-top:3px}.icon-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:white;color:#5d7065}.profile .icon-button{margin-left:auto;background:transparent;border:0}.main{min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:15px;background:#f9faf6}.breadcrumb{font-size:12px;color:#879087;display:flex;gap:12px;align-items:center}.breadcrumb strong{color:#48584e;font-weight:500}.top-actions{display:flex;align-items:center;gap:15px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:#64766b}.dot{height:6px;width:6px;border-radius:50%;background:#82a876;display:inline-block}.dot.off{background:#e49d62}.notification-button{position:relative}.notification-button .badge{position:absolute;right:-4px;top:-4px;background:#d68854;color:white;font-size:9px;border:2px solid #f9faf6;border-radius:20px;min-width:17px;padding:2px}.content{max-width:1700px;padding:33px 38px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#7c887d;margin-bottom:9px}h1{font-size:32px;letter-spacing:-1.4px;line-height:1.25;font-weight:600}.subtitle{font-size:12px;color:#7b847d;margin-top:9px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;border-radius:8px;background:var(--green);color:#fff;font-size:12px;font-weight:550;border:1px solid var(--green);white-space:nowrap}.button svg{width:16px;height:16px}.button.secondary{color:#4d6255;background:#fff;border:1px solid var(--line)}.button.light{color:#2e4933;background:var(--lime);border-color:var(--lime)}.button.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7e887f}.stat-top svg{width:18px;color:#a3ac9e}.stat-number{font-size:30px;font-weight:550;letter-spacing:-1px;margin:11px 0 8px}.stat-foot{font-size:10px;color:#939a93}.stat-foot.green{color:#688b5a}.stat.featured{background:#eaf1e0;border-color:#d9e5cc}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 21px;border-bottom:1px solid var(--line);gap:12px}.panel-title{font-size:14px;font-weight:650;letter-spacing:-.2px}.panel-caption{color:#8c958c;font-size:10px;margin-top:6px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:5px;font-size:9px;line-height:1.4;padding:4px 7px;white-space:nowrap;font-weight:600}.pill.normal{background:#f0f3ee;color:#808b7d}.pill.high{background:#fff1e0;color:#ac7b41}.pill.urgent{background:#fbe8e4;color:#bc6456}.pill.new{background:#f5eee3;color:#ae8154}.pill.proposed{background:#ebeff8;color:#6b82b5}.pill.dispatched{background:#e9f1e2;color:#769056}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:15px 20px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{padding:7px 9px;border-radius:6px;font-size:10px;background:transparent;color:#839081}.tab.active{color:#3a513e;background:#edf1e6;font-weight:650}.search{position:relative;max-width:186px}.search svg{position:absolute;left:10px;top:10px;width:14px;color:#97a18f}.search input{width:100%;padding:8px 9px 8px 30px;border:1px solid var(--line);border-radius:7px;background:#fcfdfa;font-size:10px;min-height:34px}.job-card{padding:20px;border-bottom:1px solid #ebeee7;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;transition:background .15s}.job-card:last-child{border-bottom:0}.job-card:hover{background:#fbfcf8}.job-symbol{height:40px;width:40px;border:1px solid #e3e8dc;border-radius:11px;background:#f3f6ed;display:grid;place-items:center;color:#7d9567}.job-symbol.plumbing{background:#edf2f9;border-color:#e3e8f3;color:#7b95b6}.job-symbol.general{background:#f5f0e7;border-color:#eee5d6;color:#b79b68}.job-number{font-size:9px;color:#9aA295;letter-spacing:.6px}.job-title-button{font-size:13px;font-weight:650;margin:5px 0 6px;color:#33493b;background:none;padding:0;text-align:left;line-height:1.5}.job-customer{color:#8b9489;font-size:10px}.job-meta{display:flex;flex-wrap:wrap;gap:13px;font-size:9px;color:#84917f;margin-top:14px}.job-meta span{display:flex;align-items:center;gap:4px}.job-meta svg{width:12px;height:12px}.job-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px}.job-side .button{font-size:10px;min-height:32px;padding:7px 10px;border-radius:6px}.board-foot{padding:14px 20px;background:#fcfdf9;font-size:10px;color:#9aa292;display:flex;justify-content:space-between}.right-column{display:flex;flex-direction:column;gap:20px}.agenda-date{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#73816c;background:#fbfcf8;border-bottom:1px solid var(--line)}.agenda-date input{font:inherit;width:122px;border:0;background:transparent;color:#526b49}.agenda-item{position:relative;padding:17px 18px 17px 26px;border-bottom:1px solid #edf0e9;display:block;text-align:left;width:100%;background:#fff}.agenda-item::before{content:"";position:absolute;width:3px;top:18px;bottom:18px;left:16px;border-radius:2px;background:#9ab581}.agenda-item.proposed::before{background:#a8b4d6}.agenda-time{font-size:9px;color:#8b9785;margin-bottom:6px}.agenda-title{font-size:11px;font-weight:600;line-height:1.6}.agenda-crew{font-size:9px;color:#9aa293;margin-top:7px;display:flex;align-items:center;gap:5px}.agenda-crew svg{width:12px;height:12px}.panel-link{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:14px;background:#fbfcf8;color:#7c8d73;font-size:10px}.panel-link svg{width:13px}.crew-row{display:flex;gap:11px;align-items:center;padding:15px 19px;border-bottom:1px solid #eff1eb}.crew-avatar{width:30px;height:30px;border-radius:9px;background:#eaf0e0;display:grid;place-items:center;font-size:10px;color:#7f9565}.crew-avatar.blue{background:#edf1f8;color:#7c96b5}.crew-avatar.orange{background:#f4eee2;color:#b39b6c}.crew-name{font-size:11px;font-weight:600}.crew-info{font-size:9px;color:#a0a795;margin-top:4px}.crew-state{margin-left:auto;font-size:9px;color:#7c936a}.bottom-note{display:flex;justify-content:space-between;gap:20px;margin-top:25px;font-size:9px;line-height:1.7;color:#9aa395}.bottom-note span{display:flex;gap:5px;align-items:center}.bottom-note svg{width:12px;height:12px}.empty{padding:38px 20px;text-align:center;font-size:12px;line-height:1.8;color:#92a087}.empty strong{display:block;font-weight:600;color:#697d61;margin-bottom:5px}.schedule-table{width:100%;border-collapse:collapse}.schedule-table td,.schedule-table th{padding:17px 21px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.schedule-table th{font-size:10px;color:#8b9785;font-weight:500;background:#fbfcf8}.schedule-table td small{display:block;color:#8c9986;margin-top:6px;font-size:10px}.schedule-table button{background:transparent;color:#48683f;font-size:12px;text-align:left}.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.crew-tile{padding:25px}.crew-tile .crew-avatar{width:43px;height:43px;font-size:16px;margin-bottom:18px}.crew-tile h3{font-size:17px;margin-bottom:7px}.crew-tile p{font-size:12px;color:#8c9885;line-height:1.7;margin-bottom:15px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chips .pill{font-size:10px}.timeline-item{display:flex;gap:15px;padding:20px;border-bottom:1px solid var(--line)}.timeline-item .job-symbol{width:34px;height:34px}.timeline-item h3{font-size:12px;margin:2px 0 7px}.timeline-item p{font-size:11px;color:#829079;line-height:1.7}.timeline-item small{font-size:9px;color:#a3ac9d;display:block;margin-top:9px}.backdrop{position:fixed;inset:0;background:#142c2459;z-index:20;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.drawer{background:#f9faf6;width:500px;max-width:100%;height:100%;box-shadow:-10px 0 50px #1536271a;display:flex;flex-direction:column}.drawer-head{padding:24px 26px;border-bottom:1px solid var(--line);background:white;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.drawer-head h2{font-size:21px;letter-spacing:-.5px;margin-top:8px;line-height:1.5}.drawer-body{padding:24px 26px;overflow-y:auto;flex:1}.drawer-foot{padding:16px 26px;background:white;border-top:1px solid var(--line)}.section-title{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:650;color:#839078;margin-bottom:13px}.detail-section{margin-bottom:26px}.detail-section p{font-size:12px;line-height:1.9;color:#67765e;white-space:pre-wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.detail-grid dt{font-size:10px;color:#98a18e;margin-bottom:7px}.detail-grid dd{margin:0;font-size:12px;line-height:1.6}.detail-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.slot{padding:14px;background:white;border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;align-items:center;margin-bottom:8px;width:100%;text-align:left;font-size:11px;line-height:1.8;color:#566b4b}.slot.selected{border-color:#789758;background:#edf3e4}.slot-radio{width:15px;height:15px;border-radius:50%;border:1px solid #bac7ad;flex-shrink:0}.slot.selected .slot-radio{border:4px solid #66864d}.slot small{display:block;font-size:10px;color:#93a086}.assignment-box{padding:18px;border:1px solid #dce6d1;background:#edf3e5;border-radius:10px;font-size:12px;line-height:1.8;color:#536d45}.assignment-box strong{display:block;margin-bottom:4px}.form-field{display:block;margin-bottom:17px;font-size:11px;color:#64765a}.form-field>span{display:block;margin-bottom:8px;font-weight:600}.form-field input,.form-field select,.form-field textarea,.date-field{width:100%;padding:11px 12px;border:1px solid #dfe5d8;border-radius:7px;background:white;color:#405736;min-height:40px;font-size:12px}.form-field textarea{min-height:88px;resize:vertical;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.checkboxes{display:flex;flex-wrap:wrap;gap:8px}.checkboxes label{padding:9px;background:white;border:1px solid var(--line);border-radius:7px;font-size:11px;display:flex;align-items:center;gap:6px}.checkboxes input{accent-color:var(--green)}.form-error{font-size:12px;color:#b75d46;background:#fff0e9;border-radius:7px;padding:12px;margin-bottom:15px;line-height:1.5}.hidden{display:none!important}.notification-list{padding:0}.alert-row{display:block;padding:20px 24px;text-align:left;width:100%;background:white;border-bottom:1px solid var(--line)}.alert-row.unread{background:#f0f5e9}.alert-row strong{font-size:12px;color:#47663a}.alert-row p{font-size:11px;color:#889c7c;margin-top:6px;line-height:1.6}.alert-row small{color:#99aa8d;font-size:9px;display:block;margin-top:7px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--green);color:white;padding:55px 70px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story .brand{padding:0;font-size:30px}.login-story .brand-mark{background:var(--lime);color:var(--green)}.login-story h1{font-size:55px;line-height:1.12;letter-spacing:-2px;max-width:500px;font-weight:500}.login-story h1 em{font-style:normal;color:var(--lime)}.login-story p{font-size:14px;line-height:1.9;color:#b8cdbf;max-width:390px;margin-top:24px}.story-flow{display:flex;gap:12px;margin-top:42px;flex-wrap:wrap}.story-flow span{padding:12px 16px;border:1px solid #466459;border-radius:9px;font-size:11px;color:#b9d0bb}.story-footer{font-size:11px;color:#a8beaa;display:flex;gap:8px;align-items:center}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#f8faf3}.login-box{width:360px;max-width:100%}.login-box h2{font-size:29px;letter-spacing:-1px;font-weight:550;margin-bottom:10px}.login-box .subtitle{margin-bottom:30px}.demo-accounts{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.demo-accounts p{font-size:11px;line-height:1.8;color:#8b997f}.demo-accounts .tabs{margin:12px 0}.demo-accounts .tab{border:1px solid var(--line);background:white}.login-note{font-size:10px;color:#98a28e;margin-top:22px;line-height:1.8}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:10px;background:var(--green);color:white;z-index:50;box-shadow:0 8px 25px #244c3433;font-size:12px;display:none;max-width:90vw;line-height:1.5}#toast.visible{display:block}.loading{min-height:100vh;display:grid;place-items:center;color:#7d936b;font-size:14px}.mobile-brand{display:none}.header-date{font-size:11px;color:#8b9487}.content-full{min-width:0}.table-wrap{overflow-x:auto}.subtle-note{font-size:10px;line-height:1.7;color:#88997b;margin-top:10px}.error-state{padding:50px;text-align:center}.error-state p{margin-bottom:20px}.modal-description{font-size:11px;color:#8b9980;line-height:1.8;margin-bottom:20px}
.profile-mobile{display:none}.panel-head .date-field{width:150px;max-width:45%}
@media(min-width:1450px){.content{padding:38px 48px}.topbar{padding:0 48px}.dispatch-layout{grid-template-columns:minmax(0,1fr) 320px}.job-card{padding:25px}.stat{padding:22px 25px}}
@media(max-width:1150px){.shell{grid-template-columns:185px 1fr}.sidebar{padding-left:12px;padding-right:12px}.content{padding:28px 24px}.topbar{padding:0 24px}.dispatch-layout{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.job-card{grid-template-columns:32px minmax(0,1fr);padding:16px;gap:10px}.job-symbol{width:32px;height:32px}.job-side{grid-column:2;flex-direction:row;align-items:center}.toolbar{align-items:flex-start;flex-direction:column}.search{max-width:none;width:100%}.stats{gap:10px}.stat{padding:15px}.header-date{display:none}.crew-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.shell{grid-template-columns:76px 1fr}.sidebar{padding:25px 10px}.sidebar .brand{padding:0 10px 33px}.sidebar .brand-name,.workspace-label,.nav-label,.nav .count,.sidebar-footer,.sidebar .demo-note{display:none}.nav{justify-content:center;padding:14px;margin-bottom:10px}.dispatch-layout{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr}.content{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{flex-direction:row;align-items:center}.search{max-width:190px}.job-card{grid-template-columns:40px minmax(0,1fr) auto;padding:20px}.job-symbol{width:40px;height:40px}.job-side{grid-column:auto;flex-direction:column;align-items:flex-end}.login-story{padding:45px}.login-story h1{font-size:43px}.login-page{grid-template-columns:1fr 1fr}.login-panel{padding:28px}.connection{font-size:10px}}
@media(max-width:600px){.shell{display:block}.sidebar{height:66px;position:fixed;top:auto;bottom:0;width:100%;padding:6px 10px;z-index:10;border-right:0;border-top:1px solid var(--line);display:flex;flex-direction:row;justify-content:center;background:#fbfcf8}.sidebar .brand{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav{padding:10px 13px;margin:0;width:auto;flex-direction:column;gap:4px;min-width:62px}.nav-label{display:block!important;font-size:8px}.nav svg{width:17px;height:17px}.topbar{height:64px;padding:0 18px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;letter-spacing:-.6px}.mobile-brand .brand-mark{height:27px;width:27px;font-size:21px}.top-actions{gap:9px}.connection{font-size:0}.connection .dot{width:7px;height:7px}.content{padding:24px 16px 85px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:22px}.page-heading .button{font-size:10px;padding:9px 11px;min-height:36px;margin-top:18px}h1{font-size:27px}.subtitle{font-size:11px;max-width:210px}.stats{gap:10px;margin-bottom:22px}.stat-number{font-size:27px}.stat-top{font-size:10px}.stat-foot{font-size:9px}.right-column{display:flex}.toolbar{flex-direction:column;align-items:stretch;padding:14px}.search{max-width:none}.job-card{grid-template-columns:32px minmax(0,1fr);padding:17px 14px}.job-symbol{width:32px;height:32px}.job-side{grid-column:2;flex-direction:row;align-items:center}.job-meta{gap:9px;line-height:1.7}.job-title-button{font-size:12px}.bottom-note{flex-direction:column;gap:4px}.crew-grid{grid-template-columns:1fr}.drawer-head,.drawer-body{padding:21px}.drawer-foot{padding:15px 21px}.login-page{display:block}.login-story{min-height:auto;padding:25px}.login-story h1{font-size:32px;margin-top:35px}.login-story p{font-size:12px;margin-top:15px}.story-flow,.story-footer{display:none}.login-panel{padding:35px 25px}.login-story .brand{font-size:25px}.login-box h2{font-size:24px}.schedule-table th,.schedule-table td{padding:13px;font-size:11px}.panel-head{padding:18px}.form-row{gap:10px}.profile-mobile{display:grid}}
