:root{font-family:Arial,Helvetica,sans-serif;color:#182c3c;background:#f2f5f7;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid #d3dde4;border-radius:7px;padding:10px 14px;background:white;color:#233e50}button:hover{filter:brightness(.96)}button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #69b2d9;outline-offset:2px}aside{position:fixed;width:235px;background:#0d2940;color:white;inset:0 auto 0 0;padding:36px 24px}.brand{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:1.5px;line-height:1.45}.brand strong{font-size:16px}.mark{background:#ffc44f;color:#0d2940;font-size:30px;padding:5px 10px;transform:skew(-6deg);border-radius:3px}.small{font-size:12px;color:#738898;line-height:1.5}aside .small{margin:52px 12px 16px;letter-spacing:2px;color:#93a8b8}.navitem{background:#234158;border-left:3px solid #ffc44f;border-radius:4px;padding:16px;font-size:15px}.sidebottom{position:absolute;bottom:35px;font-size:14px;line-height:1.8}.sidebottom span{color:#9fb2c0;font-size:12px}.shell{margin-left:235px}header{background:white;min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 38px;border-bottom:1px solid #dde4e9;font-size:14px;gap:15px}header>span{color:#758592}header b{color:#2c4151}header label{display:flex;gap:12px;align-items:center}select,input,textarea{padding:11px 12px;border:1px solid #d8e0e6;border-radius:6px;background:white;color:#274050;min-width:0}main{padding:25px 38px;max-width:1600px;margin:auto}.demo{display:flex;gap:16px;background:#e7eef3;color:#466277;padding:12px 15px;border-radius:6px;font-size:12px;line-height:1.5}.demo b{white-space:nowrap;letter-spacing:1px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;color:#657f8e}h1{font-size:32px;letter-spacing:-1px;margin:10px 0}p{color:#647b89;line-height:1.5}.heading p:last-child{margin:12px 0 0}.primary{background:#ffc44f;border-color:#ffc44f;color:#142f43;font-weight:bold;padding:14px 18px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:white;padding:19px 22px;border:1px solid #dfe6eb;border-radius:9px;display:flex;justify-content:space-between;align-items:center}.stat span{font-size:14px;color:#607785}.stat b{font-size:28px;font-weight:600}.workspace{display:grid;grid-template-columns:minmax(300px,1fr) minmax(310px,.9fr);gap:22px;align-items:start}.listpanel,.detail{background:white;border:1px solid #dce4ea;border-radius:10px;overflow:hidden}.listhead{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 6px}h2{font-size:19px;margin:0}.listhead span{font-size:13px;color:#7b8c97}.filters{display:flex;gap:8px;padding:15px 20px 20px}.filters input{width:100%;font-size:14px}.filters select{max-width:150px;font-size:14px}.ticket{width:100%;display:block;text-align:left;border:0;border-top:1px solid #e6ecf0;border-radius:0;padding:21px 22px;border-left:3px solid transparent}.ticket.active{background:#f0f7fb;border-left-color:#137aa9}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.ticket h3{font-size:16px;margin:12px 0 7px;line-height:1.4}.ticket p{font-size:14px;margin:0 0 15px}.meta{font-size:12px;color:#7b8c97}.badge{font-size:12px;padding:5px 9px;border-radius:5px;background:#edf0f3;color:#526474;white-space:nowrap}.badge.open{background:#fff0d7;color:#8c5e0c}.badge.scheduled{background:#e7efff;color:#4565a1}.badge.inprogress{background:#e1f2f9;color:#147293}.badge.resolved{background:#e0f3e9;color:#30744e}.detailhead{padding:23px;border-bottom:1px solid #e2e9ee}.detail h2{font-size:22px;margin:18px 0 9px;line-height:1.35}.detailhead p{font-size:14px;margin:0}.info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px;font-size:14px}.info span{display:block;color:#7d8c97;font-size:12px;margin-bottom:6px}.detailbody{padding:23px}.next{padding:14px 16px;background:#f0f5f8;border-radius:6px;margin-bottom:25px;font-size:14px;line-height:1.6}.next b{display:block;font-size:12px;color:#607b8d;letter-spacing:1px;margin-bottom:4px}.updates{margin:20px 0}.update{padding:0 0 20px 18px;border-left:2px solid #e2eaf0;font-size:14px}.update b{font-size:14px}.update p{margin:7px 0;color:#435e71;white-space:pre-wrap;overflow-wrap:anywhere}.update .meta{display:block;margin-top:6px}.reply textarea{width:100%;min-height:85px;resize:vertical;font-size:14px}.reply .row{margin-top:12px}.reply label{font-size:12px;color:#6c8392}.reply button{background:#0d2940;color:white;border-color:#0d2940}.statuscontrol{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px}footer{display:flex;justify-content:space-between;margin-top:30px;color:#718693;font-size:12px}.empty{padding:30px;color:#6e808d;text-align:center}dialog{border:0;border-radius:12px;max-width:540px;width:calc(100% - 30px);padding:27px;max-height:90vh}dialog::backdrop{background:#081c30a6}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead button{font-size:23px;border:0;padding:0 7px}form>label{display:flex;flex-direction:column;gap:8px;margin:17px 0;font-size:14px}form>label textarea{min-height:90px}.attachment{max-width:100%;max-height:180px;border-radius:6px;margin-top:10px}#toast{position:fixed;bottom:25px;right:25px;background:#0d2940;color:white;padding:14px 20px;border-radius:8px;display:none;box-shadow:0 5px 30px #0002}@media(min-width:1500px){h1{font-size:38px}}@media(max-width:1100px){aside{width:190px;padding:30px 16px}.shell{margin-left:190px}main{padding:22px}header{padding:18px 22px}.workspace{grid-template-columns:1fr}.heading{align-items:flex-start}h1{font-size:28px}.stats{gap:8px}.stat{padding:16px 12px}}@media(max-width:680px){aside{position:static;width:100%;padding:16px 20px}.brand{font-size:12px}.brand strong{font-size:14px}.mark{font-size:23px}aside .small,.navitem,.sidebottom{display:none}.shell{margin:0}header{flex-wrap:wrap;min-height:auto;padding:14px 18px}header>span{display:none}header label{width:100%;justify-content:space-between}main{padding:16px}.demo{display:block}.demo b{display:block;margin-bottom:4px}.heading{display:block;margin:25px 0}.heading button{margin-top:20px;width:100%}.stats{grid-template-columns:1fr 1fr}.stat{padding:16px}.filters{flex-direction:column}.filters select{max-width:none}.detailhead,.detailbody{padding:20px}.workspace{grid-template-columns:minmax(0,1fr)}footer{gap:20px;font-size:12px}.row{flex-wrap:wrap}}

.loginpage{background:#fff}.loginlayout{display:grid;grid-template-columns:1fr 1fr;max-width:none;min-height:100vh;padding:0;margin:0}.loginbrand{background:#0d2940;color:white;padding:55px 12%;display:flex;flex-direction:column;justify-content:space-between;gap:65px}.loginbrand h1{font-size:clamp(36px,4vw,62px);line-height:1.12;letter-spacing:-2px;margin:20px 0}.loginbrand p{color:#bacbd8;max-width:350px}.loginbrand .eyebrow{color:#ffc44f}.loginbrand .small{color:#90a8bb;letter-spacing:2px}.logincontent{display:flex;align-items:center;justify-content:center;padding:50px 30px}.logincard{max-width:410px;width:100%}.logincard h2{font-size:29px;letter-spacing:-.6px}.logincard>p{font-size:15px}.setupnote{background:#fff4db;border:1px solid #f0d99d;border-radius:7px;padding:15px 17px;font-size:14px;line-height:1.6;color:#715b2a;margin:28px 0 22px}.logincard fieldset{border:0;padding:0;margin:0}.logincard label{display:flex;flex-direction:column;gap:9px;font-size:14px;margin:18px 0;color:#506776}.logincard input{width:100%;padding:14px;background:#f7f9fa}.logincard button{width:100%;margin-top:5px}.logincard button:disabled{opacity:.6;cursor:not-allowed}.logincard .accountnote{font-size:13px;line-height:1.6;margin:20px 0 28px}.previewlink{display:block;color:#12648b;text-decoration:none;font-size:15px;font-weight:bold;border-top:1px solid #e0e7eb;padding-top:25px}.previewlink:hover{text-decoration:underline}.logincard .small{font-size:12px}@media(max-width:760px){.loginlayout{grid-template-columns:1fr}.loginbrand{padding:28px;gap:28px}.loginbrand h1{font-size:36px;letter-spacing:-1px}.loginbrand>span{display:none}.logincontent{padding:35px 25px}.loginbrand p{margin-bottom:0}}

.brand-logo{display:block;background:transparent;border-radius:0;padding:0;max-width:100%;overflow:hidden}.brand-logo img{display:block;width:100%;height:auto}.loginbrand .brand-logo{width:290px;max-width:100%}@media(max-width:680px){aside .brand-logo{width:180px}.loginbrand .brand-logo{width:230px}}

.calltype{display:inline-block;font-size:12px;font-weight:700;color:#334155;background:#edf2f7;border-radius:4px;padding:3px 7px;margin-bottom:5px}.calltype.emergency{color:#9b1c1c;background:#fee2e2}

#request [hidden]{display:none!important}#servicefields>label,#chemicalfields>label{display:flex;flex-direction:column;gap:8px;margin:17px 0;font-size:14px}#servicefields textarea,#chemicalnotes{min-height:90px}#chemicalfields h3{margin:24px 0 8px}#chemicalfields p{font-size:14px} .chemicalhead,.chemicalrow{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:14px;align-items:center}.chemicalhead{font-size:14px;font-weight:bold;padding:10px 0;border-bottom:2px solid #dce4ea}.chemicalrow{font-size:14px;line-height:1.4;padding:10px 0;border-bottom:1px solid #e2e9ee}.chemicalrow input{width:100%;min-height:44px}.chemicalrow span{overflow-wrap:anywhere}#chemicalerror{color:#9b1c1c}@media(max-width:400px){#request{padding:20px}.chemicalhead,.chemicalrow{grid-template-columns:minmax(0,1fr) 76px;gap:10px}}

.stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.badge.followupneeded{background:#fff0d7;color:#845308}#techstatuserror{color:#9b1c1c}@media(max-width:680px){.stats{grid-template-columns:1fr 1fr}}

/* Portal section navigation */
[hidden]{display:none!important}aside nav{display:flex;flex-direction:column;gap:8px}aside nav .navitem{display:block;width:100%;text-align:left;color:#dce7ef;background:transparent;border:0;border-left:3px solid transparent;border-radius:4px;padding:16px;font-size:15px;min-height:48px}aside nav .navitem.active{background:#234158;border-left-color:#ffc44f;color:white}aside nav .navitem:hover{background:#234158}#estimate-view .empty{font-size:16px}@media(max-width:680px){aside nav{margin-top:16px}}

.estimate-card,.estimate-list{background:white;border:1px solid #dce4ea;border-radius:10px;overflow:hidden}.estimate-card{padding:26px}.estimate-card fieldset{border:0;margin:0;padding:0;min-width:0}.estimate-card label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4}.estimate-card input,.estimate-card select{width:100%}.estimate-card h2{margin:24px 0 18px}.estimate-steps{display:flex;gap:12px;list-style:none;padding:0;margin:0;border-bottom:1px solid #dce4ea;padding-bottom:22px}.estimate-steps li{display:flex;align-items:center;gap:9px;color:#607785;flex:1;font-size:14px}.estimate-steps li span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f7;flex-shrink:0}.estimate-steps li[aria-current]{color:#0d2940;font-weight:bold}.estimate-steps li[aria-current] span{background:#ffc44f}.estimate-customer{max-width:640px;margin:20px 0}.estimate-line{display:grid;grid-template-columns:minmax(160px,2fr) minmax(85px,.7fr) minmax(110px,.8fr) minmax(95px,.7fr) auto;gap:14px;align-items:end;padding:18px 0;border-bottom:1px solid #e2e9ee}.estimate-line-total{display:flex;flex-direction:column;gap:12px;padding-bottom:11px;font-size:14px}.estimate-line-total span{color:#607785}.estimate-line button{min-height:44px}#estimate-add{margin-top:18px}.estimate-totals{max-width:360px;margin:30px 0 26px auto}.estimate-totals>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:16px}.estimate-totals .estimate-grand-total{border-top:2px solid #dce4ea;margin-top:8px;padding-top:16px;font-weight:bold}.estimate-actions,.estimate-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.estimate-toolbar{margin-bottom:20px}.estimate-saved{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;border:0;border-bottom:1px solid #dce4ea;border-radius:0;padding:20px 24px}.estimate-saved>span{display:flex;flex-direction:column;gap:8px}.estimate-saved>span:last-child{text-align:right}.estimate-saved span span{font-size:14px;color:#607785}#estimate-error{color:#9b1c1c;line-height:1.5;margin-bottom:16px}#estimate-error:empty{display:none}#estimate-fields:disabled{opacity:.7}@media(max-width:1100px){.estimate-line{grid-template-columns:1fr 1fr}.estimate-line>label:first-child{grid-column:1/-1}.estimate-line button{justify-self:start}.estimate-line-total{padding-bottom:0}}@media(max-width:680px){.estimate-card{padding:18px}.estimate-steps{gap:8px}.estimate-steps li{gap:5px}.estimate-actions{align-items:stretch;flex-wrap:wrap}.estimate-actions>.row{flex:1;justify-content:flex-end}.estimate-toolbar{flex-wrap:wrap}.estimate-totals{max-width:none}.estimate-saved{padding:18px;overflow-wrap:anywhere}}

.estimate-tax-help{font-size:14px;line-height:1.5;margin:0 0 10px}.estimate-totals #estimate-tax-rate{max-width:130px}

.estimate-review-table{width:100%;border-collapse:collapse;font-size:14px}.estimate-review-table th,.estimate-review-table td{padding:12px 10px;border-bottom:1px solid #dce4ea;text-align:right}.estimate-review-table th:first-child,.estimate-review-table td:first-child{text-align:left;overflow-wrap:anywhere;min-width:130px}.estimate-table-wrap{overflow-x:auto}.estimate-review-table th{background:#f2f5f7}.estimate-status{font-size:14px;padding:8px 12px;background:#edf2f7;border-radius:6px}.estimate-status.approved{background:#e0f3e9;color:#245e3d}.estimate-status.rejected{background:#fee2e2;color:#9b1c1c}.estimate-status.sent{background:#fff0d7;color:#845308}.estimate-notifications{margin:0 0 24px;border:1px solid #b8d2e1;border-radius:8px;overflow:hidden}.estimate-notifications h2{padding:16px;background:#eaf3f8}#estimate-alerts{font-size:14px}.estimate-card .estimate-toolbar{margin-top:24px}

button.estimate-delete{color:#a11b1b;border-color:#a11b1b;}

.report-card{background:#fff;border:1px solid #dce4ea;border-radius:10px;padding:26px;max-width:900px}.report-card h2{margin:0 0 12px;font-size:1.25rem}.report-help{font-size:.875rem;line-height:1.6;color:#526878}.report-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:1rem}.report-table th,.report-table td{padding:16px 12px;border-bottom:1px solid #dce4ea;text-align:left;overflow-wrap:anywhere}.report-table thead{background:#f2f5f7}.report-table tbody th{font-weight:400}.report-table th:last-child,.report-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.report-table tfoot{background:#eaf3f8;font-weight:bold}.report-error{color:#9b1c1c}@media(max-width:680px){.report-card{padding:18px}.report-table th,.report-table td{padding:14px 8px}}

/* Preventive maintenance equipment instructions */
.pm-sections{display:grid;gap:12px;max-width:960px}.pm-equipment{background:#fff;border:1px solid #dce3e8;border-radius:12px;overflow:hidden}.pm-equipment summary{padding:20px 24px;font-size:1rem;font-weight:700;cursor:pointer;color:#0d2940;min-height:44px}.pm-equipment summary:focus-visible{outline:3px solid #226c9c;outline-offset:-4px}.pm-equipment[open] summary{background:#f0f5f8;border-bottom:1px solid #dce3e8}.pm-instructions{padding:20px 24px}.pm-instructions h2{font-size:1rem;margin:0 0 12px}.pm-instructions p{font-size:1rem;margin:0;line-height:1.6;color:#526474}@media(max-width:600px){.pm-equipment summary,.pm-instructions{padding:16px}}

.pm-instructions ul{margin:0;padding-left:24px;font-size:1rem;line-height:1.6}.pm-instructions li+li{margin-top:10px}

.pm-card{background:#fff;border:1px solid #dce3e8;border-radius:12px;padding:24px;margin-bottom:18px;max-width:960px}.pm-card h2{font-size:1.15rem;margin:0 0 16px}.pm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pm-check{display:flex;align-items:flex-start;gap:14px;font-weight:400;padding:12px 0;margin:0;cursor:pointer;font-size:1rem;line-height:1.5}.pm-check+.pm-check{border-top:1px solid #e6edf1}.pm-check input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:#0d527c}.pm-check small{display:block;color:#526474;font-size:.875rem}.pm-count{float:right;font-size:.875rem;font-weight:400;margin-left:12px}#pm-error{color:#a52b27}#pm-reassign{max-width:480px}.pm-card select{width:100%}@media(max-width:600px){.pm-form-grid{grid-template-columns:1fr;gap:0}.pm-card{padding:16px}}
.pm-card textarea{display:block;width:100%;max-width:100%;min-height:120px;margin:8px 0 12px;font:inherit}.pm-card h3{font-size:1rem;margin:24px 0 12px}.pm-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:12px 0}.pm-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid #dce3e8}.pm-photo-label{display:block;margin:18px 0 8px}#pm-photo-input{display:block;margin-bottom:12px;max-width:100%}

.pm-step{border-bottom:1px solid #dce3e8;padding:16px 0}.pm-step-title{font-weight:600;margin-top:0}.pm-step select{max-width:260px}.pm-step textarea{width:100%;box-sizing:border-box}.pm-step small{display:block;margin-top:8px;color:#5b6570}.pm-step-issue{border-left:4px solid #b42318;padding-left:12px}.pm-step-issue .pm-step-result{color:#a21c16;font-weight:700}.pm-saved-comment{white-space:pre-wrap;overflow-wrap:anywhere}.pm-step [hidden]{display:none!important}
