:root{--ink:#18392f;--muted:#6c7b73;--line:#e2e8df;--paper:#f6f7f2;--white:#fff;--green:#225a46;--deep:#123e36;--lime:#d9efb7;--light:#eaf2e6;--orange:#d7823e;--red:#ba4b46;--radius:16px;--shadow:0 12px 36px #173c2b0b;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--font)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #97bc74;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:30px;line-height:1.2;letter-spacing:-1.1px;font-weight:650}h2{font-size:19px;letter-spacing:-.45px;font-weight:650}h3{font-size:15px;font-weight:650}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--muted)}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:var(--deep);color:#d8e6dd;display:flex;flex-direction:column;padding:28px 18px 18px;z-index:40}.brand{padding:0 14px 28px;display:flex;align-items:center;gap:11px;color:white}.brand img{width:39px;height:39px}.brand strong{font-size:23px;letter-spacing:-1px;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:1.4px;color:#aac5b8;margin-top:5px}.nav-scroll{overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#376055 transparent}.nav-group{margin-bottom:19px}.nav-heading{font-size:9px;text-transform:uppercase;letter-spacing:1.9px;color:#87aa97;padding:0 16px 7px;display:flex;align-items:center;justify-content:space-between}.nav-heading button{padding:0;color:inherit;background:none;border:0}.nav-item{border:0;background:transparent;color:#c5d8cc;width:100%;display:flex;align-items:center;gap:11px;padding:10px 14px;border-radius:9px;font-size:12px;margin:2px 0;text-align:left;transition:background .15s}.nav-item:hover{background:#ffffff09;color:white}.nav-item.active{color:var(--deep);background:var(--lime);font-weight:650}.nav-item .icon{width:18px;height:18px;opacity:.9;flex:none}.nav-item .nav-count{margin-left:auto;font-size:10px;background:#ffffff14;border-radius:5px;padding:1px 5px}.nav-bottom{border-top:1px solid #ffffff13;padding:14px 4px 0;margin-top:8px}.plan-card{background:#1e4b40;padding:12px;border-radius:11px;display:flex;gap:8px;align-items:center;margin-bottom:12px}.plan-card strong{font-size:12px;color:var(--lime)}.plan-card p{font-size:10px;color:#c1d3c8}.sidebar-foot{display:flex;align-items:center;gap:10px;padding:0 8px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e1e9d5;color:var(--deep);font-weight:650;font-size:12px;flex:none}.sidebar-foot .avatar{background:#d7e7c9}.sidebar-foot strong{font-size:11px;display:block;color:white}.sidebar-foot small{font-size:10px;color:#a6c0b1}.sidebar-foot button{background:none;border:0;color:#a6c0b1;margin-left:auto;padding:4px}.content{min-width:0}.topbar{height:78px;background:#fbfcf8;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:18px;position:sticky;top:0;z-index:25}.topbar-path{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.topbar-path b{font-weight:500;color:var(--ink)}.topbar-actions{display:flex;align-items:center;gap:15px}.topbar-date{font-size:11px;color:var(--muted)}.icon-btn{background:none;border:1px solid var(--line);color:var(--ink);border-radius:10px;width:36px;height:36px;display:grid;place-items:center;position:relative}.icon-btn:hover{background:var(--light)}.icon{width:18px;height:18px;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.status-dot{width:7px;height:7px;border-radius:50%;background:#77a86b;display:inline-block;flex:none}.status-dot.off{background:var(--orange)}.notif-dot{position:absolute;width:6px;height:6px;background:var(--orange);border:2px solid var(--paper);border-radius:50%;right:7px;top:6px}.page{padding:35px 38px 38px;max-width:1700px;margin:auto;animation:fade .18s ease}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:13px;margin-top:7px}.heading-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);color:var(--ink);background:white;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 15px;border-radius:9px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.btn:hover{background:#f1f5eb}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:var(--deep)}.btn.soft{background:var(--light);border-color:var(--light);color:var(--green)}.btn.danger{background:#fbefed;border-color:#f2d9d6;color:var(--red)}.btn.small{padding:6px 10px;font-size:11px}.btn.text{border:0;background:none;padding:7px 4px;color:var(--green)}.btn:has(.icon:only-child){padding:9px}.hero{padding:27px 30px;background:#edf2e7;border:1px solid #e2e9d8;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:25px;position:relative;overflow:hidden}.hero h2{font-size:23px;letter-spacing:-.65px;margin-top:5px}.hero p{font-size:12px;color:#64775e;margin-top:8px;max-width:500px}.hero-mark{width:78px;opacity:.6;flex:none}.hero-tools{display:flex;gap:8px;margin-top:18px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 22px;box-shadow:var(--shadow)}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:18px}.metric-symbol{width:32px;height:32px;background:var(--paper);display:grid;place-items:center;border-radius:9px;color:var(--green)}.metric-value{font-size:29px;font-weight:650;letter-spacing:-1px;line-height:1.1}.metric-foot{font-size:10px;color:var(--muted);margin-top:12px;display:flex;align-items:center;gap:6px}.metric-change{color:var(--green);background:var(--light);padding:2px 5px;border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:23px;align-items:start}.stack{display:grid;gap:23px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:21px 24px 18px;gap:12px}.card-head p{font-size:11px;color:var(--muted);margin-top:3px}.card-body{padding:0 24px 23px}.card-body.padded{padding-top:20px}.table-wrap{overflow:auto;overscroll-behavior-x:contain}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:12px 16px;background:#fafbf7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.data-table th:first-child,.data-table td:first-child{padding-left:24px}.data-table th:last-child,.data-table td:last-child{padding-right:24px}.data-table td{font-size:12px;padding:16px;border-bottom:1px solid #edf0e9;max-width:330px;text-overflow:ellipsis;overflow:hidden}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcf7}.data-table td strong{font-weight:600}.cell-sub{font-size:10px;color:var(--muted);margin-top:3px}.cell-title{color:var(--ink);border:0;background:none;padding:0;font-weight:600;text-align:left}.cell-title:hover{text-decoration:underline}.row-actions{display:flex;gap:4px;justify-content:flex-end}.row-actions button{border:0;background:none;color:var(--muted);padding:5px}.row-actions button:hover{color:var(--green);background:var(--light);border-radius:5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;border-radius:6px;padding:4px 7px;background:#edf0ea;color:#697467;text-transform:capitalize;white-space:nowrap}.badge.green{background:#e8f2e2;color:#4a7334}.badge.blue{background:#e9eff8;color:#4b6c95}.badge.orange{background:#fbf0df;color:#a47739}.badge.red{background:#fbebe7;color:#b5624e}.badge.purple{background:#f0ebf5;color:#847097}.toolbar{display:flex;gap:10px;padding:17px 21px;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.search{position:relative;flex:1;min-width:200px;max-width:370px}.search input{padding-left:36px;width:100%;font-size:12px}.search .icon{position:absolute;left:11px;top:11px;color:#889184}.input,input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{background:white;border:1px solid #dce3d7;border-radius:8px;padding:10px 12px;color:var(--ink);min-width:0;line-height:1.5;transition:border .15s;width:100%}input::placeholder,textarea::placeholder{color:#9bA397}input:focus,textarea:focus,select:focus{outline:none;border-color:#8ca97c;box-shadow:0 0 0 3px #dcebd140}input[type=file]{font-size:12px;max-width:100%}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}textarea{resize:vertical;min-height:95px}.toolbar select,.toolbar input[type=date]{width:auto;font-size:12px;max-width:200px;padding:9px 11px}.toolbar .push-right{margin-left:auto}.pager{display:flex;justify-content:space-between;padding:15px 24px;align-items:center;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.empty{text-align:center;padding:45px 24px;color:var(--muted)}.empty .empty-symbol{background:var(--paper);border-radius:16px;width:52px;height:52px;display:grid;place-items:center;margin:0 auto 14px;color:var(--green)}.empty h3{color:var(--ink);margin-bottom:6px}.empty p{font-size:12px;max-width:350px;margin:auto}.empty .btn{margin-top:17px}.list-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf0e9;padding:15px 0}.list-row:last-child{border:0;padding-bottom:0}.list-row:first-child{padding-top:0}.list-icon{width:35px;height:35px;border-radius:9px;background:var(--paper);display:grid;place-items:center;color:var(--green);flex:none}.list-text{flex:1;min-width:0}.list-text strong{font-size:12px;font-weight:600}.list-text p{font-size:10px;color:var(--muted);margin-top:3px}.list-side{text-align:right;font-size:11px;flex:none}.timeline-row{display:flex;gap:14px;margin-bottom:17px}.timeline-dot{height:7px;width:7px;border-radius:50%;background:#92ae72;margin-top:5px;box-shadow:0 0 0 4px #edf3e7;flex:none}.timeline-row strong{font-size:11px;font-weight:550;display:block}.timeline-row small{font-size:10px;color:var(--muted)}.progress-track{height:5px;border-radius:4px;background:#eef2e8;overflow:hidden;margin-top:8px}.progress-track i{display:block;height:100%;background:#8cae69;border-radius:4px}.chart{position:relative;min-height:170px;width:100%;padding-top:8px}.chart svg{width:100%;height:180px;overflow:visible}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.chart-summary{display:flex;gap:25px;padding-bottom:15px}.chart-summary small{font-size:10px;color:var(--muted);display:block}.chart-summary strong{font-size:22px;font-weight:600}.notice{display:flex;gap:10px;background:#f1f6eb;border:1px solid #dfead6;border-radius:10px;padding:13px 15px;font-size:12px;align-items:start;color:#557445}.notice.warning{background:#fff7eb;border-color:#f3e2c6;color:#94733b}.notice.error{background:#fcf0ed;border-color:#f2d6cf;color:#a45348}.notice .icon{flex:none;margin-top:1px}.notice p{font-size:11px;margin-top:3px}.notice button{margin-left:auto;flex:none}.tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{border:0;background:none;color:var(--muted);font-size:12px;padding:12px 16px;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:23px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:600;color:#576b5c}.field .help{font-size:10px;color:var(--muted);font-weight:400}.field .required{color:var(--red);font-size:12px}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.section-title{padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.modal-shade{position:fixed;inset:0;background:#09281d70;backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:25px;animation:fade .15s}.modal{width:660px;max-width:100%;max-height:90dvh;overflow:auto;background:white;border-radius:18px;box-shadow:0 30px 120px #09281d30}.modal.wide{width:950px}.modal-head{padding:23px 27px 19px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);align-items:center;position:sticky;top:0;background:white;z-index:3}.modal-head p{font-size:11px;color:var(--muted);margin-top:4px}.modal-body{padding:25px 27px 27px}.modal .form-actions{position:sticky;bottom:-27px;background:white;padding:18px 0 3px}.toast{position:fixed;right:25px;bottom:25px;z-index:150;display:flex;gap:10px;align-items:center;background:var(--deep);color:white;padding:14px 20px;border-radius:11px;box-shadow:0 8px 30px #103a2930;font-size:12px;max-width:min(450px,90vw);animation:fade .2s}.toast.error{background:#a44f42}.toast .icon{color:var(--lime)}.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:20px}.boot img{width:230px}.boot p{font-size:13px;color:var(--muted);max-width:420px}.spinner{width:23px;height:23px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}.loading{display:flex;justify-content:center;padding:65px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{background:var(--deep);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art .brand{padding:0;position:relative;z-index:2}.login-copy{position:relative;z-index:2;max-width:500px}.login-copy h1{font-size:clamp(36px,4.3vw,64px);font-weight:500;letter-spacing:-2.5px;line-height:1.12}.login-copy h1 span{color:var(--lime)}.login-copy p{font-size:15px;color:#b6cbbf;margin-top:24px;max-width:365px;line-height:1.8}.login-art footer{font-size:11px;color:#90af9b;position:relative;z-index:2}.login-orbit{position:absolute;width:620px;height:620px;right:-310px;top:20%;border:1px solid #b7d39318;border-radius:50%;box-shadow:0 0 0 80px #b7d39304,0 0 0 160px #b7d39303,0 0 0 240px #b7d39302}.login-art .login-leaf{width:300px;position:absolute;bottom:-55px;right:-30px;opacity:.045}.login-form-area{display:flex;align-items:center;justify-content:center;padding:45px}.login-form{width:355px;max-width:100%}.login-form h2{font-size:27px;letter-spacing:-.8px}.login-form>p{color:var(--muted);font-size:13px;margin:9px 0 28px}.login-form .field{margin-bottom:18px}.login-form .btn.primary{width:100%;padding:12px;margin-top:5px}.login-note{font-size:10px;color:var(--muted);text-align:center;margin-top:24px}.login-brand-mobile{display:none;width:220px;margin-bottom:35px}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;gap:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{padding:13px 10px;font-size:10px;color:var(--muted);text-align:center;background:#fafbf7;border-bottom:1px solid var(--line)}.calendar-day{min-height:125px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;transition:background .15s}.calendar-day:nth-child(7n){border-right:0}.calendar-day.drag-over{background:#e8f1df}.calendar-day.other{background:#fafbf7}.calendar-number{font-size:11px;color:#71816d;margin-bottom:8px}.calendar-number.today{background:var(--green);color:white;width:23px;height:23px;display:grid;place-items:center;border-radius:50%}.calendar-job{border:0;border-left:3px solid #9fbb7d;background:#f0f5e9;border-radius:4px;margin-top:5px;padding:7px;color:#537141;text-align:left;width:100%;font-size:9px;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.calendar-job strong{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-job span{opacity:.8}.dispatch-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:17px;overflow:auto;align-items:start}.dispatch-column{background:#eef1e9;border:1px solid #e4e9de;border-radius:13px;padding:15px;min-height:250px}.dispatch-column>h3{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:14px}.dispatch-column>h3 span{font-size:10px;color:var(--muted)}.job-card{background:white;border:1px solid var(--line);border-radius:11px;padding:16px;margin-bottom:12px;box-shadow:0 3px 8px #153d2710}.job-card .job-id{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.job-card h3{font-size:12px;margin-top:9px}.job-card p{font-size:10px;color:var(--muted);margin-top:4px}.job-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px;border-top:1px solid var(--line);padding-top:12px;font-size:10px}.job-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.job-cards .job-card{margin:0}.job-cards .job-card h3{font-size:16px}.job-cards .job-card p{font-size:12px}.field-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:22px;align-items:start}.field-sidebar{position:sticky;top:100px;display:grid;gap:20px}.checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checklist-item{background:#f7f9f3;padding:12px;border-radius:8px;display:flex;gap:8px;align-items:center;font-size:11px}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.evidence-item{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden;min-height:90px}.evidence-item img{width:100%;height:120px;object-fit:cover;display:block}.evidence-item figcaption{font-size:10px;padding:8px}.evidence-item span{font-size:9px;color:var(--muted);display:block}.evidence-item figure{margin:0}.signature-pad{display:block;background:#fdfefb;border:1px solid #dce3d7;border-radius:9px;width:100%;height:160px;touch-action:none}.signature-tools{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:10px;color:var(--muted)}.mini-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:10px}.mini-table td,.mini-table th{padding:9px 7px;border-bottom:1px solid var(--line);text-align:left}.mini-table th{font-size:10px;color:var(--muted);font-weight:500}.mini-table input,.mini-table select{font-size:11px!important;padding:7px!important;min-width:70px}.repeat-row{border:1px solid var(--line);background:#fafbf7;border-radius:10px;padding:15px;margin-top:12px}.repeat-row header{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:12px}.repeat-row .form-grid{gap:10px}.geo-stat{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf0e9;font-size:11px}.geo-stat b{font-weight:500;text-align:right}.map-panel{height:330px;background:#f0f4e9;position:relative;overflow:hidden;border-radius:10px}.map-panel svg{width:100%;height:100%}.map-key{position:absolute;left:12px;bottom:12px;background:#ffffffed;padding:8px 11px;border-radius:7px;font-size:9px;color:var(--muted)}.map-pin{cursor:pointer}.map-coordinates{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.map-location{padding:12px;border:1px solid var(--line);border-radius:9px}.map-location h3{font-size:11px}.map-location p{font-size:10px;color:var(--muted);margin-top:5px}.report-category{border:1px solid var(--line);border-radius:13px;padding:22px;background:white;color:var(--ink);text-align:left;display:flex;gap:15px;align-items:center}.report-category:hover{border-color:#9eb991;background:#f8fbf4}.report-category .list-icon{height:42px;width:42px}.report-category strong{font-size:13px;display:block}.report-category small{color:var(--muted);font-size:10px;display:block;margin-top:4px}.settings-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:25px}.settings-menu{display:flex;flex-direction:column;gap:5px;align-items:stretch}.settings-menu button{border:0;background:none;border-radius:8px;color:var(--muted);padding:12px 15px;text-align:left;font-size:12px;display:flex;gap:10px;align-items:center}.settings-menu button.active{background:#e7efdd;color:var(--green);font-weight:600}.integration-card{border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;align-items:start;gap:13px}.integration-card p{font-size:11px;color:var(--muted);margin-top:6px}.integration-card .btn{margin-top:15px}.integration-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eef3e7;flex:none;font-weight:700;color:var(--green)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.detail-item dt{font-size:10px;color:var(--muted);margin-bottom:5px}.detail-item dd{margin:0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-item.full{grid-column:1/-1}.detail-item pre{margin:0;font-size:11px;background:var(--paper);padding:12px;border-radius:8px;white-space:pre-wrap}.detail-item a{font-size:11px}.mobile-menu{display:none}.mobile-bottom{display:none}.install-banner{position:fixed;bottom:20px;left:calc(50% + 124px);transform:translateX(-50%);z-index:60;background:white;box-shadow:0 10px 50px #14372230;border:1px solid var(--line);border-radius:13px;padding:13px 17px;display:flex;align-items:center;gap:15px;max-width:90vw}.install-banner p{font-size:11px}.install-banner strong{font-size:12px}.install-banner .icon-btn{border:0;width:25px;height:25px}.update-banner{background:#e4eed6;padding:12px 38px;font-size:12px;display:flex;align-items:center;gap:15px}.update-banner .btn{margin-left:auto}.offline-bar{background:#fff5e5;padding:8px 38px;font-size:10px;color:#96763c;display:flex;align-items:center;gap:8px}.record-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.noscript{padding:30px;text-align:center}.json-help{background:var(--paper);padding:9px 12px;border-radius:7px;font-size:10px;color:var(--muted);margin-top:4px}.json-editor{font:12px/1.6 ui-monospace,SFMono-Regular,monospace}.queue-row{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.queue-row:last-child{border:0}.queue-row p{font-size:11px}.queue-row small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.unlock-form{display:flex;gap:10px;align-items:end;max-width:450px;margin-top:18px}.unlock-form .field{flex:1}.audit-diff{white-space:pre-wrap;font-size:11px;max-width:100%;overflow:auto}.footer-note{font-size:10px;color:var(--muted);margin-top:24px;display:flex;justify-content:space-between}.connection-label{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}.notification-row{padding:17px 24px;display:flex;gap:14px;border-bottom:1px solid var(--line)}.notification-row:last-child{border:0}.notification-row.unread{background:#f7faf1}.notification-row h3{font-size:12px}.notification-row p{font-size:11px;color:var(--muted);margin-top:4px}.notification-row small{font-size:9px;color:var(--muted)}.mobile-overlay{display:none}.skip{position:fixed;top:-50px;left:280px;background:var(--lime);padding:10px;z-index:90}.skip:focus{top:10px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.metrics{gap:22px}.page{padding:40px 45px}.topbar{padding:0 45px}.metric{padding:25px}}
@media(max-width:1250px){.shell{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding:0 25px}.page{padding:27px 25px}.metrics{gap:12px}.metric{padding:18px}.metric-value{font-size:25px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:17px}.job-cards{grid-template-columns:repeat(2,1fr)}.field-layout{grid-template-columns:minmax(0,1fr) 280px}.install-banner{left:calc(50% + 109px)}}
@media(max-width:1020px){.shell{grid-template-columns:200px minmax(0,1fr)}.brand{padding-left:8px}.brand strong{font-size:21px}.sidebar{padding-left:10px;padding-right:10px}.topbar-date{display:none}.topbar{height:66px;padding:0 20px}.page{padding:25px 20px}.page-heading{align-items:start}h1{font-size:26px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.two-col{gap:18px}.three-col{grid-template-columns:repeat(2,1fr)}.field-layout{grid-template-columns:1fr}.field-sidebar{position:static;grid-template-columns:1fr 1fr;grid-row:1}.settings-layout{grid-template-columns:170px minmax(0,1fr)}.calendar-day{min-height:110px;padding:6px}.calendar-job{font-size:8px}.calendar-head h2{font-size:16px}.login-art{padding:45px 35px}.login-copy h1{font-size:45px}.login-copy p{font-size:13px}.install-banner{left:calc(50% + 100px)}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .2s;z-index:90;padding:25px 16px}.shell.menu-open .sidebar{transform:translateX(0)}.shell.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:#09281d70;z-index:80}.mobile-menu{display:grid}.topbar{height:64px;padding:0 17px;gap:10px}.topbar-path{font-size:11px;flex:1;gap:6px}.topbar-path>span:first-child{display:none}.topbar-path>b{max-width:170px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{gap:9px}.topbar-actions>.connection-label{display:none}.topbar-actions>.avatar{height:31px;width:31px}.page{padding:23px 17px 90px}.page-heading{gap:12px;margin-bottom:22px;flex-wrap:wrap}.page-heading h1{font-size:26px}.page-heading p{font-size:12px;margin-top:6px}.heading-tools{gap:7px}.heading-tools .btn{font-size:11px;padding:8px 11px}.hero{padding:22px;margin-bottom:20px}.hero h2{font-size:21px}.hero p{font-size:11px}.hero-mark{width:55px}.hero-tools{flex-wrap:wrap;margin-top:15px}.metrics{gap:11px;margin-bottom:20px}.metric{padding:17px}.metric-top{font-size:10px;gap:8px;margin-bottom:13px}.metric-symbol{height:27px;width:27px}.metric-value{font-size:25px}.metric-foot{font-size:9px;margin-top:10px}.metric-change{padding:1px 4px}.dashboard-grid{gap:18px}.stack{gap:18px}.card-head{padding:18px 19px 15px}.card-body{padding:0 19px 19px}.card-head h2{font-size:16px}.data-table th:first-child,.data-table td:first-child{padding-left:19px}.data-table th:last-child,.data-table td:last-child{padding-right:19px}.data-table td{padding:13px 12px;font-size:11px}.data-table th{font-size:9px;padding:10px 12px}.toolbar{padding:15px}.search{max-width:none;min-width:175px}.toolbar .push-right{margin-left:0}.toolbar select{max-width:150px;flex:1}.pager{padding:14px 18px}.two-col,.three-col{grid-template-columns:1fr;gap:17px}.form-grid{gap:15px}.field.full{grid-column:1/-1}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:13px}.modal-shade{padding:10px}.modal{max-height:94dvh;border-radius:13px}.modal-head{padding:18px 19px}.modal-head h2{font-size:17px}.modal-body{padding:19px}.modal .form-actions{bottom:-19px}.toast{bottom:78px;left:17px;right:17px;width:auto;max-width:none}.mobile-bottom{position:fixed;display:flex;justify-content:space-around;bottom:0;left:0;right:0;height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--line);z-index:45}.mobile-bottom button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;flex:1}.mobile-bottom button.active{color:var(--green)}.mobile-bottom button.active .icon{background:var(--light);border-radius:6px;box-shadow:0 0 0 5px var(--light)}.mobile-bottom .icon{width:18px;height:18px}.install-banner{bottom:76px;left:17px;right:17px;transform:none;max-width:none;padding:11px 14px;gap:10px}.install-banner p{font-size:10px}.install-banner strong{font-size:11px}.install-banner .btn{padding:7px 10px;font-size:10px}.login-page{display:block}.login-art{display:none}.login-form-area{min-height:100dvh;padding:30px}.login-brand-mobile{display:block}.login-form h2{font-size:25px}.calendar-day{min-height:105px;padding:4px}.calendar-job{padding:5px 4px;font-size:8px}.calendar-head{padding:15px;flex-wrap:wrap}.calendar-weekday{font-size:9px;padding:10px 4px}.calendar-number{font-size:10px}.calendar-head .btn{padding:6px 8px;font-size:10px}.calendar-head .heading-tools{gap:4px}.dispatch-board{grid-template-columns:repeat(4,235px)}.job-cards{grid-template-columns:1fr}.field-sidebar{grid-template-columns:1fr}.checklist-grid{grid-template-columns:1fr 1fr;gap:8px}.checklist-item{padding:10px;font-size:10px}.evidence-grid{grid-template-columns:repeat(2,1fr)}.tabs{margin-bottom:19px}.tab{padding:10px 13px;font-size:11px}.settings-layout{display:block}.settings-menu{flex-direction:row;overflow-x:auto;margin-bottom:20px}.settings-menu button{white-space:nowrap;font-size:11px;padding:10px 13px}.settings-menu .icon{width:16px;height:16px}.details-grid{gap:13px}.update-banner{padding:10px 17px;font-size:10px}.offline-bar{padding:8px 17px;font-size:9px}.footer-note{font-size:9px;gap:15px}.map-panel{height:270px}.skip{left:15px}.map-coordinates{grid-template-columns:1fr}.integration-card{padding:19px}.unlock-form{flex-wrap:wrap}}
@media(max-width:420px){.form-grid{grid-template-columns:1fr}.form-grid .field.full{grid-column:auto}.details-grid{grid-template-columns:1fr}.detail-item.full{grid-column:auto}.metric-symbol{display:none}.metric-value{font-size:24px}.metric-foot{display:block}.metric-change{margin-right:4px}.hero-mark{display:none}.topbar-path b{max-width:130px}.hero{padding:19px}.hero-tools .btn{padding:8px 11px;font-size:11px}.checklist-grid{grid-template-columns:1fr}.topbar-actions{gap:7px}.topbar-actions .icon-btn{width:31px;height:31px}.chart-summary{gap:15px}.chart-summary strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.mobile-bottom,.heading-tools,.tabs,.toolbar,.row-actions,.form-actions,.install-banner{display:none!important}.shell{display:block}.page{padding:0}.card{box-shadow:none}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}.data-table{white-space:normal}}

/* Intrinsic sizing: nested editors and long customer names stay inside their pane. */
html,body{width:100%;max-width:100%}
fieldset{min-inline-size:0;max-width:100%}
.page,.modal-body,.content,.stack,.field-layout,.field-sidebar,.settings-layout,
.dashboard-grid,.two-col,.three-col,.form-grid,.details-grid,.json-collection,
.json-rows,.json-row,.form-grid>*,.details-grid>*,.settings-layout>*,
.topbar-path,.page-heading>div,.card-head>div,.integration-card>div,
.notification-row>div,.notice>div,.list-row>div,.queue-row>div{min-width:0}
.form-grid,.two-col,.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.field input,.field select,.field textarea,.json-collection,.json-rows,
.repeat-row,.signature-pad,.table-wrap,.dispatch-board,.map-panel{max-width:100%}
.field select,.toolbar select{text-overflow:ellipsis}
.form-actions,.signature-tools,.repeat-row header,.footer-note{flex-wrap:wrap}
.form-actions>.btn,.heading-tools>.btn,.hero-tools>.btn{max-width:100%}
.field label,.field .help,.json-help,.notice,.notice p,.notification-row p,
.queue-row p,.geo-stat,.list-text,.integration-card p,.detail-item,
.page-heading h1,.page-heading p,.modal-head h2,.modal-head p,
.metric-value,.metric-foot,.footer-note,.toast{overflow-wrap:anywhere}
.detail-item pre,.audit-diff{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.signature-pad{min-width:0;width:100%;height:160px}
.signature-tools{gap:8px}
.nav-scroll{min-height:0;overscroll-behavior:contain}
.sidebar-foot>div{min-width:0}
.sidebar-foot strong{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nav-item>span{min-width:0;overflow-wrap:anywhere}
.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:8px;background:transparent;border:0;color:#87aa97;text-align:left;
  padding:8px 14px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;
  border-radius:8px}
.nav-group-toggle:hover,.nav-group-toggle:focus-visible{background:#ffffff09;color:white}
.nav-group-toggle .icon{width:15px;height:15px;flex:none;transition:transform .15s}
.nav-group-toggle[aria-expanded="false"] .icon{transform:rotate(-90deg)}
.nav-group-body[hidden],.nav-group-items[hidden]{display:none}

/* A dialog owns its scrolling region, so its close control stays reachable. */
.modal-shade{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right))
  max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  overflow:hidden;overscroll-behavior:contain}
.modal{display:flex;flex-direction:column;min-width:0;min-height:0;
  max-height:calc(100vh - 24px);
  max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));
  overflow:hidden}
