:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#18372d;background:#f1f5f3;font-size:16px;--green:#155d43;--orange:#e56d27;--muted:#61766d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,.button{cursor:pointer;border:0;border-radius:9px;padding:11px 16px;background:var(--green);color:white;text-decoration:none;font-weight:650;display:inline-block}button:hover,.button:hover{filter:brightness(.93)}button.secondary{background:#e6eee9;color:var(--green)}button.orange{background:var(--orange)}button.danger{background:#a83131}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #cedbd3;border-radius:8px;padding:11px;width:100%;background:white;color:#193b2e}textarea{min-height:100px;resize:vertical}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:14px}label>input,label>select,label>textarea{margin-top:6px}a{color:var(--green)}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#123f30;color:white;padding:28px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:1.4rem;font-weight:850;letter-spacing:.04em}.brand b{color:#ff9b52}.brand small{display:block;font-weight:400;font-size:.8rem;letter-spacing:0;color:#bcd4c7;margin-top:7px}.sidebar nav{margin:30px 0}.sidebar nav button{display:block;width:100%;text-align:left;margin:5px 0;background:transparent;font-size:.93rem;font-weight:500}.sidebar nav button.active{background:#ffffff18;box-shadow:inset 3px 0 #fb913e}.profile{border-top:1px solid #ffffff25;padding-top:20px;font-size:.9rem}.profile small{display:block;color:#bcd4c7;margin:5px 0 15px}.main{padding:26px 36px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.top h1{font-size:1.65rem;margin:0}.top p{color:var(--muted);margin:7px 0 0;font-size:.9rem}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;align-items:center}.filters input{max-width:320px}.filters select{max-width:190px}.card{background:white;border:1px solid #dfE7e1;border-radius:15px;padding:22px;margin-bottom:20px;box-shadow:0 4px 15px #123f3004}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric{border-top:3px solid var(--green)}.metric:nth-child(2n){border-color:var(--orange)}.metric span{color:var(--muted);font-size:.88rem}.metric strong{display:block;font-size:1.65rem;margin-top:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card h2{font-size:1.1rem;margin:0 0 18px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-size:.8rem;font-weight:650;white-space:nowrap;background:#f6f9f7}td,th{padding:14px 11px;border-bottom:1px solid #e7eee9}td button{font-size:.82rem;padding:7px 10px}.badge{font-size:.8rem;padding:5px 9px;border-radius:6px;display:inline-block;background:#e4f2e9;color:#155d43}.badge.orange{background:#fff0e3;color:#a94e17}.badge.red{background:#ffe8e8;color:#a83131}.muted{color:var(--muted);font-size:.88rem}.empty{text-align:center;color:var(--muted);padding:35px 10px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.formgrid .full{grid-column:1/-1}dialog{border:0;border-radius:16px;padding:26px;width:min(800px,94vw);max-height:90vh;box-shadow:0 24px 100px #0004}dialog::backdrop{background:#102b2466}dialog h2{margin-top:0}dialog .close{float:right;background:#e7eee9;color:var(--green);padding:7px 12px}.line{display:grid;grid-template-columns:2fr .65fr .8fr .8fr 35px;gap:8px;margin:8px 0}.line.material{grid-template-columns:3fr 1fr 35px}.line button{padding:5px}.linelabel{font-size:.8rem;color:var(--muted);margin-top:5px}.notice{background:#fff3e6;border:1px solid #f6d6ae;padding:14px;border-radius:9px;color:#87531c;margin-bottom:16px;font-size:.9rem}.error{color:#a83131;margin:12px 0}.login,.public{max-width:640px;margin:60px auto;padding:0 20px}.login{max-width:460px}.public header{margin-bottom:28px}.public h1{font-size:1.9rem;margin-bottom:10px}.login .brand,.public .brand{color:var(--green);margin-bottom:30px}.honeypot{position:absolute;left:-10000px}.rowhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.barrow{margin:18px 0}.barrow .legend{display:flex;justify-content:space-between;font-size:.9rem}.track{height:13px;background:#edf2ef;border-radius:20px;margin:7px 0;position:relative;overflow:hidden}.fill{height:100%;background:var(--green);border-radius:20px}.fill.orange{background:var(--orange)}.months{display:flex;gap:10px;align-items:end;height:155px;padding-top:10px}.monthbar{flex:1;text-align:center;font-size:.75rem}.monthbar .bars{height:125px;display:flex;align-items:end;gap:3px;justify-content:center}.monthbar .bars i{width:12px;background:var(--green);border-radius:4px 4px 0 0;min-height:2px}.monthbar .bars i:last-child{background:var(--orange)}.calendar td{min-width:150px;height:50px}.calendar th:first-child{min-width:75px}.slot{display:block;background:#e5f1e9;border-left:3px solid var(--green);border-radius:5px;padding:6px;font-size:.8rem;margin:4px 0}.slot.nonbill{background:#fff0df;border-color:var(--orange)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-grid img{width:100%;border-radius:9px}.printdoc{color:#17362b;padding:20px}.printdoc header{border-bottom:4px solid #e56d27;padding-bottom:20px;margin-bottom:20px;display:flex;justify-content:space-between}.printdoc h1{color:#155d43;font-size:1.8rem}.printdoc .totals{text-align:right;margin-top:20px;font-size:1.2rem}.printdoc .work{white-space:pre-wrap;line-height:1.6}#toast{position:fixed;bottom:24px;right:24px;z-index:10;background:#173f30;color:white;padding:14px 20px;border-radius:12px;display:none;max-width:90vw}.loading{padding:50px;text-align:center}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.subnav button{background:#e4ece7;color:#155d43}.subnav button.active{background:#155d43;color:white}.totalsline{border-top:2px solid #e7eee9;padding-top:14px;margin-top:14px;font-weight:650}.requestcard h3{margin-top:0}.timeline{padding:12px 0;border-bottom:1px solid #e2ebe5;white-space:pre-wrap}.mobilebrand{display:none}body.printing .shell,body.printing #toast{display:none}body.printing dialog{display:block;position:static;max-height:none;width:100%;box-shadow:none;padding:0}body.printing dialog>.close,body.printing .noprint{display:none}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.main{padding:24px}.shell{grid-template-columns:200px 1fr}}@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:static;padding:17px}.sidebar nav{display:flex;overflow:auto;margin:12px -5px 0;padding-bottom:5px}.sidebar nav button{width:auto;white-space:nowrap;margin:0}.sidebar .brand small,.profile{display:none}.main{padding:20px 14px}.top{align-items:flex-start}.top h1{font-size:1.4rem}.top .actions button{font-size:.82rem}.formgrid{grid-template-columns:1fr}.cards{gap:10px}.metric{padding:16px}.metric strong{font-size:1.4rem}.line{grid-template-columns:2fr .7fr .8fr .8fr 25px;gap:4px}.line input{padding:8px 4px;font-size:.85rem}.public,.login{margin-top:28px}.photo-grid{grid-template-columns:1fr 1fr}}@media print{@page{size:A4;margin:16mm}body{background:white}.printdoc{padding:0}.printdoc header{break-after:avoid}tr,.photo-grid img{break-inside:avoid}dialog::backdrop{display:none}.printdoc footer{font-size:10pt;margin-top:30px}.printdoc table{font-size:10pt}}

