:root{--bg:#f5f6f3;--surface:#fff;--ink:#20332d;--muted:#75807a;--line:#e6eae5;--green:#275e49;--green-dark:#174432;--light:#edf4ef;--lime:#d2e6ae;--amber:#a56813;--amber-bg:#fbf4e6;--red:#b64d45;--red-bg:#fbeeea;--sidebar:222px;--top:72px;--radius:16px;--shadow:0 14px 45px rgba(28,49,38,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}body{font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,a:focus-visible{outline:3px solid #9cbbac;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-1px}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}h3{font-size:15px;font-weight:650}small{font-size:11px}.icon{display:inline-block;width:19px;height:19px;flex:none;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.center{text-align:center}.mono{font-variant-numeric:tabular-nums}.hide{display:none!important}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:grid;gap:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border-radius:9px;border:1px solid var(--line);background:#fff;font-weight:550;font-size:13px;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover:not(:disabled){background:#f5f7f3}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:var(--green-dark)}.btn.ghost{border-color:transparent;background:none}.btn.danger{color:var(--red);background:var(--red-bg);border-color:transparent}.btn.small{min-height:33px;padding:6px 11px;font-size:12px}.btn.wide{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:8px;color:var(--muted)}.icon-btn:hover{background:var(--light);color:var(--green)}.badge{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:550;white-space:nowrap;background:#f0f2ef;color:#69746c}.badge.green{background:var(--light);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.outline{background:white;border:1px solid var(--line)}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor;flex-shrink:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:650;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-pad{padding:24px}.panel-note{padding:14px 24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.65}.notice{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;background:var(--amber-bg);border:1px solid #f0e3c7;color:#88601e;border-radius:10px;font-size:12px;line-height:1.6}.notice .icon{width:17px;height:17px;margin-top:1px}.notice.red{background:var(--red-bg);border-color:#f1d9d4;color:var(--red)}.notice.neutral{background:#eef2ed;border-color:#dfe7dc;color:#637461}.notice strong{font-weight:650}.text-link{font-size:12px;color:var(--green);padding:4px 0;font-weight:550}
/* Navigation */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:29px 17px 20px;z-index:30}.brand{display:flex;gap:10px;align-items:center;padding:0 9px 34px}.brand-mark{height:29px;width:29px;border:1.5px solid var(--green);border-radius:8px;display:grid;place-items:center;color:var(--green);flex-shrink:0}.brand-mark .icon{width:18px;height:18px}.brand-word{font-size:15px;letter-spacing:.6px;font-weight:750;white-space:nowrap}.nav-group{margin:16px 0 10px;padding-left:13px;font-size:9px;letter-spacing:1.4px;color:#929b94;font-weight:650}.nav-item{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:12px 13px;margin:3px 0;border-radius:10px;color:#708078;font-size:12px;font-weight:500;transition:background .15s}.nav-item:hover{background:#f6f8f4}.nav-item.active{background:var(--light);color:var(--green);font-weight:650}.nav-item .icon{width:18px;height:18px}.nav-count{margin-left:auto;background:#eee5d7;color:var(--amber);border-radius:5px;padding:2px 5px;font-size:10px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:20px 12px 0;font-size:10px;color:var(--muted);line-height:1.8}.sidebar-bottom .dot{background:#819981;margin-right:5px}.topbar{position:fixed;left:var(--sidebar);right:0;top:0;height:var(--top);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);display:flex;align-items:center;justify-content:space-between;padding:0 33px;gap:16px;z-index:20}.nav-actions{display:flex;align-items:center;gap:2px}.nav-actions:after{content:'';height:20px;background:var(--line);width:1px;margin-left:15px;margin-right:14px}.crumb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px}.topbar .role{display:flex;align-items:center;gap:8px;font-size:12px}.avatar{display:grid;place-items:center;width:29px;height:29px;background:var(--light);color:var(--green);font-size:11px;font-weight:650;border-radius:50%}.workspace{margin-left:var(--sidebar);padding:calc(var(--top) + 30px) 33px 40px;max-width:1900px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;flex-wrap:wrap}.page-heading .heading-meta{margin-top:9px;display:flex;align-items:center;gap:9px}.month-control{display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:9px;padding:3px 9px;color:var(--ink);gap:7px}.month-control input{width:145px;border:0;padding:8px 0;background:none;font-size:12px;outline:none}.demo-corner{border:1px solid var(--line);background:#fafbf9;border-radius:5px;padding:4px 7px;color:#829086;letter-spacing:.4px;font-size:9px}.page-bottom{display:flex;justify-content:space-between;color:#93a097;font-size:10px;margin-top:25px;gap:16px}
/* Summary and tables */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px 20px;min-height:119px}.metric.accent{background:#edf3e8;border-color:#e0e8d8}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#758177;margin-bottom:15px}.metric-top .icon{width:17px;height:17px;color:#879787}.metric-value{font-size:27px;font-weight:600;letter-spacing:-.9px;line-height:1.1;white-space:nowrap}.metric-value .unit{font-size:12px;font-weight:450;color:#6e7e71;letter-spacing:0;margin-left:5px}.metric-note{font-size:10px;color:#8a958b;margin-top:9px}.metric.accent .metric-note{color:#72816d}.table-wrap{overflow:auto;width:100%;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#fafbf8;color:#7b867e;font-size:10px;font-weight:550;text-align:left;white-space:nowrap;line-height:1.6;padding:13px 15px;border-bottom:1px solid var(--line)}td{padding:15px;border-bottom:1px solid #eff1ed;vertical-align:middle;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#f7faf5}.vehicle-cell{font-weight:600}.vehicle-cell small{display:block;color:#8b948d;font-weight:400;font-size:10px;margin-top:4px}tfoot td{background:#f6f8f2;font-weight:650;border-top:1px solid #e3e8dc;border-bottom:0;padding-top:17px;padding-bottom:17px}.report-table th:first-child,.report-table td:first-child{padding-left:24px}.report-table td:last-child{padding-right:24px}.report-table tbody tr td{height:59px}.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:22px}.mini-table th{background:white}.mini-table th,.mini-table td{padding:12px 24px}.mini-table td{font-size:12px}.co2-rows{padding:8px 24px}.co2-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.co2-row:last-child{border:0}.co2-row strong{font-size:13px;font-weight:600}.co2-row.total{padding-top:17px}.co2-row .sub{color:#839085;font-size:10px;margin-top:4px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:17px}.search{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:9px;padding:0 12px;gap:9px;min-width:215px}.search input{border:0;padding:11px 0;outline:none;font-size:12px;width:100%;min-width:100px;background:transparent}.search .icon{width:16px;color:#8f9b92}.filter{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px;color:#596c5f;max-width:240px}.empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.empty .icon{width:30px;height:30px;margin-bottom:12px;color:#a2b3a4}.empty h3{color:var(--ink);margin-bottom:7px}.mini-stats{display:flex;gap:24px;padding:18px 22px;border-bottom:1px solid var(--line);font-size:11px}.mini-stats strong{font-size:22px;display:block;color:var(--ink);margin-bottom:6px}.action-cell{width:42px}.table-small td{padding:12px 15px}.status-list{display:flex;gap:5px;flex-wrap:wrap;max-width:230px}
/* Forms */
.field{margin-bottom:19px;min-width:0}.field label,.label{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:550;color:#4f6255}.field input,.field select,.field textarea{border:1px solid #e0e6de;border-radius:10px;background:#fff;min-height:46px;width:100%;padding:11px 13px;color:var(--ink);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#84a692;box-shadow:0 0 0 3px #edf4ef}.field input::placeholder,.field textarea::placeholder{color:#a5ada6}.field textarea{min-height:75px;resize:vertical}.field select{appearance:none;padding-right:33px;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23778077' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.field .help{font-size:10px;color:#8a968d;margin-top:6px;line-height:1.6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-grid .field{margin-bottom:18px}.unit-input{position:relative}.unit-input input{padding-right:47px}.unit-input .unit{position:absolute;right:14px;top:15px;color:#87968c;font-size:12px;pointer-events:none}.segmented{display:flex;background:#f2f5ef;padding:4px;border-radius:10px;gap:3px}.segmented label{position:relative;cursor:pointer;flex:1;display:block;margin:0;text-align:center;min-width:0}.segmented input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.segmented span{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;padding:10px;font-size:13px;font-weight:500;color:#829181;min-height:39px}.segmented input:checked+span{background:white;box-shadow:0 1px 5px #1f3c2512;color:var(--green);font-weight:650}.segmented input:focus-visible+span{outline:2px solid var(--green)}.segmented.required-choice{border:1px solid #e1e7dc}.manage{display:inline-grid;place-items:center;color:#8b9b90;width:23px;height:23px;border-radius:5px;vertical-align:middle;padding:0}.manage:hover{background:var(--light);color:var(--green)}.manage .icon{width:13px;height:13px}.error-text{font-size:11px;color:var(--red);margin-top:5px;line-height:1.5}.form-error{border-color:var(--red)!important}.optional{color:#929c93;font-size:10px;font-weight:400;margin-left:5px}.hint-inline{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.hint-inline .icon{width:14px;height:14px}.row>.field{margin:0}
/* Phone / field view */
.field-shell{max-width:520px;margin:0 auto;background:#fff;min-height:100vh}.field-view-bg{background:#f5f7f2;min-height:100vh}.field-header{padding:25px 25px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px;background:#fff}.field-header .title{font-size:14px;letter-spacing:.7px;font-weight:730;white-space:nowrap}.field-header .brand-mark{width:26px;height:26px;border-radius:7px}.field-header .brand-mark .icon{width:15px;height:15px}.field-header .row{gap:9px}.field-header .icon-btn{width:29px;height:29px}.demo-strip{text-align:center;padding:8px 12px;background:#f3f5ef;border-bottom:1px solid #edf0e8;font-size:9px;letter-spacing:.6px;color:#899581}.field-content{padding:24px 25px 112px}.field-content .section-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.section-intro h2{font-size:22px;letter-spacing:-.7px}.field-content .field{margin-bottom:19px}.field-content .field-grid .field{margin-bottom:0}.field-content .field-grid{margin-bottom:19px}.field-content .field input,.field-content .field select{font-size:16px;min-height:49px}.field-content .field .help{font-size:10px}.field-content .field label{font-size:12px}.field-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);padding:13px 25px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.98);z-index:35}.field-footer .btn{min-height:49px;font-size:14px;border-radius:11px}.field-footer .footer-status{font-size:9px;text-align:center;margin-top:9px;color:#8d9a8e}.vehicle-banner{background:#f4f7f1;border:1px solid #e7ecdf;border-radius:11px;padding:13px;display:flex;align-items:center;gap:12px;margin-top:9px}.vehicle-banner .icon{width:24px;height:24px;color:#6c826c}.vehicle-banner small{display:block;margin-top:4px;color:#899584;font-size:10px}.vehicle-banner strong{font-size:12px}.history-heading{display:flex;justify-content:space-between;align-items:center;margin-top:31px;padding-top:25px;border-top:1px solid var(--line);margin-bottom:13px}.history-heading h3{font-size:13px}.history-card{border:1px solid var(--line);border-radius:11px;padding:15px;margin-bottom:10px;font-size:12px}.history-card .history-main{font-size:13px;font-weight:600;margin:10px 0 7px}.history-card .details{color:#8b958b;font-size:10px;line-height:1.8}.gps-options{display:flex;gap:9px;margin:0 0 10px}.gps-options .btn{font-size:12px;min-height:37px;flex:1}.gps-options .btn.selected{background:var(--light);color:var(--green);border-color:#d6e3d5}.embedded .field-shell{border:1px solid var(--line);border-radius:22px;min-height:0;box-shadow:var(--shadow);overflow:hidden;max-width:422px}.embedded .field-footer{position:static;transform:none;width:100%;border-top:1px solid var(--line)}.embedded .field-content{padding-bottom:20px}.embedded{display:flex;gap:40px;align-items:flex-start;justify-content:center}.phone-aside{max-width:290px;padding-top:48px;color:#849083;line-height:1.85;font-size:12px}.phone-aside h3{font-size:16px;color:var(--ink);margin-bottom:14px}.phone-aside .aside-rule{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.phone-aside strong{color:#566951;font-weight:600}
/* Modal / login */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(20,40,29,.30);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .15s}.modal{background:white;width:100%;max-width:550px;border-radius:18px;box-shadow:0 30px 80px #0c261c29;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal.wide{max-width:890px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:18px}.modal-body{padding:23px 26px;overflow:auto;line-height:1.7}.modal-body p{font-size:13px;color:#6e7d71;margin-bottom:15px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:17px 26px;border-top:1px solid var(--line)}.master-list{display:grid;gap:0;margin-bottom:18px}.master-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.master-row .grow strong{font-size:13px;font-weight:550}.master-row .grow small{color:#8c988e;display:block;font-size:10px}.master-form{padding:17px;background:#f7f9f4;border:1px solid #e6ecdf;border-radius:12px}.master-form .field:last-child{margin:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:150;background:var(--green-dark);color:white;border-radius:11px;padding:14px 20px;box-shadow:0 6px 25px #0d281c25;max-width:min(560px,90vw);font-size:12px;line-height:1.5;animation:slide .2s}.login-shell{min-height:100vh;display:grid;place-items:center;background:#f5f7f1;padding:30px}.login-card{width:min(430px,100%);padding:39px;background:white;border:1px solid #e1e8da;border-radius:21px;box-shadow:0 17px 65px #263d1d07}.login-brand{display:flex;gap:11px;align-items:center;justify-content:center;font-size:19px;letter-spacing:1px;font-weight:720;margin-bottom:32px}.login-card .field{margin-bottom:20px}.login-note{font-size:11px;line-height:1.8;color:#849280;text-align:center;margin-top:23px}.login-demo{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font-size:11px;color:var(--muted);line-height:1.9}.login-demo code{color:var(--green);background:var(--light);padding:2px 6px;border-radius:4px;font:11px ui-monospace,monospace}.login-demo summary{cursor:pointer;color:var(--green);font-weight:500}.login-card .lock-icon{margin-bottom:17px;text-align:center;color:#9aab98}.login-card .lock-icon .icon{width:23px;height:23px}.auth-upgrade{border:1px solid var(--line);padding:20px;border-radius:12px;background:#f8faf5;max-width:550px;margin:0 auto}.tabbar{display:flex;gap:5px;margin-bottom:22px;padding-bottom:1px;border-bottom:1px solid var(--line)}.tab{padding:12px 15px;font-size:12px;color:#7b887d;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;gap:8px;align-items:center}.tab.active{color:var(--green);font-weight:650;border-color:var(--green)}.tab .count{background:#ecf1e8;font-size:10px;padding:2px 6px;border-radius:5px}.import-box{background:white;border:1px dashed #cbdac5;border-radius:15px;padding:27px;display:flex;align-items:center;gap:20px;margin-bottom:23px}.import-symbol{width:49px;height:49px;border-radius:12px;background:#f1f5eb;display:grid;place-items:center;color:#77916c;flex-shrink:0}.import-box p{margin-top:7px;color:#8a9788;font-size:12px;line-height:1.7}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.compare{border:1px solid var(--line);border-radius:12px;overflow:hidden}.compare-head{padding:13px 16px;border-bottom:1px solid var(--line);font-size:11px;font-weight:650;display:flex;justify-content:space-between;align-items:center;background:#f8faf5}.compare-data{padding:8px 15px}.compare-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 3px;border-bottom:1px solid #eef0ea;font-size:12px}.compare-line:last-child{border:0}.compare-line .label-mini{color:#8a9489;font-size:10px}.compare-line.diff{background:var(--amber-bg);border-radius:6px;margin:3px -6px;padding:10px 9px;color:#916323}.compare-line strong{font-size:12px;font-weight:550;white-space:normal;text-align:right}.candidate-select{margin-bottom:16px}.compare-extra{margin-top:12px;background:#f7f9f3;border-radius:9px;padding:12px 15px;font-size:11px;color:#899485;line-height:1.9}.compare-extra strong{color:#5e7058;font-weight:550}.review-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.review-list{display:grid;align-content:start;gap:10px}.review-card{text-align:left;padding:17px;background:white;border:1px solid var(--line);border-radius:12px;width:100%}.review-card.active{border-color:#8bad7f;background:#f7faf2}.review-card strong{font-size:12px;display:block;margin:7px 0}.review-card small{font-size:10px;color:#83917e}.settings-row{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.settings-row:last-child{border-bottom:0}.settings-row h3{font-size:13px}.settings-row p{font-size:11px;color:#8b968a;margin-top:7px;line-height:1.7}.discrepancy{color:var(--amber);font-size:10px;margin-top:6px}.step-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.step-row:last-child{border:0}.step-num{width:29px;height:29px;display:grid;place-items:center;background:var(--light);color:var(--green);border-radius:50%;font-size:11px;flex-shrink:0}.step-row p{margin:5px 0 0;font-size:12px;color:#8b9588}.progress-track{height:4px;background:#edf2e8;border-radius:10px;margin-top:14px}.progress-track span{height:4px;display:block;background:#66885a;border-radius:10px}.inline-warning{background:var(--amber-bg);padding:3px 6px;border-radius:4px;color:var(--amber);font-size:10px}.pill-list{display:flex;flex-wrap:wrap;gap:5px}.pill-list span{font-size:10px;padding:5px 8px;background:#f3f6ef;border-radius:5px;color:#7a8e73}.hidden-mobile{display:initial}.mobile-only{display:none}.table-action{font-size:11px;color:var(--green);font-weight:550}.checkline{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#64745d;margin:17px 0}.checkline input{accent-color:var(--green);margin-top:3px}.empty-dash{color:#b0b8af}.review-title{margin-bottom:18px;font-size:14px}.form-banner{margin:0 0 17px}.login-footer{font-size:10px;color:#99a491;text-align:center;margin-top:19px}.admin-note{max-width:670px;margin-bottom:24px;color:#839180;font-size:12px;line-height:1.8}.table-scroll-hint{display:none}.export-row{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.export-row:last-child{border:0}.export-row .icon{color:#728f65}.export-row p{font-size:11px;margin:5px 0 0}.export-row strong{font-size:13px}.local-warning{font-size:11px;margin-bottom:20px}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes slide{from{opacity:0;bottom:18px}to{opacity:1;bottom:25px}}
@media(min-width:1550px){.workspace{padding-left:45px;padding-right:45px}.metric{padding:23px}.metric-value{font-size:30px}td{padding:16px 19px}th{padding:14px 19px}}
@media(max-width:1180px){:root{--sidebar:195px}.sidebar{padding-left:12px;padding-right:12px}.brand-word{font-size:13px}.brand{gap:8px;padding-left:7px}.workspace{padding-left:23px;padding-right:23px}.topbar{padding-left:23px;padding-right:23px}.metrics{gap:10px}.metric{padding:16px}.metric-value{font-size:23px}.review-layout{grid-template-columns:215px 1fr}.report-table{min-width:850px}.two-col{gap:16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.review-layout{grid-template-columns:1fr}.review-list{grid-template-columns:1fr 1fr}.phone-aside{display:none}.demo-corner{display:none}.crumb{display:none}.table-scroll-hint{display:block;padding:8px 24px;font-size:10px;color:#99a593}}
@media(max-width:760px){.hidden-mobile{display:none!important}.mobile-only{display:block}.field-view-bg{background:#fff}.field-shell{max-width:520px}.field-header{padding:20px 23px 17px}.field-content{padding:22px 23px 115px}.field-header .title{font-size:13px}.login-shell{background:#fff;padding:23px}.login-card{padding:24px 0;box-shadow:none;border:0;max-width:350px}.login-brand{font-size:16px}.modal{max-height:90dvh;border-radius:16px}.overlay{padding:13px}.modal-head{padding:17px 20px}.modal-body{padding:19px 20px}.modal-foot{padding:15px 20px;flex-wrap:wrap}.compare-grid{grid-template-columns:1fr}.toast{bottom:95px}.field-footer .btn{min-height:49px}.sidebar,.topbar,.workspace{display:none}.field .field-grid{gap:12px}.field .unit{font-size:11px}.field-footer{padding-left:23px;padding-right:23px}.page-bottom{display:none}.login-demo{font-size:12px}.field-content .field label{font-size:12px}.field-content .field input[type=date]{min-width:0;-webkit-appearance:none}.field-content input{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v0.2: 44px password visibility control; no submit/no value logging. */
.beta-badge{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;padding:3px 8px;border-radius:6px;background:var(--light);color:var(--green)}
.login-purpose{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin:14px 0}
.login-purpose p{margin:5px 0;overflow-wrap:anywhere}
.access-code-help{font-size:12px;color:var(--muted);line-height:1.6;margin:9px 0 0}
.password-control{position:relative}
.password-control input{width:100%;padding-right:56px!important}
.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:9px;color:var(--muted)}
.password-toggle:hover{background:var(--light);color:var(--green)}
.password-toggle .eye-slash{position:absolute;width:19px;height:19px;stroke:currentColor;stroke-width:1.9;fill:none}
.source-banner{margin-bottom:20px;line-height:1.7}
.source-reference{font-size:11px;color:var(--muted);margin:7px 0}
.source-table .project-source{white-space:normal;min-width:200px;max-width:280px}
.source-table .city-source{white-space:normal;min-width:130px}
.source-stat{font-size:12px;color:var(--muted)}
.report-table tbody{font-variant-numeric:tabular-nums}
@media(min-width:761px){.report-scroll{max-height:550px;overflow:auto}.report-scroll thead th{position:sticky;top:0;z-index:2}.report-scroll tfoot td{position:sticky;bottom:0;z-index:2}}

/* v0.3 — manual entry occupies the same field; feedback sits next to its cause. */
[hidden]{display:none!important}
.field-label-row{display:flex;align-items:center;gap:7px;min-height:22px;margin-bottom:8px}
.field-label-row>label,.field-label-row>.label{margin:0!important;min-width:0}
.field-label-row .manage{flex-shrink:0}
.manual-badge{margin-left:auto;border-radius:5px;background:#edf4ef;color:#386a52;padding:3px 7px;font-size:10px;line-height:1.6;white-space:nowrap;font-weight:600}
.manual-mode input:not([type=radio]){border-color:#9ebaab;background:#fbfdfb}
.manual-actions{display:flex;justify-content:flex-end;margin-top:4px}
.return-to-list{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#47715b;min-height:32px;padding:4px 0 4px 9px;text-decoration:none}
.return-to-list:hover{text-decoration:underline}
.return-to-list .icon{height:13px;width:13px}
.return-to-list:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.required-caption{margin-left:auto;color:#7d8e82;font-size:10px;font-weight:400}
.field[data-field-key]{scroll-margin-block:100px}
.field-message{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.55;margin-top:7px;overflow-wrap:anywhere}
.field-message .icon{width:15px;height:15px;flex:0 0 15px;margin-top:2px}
.error-message{color:#ad3039;font-weight:500}
.warning-message{color:#8d6120}
.warning-message.critical{color:#ad3039}
.field.is-error>label,.field.is-error>.field-label-row>label,.field.is-error>.field-label-row>.label{color:#a62d36}
.field.is-error input:not([type=radio]),.field.is-error select,.field.is-error textarea{border:1.5px solid #bf4b54;background:#fffafa}
.field.is-error input:not([type=radio]):focus,.field.is-error select:focus{box-shadow:0 0 0 3px #bf4b5414}
.field.is-error .segmented{outline:1.5px solid #bf4b54;background:#fff4f3}
.field.is-warning:not(.is-error) input:not([type=radio]),.field.is-warning:not(.is-error) select{border-color:#c59a5c;background:#fffcf6}
.field.late-warning:not(.is-error) input:not([type=radio]){border-color:#c76870;background:#fffafa}
.field.is-error .manual-badge{background:#fceef0;color:#a62d36}
.fuel-error-summary{margin:0 0 21px;padding:12px 14px;border:1px solid #edc9cb;border-radius:10px;background:#fff7f7;color:#a62d36;font-size:12px;line-height:1.55}
.fuel-error-summary>div{display:flex;align-items:flex-start;gap:7px}
.fuel-error-summary .icon{height:16px;width:16px;flex-shrink:0;margin-top:1px}
.fuel-error-summary strong{font-weight:600}
.fuel-error-summary>button{display:flex;gap:5px;align-items:center;padding:7px 0 0 23px;font-size:11px;text-decoration:underline;color:inherit;min-height:32px}
.fuel-error-summary>button .icon{width:13px;height:13px}
.field-content .field-grid{align-items:start}
.field-content .field-message{font-size:12px}
.modal-body .field-message{font-size:12px;line-height:1.55}
@media(max-width:760px){.field-label-row .manual-badge{font-size:10px}.field-message{line-height:1.6}.return-to-list{min-height:36px}.field.is-error input,.field.is-warning input{font-size:16px}.field input::placeholder{font-size:14px}}

/* Phase 2: preserve Admin/Owner navigation at narrow widths. Desktop v0.4 unchanged. */
.outbox{border:1px solid #ddc695;background:#fffaf0;border-radius:10px;padding:14px;margin-bottom:18px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.outbox p{margin:7px 0}.outbox-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eadfc5;padding-top:9px;margin-top:9px}.outbox-row .btn{flex-shrink:0}
[data-save-status]:not(:empty){padding:12px 0;margin-bottom:10px}
@media(max-width:760px){
 .admin-mode .sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:static;width:auto;height:auto;padding:12px;gap:3px;border-bottom:1px solid var(--line)}
 .admin-mode .sidebar .brand{grid-column:1/-1;padding:0 8px 10px}.admin-mode .nav-group,.admin-mode .sidebar-bottom{display:none}
 .admin-mode .sidebar .nav-item{min-width:0;margin:0;padding:7px;gap:6px;font-size:10px;min-height:48px}.admin-mode .nav-item .color-icon{width:25px;height:25px;border-radius:7px}.admin-mode .nav-item .color-icon .icon{width:18px;height:18px}.admin-mode .nav-item span:last-child{white-space:normal;text-align:left}
 .admin-mode .topbar{display:flex;position:static;left:0;height:auto;min-height:62px;padding:8px 12px;gap:8px;flex-wrap:wrap}.admin-mode .topbar .row{gap:7px}
 .admin-mode .workspace{display:block;margin-left:0;padding:22px 12px;min-width:0}.admin-mode .page-heading{flex-direction:column;gap:14px}.admin-mode .page-heading>.row{gap:7px}
 .admin-mode .panel-head{flex-wrap:wrap;padding:15px 12px;gap:9px}.admin-mode .panel-head>.row{flex-wrap:wrap}
 .admin-mode .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-mode .metric{min-width:0}.admin-mode .trend-card .metric-value{font-size:23px}
 .admin-mode .filters,.admin-mode .toolbar{flex-wrap:wrap}.admin-mode .embedded .field-shell{width:100%;max-width:520px}.admin-mode .embedded .field-content{padding:20px 16px}.admin-mode .embedded .field-header{padding:18px 16px}
 .admin-mode .settings-row{padding:18px 12px;flex-wrap:wrap}.modal .btn,.modal .icon-btn,.topbar .btn,.topbar .icon-btn{min-height:44px}.modal .icon-btn{min-width:44px}
 .field-mode [data-act="upgrade"]{display:none!important}.modal-body{min-height:0}.modal-head,.modal-foot{flex-shrink:0}
}
/* Text-only help cannot intercept the click that focused its control. */
.eco-tooltip{pointer-events:none!important}

.field.manual-mode.is-error input{border-color:#d46e65!important;background:#fff4f2!important}

.field-footer>.row{gap:8px}.field-footer>.row>.wide{flex:1;width:auto}.field-footer>.row>.ghost{font-size:12px}
.admin-mode .sidebar{overflow-y:auto}.admin-mode .sidebar>*{flex-shrink:0}

/* The review marker remains visible when the compact topbar hides demo-corner. */
.review-workspace-label{display:none}
@media(max-width:900px){html:is([data-review="true"],[data-review="real"]) .review-workspace-label{display:block;margin-bottom:14px}}

/* Unit selectors retain the existing input layout and keep quantities independent. */
.unit-input:has(.unit-switch) input[data-number]{padding-right:88px}.unit-input .unit-switch{pointer-events:auto;cursor:pointer;min-width:44px;min-height:40px;background:transparent;border:0;color:inherit;font:inherit;font-size:12px;right:8px;padding:4px}.unit-switch:focus-visible{outline:2px solid #557749;outline-offset:1px}
.beta-home{display:grid;gap:18px;max-width:850px;margin:0 auto 24px}.beta-home h1{margin:0 0 4px}.beta-launch{display:flex;align-items:center;gap:16px;width:100%;min-height:108px;padding:22px;text-align:left;background:#fff;border:1px solid #dce4df;border-radius:16px;color:inherit;cursor:pointer}.beta-launch>span{flex:1}.beta-launch strong{display:block;font-size:19px;margin-bottom:7px}.beta-launch small{display:block;font-size:14px;color:#65746b}.beta-launch>svg{width:24px;flex-shrink:0}.beta-field-shell{max-width:760px}.vehicle-checks{max-width:960px;margin:auto}.vehicle-checks h1{font-size:23px}.vehicle-checks h2{font-size:18px;margin:23px 0 13px}.vehicle-checks fieldset{border:0;margin:0;padding:0;min-width:0}.vehicle-checks .field{margin-bottom:20px}.vehicle-checks textarea,.vehicle-checks select{width:100%;max-width:100%}.vehicle-checks textarea{min-height:84px;resize:vertical}.vehicle-checks .checkline{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.vehicle-checks .field .checkline input{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px;appearance:auto}.vehicle-checks .is-error input,.vehicle-checks .is-error select,.vehicle-checks .is-error textarea{border-color:#bd3b31;outline-color:#bd3b31}.check-toolbar{margin:18px 0}.check-issue-card,.check-issue-input{padding:16px;margin:12px 0;border:1px solid #dce4df;border-radius:12px;background:#fff}.check-issue-card p{white-space:pre-wrap;overflow-wrap:anywhere}.check-issue-input label{display:block;margin:8px 0}.vehicle-checks fieldset:disabled{opacity:.85}.vehicle-checks .history-card{overflow-wrap:anywhere}.vehicle-checks .error-text[hidden]{display:none}@media(max-width:600px){.beta-launch{padding:18px;min-height:100px}.beta-launch strong{font-size:18px}.beta-field-shell .field-header{flex-wrap:wrap;gap:8px}.vehicle-checks .row.spread{gap:10px}.vehicle-checks .btn{min-height:42px}.vehicle-checks .month-control{max-width:100%}}

.vehicle-checks .check-issue-input select,.vehicle-checks .check-issue-input textarea{border:1px solid #dbe3e8;border-radius:9px;padding:11px 13px;font:inherit;color:inherit;background:#fcfdfe;min-height:46px}.vehicle-checks .check-issue-input label{font-size:12px;color:#516575}.vehicle-checks .field-label{font-size:12px;font-weight:600;color:#516575}