.modal-head{position:relative;top:auto;flex:0 0 auto;gap:14px;min-width:0}
.modal-head>div{min-width:0;flex:1}
.modal-head>.icon-btn{flex:0 0 auto}
.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;scroll-padding-block:18px 110px}
.modal-body input,.modal-body select,.modal-body textarea{scroll-margin-block:18px 110px}
.modal .form-actions{bottom:0;z-index:2;padding:16px 0 4px;gap:10px;
  background:#fff;box-shadow:0 -10px 14px #fff}
.modal .form-actions>.btn{white-space:normal;overflow-wrap:anywhere}

/* Shared table controls. Horizontal scrolling is contained within the table. */
.vt-table,.vt-container,.vt-wrap,.vt-frame,.vt-scroll{min-width:0;max-width:100%}
.vt-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.vt-toolbar,.vt-controls,.vt-pagination,.vt-footer,.vt-filters{display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;min-width:0}
.vt-toolbar>*,.vt-controls>*,.vt-pagination>*,.vt-footer>*{min-width:0;max-width:100%}
.vt-toolbar .search,.vt-search{flex:1 1 220px;min-width:0;max-width:380px}
.vt-toolbar select,.vt-controls select,.vt-page-size{width:auto;max-width:100%}
.vt-pagination,.vt-footer{justify-content:space-between}
.vt-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vt-sort{display:inline-flex;align-items:center;gap:7px;max-width:100%;border:0;
  background:transparent;color:inherit;font:inherit;font-weight:inherit;
  text-align:left;cursor:pointer}
.vt-sort .icon{width:13px;height:13px;flex:none}
.vt-sort:focus-visible{outline-offset:2px}

@media(max-width:1020px){
  .three-col{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .two-col,.three-col{grid-template-columns:minmax(0,1fr)}
  .page{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .topbar-path{min-width:0;overflow:hidden}
  .topbar-actions{flex:0 0 auto;gap:7px}
  .icon-btn,.topbar-actions .icon-btn{width:44px;height:44px;flex-shrink:0}
  .sidebar{width:min(280px,calc(100vw - 28px));max-width:100%;
    padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .nav-item{min-height:44px;padding-top:11px;padding-bottom:11px}
  .nav-group-toggle,.nav-heading button{min-height:44px}
  .nav-heading:has(button){padding-bottom:0}
  .mobile-bottom{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .mobile-bottom button{min-width:0;min-height:44px}
  .page-heading,.card-head,.calendar-head{flex-wrap:wrap}
  .heading-tools{width:100%;align-items:stretch;gap:8px}
  .heading-tools .btn,.form-actions .btn,.hero-tools .btn{min-height:44px;
    white-space:normal;overflow-wrap:anywhere;flex:0 1 auto}
  .card-head>.heading-tools{width:auto;max-width:100%}
  .toolbar{gap:10px;align-items:stretch}
  .toolbar .search{flex:1 1 100%;width:100%;min-width:0}
  .toolbar select,.toolbar input[type=date],.toolbar>input:not([type=checkbox]):not([type=radio]),
  .toolbar>label,.vt-toolbar select,.vt-page-size{flex:1 1 130px;width:auto;min-width:0;max-width:100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea,
  .field input,.field select,.field textarea,.search input,.toolbar select,
  .toolbar input[type=date],.json-editor,.mini-table input,.mini-table select,
  .vt-toolbar input,.vt-toolbar select{font-size:16px!important;max-width:100%;min-width:0}
  .field input:not([type=checkbox]):not([type=radio]),.field select,
  .toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select{min-height:46px}
  .field label,.field .help,.json-help{line-height:1.55}
  input[type=checkbox],input[type=radio]{flex:0 0 auto}
  .checklist-item,.check-label{min-height:44px;align-items:flex-start}
  .checklist-item input,.check-label input{margin-top:3px;flex:none}
  .checklist-item{font-size:12px}
  .form-grid>*,.repeat-row .form-grid>*{min-width:0;max-width:100%}
  .repeat-row{padding:12px}
  .repeat-row header{gap:8px;align-items:center}
  .repeat-row header .btn{min-height:36px;white-space:normal}
  .modal-shade{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right))
    max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));align-items:center}
  .modal{width:100%;max-width:100%;border-radius:14px;
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
  .modal-head{padding:13px 16px;gap:10px}
  .modal-head h2{font-size:18px;line-height:1.3}
  .modal-head p{font-size:12px}
  .modal-body{padding:17px 16px max(17px,env(safe-area-inset-bottom));scroll-padding-bottom:130px}
  .modal .form-actions{bottom:calc(-1 * max(17px,env(safe-area-inset-bottom)));
    margin-inline:-16px;padding:14px 16px max(14px,env(safe-area-inset-bottom));}
  .modal .form-actions .btn{flex:1 1 120px;min-width:0}
  .table-wrap,.dispatch-board{width:100%;max-width:100%;min-width:0}
  .pager,.vt-pagination,.vt-footer{flex-wrap:wrap;gap:12px}
  .pager .heading-tools{width:auto;max-width:100%}
  .vt-toolbar,.vt-controls,.vt-footer{gap:10px}
  .vt-toolbar .search,.vt-search{flex:1 1 100%;max-width:none;width:100%}
  .vt-pagination .btn,.vt-footer .btn,.vt-pages .btn{min-width:44px;min-height:44px}
  .signature-tools{font-size:11px;align-items:flex-start}
  .signature-tools .btn{min-height:36px}
  .geo-stat b{min-width:0;max-width:65%;overflow-wrap:anywhere}
  .notice{min-width:0;max-width:100%;flex-wrap:wrap}
  .notice .icon{flex:none}
  .notice button{max-width:100%;white-space:normal}
  .notification-row,.queue-row{flex-wrap:wrap}
  .notification-row>div,.queue-row>div{min-width:0;flex-basis:180px}
  .toast{bottom:calc(78px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));gap:9px;padding:13px 16px}
  .toast .icon{flex:none}
  .install-banner{bottom:calc(76px + env(safe-area-inset-bottom));flex-wrap:wrap;max-width:100%}
  .install-banner>div{min-width:0;flex:1 1 130px}
  .install-banner .btn{white-space:normal;min-height:40px}
  .update-banner{flex-wrap:wrap;gap:10px}
  .login-form-area{padding:24px max(18px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right))}
  .login-brand-mobile{max-width:100%;height:auto}
}
@media(max-width:480px){
  .form-grid,.details-grid{grid-template-columns:minmax(0,1fr)}
  .field.full,.detail-item.full{grid-column:auto}
  .page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .hero{padding:18px;min-width:0}
  .metrics{gap:10px}
  .metric{padding:15px 12px}
  .metric-value{font-size:clamp(21px,6.2vw,25px)}
  .metric-top{align-items:flex-start}
  .page-heading h1{font-size:25px}
  .card-head{padding:16px}
  .card-body{padding-left:16px;padding-right:16px}
  .form-actions{justify-content:stretch}
  .form-actions>.btn{flex:1 1 100px}
  .heading-tools>.btn{flex:1 1 105px}
  .calendar-head .heading-tools>.btn{flex:0 1 auto}
  .footer-note{flex-direction:column;gap:7px}
  .integration-card{padding:16px;gap:10px}
  .integration-icon{width:34px;height:34px}
  .signature-tools>span{flex:1 1 150px}
}
@media(max-width:360px){
  .topbar-actions>.avatar{display:none}
  .heading-tools>.btn,.hero-tools>.btn{flex:1 1 100%}
  .modal .form-actions .btn{flex-basis:100%}
  .vt-pages{gap:4px}
  .modal-head{padding-inline:12px}
  .modal-body{padding-inline:12px}
  .modal .form-actions{margin-inline:-12px;padding-inline:12px}
}
@media print{
  .vt-toolbar,.vt-controls,.vt-pagination,.vt-footer{display:none!important}
  .modal,.modal-body{display:block;max-height:none;overflow:visible}
}

/* Exact shared-table markup: filters remain outside the table's scroll pane. */
section.vt-controls{display:block;width:100%;min-width:0}
.vt-main-controls{align-items:flex-end;gap:12px}
.vt-search{position:relative;min-width:0;max-width:420px}
.vt-search-label{display:block;font-size:11px;font-weight:600;color:#576b5c;margin-bottom:6px;overflow-wrap:anywhere}
.vt-search .vt-search-input{padding-left:12px}
.vt-main-controls .vt-clear{min-height:42px}
.vt-filter-count{font-size:11px;margin-bottom:11px;overflow-wrap:anywhere}
.vt-filter-panel{border-bottom:1px solid var(--line);min-width:0;max-width:100%}
.vt-filter-toggle{padding:11px 21px;color:var(--green);font-size:12px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.vt-filter-toggle:focus-visible{outline-offset:-3px}
.form-grid.vt-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:15px;padding:16px 21px 20px;border-top:1px solid var(--line)}
.vt-filter-field{min-width:0;max-width:100%}
.vt-column-filter{width:100%;max-width:100%;min-width:0}
.vt-size-label,.vt-page-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;
  line-height:1.4;white-space:nowrap;min-width:0;max-width:100%}
.vt-size-label .vt-page-size{flex:0 0 auto;width:82px;min-width:0;padding:8px 10px}
.vt-page-label .vt-page-input{width:64px;min-width:0;max-width:80px;padding:8px 6px;text-align:center}
.vt-page-total{white-space:nowrap;font-size:11px}
.heading-tools.vt-pagination{width:auto;max-width:100%;gap:6px;justify-content:flex-end}
.vt-pagination .vt-page-button{flex:0 0 auto;white-space:nowrap}
.vt-count{min-width:0;overflow-wrap:anywhere}
.map-location{min-width:0;max-width:100%}
.map-location h3,.map-location p,.job-card h3,.job-card p,.job-card .job-id{overflow-wrap:anywhere}
.evidence-item figcaption{overflow-wrap:anywhere}
.repeat-row header strong,.repeat-row p,.install-banner strong,.install-banner p{min-width:0;overflow-wrap:anywhere}
.chart-summary{flex-wrap:wrap;max-width:100%}
.chart-summary>div{min-width:0;max-width:100%;flex:1 1 110px}
.chart-summary strong{max-width:100%;overflow-wrap:anywhere}
.modal-shade{height:var(--visual-viewport-height,100dvh);top:var(--visual-viewport-offset-top,0px);bottom:auto}
.modal{max-height:calc(var(--visual-viewport-height,100dvh) - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
@media(max-width:760px){
  .vt-main-controls{padding:15px;align-items:flex-end}
  .vt-search{flex-basis:100%;width:100%;max-width:none}
  .vt-search-label{font-size:12px}
  .vt-filter-count{margin-bottom:0;min-height:44px;display:flex;align-items:center;font-size:12px;flex:1 1 120px}
  .vt-main-controls .vt-clear{min-height:44px;max-width:100%}
  .vt-filter-toggle{padding:13px 15px;min-height:44px}
  .form-grid.vt-filters{padding:15px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .vt-footer{padding:15px;align-items:center;gap:12px}
  .vt-count{flex:1 1 100%;font-size:12px}
  .vt-size-label{font-size:12px;min-height:46px}
  .vt-size-label .vt-page-size{width:86px;min-height:46px;flex:0 0 auto}
  .heading-tools.vt-pagination{flex:1 1 100%;width:100%;justify-content:flex-start;gap:7px}
  .vt-pagination .vt-page-button{flex:0 1 auto;min-width:44px;min-height:44px;white-space:normal}
  .vt-page-label{min-height:46px;font-size:12px}
  .vt-page-label .vt-page-input{width:64px;min-width:0;min-height:46px;font-size:16px!important}
  .map-coordinates{grid-template-columns:minmax(0,1fr)}
  .modal{max-height:calc(var(--visual-viewport-height,100dvh) - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
}
@media(max-width:480px){
  .form-grid.vt-filters{grid-template-columns:minmax(0,1fr)}
  .vt-pagination .vt-page-button{flex:1 1 calc(50% - 7px)}
  .vt-pagination .vt-page-label{order:2;flex:1 1 100%;justify-content:center;padding-top:4px}
  .vt-pagination .vt-page-total{font-size:12px}
}

/* Visual viewport variables are populated by the dialog controller on mobile keyboards. */
:root{--dialog-viewport:100vh}
@supports(height:100dvh){:root{--dialog-viewport:100dvh}}
.modal-shade{height:var(--visual-viewport-height,var(--dialog-viewport));}
.modal{max-height:calc(var(--visual-viewport-height,var(--dialog-viewport)) - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
@media(max-width:760px){
  .modal{max-height:calc(var(--visual-viewport-height,var(--dialog-viewport)) - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
  .row-actions button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px}
  .sidebar-foot button{width:44px;height:44px;padding:10px;flex:none}
  .tab{min-height:44px}
}

/* Supplied Verdant brand: the full wordmark stays intact on every surface. */
.brand{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:100%;flex:none}
.brand .brand-logo{display:block;width:168px;max-width:100%;height:auto;object-fit:contain;flex:none;filter:none}
.brand .brand-role{display:block;margin:0;color:#d5e6d9;font-size:10px;font-weight:500;line-height:1.4;letter-spacing:1.3px;text-transform:none}
.sidebar .brand{align-items:center;padding:0 10px 21px;text-align:center}
.sidebar .brand .brand-logo{width:164px}
.sidebar .brand .brand-role{font-size:9px;letter-spacing:1.1px}
.sidebar .nav-scroll{min-height:0}
.login-art .brand{padding:0;margin-bottom:24px;align-items:flex-start}
.login-art .brand .brand-logo{width:210px}
.login-art .brand .brand-role{font-size:11px;letter-spacing:1.4px}
.login-art .login-leaf{width:330px;height:auto;object-fit:contain;opacity:.075;pointer-events:none}
.login-brand-mobile{width:170px;max-width:70vw;height:auto;object-fit:contain;margin:0 auto 30px;filter:none}
.boot>img{width:205px;max-width:65vw;height:auto;object-fit:contain}
.hero{background:var(--deep);border-color:var(--deep);color:#fff}
.hero .eyebrow{color:#c1d8bd}
.hero h2,.hero h3{color:#fff}
.hero p{color:#c8dbcf}
.hero .hero-mark{display:block;width:86px;height:auto;max-width:20%;object-fit:contain;opacity:.92;flex:none;pointer-events:none;filter:none}
.hero .metric-symbol{background:#ffffff16;color:#e1efdd}
@media(max-width:1020px){.sidebar .brand .brand-logo{width:154px}.sidebar .brand{padding-bottom:19px}.login-art .brand .brand-logo{width:185px}}
@media(max-width:760px){.sidebar .brand .brand-logo{width:160px}.sidebar .brand{padding:0 8px 18px}.login-brand-mobile{display:block;width:164px;max-width:65vw;margin-bottom:27px}.hero .hero-mark{width:60px;max-width:17%}}
@media(max-width:420px){.hero .hero-mark{display:none}.login-brand-mobile{width:150px;margin-bottom:24px}}
@media(max-height:680px){.sidebar .brand .brand-logo{width:150px}.sidebar .brand{gap:6px;padding-bottom:15px}.sidebar .login-art .brand .brand-logo{width:170px}.login-art .brand{margin-bottom:18px}}

.workspace-icon.has-company-logo{background:#fff;border:1px solid #e8eee5}

/* Company identity, subscription terms and support conversations. */
.company-branding{margin-bottom:24px}
.company-logo-editor{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:28px;align-items:center}
.company-logo-preview{display:flex;align-items:center;justify-content:center;min-width:0;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center}
.company-logo-preview img{display:block;max-width:100%;max-height:160px;width:auto;height:auto;object-fit:contain}
.company-logo-editor form{min-width:0}
.company-logo-editor input[type=file]{max-width:100%;overflow:hidden;background:var(--paper,#fff)}
.company-logo-editor [data-logo-feedback]:not(:empty){margin-top:14px}
.billing-note,.billing-note+.notice{margin-bottom:18px}
.billing-term-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:25px 0 20px}
.billing-term-panel label{font-size:13px;font-weight:650;color:var(--ink)}
.billing-term-panel select{min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 14px;font:inherit;max-width:100%}
.billing-term-panel .help{flex-basis:100%;margin:0}
.billing-price{font-size:31px;font-weight:700;letter-spacing:-1px;line-height:1.3;overflow-wrap:anywhere}
.billing-plans .card-head h2{min-width:0;overflow-wrap:anywhere}
.billing-plans .card-body>.muted{font-size:12px;margin:8px 0}
.billing-capacity{font-size:12px;color:var(--muted);margin:18px 0}
.billing-plans .btn{width:100%}
.billing-history{margin-top:24px}
.support-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:-5px 0 24px;font-size:12px}
.support-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:24px;align-items:start}
.support-layout>*{min-width:0}
.support-ticket-details .details-grid{display:block}
.support-ticket-details .detail-item{margin-bottom:18px}
.support-messages{padding:0 24px}
.support-message{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}
.support-message:last-child{border-bottom:0}
.support-message>header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:12px;margin-bottom:12px}
.support-message>header strong{font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.support-message>header .muted{margin-left:auto;font-size:11px}
.support-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;color:var(--ink)}
.support-message.internal{background:#fcf7e9;margin:10px -12px;padding:18px 12px;border:1px solid #ede3c6;border-radius:10px}
.support-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:15px 0 0}
.support-attachments li{max-width:100%;overflow-wrap:anywhere;font-size:12px}
.support-attachments a{display:inline-block;max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;color:var(--green);text-decoration:none;background:#fff}
.support-reply{border-top:1px solid var(--line)}
.support-compose [data-support-feedback]:not(:empty),.support-management [data-support-feedback]:not(:empty){margin-bottom:18px}
.support-compose .field textarea{min-height:145px}
.support-compose .check-label{font-size:12px;line-height:1.6;align-items:flex-start}
.support-file-list{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:6px}
.support-filters,.finance-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:0 0 24px}
.support-filters .field,.finance-filters .field{min-width:140px;flex:1 1 140px;max-width:260px;margin:0}
.support-filters .field:last-child,.finance-filters .field:last-child{flex:0 1 auto;min-width:0}
.support-filters select,.finance-filters select,.finance-filters input{width:100%}
.support-management{border-top:1px solid var(--line);padding-top:20px}
.support-management .field{margin-bottom:16px}
.support-pending{margin-bottom:24px}
.support-pending p{overflow-wrap:anywhere}
.support-ticket-details .heading-tools{margin-top:18px}
.support-compose input[type=file]{min-width:0;max-width:100%;overflow:hidden}
.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-asof{font-size:12px;line-height:1.7;margin:4px 0 24px}
.finance-sections{display:grid;gap:24px;min-width:0}
.finance-notes{margin-top:24px}
.finance-notes ul{margin:0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.8}
.finance-notes li+li{margin-top:9px}
.schema-upgrade{margin:20px 28px 0}
@media(max-width:1100px){.support-layout{grid-template-columns:minmax(0,1fr)}.support-ticket-details .details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.support-management{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.support-management [data-support-feedback],.support-management .form-actions{grid-column:1/-1}.support-management .field{margin-bottom:0}}
@media(max-width:760px){
 .company-logo-editor{grid-template-columns:minmax(0,1fr);gap:20px}
 .company-logo-preview{min-height:130px;max-width:100%}
 .company-logo-preview img{max-height:140px}
 .company-logo-editor input[type=file],.support-compose input[type=file]{padding:10px;width:100%;font-size:16px}
 .billing-term-panel{align-items:stretch;gap:10px}
 .billing-term-panel label{flex-basis:100%}
 .billing-term-panel select{width:100%;font-size:16px;min-height:48px}
 .billing-price{font-size:28px}
 .billing-plans{gap:16px}
 .support-layout{gap:18px}
 .support-messages{padding:0 17px}
 .support-message{padding:20px 0}
 .support-message>header{gap:7px 10px}
 .support-message>header .muted{margin-left:0;flex-basis:100%}
 .support-body{font-size:14px}
 .support-summary{gap:9px;margin-bottom:20px;line-height:1.6}
 .support-filters,.finance-filters{gap:12px}
 .support-filters .field,.finance-filters .field{max-width:none;min-width:0;flex:1 1 calc(50% - 12px)}
 .support-filters .field:last-child,.finance-filters .field:last-child{flex:1 1 100%}
 .support-filters .field:last-child .btn,.finance-filters .field:last-child .btn{width:100%}
 .support-management{grid-template-columns:minmax(0,1fr)}
 .support-ticket-details .details-grid{grid-template-columns:minmax(0,1fr)}
 .finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance-metrics .metric-value{font-size:25px;overflow-wrap:anywhere}
 .finance-sections{gap:18px}
 .schema-upgrade{margin:16px 16px 0}
}
@media(max-width:420px){.finance-metrics{grid-template-columns:minmax(0,1fr)}.support-filters .field,.finance-filters .field{flex-basis:100%}.support-compose .form-actions .btn{width:100%}.billing-price{font-size:27px}}

/* Published guidance, supervised AI and private company conversations. */
.kb-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:0 0 24px}
.kb-filters .field{flex:1 1 160px;min-width:0;max-width:320px;margin:0}
.kb-filters .field:first-child{flex-grow:2;max-width:none}
.kb-filters .field:last-child{flex:0 1 auto}
.kb-note{margin-bottom:22px}
.kb-editor{padding-top:24px}
.kb-answer{font-size:14px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;margin:25px 0}
.kb-article .card-body{padding-top:28px}
.kb-article .eyebrow{font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.6}
.kb-article .muted{font-size:11px}
.kb-sources{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.kb-sources p{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.ai-settings{margin-top:24px}
.ai-queue{display:grid;gap:24px;margin-top:24px;min-width:0}
.support-ai-status{margin-bottom:24px}
.support-ai-status p{font-size:12px;line-height:1.65}
.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100dvh - 215px);min-height:480px;max-height:950px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.chat-sidebar{background:#f7f9f4;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0}
.chat-sidebar>header{padding:22px 18px 18px;border-bottom:1px solid var(--line);flex:none}
.chat-sidebar h2{font-size:15px;margin-bottom:13px}
.chat-sidebar .heading-tools{gap:6px}
.chat-sidebar .btn{font-size:10px;padding:8px 10px}
.chat-rooms{overflow-y:auto;padding:10px;min-height:0;flex:1}
.chat-room{border:0;background:none;text-align:left;width:100%;padding:12px 10px;display:flex;align-items:center;gap:10px;border-radius:9px;margin:2px 0;color:var(--ink);min-width:0}
.chat-room:hover{background:#ecf1e8}
.chat-room.selected{background:#e3efdd}
.chat-room-icon{height:34px;width:34px;background:#e4ebe0;border:1px solid #d7e2d1;border-radius:9px;display:grid;place-items:center;font-weight:600;font-size:19px;flex:none}
.chat-room.selected .chat-room-icon{background:#fff}
.chat-room-text{min-width:0;flex:1}
.chat-room strong{font-size:12px;line-height:1.5;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.chat-room small{display:block;font-size:10px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:3px}
.chat-room .badge{font-size:9px;padding:2px 6px}
.chat-no-rooms{padding:15px;font-size:12px}
[data-chat-thread]{min-height:0;min-width:0;height:100%}
.chat-thread{height:100%;min-height:0;display:flex;flex-direction:column;min-width:0}
.chat-thread-head{padding:18px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:13px;flex:none;min-width:0}
.chat-thread-head>div{flex:1;min-width:0}
.chat-thread-head h2{font-size:17px;overflow-wrap:anywhere}
.chat-thread-head p{font-size:10px;color:var(--muted);margin-top:3px}
.chat-back{display:none}
.chat-search{display:flex;gap:8px;padding:13px 23px 8px;align-items:center;flex:none}
.chat-search>label{font-size:10px;white-space:nowrap;color:var(--muted)}
.chat-search>input{min-width:0;width:100%;height:35px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12px}
.chat-history-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 23px 11px;font-size:10px;flex:none}
.chat-history-controls select{margin-left:6px;min-height:30px;border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:11px;background:#fff}
.chat-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 23px 18px;scrollbar-width:thin}
.chat-earlier{text-align:center;margin:0 0 12px}
.chat-message{margin:0 0 21px;min-width:0}
.chat-message>header{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:7px;font-size:11px}
.chat-message>header .avatar{height:26px;width:26px;font-size:8px}
.chat-message>header strong{overflow-wrap:anywhere}
.chat-message time{font-size:9px;color:var(--muted)}
.chat-message-content{margin-left:35px;padding:12px 15px;border:1px solid #e8ece4;background:#f8faf5;border-radius:0 12px 12px;max-width:93%}
.chat-message.own .chat-message-content{background:#edf5e7;border-color:#ddebd4}
.chat-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75}
.chat-message.deleted .chat-message-body{font-size:11px;font-style:italic;color:var(--muted)}
.chat-message.deleted .chat-message-content{background:transparent;border-style:dotted}
.chat-message-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:5px}
.chat-message-actions .btn{font-size:9px;padding:2px 5px;border:0;min-height:26px}
.chat-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.chat-attachment{display:block;font-size:11px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:8px;max-width:100%;overflow-wrap:anywhere}
.chat-attachment small{font-size:9px;color:var(--muted);margin-left:5px}
.chat-composer{flex:none;padding:13px 20px 15px;border-top:1px solid var(--line);background:#fff;min-width:0}
.chat-composer textarea{display:block;width:100%;resize:vertical;min-height:60px;max-height:150px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:13px;line-height:1.6}
.chat-composer-actions{display:flex;align-items:center;gap:10px;margin-top:9px;min-width:0}
.chat-composer-actions .help{font-size:9px;flex:1;margin:0}
.chat-composer-actions>.btn:last-child{margin-left:auto}
.chat-attach{position:relative;overflow:hidden;cursor:pointer;flex:none}
.chat-attach input{position:absolute;opacity:0;width:1px;height:1px;inset:0;pointer-events:none}
.chat-staged{display:flex;flex-wrap:wrap;gap:6px}
.chat-staged:not(:empty){margin-bottom:9px;max-height:90px;overflow-y:auto}
.chat-staged-file{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:10px;max-width:100%;min-width:0}
.chat-staged-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.chat-staged-file .btn{font-size:9px;padding:2px 5px;flex:none}
.chat-empty{text-align:center;margin:50px 20px;color:var(--muted)}
.chat-empty h3{font-size:16px;color:var(--ink);margin-bottom:9px}
.chat-empty p{font-size:12px;max-width:330px;margin:auto;line-height:1.7}
[data-chat-feedback]:not(:empty){margin-bottom:9px;font-size:11px}
.chat-member-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:340px;overflow-y:auto;margin:18px 0}
.chat-member-picker .check-label{align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;min-width:0;font-size:12px}
.chat-member-picker small{display:block;font-size:10px;color:var(--muted)}
.chat-member-picker span{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.chat-layout{grid-template-columns:235px minmax(0,1fr)}.chat-search>label{display:none}.chat-sidebar .heading-tools{flex-direction:column;align-items:stretch}}
@media(max-width:760px){
 .kb-filters{gap:12px}.kb-filters .field{max-width:none;flex:1 1 calc(50% - 12px)}.kb-filters .field:first-child{flex-basis:100%}.kb-filters .field:last-child{flex-basis:100%}.kb-filters .btn{width:100%}
 .kb-answer{font-size:14px;line-height:1.85}.kb-article .eyebrow{font-size:15px}.kb-editor{padding-top:20px}.ai-queue{gap:18px}
 .chat-layout{display:block;height:calc(var(--chat-viewport-height,100dvh) - 225px);min-height:340px;max-height:none;border-radius:12px}
 .chat-layout.has-room .chat-sidebar{display:none}.chat-layout:not(.has-room) [data-chat-thread]{display:none}
 .chat-sidebar{height:100%;border-right:0}.chat-sidebar>header{padding:18px}.chat-sidebar .heading-tools{flex-direction:row;align-items:center}.chat-sidebar .btn{font-size:12px;padding:9px 12px;min-height:44px}
 .chat-room{padding:14px 12px}.chat-room strong{font-size:14px}.chat-room small{font-size:11px}.chat-room-icon{width:38px;height:38px}
 .chat-thread-head{padding:12px 13px;gap:10px}.chat-thread-head h2{font-size:15px}.chat-thread-head p{font-size:10px}.chat-thread-head>.btn{font-size:10px;min-height:44px;padding:7px 9px}
 .chat-back{display:inline-flex;max-width:105px;white-space:normal;line-height:1.2}
 .chat-search{padding:11px 13px 8px;gap:6px}.chat-search>input{height:44px;font-size:16px}.chat-search>.btn{min-height:44px;font-size:11px;padding:7px 9px}
 .chat-history-controls{padding:0 13px 9px;gap:10px;align-items:center;font-size:9px}.chat-history-controls>span{max-width:125px;text-align:right}.chat-history-controls select{font-size:16px;min-height:40px}
 .chat-scroll{padding:7px 13px 13px}.chat-message{margin-bottom:18px}.chat-message>header{font-size:10px;gap:7px;flex-wrap:wrap}.chat-message time{font-size:8px}.chat-message>header .avatar{height:24px;width:24px}.chat-message-content{margin-left:0;max-width:100%;padding:11px 12px}.chat-message-body{font-size:14px}.chat-message-actions .btn{font-size:10px;min-height:35px;padding:4px 7px}
 .chat-composer{padding:10px 12px 12px}.chat-composer textarea{font-size:16px;min-height:60px;max-height:110px;resize:none}.chat-composer-actions{gap:8px;flex-wrap:wrap;margin-top:8px}.chat-composer-actions .help{display:none}.chat-composer-actions .btn{min-height:44px;font-size:12px;padding:9px 13px}.chat-member-picker{grid-template-columns:minmax(0,1fr)}
 .page:has(#chat-body:focus)>.page-heading{display:none}.page:has(#chat-body:focus){padding-top:10px;padding-bottom:10px}.page:has(#chat-body:focus) .chat-layout{height:calc(var(--chat-viewport-height,100dvh) - 85px);min-height:160px}.page:has(#chat-body:focus) .chat-thread-head,.page:has(#chat-body:focus) .chat-search,.page:has(#chat-body:focus) .chat-history-controls{display:none}body:has(#chat-body:focus) .mobile-bottom{display:none}
}
@media(max-width:420px){.kb-filters .field{flex-basis:100%}.chat-layout{height:calc(var(--chat-viewport-height,100dvh) - 235px)}.chat-thread-head h2{font-size:14px}.chat-back{max-width:92px}}

.chat-composer .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-attach:focus-within{outline:3px solid #97bc74;outline-offset:3px}

/* Provider setup guidance shares the responsive form layout. */
.provider-setup-guide{margin:0 0 24px;padding:16px;border:1px solid var(--border,#dce5df);border-radius:12px;overflow-wrap:anywhere}
.provider-setup-guide summary{cursor:pointer;font-size:16px;font-weight:650;min-height:44px;display:flex;align-items:center}
.provider-setup-guide ol{padding-left:22px;line-height:1.65}.provider-setup-guide li{margin:10px 0}
.provider-setup-links{display:flex;flex-wrap:wrap;gap:10px}.provider-setup-links a{white-space:normal;overflow-wrap:anywhere;min-height:44px;max-width:100%}
.provider-break{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:600px){.provider-setup-guide{padding:12px}.provider-setup-guide li{font-size:16px}.provider-setup-links{flex-direction:column}.provider-setup-links a{width:100%}}

#platform-provider [hidden]{display:none!important}
#platform-modal:has(#platform-provider[data-provider="google_drive"]) .form-actions{position:static;box-shadow:none}

/* Guided provider setup: one task at a time, no obscured fields. */
.setup-section-title{margin:26px 0 16px;font-size:20px}.setup-optional-services{margin-top:28px}.setup-optional-services>summary{cursor:pointer;font-size:17px;padding:16px 0}
#provider-setup-form{font-size:16px;line-height:1.6}#provider-setup-form [hidden]{display:none!important}
.setup-purpose{font-size:17px;color:#183d31}.setup-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.setup-progress span{padding:10px;border-radius:8px;background:#f0f4f1;font-size:13px}.setup-progress .active{background:#185b46;color:white;font-weight:650}
.setup-step-heading{font-size:21px;margin:18px 0}.setup-feedback:empty{display:none}.setup-feedback{margin-bottom:18px;overflow-wrap:anywhere}
.setup-copy{background:#f0f6ef;border-radius:12px;padding:16px;margin:18px 0}.setup-copy label{font-weight:650;display:block;margin-bottom:12px}.setup-copy input{font-size:16px;width:100%;min-width:0;box-sizing:border-box;margin-bottom:12px}.setup-copy p{overflow-wrap:anywhere}
#provider-setup-form .field{gap:8px;margin-bottom:22px}#provider-setup-form label{font-size:17px;color:#173c32}#provider-setup-form input,#provider-setup-form textarea,#provider-setup-form select{font-size:16px;min-height:48px;max-width:100%;box-sizing:border-box}#provider-setup-form textarea{min-height:140px}
.setup-required{font-size:12px;color:#5b655e;margin-left:7px}.setup-field-help{margin:0;color:#45584d;font-size:15px;line-height:1.6}.setup-example{font-size:14px;margin:3px 0;overflow-wrap:anywhere}.setup-example code{white-space:normal;word-break:break-word}.setup-example span{display:block;color:#5b655e}.setup-field-error{font-size:15px;color:#a3212d;margin:0}.setup-field-error:empty{display:none}
#provider-setup-form [aria-invalid=true]{border:2px solid #aa2934}.setup-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e0e7e1}.setup-footer .btn,#provider-setup-form section>.btn{min-height:48px;margin:4px 0;white-space:normal}
@media(max-width:600px){.setup-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-copy{padding:12px}.setup-footer .btn{flex:1 1 100%}.setup-field-help{font-size:16px}.setup-step-heading{font-size:20px}#provider-setup-form .btn{max-width:100%;overflow-wrap:anywhere}}
/* Plain-language form helpers and touch-friendly map selection. */
.location-picker{min-width:0}.location-map{height:340px;width:100%;border:1px solid #dce5dc;border-radius:14px;z-index:0;margin:12px 0;background:#eef2e8}.location-map .leaflet-control-attribution{font-size:10px;white-space:normal}.map-toolbar,.map-results{display:flex;gap:8px;flex-wrap:wrap}.map-toolbar .btn,.map-results .btn{min-height:44px;white-space:normal}.verdant-map-pin{display:grid;place-items:center;color:#174e39;background:white;border:3px solid #174e39;border-radius:50%;font-size:24px;box-shadow:0 2px 8px #0005}.friendly-node{padding:12px;border:1px solid #e0e7dc;border-radius:10px;margin:8px 0;min-width:0}.friendly-node label{display:block}.friendly-node>label{flex:1}.friendly-node input,.friendly-node select{width:100%;min-width:0}.friendly-heading,.friendly-add{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.friendly-add label{flex:1;min-width:120px}.friendly-summary{margin:0}.friendly-summary>div{padding:6px 0}.friendly-summary dt{font-size:12px;color:#637568}.friendly-summary dd{margin:3px 0}.reference-options{max-height:240px;overflow:auto}.reference-options label{padding:10px;min-height:44px}.reference-options label[hidden]{display:none!important}
@media(max-width:600px){.location-map{height:300px}.map-toolbar .btn{flex:1 1 120px}.friendly-node{padding:8px}.location-picker input,.friendly-node input,.friendly-node select{font-size:16px}}
[hidden]{display:none!important}
.trial-workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf3e4;padding:12px 28px;color:#28513d;font-size:13px;flex-wrap:wrap}.trial-workspace-banner a{white-space:normal}@media(max-width:600px){.trial-workspace-banner{padding:12px 16px}}
/* Company identity replaces platform identity after sign-in. */
.sidebar .brand-logo.custom-company-logo{background:#fff;padding:9px;border-radius:8px;max-width:172px;width:100%;height:76px;object-fit:contain}.workspace-mobile-logo{display:none}.brand-role{overflow-wrap:anywhere}.regional-example{padding:16px;background:#f0f6e9;border:1px solid #dce7d3;border-radius:9px}.regional-example:empty{display:none}@media(max-width:800px){.workspace-mobile-logo{display:block;width:60px;max-width:20vw;height:39px;object-fit:contain;flex:none}.workspace-mobile-logo.custom-company-logo{padding:3px;background:#fff;border-radius:4px}.topbar-path{min-width:0}.topbar-path b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{margin-left:auto}}

.hero .hero-mark.custom-company-logo{background:#fff;padding:9px;border-radius:9px;width:150px;max-width:25%;height:70px;object-fit:contain;opacity:1}
@media(max-width:600px){.workspace-mobile-logo{width:104px;max-width:33vw;height:43px}.topbar-path{display:none}}