#signature{display:block;width:100%;height:160px;border:2px dashed #d8822d;background:white;touch-action:none;border-radius:10px}.signature-print{max-width:320px;max-height:100px}.company-logo{width:300px;max-width:100%;height:auto}.printdoc header{border-top:8px solid #d8822d;border-bottom:4px solid #143f32;padding:18px 0}.printdoc h3{color:#143f32;border-left:4px solid #d8822d;padding-left:10px}.printdoc .totals{background:#edf5ef;border-top:3px solid #d8822d;padding:16px}details{margin:16px 0}summary{cursor:pointer;font-size:1.15em;font-weight:bold;color:#143f32}.work{white-space:pre-wrap}@media print{.printdoc{-webkit-print-color-adjust:exact;print-color-adjust:exact}.signature-print{break-inside:avoid}}

.company-logo{width:340px;height:84px;overflow:hidden;position:relative}.company-logo img{position:absolute;width:740px;max-width:none;left:0;top:-1px}

.service-report{--report-green:#143f32;--report-orange:#ec7d2c;font-family:Arial,sans-serif;font-size:12px;line-height:1.5;color:#283d34}.service-report .service-header{border-top:7px solid var(--report-green);border-bottom:1px solid #d8e2dc;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:20px 0 18px;margin-bottom:20px}.service-header>div:first-child{flex:1;min-width:0}.service-header .company-logo{width:280px;height:69px;max-width:100%}.service-header .company-logo img{width:610px;max-width:none}.service-header p{font-size:10px;color:#6a7b70;margin:0}.service-title{text-align:right;min-width:185px}.service-title small{font-size:8px;letter-spacing:1.6px;color:#6a7b70}.service-title h2{font-size:20px;margin:5px 0!important;color:var(--report-green)}.service-title strong{font-size:22px;color:var(--report-orange)}.service-meta{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f0f5f1;border-left:4px solid var(--report-orange);padding:14px 16px;gap:18px;margin-bottom:20px}.service-meta small{display:block;font-size:8px;letter-spacing:1px;color:#6a7b70}.service-meta b{font-size:11px;display:block;margin-top:4px}.service-info{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-section{margin:0 0 22px}.service-report .service-section h3{display:flex;align-items:center;gap:9px;border:0;padding:0;margin:0 0 12px;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--report-green)}.service-section h3 span{color:var(--report-orange);font-size:11px}.service-section p{margin:5px 0}.service-section .client-name{font-size:15px;font-weight:bold}.service-work{white-space:pre-wrap;border:1px solid #dfe7e1;border-radius:7px;padding:15px;min-height:55px;background:#fcfdfc}.service-report table{font-size:10px}.service-report th{background:var(--report-green);color:white;font-size:8px;letter-spacing:.5px;text-transform:uppercase;padding:11px}.service-report td{padding:11px}.service-report tbody tr:nth-child(even){background:#f4f7f4}.service-report .totals{margin:15px 0 0 auto;width:245px;font-size:11px;border:0;background:#f1f5f1;border-radius:6px;line-height:1.9;text-align:right;padding:12px 15px}.service-report .totals strong{display:block;background:var(--report-green);color:white;margin:9px -15px -12px;padding:10px 15px;font-size:17px;border-radius:0 0 6px 6px}.service-section .totals+h3{display:none}.service-sign{border:1px solid #dce5df;border-top:3px solid var(--report-orange);border-radius:5px;display:grid;grid-template-columns:1.1fr 1fr;min-height:105px;padding:14px;align-items:center;gap:20px}.service-sign>div:last-child{border-left:1px solid #dce5df;padding-left:20px}.service-sign .signature-print{width:100%;height:75px;object-fit:contain;object-position:left}.service-report h3+ h3{display:none}.service-report .service-section>h3+ h3{display:none}
@media print{.service-report{font-size:10px}.service-section h3{break-after:avoid}.service-meta,.service-sign,.service-info,.service-report .totals{break-inside:avoid}.service-work{min-height:40px}.service-header{break-inside:avoid}.service-report .service-header{padding-top:12px}.printdoc footer{border-top:1px solid #dce5df;padding-top:10px;color:#6a7b70;font-size:8px}}
@media(max-width:600px){.service-header{flex-wrap:wrap}.service-title{text-align:left}.service-info{grid-template-columns:1fr}.service-meta{gap:8px;padding:10px}.service-meta b{font-size:10px}}

@font-face{font-family:SyservatSans;src:url('/fonts/DejaVuSans.ttf')}@font-face{font-family:SyservatSans;src:url('/fonts/DejaVuSans-Bold.ttf');font-weight:700}.service-report{font-family:SyservatSans,Arial,sans-serif}.service-report .service-header{background:#09382b;color:white;border:0;padding:20px 16px;position:relative}.service-title h2,.service-title strong{color:white}.service-title small,.service-header p{color:#c3dacf}.service-header .company-logo{background:white;border:6px solid white;width:265px;height:63px;box-sizing:border-box}.service-header .company-logo img{width:585px;left:-4px;top:-5px}.service-info>.service-section{background:#f1f6f3;padding:14px}.service-report .service-section h3 span{background:#ff7117;color:white;min-width:18px;padding:2px 3px;text-align:center}.service-meta{border-left:0}.service-title strong{font-size:24px}.energy-promo{display:grid;grid-template-columns:1fr 155px;gap:18px;background:#09382b;color:white;padding:16px;border-left:5px solid #ff7117;margin-top:24px;break-inside:avoid}.energy-promo small{font-size:9px;font-weight:bold;color:#ff9b52}.energy-promo h4{font-size:13px;margin:5px 0}.energy-promo p{font-size:9px;margin:4px 0}.energy-price{background:white;color:#09382b;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}.energy-price small{color:#627c6e;font-size:8px}.energy-price b{font-size:25px;white-space:nowrap;line-height:1.3}.energy-price b span{font-size:10px}.energy-price strong{font-size:9px}.energy-conditions{font-size:8px;color:#61786a;margin-top:5px}@media print{.energy-promo{padding:12px;margin-top:16px}.service-report .service-header{background:#09382b!important}.energy-promo{background:#09382b!important}}@media(max-width:600px){.energy-promo{grid-template-columns:1fr}.energy-price{max-width:180px}.service-header .company-logo{max-width:100%}}

.service-header .company-logo{display:flex;align-items:center;justify-content:center}.service-header .company-logo img{position:static;width:100%;height:auto;max-width:100%}.service-contact{background:#f1f6f3;padding:10px 14px;margin-top:20px;display:flex;gap:6px 20px;flex-wrap:wrap;font-size:9px;break-inside:avoid}.service-contact>span:first-child{flex-basis:100%;color:#63796c}.service-contact b{color:#09382b}.energy-promo{margin-top:10px}.energy-promo small{letter-spacing:.6px;font-size:8px}.energy-promo h4{font-size:15px}.energy-promo .energy-call{font-weight:bold;font-size:12px;margin-top:9px}

.document-link-row{display:grid;grid-template-columns:1fr 2fr 1.3fr auto;gap:8px;margin:10px 0}.linked-document{background:#f1f6f3;border-left:3px solid #ff7117;padding:9px 12px;font-size:10px}@media(max-width:600px){.document-link-row{grid-template-columns:1fr 1fr}}

.energy-promo{grid-template-columns:100px 1fr 140px;padding:0;border-left:0;gap:14px;align-items:center;overflow:hidden}.energy-art{display:block;width:100%;height:100%;min-height:95px;object-fit:cover}.energy-message{padding:12px 0}.energy-promo .energy-message h4{font-size:13px}.energy-promo .energy-price{margin-right:12px}.energy-promo .energy-call{font-size:12px}@media(max-width:600px){.energy-promo{grid-template-columns:90px 1fr}.energy-price{grid-column:2;margin-bottom:12px}.energy-art{grid-row:1/3}.energy-message{padding-right:10px}}@media print{.energy-promo{grid-template-columns:90px 1fr 135px;padding:0}.energy-art{min-height:80px}.energy-message{padding:10px 0}.energy-promo .energy-message h4{font-size:11px}.energy-promo p{font-size:8px}}

.followup-plan{background:#f1f6f3;border-left:4px solid #ff7117;border-radius:8px;padding:16px;margin:16px 0}.followup-panel{border-top:4px solid #ff7117}.followup-plan input[type=checkbox]{width:auto}.followup-panel .work{white-space:pre-wrap}
[hidden]{display:none!important}.visit-row{padding:12px;margin:8px 0;background:#f1f7f4;border-left:3px solid #ff7915;border-radius:8px}
