:root{--ink:#17231d;--muted:#66736c;--line:#dfe5e1;--paper:#f5f7f4;--panel:#fff;--green:#256a47;--green-dark:#174832;--green-soft:#e5f1e9;--gold:#d0a142;--red:#aa3d32;--shadow:0 16px 45px #192f2314}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-shell{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);min-height:100vh;display:grid}.auth-brand{color:#fff;background:linear-gradient(145deg,#163f2d 0%,#276b48 64%,#3c805c 100%);flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.auth-brand:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-250px;box-shadow:0 0 0 80px #ffffff0a,0 0 0 160px #ffffff06}.brand-mark{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:700;display:flex}.brand-icon{background:#ffffff24;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.auth-brand h1{letter-spacing:-.045em;max-width:540px;margin:0 0 18px;font-family:Georgia,serif;font-size:clamp(42px,5vw,74px);line-height:.98}.auth-brand p{color:#ffffffc2;max-width:480px;font-size:18px;line-height:1.6}.auth-panel{place-items:center;padding:32px;display:grid}.auth-card{width:min(430px,100%)}.eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:800}.auth-card h2{letter-spacing:-.03em;margin:10px 0 8px;font-family:Georgia,serif;font-size:38px}.subtle{color:var(--muted);line-height:1.55}.form-stack{gap:18px;margin-top:34px;display:grid}.field{gap:8px;font-size:14px;font-weight:700;display:grid}.field input,.field select,.field textarea,.search-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:13px 14px}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #256a471a}.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:13px 18px;font-weight:800}.button:hover{background:var(--green-dark)}.button.secondary{color:var(--green);border:1px solid var(--line);background:#fff}.button:disabled{cursor:wait;opacity:.62}.button.compact{align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.print-button{align-items:center;gap:8px;display:inline-flex}.print-action{position:relative}.print-action>small{z-index:4;width:230px;color:var(--red);background:#fff2f0;border:1px solid #e8b8b3;border-radius:7px;padding:7px;font-size:10px;position:absolute;top:calc(100% + 5px);right:0}.form-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-actions.single{grid-template-columns:1fr}.form-message{min-height:22px;color:var(--red);margin-top:16px;font-size:14px}.auth-note{color:var(--muted);margin:16px 0 0;font-size:13px}.auth-legal{color:var(--muted);gap:9px;margin:12px 0 0;font-size:12px;display:flex}.auth-legal a{color:var(--green);font-weight:700}.legal-shell{background:#f7f8f6;min-height:100vh}.legal-header{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;padding:17px max(24px,50vw - 470px);display:flex;position:sticky;top:0}.legal-brand{align-items:center;gap:10px;font-family:Georgia,serif;font-size:19px;display:flex}.legal-brand span{background:var(--green-dark);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.legal-header nav{color:var(--green-dark);gap:20px;font-size:13px;font-weight:800;display:flex}.legal-document{width:min(820px,100% - 40px);margin:0 auto;padding:62px 0 72px}.legal-document>h1{letter-spacing:-.04em;margin:9px 0 8px;font-family:Georgia,serif;font-size:clamp(38px,6vw,58px);line-height:1}.legal-effective{color:var(--muted);margin:0 0 38px;font-size:13px}.legal-document section{border-top:1px solid var(--line);padding:27px 0 5px}.legal-document h2{margin:0 0 11px;font-family:Georgia,serif;font-size:22px}.legal-document p,.legal-document li,.legal-document address{color:#435048;font-size:15px;line-height:1.7}.legal-document p{margin:0 0 14px}.legal-document ul{gap:7px;margin:0 0 17px;padding-left:23px;display:grid}.legal-document address{font-style:normal}.legal-document a{color:var(--green);text-underline-offset:2px;font-weight:700;text-decoration:underline}.legal-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;gap:24px;padding:24px max(24px,50vw - 470px);font-size:11px;line-height:1.5;display:flex}.pay-shell{background:radial-gradient(circle at top,#e5f1e9 0,#f5f7f4 42%,#eef2ef 100%);min-height:100vh;padding:54px 20px 28px}.pay-brand{align-items:center;gap:11px;width:min(560px,100%);margin:0 auto 18px;display:flex}.pay-brand>span{background:var(--green-dark);color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.pay-brand strong,.pay-brand small{display:block}.pay-brand strong{font-family:Georgia,serif;font-size:21px}.pay-brand small{color:var(--muted);margin-top:2px;font-size:11px}.pay-card{background:#fff;border:1px solid #d8e1db;border-radius:20px;width:min(560px,100%);margin:0 auto;padding:30px;box-shadow:0 24px 70px #17483221}.pay-document{color:var(--green);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;font-size:11px;font-weight:800;display:flex}.pay-card h1{letter-spacing:-.035em;margin:25px 0 7px;font-family:Georgia,serif;font-size:31px;line-height:1.1}.pay-customer{color:var(--muted);margin:0 0 25px}.pay-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:10px 20px;padding:20px 0;font-size:13px;display:grid}.pay-summary dt{color:var(--muted)}.pay-summary dd{text-align:right;margin:0;font-weight:800}.pay-button{justify-content:center;align-items:center;gap:9px;width:100%;margin-top:22px;display:flex}.pay-invoice-button{justify-content:center;align-items:center;gap:9px;width:100%;margin-top:18px;display:flex}.pay-setup{color:var(--muted);text-align:center;margin:14px 0 0;font-size:12px;line-height:1.5}.pay-success,.pay-error,.pay-note{color:var(--green-dark);background:#edf8f1;border:1px solid #b8d7c4;border-radius:11px;gap:4px;margin-top:20px;padding:13px 15px;font-size:12px;line-height:1.45;display:grid}.pay-error{color:var(--red);background:#fff2f0;border-color:#e8b8b3}.pay-note{border-color:var(--line);color:var(--muted);background:#f5f7f4}.pay-security{color:var(--muted);gap:9px;margin-top:22px;font-size:10px;line-height:1.45;display:flex}.pay-security svg{color:var(--green);flex:none}.pay-alternatives{border-top:1px solid var(--line);gap:12px;margin-top:22px;padding-top:20px;display:grid}.pay-alternatives h2{margin:0;font-family:Georgia,serif;font-size:19px}.pay-alternatives p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.pay-venmo-button{justify-content:center;align-items:center;gap:7px;width:100%;display:flex}.pay-venmo-button span{color:var(--green);font-weight:800}.pay-check-note{background:var(--green-soft);border-radius:10px;padding:11px 13px;margin-top:0!important}.pay-check-note strong{color:var(--ink)}.pay-footer{width:min(560px,100%);color:var(--muted);justify-content:space-between;gap:18px;margin:18px auto 0;font-size:10px;line-height:1.5;display:flex}.pay-footer a{color:var(--green-dark);font-weight:700}.account-pay-card,.account-pay-shell .pay-brand,.account-pay-shell .pay-footer{width:min(680px,100%)}.account-public-invoices{gap:9px;margin:22px 0;display:grid}.account-public-invoices article{border:1px solid var(--line);background:#fafbfa;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:13px 14px;display:grid}.account-public-invoices article>div strong,.account-public-invoices article>div span{display:block}.account-public-invoices article>div span{color:var(--muted);margin-top:4px;font-size:11px}.account-public-invoices dl{grid-template-columns:auto auto;gap:4px 12px;margin:0;font-size:10px;display:grid}.account-public-invoices dt{color:var(--muted)}.account-public-invoices dd{text-align:right;margin:0;font-weight:800}.account-public-invoices dd:last-child{color:var(--green-dark)}.account-pay-summary{margin-top:0}.public-invoice-shell{background:#e9eeea;min-height:100vh;padding:28px 20px 48px}.public-invoice-actions{justify-content:space-between;gap:10px;width:min(860px,100%);margin:0 auto 14px;display:flex}.public-invoice-actions .button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.public-invoice-document{background:#fff;border:1px solid #d7dfda;border-radius:4px;width:min(860px,100%);margin:0 auto;padding:42px;box-shadow:0 20px 55px #1748321f}.public-invoice-head{border-bottom:3px solid var(--green-dark);justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:22px;display:flex}.public-invoice-brand{align-items:flex-start;gap:12px;display:flex}.public-invoice-brand>span{background:var(--green-dark);color:#fff;border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.public-invoice-brand strong,.public-invoice-brand small,.public-invoice-brand address{display:block}.public-invoice-brand strong{font-family:Georgia,serif;font-size:21px}.public-invoice-brand small{color:var(--muted);margin-top:2px;font-size:10px}.public-invoice-brand address{color:var(--muted);margin-top:7px;font-size:10px;font-style:normal;line-height:1.4}.public-invoice-title{text-align:right;justify-items:end;gap:5px;display:grid}.public-invoice-title h1{color:var(--green-dark);text-transform:uppercase;margin:0;font-family:Georgia,serif;font-size:30px}.public-invoice-title>strong{font-size:15px}.public-invoice-addresses{grid-template-columns:1fr 1fr .75fr;gap:28px;padding:26px 0;display:grid}.public-invoice-addresses>div{flex-direction:column;gap:4px;font-size:12px;line-height:1.35;display:flex}.public-invoice-addresses h2,.public-invoice-notes h2{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font:800 9px Arial,sans-serif}.public-invoice-addresses dl{grid-template-columns:1fr auto;align-content:start;gap:8px 12px;margin:0;font-size:11px;display:grid}.public-invoice-addresses dt{color:var(--muted)}.public-invoice-addresses dd{text-align:right;margin:0;font-weight:800}.public-invoice-lines{border-bottom:1px solid var(--line)}.public-invoice-line-head,.public-invoice-line{grid-template-columns:minmax(0,1fr) 60px 88px 78px 96px;align-items:start;gap:10px;display:grid}.public-invoice-line-head.has-discounts,.public-invoice-line.has-discounts{grid-template-columns:minmax(0,1fr) 55px 78px 72px 72px 92px}.public-invoice-line-head{background:var(--green-dark);color:#fff;letter-spacing:.05em;text-transform:uppercase;padding:10px 12px;font-size:9px;font-weight:800}.public-invoice-line-head span:not(:first-child){text-align:right}.public-invoice-line{border-bottom:1px solid var(--line);padding:13px 12px;font-size:12px}.public-invoice-line:last-child{border-bottom:0}.public-invoice-line>span,.public-invoice-line>strong[data-label]{text-align:right}.public-invoice-line>div strong,.public-invoice-line>div small{display:block}.public-invoice-line>div small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.public-invoice-closing{grid-template-columns:1fr 260px;align-items:start;gap:40px;padding:25px 0;display:grid}.public-invoice-notes p{color:var(--muted);white-space:pre-wrap;margin:0;font-size:11px;line-height:1.5}.public-invoice-thanks{color:var(--green-dark);margin:24px 0 0;font-family:Georgia,serif;font-size:17px;font-weight:700}.public-invoice-totals{grid-template-columns:1fr auto;gap:9px 18px;margin:0;font-size:12px;display:grid}.public-invoice-totals dt{color:var(--muted);text-align:right}.public-invoice-totals dd{text-align:right;min-width:80px;margin:0;font-weight:800}.public-invoice-totals dt:last-of-type,.public-invoice-totals dd:last-of-type{border-top:2px solid var(--green-dark);color:var(--green-dark);padding-top:10px;font-size:15px;font-weight:800}.public-invoice-document>footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:12px;font-size:9px;display:flex}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#ecf5ef;background:#163f2d;height:100vh;padding:28px 20px;position:sticky;top:0}.sidebar .brand-mark{padding:0 8px 28px}.nav{gap:7px;margin-top:16px;display:grid}.nav-link{color:#ffffffb8;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:700;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff17}.nav-link-label{min-width:0}.nav-unread-badge{color:#153e2c;background:#f4c95d;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:900;line-height:1;display:grid;box-shadow:0 0 0 2px #ffffff1f}.sidebar-footer{border-top:1px solid #ffffff21;padding-top:18px;position:absolute;bottom:24px;left:20px;right:20px}.sidebar-footer button{color:#ffffffb3;text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;justify-content:space-between;align-items:center;height:76px;padding:0 34px;display:flex}.topbar-title{font-family:Georgia,serif;font-size:19px;font-weight:700}.role-pill,.status-pill{background:var(--green-soft);color:var(--green-dark);text-transform:capitalize;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.open{color:#805e18;background:#fff2d8}.content{padding:34px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-head h1{letter-spacing:-.035em;margin:5px 0 0;font-family:Georgia,serif;font-size:36px}.page-head p{color:var(--muted);margin:8px 0 0}.header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.button.danger{color:#a23b32;background:#fff7f6;border:1px solid #d8aaa5;align-items:center;gap:7px;display:inline-flex}.button.danger:hover{color:#842d26;background:#fbe8e6;border-color:#b94a40}.delete-invoice-control{position:relative}.delete-invoice-control small{z-index:3;width:min(330px,80vw);color:var(--red);background:#fff7f6;border:1px solid #efc7c2;border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.4;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 8px 22px #2a3d311a}.invoice-delete-success{color:var(--green-dark);background:#edf7f0;border:1px solid #b9d7c4;border-radius:10px;margin:0 0 16px;padding:12px 15px;font-size:13px;font-weight:700}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.payment-total-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.payments-page-actions{justify-items:end;gap:9px;display:grid}.stripe-email-sync-result{align-items:baseline;gap:8px;margin-bottom:20px;display:flex}.stat,.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px}.stat{padding:20px}.stat-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.stat-value{margin-top:10px;font-family:Georgia,serif;font-size:30px;font-weight:700}.stat-note{color:var(--muted);margin-top:7px;font-size:12px}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:20px;display:grid}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel-head h2{margin:0;font-family:Georgia,serif;font-size:19px}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:var(--muted);letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#fafbf9;padding:11px 18px;font-size:11px}td{border-top:1px solid #edf0ed;padding:14px 18px;font-size:14px}tbody tr:hover{background:#fbfcfa}.table-link{color:var(--green);font-weight:800}.align-right{text-align:right}.search-form{gap:8px;width:min(430px,100%);display:flex}.invoice-search-form{width:auto}.invoice-search-box{display:block;position:relative}.invoice-search-box svg{color:var(--green);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.invoice-search-box input{width:235px;padding-left:35px}.invoice-search-clear{flex:none;align-self:center}.payments-search-form{flex-wrap:wrap;width:min(760px,100%)}.payments-search-form .invoice-search-box{flex:260px}.payments-search-form .invoice-search-box input{width:100%}.payment-documents{gap:4px;display:grid}.payment-reference{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.payment-amount.negative{color:var(--red)}.status-pill.payment-posted{background:var(--green-soft);color:var(--green-dark)}.status-pill.payment-voided{color:#8c3c34;background:#f6e7e5}.status-pill.payment-reversal{color:#566159;background:#eef0ed}.payments-pagination{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;padding:16px 20px;display:grid}.payments-pagination>:last-child{justify-self:end}.text-page-head .search-form{justify-content:flex-end}.text-page-head .invoice-search-box{flex:1}.text-page-head .invoice-search-box input{width:100%}.text-header-actions{justify-items:end;gap:8px;width:min(500px,100%);display:grid}.twilio-inbox-setup{justify-content:flex-end;align-items:center;gap:10px;display:flex}.twilio-inbox-setup .button{align-items:center;gap:7px;display:inline-flex}.twilio-inbox-setup small{font-size:10px}.text-header-buttons{justify-content:flex-end;align-items:center;gap:8px;display:flex}.new-text-button{align-items:center;gap:7px;display:inline-flex}.new-text-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1f157a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.new-text-dialog{background:#fff;border-radius:16px;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:visible;box-shadow:0 30px 90px #0a1c124d}.new-text-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.new-text-dialog h2{margin:4px 0 0;font-family:Georgia,serif;font-size:25px}.new-text-dialog form{gap:17px;padding:22px;display:grid}.new-text-dialog .customer-suggestions button:disabled{cursor:not-allowed;opacity:.5}.new-text-recipient{background:var(--green-soft);color:var(--green-dark);border-radius:9px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;display:flex}.new-text-dialog footer{justify-content:flex-end;gap:9px;display:flex}.text-inbox{grid-template-columns:minmax(280px,360px) minmax(0,1fr);height:min(720px,100dvh - 300px);min-height:460px;display:grid}.conversation-list{border-right:1px solid var(--line);min-width:0}.conversation-list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:65px;padding:14px 16px;display:flex}.conversation-list-head>div{align-items:baseline;gap:8px;display:flex}.conversation-list-head>div span{color:var(--muted);font-size:12px}.unread-total{background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.conversation-scroll{height:calc(100% - 65px);overflow-y:auto}.conversation-row{min-height:76px;color:inherit;border-bottom:1px solid #edf0ed;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.conversation-row:hover,.conversation-row.active{background:#f3f8f5}.conversation-row.active{box-shadow:inset 3px 0 var(--green)}.conversation-avatar{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:50%;place-items:center;display:grid}.conversation-summary{min-width:0}.conversation-summary strong,.conversation-summary small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation-summary strong{font-size:13px}.conversation-summary small{color:var(--muted);margin-top:5px;font-size:11px}.conversation-meta{color:var(--muted);justify-items:end;gap:7px;font-size:9px;display:grid}.conversation-meta b{background:var(--green);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;display:grid}.conversation-thread{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.conversation-thread-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:65px;padding:12px 18px;display:flex}.conversation-thread-head strong,.conversation-thread-head span{display:block}.conversation-thread-head span{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:11px}.text-thread{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.text-message-list{background:#f7faf8;flex-direction:column;gap:9px;padding:20px;display:flex;overflow-y:auto}.text-bubble{border:1px solid var(--line);background:#fff;border-radius:4px 15px 15px;align-self:flex-start;max-width:min(72%,620px);padding:11px 13px;box-shadow:0 5px 14px #192f230a}.text-bubble.outbound{background:var(--green-soft);border-color:#c7dfd0;border-radius:15px 4px 15px 15px;align-self:flex-end}.text-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.text-bubble small{color:var(--muted);text-transform:capitalize;margin-top:6px;font-size:9px;display:block}.text-bubble strong{color:var(--red);background:#f6e7e5;border-radius:999px;margin-top:6px;padding:3px 6px;font-size:9px;display:inline-block}.text-bubble span{color:var(--red);margin-top:5px;font-size:10px;display:block}.text-reply-form{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:14px 16px;display:grid}.text-reply-form textarea{resize:vertical;min-height:72px}.text-reply-form .button{align-items:center;gap:7px;min-height:44px;display:inline-flex}.text-reply-form>small{grid-column:1/-1}.text-reply-form .form-error,.text-reply-form .form-success{padding:9px 11px}.text-thread-empty{color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.text-thread-empty h2{color:var(--text);margin:14px 0 4px;font-family:Georgia,serif}.text-thread-empty p{margin:0}.empty{color:var(--muted);text-align:center;padding:44px 20px}.detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail-list{grid-template-columns:140px 1fr;gap:12px;padding:20px;font-size:14px;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.access-card{text-align:center;max-width:560px;margin:10vh auto;padding:36px}.editor-form{gap:20px;max-width:1160px;display:grid}.form-panel{overflow:visible}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;display:grid}.span-2{grid-column:span 2}.editor-actions{justify-content:flex-end;gap:10px;display:flex}.editor-actions .button{text-align:center;min-width:128px}.form-error{color:var(--red);background:#fff2f0;border:1px solid #e8b8b3;border-radius:10px;margin:0;padding:13px 15px;font-size:14px}.form-message-success,.form-success{color:var(--green-dark);background:#edf8f1;border:1px solid #b8d7c4;border-radius:10px;margin:0;padding:13px 15px;font-size:14px;font-weight:700}.staff-create-panel{margin-bottom:20px}.staff-form{gap:16px;padding-bottom:22px;display:grid}.staff-form-footer{justify-content:space-between;align-items:center;gap:20px;padding:0 22px;display:flex}.staff-form-footer small{max-width:650px;color:var(--muted);font-size:12px;line-height:1.5}.staff-form>.form-error,.staff-form>.form-success{margin:0 22px}.staff-list-panel td strong{margin-right:8px}.you-badge{color:var(--muted);text-transform:uppercase;background:#eef0ed;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.check-stack{align-items:center;gap:28px;padding-top:25px;display:flex}.check-field{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.check-field input{width:17px;height:17px;accent-color:var(--green)}.optional-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-left:5px;font-size:10px;font-weight:700}.location-panel{min-height:100%}.location-list{gap:12px;padding:16px;display:grid}.location-card,.location-empty{background:linear-gradient(145deg,#fbfdfb,#f5f8f5);border:1px solid #e4eae6;border-radius:12px;align-items:flex-start;gap:13px;padding:15px;display:flex}.location-pin{background:var(--green-soft);width:40px;height:40px;color:var(--green);border-radius:11px;flex:none;place-items:center;display:grid}.location-copy{flex:1;min-width:0}.location-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.primary-badge{background:var(--green-soft);color:var(--green-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.location-type-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.location-type-badge.billing{color:#315579;background:#edf2f8}.location-type-badge.service{color:#6b5638;background:#f1eee8}.location-card address{color:var(--muted);gap:3px;margin-top:8px;font-size:13px;font-style:normal;line-height:1.35;display:grid}.location-card address .location-addressee{color:var(--ink);font-weight:700}.location-card small{color:var(--green-dark);margin-top:8px;font-weight:700;display:block}.location-empty{align-items:center}.location-empty div{flex:1}.location-empty p{color:var(--muted);margin:4px 0 0;font-size:13px}.service-location-editor-list{display:grid}.service-location-editor{border-top:1px solid var(--line)}.service-location-editor:first-child{border-top:0}.service-location-editor-head{grid-template-columns:minmax(240px,1fr) auto 38px;align-items:end;gap:14px;padding:18px 22px 0;display:grid}.service-location-label{max-width:520px}.primary-location-choice{min-height:42px;color:var(--green-dark);align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.primary-location-choice input{width:16px;height:16px;accent-color:var(--green)}.service-location-address{padding-top:14px}.service-location-empty{justify-content:center;align-items:center;gap:9px;display:flex}.billing-address-mode{padding:18px 22px 0}.same-address-choice{color:var(--green-dark);align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex}.same-address-choice input{width:17px;height:17px;accent-color:var(--green)}.same-address-preview{background:var(--green-soft);color:var(--green-dark);border:1px solid #dce7df;border-radius:11px;align-items:flex-start;gap:12px;margin:14px 22px 22px;padding:14px;display:flex}.same-address-preview>svg{flex:none;margin-top:2px}.same-address-preview div{gap:3px;display:grid}.same-address-preview strong{color:var(--ink);font-size:14px}.same-address-preview span{color:var(--ink);font-size:13px}.same-address-preview small{color:var(--muted);margin-top:3px;font-size:10px}.billing-address-fields{padding-top:14px}.line-items{display:grid}.line-item{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(220px,1.8fr) 90px 105px 90px 100px minmax(160px,1.2fr) 100px 36px;align-items:end;gap:10px;padding:17px 18px;display:grid}.line-number{background:var(--green-soft);width:24px;height:24px;color:var(--green-dark);border-radius:50%;align-self:center;place-items:center;font-size:11px;font-weight:800;display:grid}.line-item .field{font-size:11px}.line-item .field input,.line-item .field select{padding:10px;font-size:13px}.quantity-stepper{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:32px minmax(36px,1fr) 32px;min-height:38px;display:grid;overflow:hidden}.quantity-stepper button{background:var(--green-soft);color:var(--green-dark);cursor:pointer;border:0;place-items:center;display:grid}.quantity-stepper button:hover:not(:disabled){background:#dcebe0}.quantity-stepper button:disabled{color:#aebbb2;cursor:not-allowed}.line-item .field .quantity-stepper input{border:0;border-right:1px solid var(--line);border-left:1px solid var(--line);text-align:center;appearance:textfield;border-radius:0;min-width:0;padding:8px 2px}.quantity-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.product-combobox,.customer-combobox{position:relative}.customer-combobox>svg{z-index:1;color:var(--green);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.field .customer-combobox>input{padding-left:40px}.customer-suggestions{z-index:35;border:1px solid var(--line);background:#fff;border-radius:11px;max-height:360px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 18px 45px #17231d2e}.customer-suggestions button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:16px;padding:12px 13px;display:flex}.customer-suggestions button:hover,.customer-suggestions button:focus,.customer-suggestions button[aria-selected=true]{background:var(--green-soft);outline:none}.customer-suggestions button span,.customer-suggestions button strong,.customer-suggestions button small{display:block}.customer-suggestions button strong{font-size:13px}.customer-suggestions button small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:500}.customer-suggestions button em{color:var(--green-dark);flex:none;font-size:10px;font-style:normal;font-weight:800}.customer-suggestion-empty{color:var(--muted);padding:14px;font-size:12px;font-weight:500}.customer-picker-help{color:var(--red);font-size:10px}.saved-job-addresses{gap:8px;display:grid}.saved-job-addresses>span{font-size:14px;font-weight:700}.saved-job-addresses>div{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;display:grid}.saved-job-addresses button{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#fafbfa;border-radius:10px;align-items:flex-start;gap:9px;padding:11px;display:flex}.saved-job-addresses button:hover{background:#f5faf7;border-color:#b7cbbf}.saved-job-addresses button.selected{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px #256a4714}.saved-job-addresses button>svg{color:var(--green);flex:none;margin-top:1px}.saved-job-addresses button span,.saved-job-addresses button strong,.saved-job-addresses button small{min-width:0;display:block}.saved-job-addresses button strong{font-size:12px}.saved-job-addresses button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;font-weight:500;overflow:hidden}.address-combobox{position:relative}.address-field-group{gap:9px;display:grid}.address-input-wrap{position:relative}.address-input-wrap>svg{z-index:1;color:var(--green);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.field .address-input-wrap input{padding-left:40px}.address-suggestions{z-index:30;border:1px solid var(--line);background:#fff;border-radius:11px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 18px 45px #17231d2e}.address-suggestions button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.address-suggestions button:hover,.address-suggestions button:focus{background:var(--green-soft);outline:none}.address-suggestions button svg{color:var(--green);flex:none;margin-top:1px}.address-suggestions button span{font-size:13px;font-weight:600;line-height:1.35}.address-suggestion-message{color:var(--muted);padding:13px;font-size:12px;line-height:1.4}.address-suggestion-message.error{color:var(--red)}.address-suggestions>small{color:var(--muted);text-align:right;padding:7px 12px;font-size:9px;display:block}.address-help{color:var(--muted);font-size:10px;font-weight:600;line-height:1.35}.address-help.error{color:var(--red)}.address-detail-bar{background:#f8faf8;border:1px solid #e3e9e5;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:10px 12px;display:flex}.address-detail-bar>div{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:7px;font-size:11px;display:flex}.address-detail-bar strong{color:var(--ink);font-size:13px}.address-detail-toggle{color:var(--green);cursor:pointer;background:0 0;border:0;flex:none;padding:3px;font-size:11px;font-weight:800}.address-detail-grid{grid-template-columns:2fr 1fr 1fr;gap:12px;padding-top:4px;display:grid}.product-suggestions{z-index:20;border:1px solid var(--line);background:#fff;border-radius:11px;max-height:330px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 18px 45px #17231d2e}.product-suggestions button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.product-suggestions button:last-child{border-bottom:0}.product-suggestions button:hover,.product-suggestions button:focus{background:var(--green-soft);outline:none}.product-suggestions strong,.product-suggestions small{display:block}.product-suggestions small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.product-suggestions em{color:var(--green-dark);flex:none;font-size:12px;font-style:normal;font-weight:800}.product-manager{gap:18px;display:grid}.product-toolbar{grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;display:grid}.product-toolbar>.button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.product-search{position:relative}.product-search>svg{color:var(--green);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.product-search input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:12px 14px 12px 42px}.product-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #256a471a}.product-inactive-toggle{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.product-inactive-toggle input{width:17px;height:17px;accent-color:var(--green)}.product-create-panel{overflow:visible}.product-close-button{color:var(--muted)}.product-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;display:grid}.product-form-grid .product-name-field{grid-column:span 2}.product-check{border:1px solid var(--line);background:#fafbfa;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.product-check input{width:17px;height:17px;accent-color:var(--green);flex:none;margin-top:2px}.product-check span,.product-check strong,.product-check small{display:block}.product-check strong{font-size:13px}.product-check small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.35}.product-create-panel>.form-error,.product-create-panel>.form-success,.product-edit-form>.form-error{margin:0 20px}.product-form-actions{justify-content:flex-end;gap:9px;padding:0 20px 20px;display:flex}.product-form-actions .button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.products-table tbody tr.inactive{color:var(--muted);background:#f7f8f7}.products-table td:first-child>strong{display:block}.product-taxable{color:var(--green);text-transform:uppercase;align-items:center;gap:3px;margin-top:4px;font-size:9px;font-weight:800;display:inline-flex}.product-row-actions{white-space:nowrap;justify-content:flex-end;gap:7px;display:flex}.product-row-actions .icon-link{cursor:pointer;display:inline-grid}.product-active-form{display:inline-flex;position:relative}.product-active-form>small{z-index:4;width:210px;color:var(--red);white-space:normal;background:#fff2f0;border:1px solid #e8b8b3;border-radius:7px;padding:7px;font-size:10px;position:absolute;top:calc(100% + 5px);right:0}.product-edit-row:hover{background:0 0}.product-edit-row>td{background:#f7faf8;padding:0}.product-edit-form{border-top:1px solid #cfe0d5;border-bottom:1px solid #cfe0d5;padding-top:2px}.auto-tax{background:var(--green-soft);color:var(--green-dark);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:4px;padding:2px 5px;font-size:9px;font-style:normal}.line-total{text-align:right;padding:11px 0;font-weight:800}.icon-button{border:1px solid var(--line);width:36px;height:38px;color:var(--red);cursor:pointer;background:#fff;border-radius:9px;place-items:center;display:grid}.icon-button:disabled{color:#abb4af;cursor:not-allowed}.invoice-total{justify-content:flex-end;align-items:baseline;gap:22px;padding:20px;display:flex}.invoice-total span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:800}.invoice-total strong{text-align:right;min-width:130px;font-family:Georgia,serif;font-size:27px}.invoice-total-breakdown dl{grid-template-columns:auto minmax(110px,auto);gap:7px 20px;margin:0;display:grid}.invoice-total-breakdown dt{color:var(--muted);text-align:right;font-size:12px;font-weight:700}.invoice-total-breakdown dd{text-align:right;margin:0;font-size:13px;font-weight:800}.invoice-total-breakdown .discount-total{color:var(--green)}.invoice-total-breakdown dt:last-of-type,.invoice-total-breakdown dd:last-of-type{border-top:2px solid var(--green-dark);color:var(--green-dark);padding-top:9px}.invoice-total-breakdown dd:last-of-type{font-family:Georgia,serif;font-size:25px}.customer-invoices,.customer-account-panel,.description-panel{margin-top:20px}.account-balance-bar{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#edf6f0,#f8fbf9);grid-template-columns:1fr 1fr;display:grid}.account-balance-bar>div{gap:4px;padding:18px 20px;display:grid}.account-balance-bar>div+div{border-left:1px solid var(--line)}.account-balance-bar small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.account-balance-bar strong{font-family:Georgia,serif;font-size:26px}.account-invoice-table td strong{color:var(--green-dark)}.account-statement-actions{border-top:1px solid var(--line);background:#fbfcfa;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;padding:17px 20px;display:grid}.account-link-action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-link-action .button{align-items:center;gap:7px;display:inline-flex}.account-link-action>small{color:var(--muted);flex-basis:100%}.account-text-action{justify-content:space-between;align-items:center;gap:14px;display:flex}.account-text-action>div{align-items:center;gap:8px;min-width:0;display:flex}.account-text-action>div>span,.account-text-action strong,.account-text-action small{display:block}.account-text-action svg{color:var(--green)}.account-text-action small,.account-text-note,.account-email-note{color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.account-email-action{border-top:1px solid var(--line);grid-column:1/-1;padding-top:10px}.account-statement-actions>.account-text-note,.account-statement-actions>.account-email-note,.account-statement-actions>.invoice-sms-error,.account-statement-actions>.invoice-sms-success,.account-statement-actions>.invoice-sms-history,.account-email-view{grid-column:1/-1}.account-email-view{align-items:center;gap:5px;width:fit-content;font-size:11px;display:inline-flex}.account-statement-actions>.invoice-sms-error{color:var(--red)}.account-statement-actions>.invoice-sms-success{color:var(--green-dark)}.statement-customer-block{justify-content:space-between;align-items:flex-start;gap:30px;padding:28px 0;display:flex}.statement-customer-block>div:first-child{flex-direction:column;gap:4px;font-size:12px;line-height:1.35;display:flex}.statement-customer-block h2{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font:800 9px Arial,sans-serif}.statement-balance{text-align:right;gap:4px;display:grid}.statement-balance span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.statement-balance strong{color:var(--green-dark);font-family:Georgia,serif;font-size:25px}.statement-table{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.statement-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.5fr) .8fr repeat(3,.8fr);align-items:center;gap:12px;padding:12px 9px;font-size:11px;display:grid}.statement-row:last-child{border-bottom:0}.statement-row>:nth-child(n+3){text-align:right}.statement-row.statement-head{background:var(--green-dark);color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.statement-totals{justify-content:flex-end;padding:24px 0;display:flex}.statement-totals dl{grid-template-columns:1fr auto;gap:9px 20px;min-width:280px;margin:0;font-size:12px;display:grid}.statement-totals dt{color:var(--muted);text-align:right}.statement-totals dd{text-align:right;margin:0;font-weight:800}.statement-totals dt:last-of-type,.statement-totals dd:last-of-type{border-top:2px solid var(--green-dark);color:var(--green-dark);padding-top:10px;font-size:15px}.statement-payment-note{color:var(--green-dark);background:#edf8f1;border:1px solid #b8d7c4;border-radius:10px;gap:4px;margin-bottom:24px;padding:12px 14px;font-size:10px;display:grid}.statement-payment-note strong{font-size:13px}.statement-payment-note span{overflow-wrap:anywhere}.statement-payment-note small{color:var(--muted)}.statement-payment-qr{color:var(--green-dark);background:#edf8f1;border:1px solid #b8d7c4;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:12px 14px;display:flex}.statement-payment-qr>div{gap:4px;min-width:0;font-size:10px;display:grid}.statement-payment-qr strong{font-size:13px}.statement-payment-qr span{overflow-wrap:anywhere}.statement-payment-qr small{color:var(--muted)}.statement-payment-qr img{border:6px solid #fff;border-radius:8px;flex:none;width:96px;height:96px}.statement-empty{border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:28px 18px}.dashboard-statement-shell{background:0 0;min-height:auto;padding:0}.customer-page-head{margin-bottom:18px}.customer-header-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:8px;font-size:12px;display:flex}.customer-active-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.customer-active-badge.active{background:var(--green-soft);color:var(--green-dark)}.customer-active-badge.inactive{color:#785c4c;background:#f2efed}.customer-summary-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.customer-contact-list,.customer-contract-summary{gap:0;padding:8px 20px 14px;display:grid}.customer-contact-list>div,.customer-contract-summary>div{border-bottom:1px solid #edf0ed;align-items:flex-start;gap:12px;padding:13px 2px;display:flex}.customer-contact-list>div:last-child,.customer-contract-summary>div:last-child{border-bottom:0}.customer-contact-list svg,.customer-contract-summary svg{color:var(--green);flex:none;margin-top:2px}.customer-contact-list span,.customer-contract-summary span{gap:3px;display:grid}.customer-contact-list small,.customer-contract-summary small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.customer-contact-list strong,.customer-contact-list a,.customer-contract-summary strong{color:var(--ink);font-size:14px;font-weight:800}.customer-contact-list a{color:var(--green-dark)}.customer-contact-list em{color:var(--muted);font-size:11px;font-style:normal}.customer-contract-summary .not-included{opacity:.58}.customer-contract-summary>.customer-contract-inline-control{padding:14px 2px 4px;display:block}.customer-contract-inline-control>.button{justify-content:center;width:100%}.customer-contract-inline-control .customer-contract-create-form{width:100%}.customer-panel-empty{color:var(--muted);padding:30px 22px}.customer-panel-empty p{margin:6px 0 0;font-size:12px}.customer-panel-empty>.button{margin-top:16px}.customer-contract-create-form{color:var(--ink);gap:13px;margin-top:18px;display:grid}.customer-contract-create-services{grid-template-columns:1fr 1fr;gap:10px;display:grid}.customer-contract-create-services>label{border:1px solid var(--line);background:#fff;border-radius:10px;gap:10px;padding:12px;display:grid}.customer-contract-create-services>label.selected{background:var(--green-soft);border-color:#a9c8b4}.customer-contract-create-check{align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.customer-contract-create-check input{width:16px;height:16px;accent-color:var(--green)}.customer-contract-create-check svg{color:var(--green)}.customer-contract-create-form .inline-price{justify-self:stretch}.customer-contract-create-form .inline-price input{width:100%}.customer-contract-create-actions{justify-content:flex-end;gap:8px;display:flex}.customer-address-panel{margin-top:20px}.customer-address-groups{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);display:grid}.customer-address-group{border-right:1px solid var(--line);min-width:0;padding-bottom:10px}.customer-address-group:last-child{border-right:0}.address-group-heading{color:var(--green-dark);align-items:flex-start;gap:10px;padding:17px 18px 5px;display:flex}.address-group-heading h3{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:16px}.address-group-heading p{color:var(--muted);margin:3px 0 0;font-size:10px}.shared-address-card{border-style:dashed}.location-empty.compact{margin:8px 16px;padding:13px}.payments-panel{margin-bottom:20px;overflow:visible}.online-payment-link{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#edf6f0,#f8fbf9);grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr);align-items:center;gap:14px 24px;padding:17px 20px;display:grid}.online-payment-link>div:first-child strong,.online-payment-link>div:first-child span{display:block}.online-payment-link>div:first-child span{color:var(--muted);margin-top:4px;font-size:12px}.online-payment-link>form{justify-self:end}.online-payment-link>small{color:var(--muted);grid-column:2;font-size:11px}.invoice-sms-panel,.invoice-email-panel{border-bottom:1px solid var(--line);background:#fbfcfa;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:8px 24px;padding:17px 20px;display:grid}.invoice-email-panel{background:linear-gradient(135deg,#f8fbf9,#fff)}.invoice-sms-summary{align-items:center;gap:11px;display:flex}.invoice-sms-summary strong,.invoice-sms-summary span{display:block}.invoice-sms-summary span{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:12px}.invoice-sms-icon{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:10px;place-items:center;margin:0!important;display:grid!important}.invoice-sms-panel>small,.invoice-email-panel>small{color:var(--muted);grid-column:2;font-size:11px}.invoice-sms-panel .invoice-sms-error,.invoice-email-panel .invoice-sms-error{color:var(--red)}.invoice-sms-panel .invoice-sms-success,.invoice-email-panel .invoice-sms-success{color:var(--green-dark);font-weight:700}.email-view-link{grid-column:1/-1;width:fit-content;font-size:11px}.invoice-sms-history{border-top:1px solid var(--line);grid-column:1/-1;margin-top:6px;display:grid}.invoice-sms-history>div{color:var(--muted);border-bottom:1px solid #edf0ed;grid-template-columns:1fr auto;gap:5px 14px;padding:9px 0;font-size:11px;display:grid}.invoice-sms-history>div:last-child{border-bottom:0;padding-bottom:0}.invoice-sms-history small{color:var(--red);grid-column:1/-1}.sms-status{text-transform:capitalize}.sms-status.delivered,.sms-status.sent{color:var(--green)}.sms-status.failed,.sms-status.undelivered{color:var(--red)}.payment-link-result{gap:8px;display:flex}.payment-link-result input{min-width:0;color:var(--green-dark);background:#fff;border:1px solid #b8d7c4;border-radius:8px;flex:1;padding:10px;font-size:11px}.inline-card-error{grid-column:2;color:var(--red)!important}.payment-layout{grid-template-columns:minmax(330px,.72fr) minmax(420px,1.28fr);display:grid}.payment-entry-form{border-right:1px solid var(--line);grid-template-columns:1fr 1fr;align-content:start;gap:15px;padding:20px;display:grid}.payment-entry-form .button{align-self:end}.payment-history{min-width:0}.payment-history-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:15px 18px;font-size:12px;display:flex}.payment-history-head strong{color:var(--ink);font-size:13px}.payment-history-list{display:grid}.payment-history-row{border-bottom:1px solid #edf0ed;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:14px 18px;display:grid}.payment-history-row:last-child{border-bottom:0}.payment-history-row>div:first-child strong,.payment-history-row>div:first-child span,.payment-history-row>div:first-child small{display:block}.payment-history-row>div:first-child span{color:var(--muted);margin-top:3px;font-size:11px}.payment-history-row>div:first-child small{color:var(--muted);margin-top:4px;font-size:11px}.payment-history-row.voided{opacity:.62}.payment-history-row.voided>div:first-child>strong,.payment-history-row.voided .payment-history-amount>strong{text-decoration:line-through}.payment-history-row.reversal{color:var(--red);background:#fff7f5}.payment-history-amount{text-align:right;min-width:90px}.payment-history-amount strong,.payment-history-amount span{display:block}.payment-history-amount span{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.payment-empty{color:var(--muted);text-align:center;padding:40px 20px}.void-payment-form{align-items:center;gap:7px;display:flex;position:relative}.void-payment-form input{border:1px solid var(--line);border-radius:8px;outline:none;width:130px;padding:9px 10px;font-size:11px}.void-payment-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #256a471a}.inline-error,.inline-success{z-index:2;width:230px;color:var(--red);background:#fff2f0;border:1px solid #e8b8b3;border-radius:7px;padding:7px;font-size:10px;position:absolute;top:calc(100% + 5px);right:0}.inline-success{color:var(--green-dark);background:#edf8f1;border-color:#b8d7c4}.date-value{font-size:22px}.contract-editor{max-width:900px}.contract-services{grid-template-columns:1fr 1fr;gap:18px;display:grid}.service-card{border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:22px 44px 1fr 132px;align-items:center;gap:14px;padding:20px;display:grid}.service-card.selected{box-shadow:0 0 0 3px #256a4714, var(--shadow);border-color:#8bb89f}.renewal-setting{border:1px solid var(--line);background:var(--green-soft);color:var(--green-dark);border-radius:10px;align-items:center;gap:11px;padding:10px 13px;display:flex}.renewal-setting strong,.renewal-setting small{display:block}.renewal-setting small{margin-top:3px;font-size:12px}.service-card>input{width:18px;height:18px;accent-color:var(--green)}.service-icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.service-icon.spring{color:#397747;background:#e8f4e6}.service-icon.winter{color:#356986;background:#e8f1f7}.service-card strong,.service-card small{display:block}.service-card small{color:var(--muted);margin-top:5px;font-weight:400;line-height:1.35}.service-price{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;display:flex;overflow:hidden}.service-price>span{color:var(--muted);padding-left:10px}.service-price input{border:0;outline:none;width:100%;min-width:0;padding:11px 8px}.service-price input:disabled{background:#f1f3f1}.icon-link{border:1px solid var(--line);width:34px;height:34px;color:var(--green);border-radius:9px;place-items:center;display:inline-grid}.status-pill.paused{color:#566159;background:#eef0ed}.status-pill.expired,.status-pill.cancelled{color:#8c3c34;background:#f6e7e5}.document-pill{color:#566159;text-transform:uppercase;white-space:nowrap;background:#eef0ed;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.document-pill.contract{color:#315c8c;background:#e7eef8}.contract-initialize{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:20px 22px;display:flex;overflow:visible}.contract-tabs{border:1px solid var(--line);width:fit-content;box-shadow:var(--shadow);background:#fff;border-radius:11px;gap:5px;margin:-10px 0 22px;padding:4px;display:flex}.contract-tabs a{color:var(--muted);border-radius:8px;padding:9px 14px;font-size:12px;font-weight:800}.contract-tabs a:hover{color:var(--green-dark);background:var(--green-soft)}.contract-tabs a.active{color:#fff;background:var(--green)}.contract-year-filter{align-items:end;gap:8px;display:flex}.contract-year-filter label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.contract-year-filter select{border:1px solid var(--line);min-height:37px;color:var(--ink);background:#fff;border-radius:9px;padding:7px 11px;font-weight:700}.contract-name-search{display:block;position:relative}.contract-name-search svg{color:var(--green);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.contract-name-search input{border:1px solid var(--line);width:250px;min-height:37px;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:7px 11px 7px 35px;font-size:13px}.contract-name-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #256a471a}.contract-search-clear{background:#fff;margin-bottom:1px}.contract-work-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.contract-work-stats .stat-value small{color:var(--muted);font-family:inherit;font-size:15px}.contract-town-group{margin-bottom:18px}.contract-town-title{align-items:center;gap:8px;display:flex}.contract-town-title svg{color:var(--green)}.contract-town-title h2{margin:0}.contract-work-table th:first-child{width:18%}.contract-work-table th:nth-child(2){width:22%}.contract-work-table th:nth-child(3){width:16%}.contract-work-table th:nth-child(4),.contract-work-table th:nth-child(5){width:19%}.contract-work-table th:last-child{text-align:center;width:60px}.contract-work-table td{vertical-align:middle}.contract-work-table td:nth-child(2) strong,.contract-work-table td:nth-child(2) small{display:block}.contract-work-table td:nth-child(2) small{color:var(--muted);margin-top:3px;font-size:10px}.contract-work-table td:last-child{text-align:center}.contract-payment-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-flex}.contract-payment-status.paid{color:#17643d;background:#e4f4e9}.contract-payment-status.partial{color:#805e18;background:#fff2d8}.contract-payment-status.unpaid{color:#993c35;background:#fde9e6}.contract-progress-form{gap:4px;display:grid}.contract-progress-button{border:1px solid var(--line);width:100%;color:var(--muted);text-align:left;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:8px;padding:8px 9px;display:flex}.contract-progress-button:hover{background:var(--green-soft);border-color:#a9c8b4}.contract-progress-button.completed{color:var(--green-dark);background:var(--green-soft);border-color:#a9c8b4}.contract-progress-button:disabled{cursor:wait;opacity:.65}.contract-progress-button>svg{flex:none}.contract-progress-button span{gap:2px;display:grid}.contract-progress-button strong{font-size:10px;line-height:1.2}.contract-progress-button small{color:var(--muted);font-size:9px}.contract-progress-error{color:var(--red);font-size:9px}.not-included-service{color:#98a19b;font-size:10px;font-weight:700}.contract-work-empty{justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.contract-work-empty svg{color:var(--green)}.contract-work-empty p{margin:4px 0 0}.contract-route-controls{margin-bottom:20px}.contract-route-form{grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr) auto;align-items:end;gap:14px;padding:20px 22px 10px;display:grid}.contract-route-form .field input,.contract-route-form .field select{min-height:44px}.contract-optimize-button{white-space:nowrap;min-height:44px}.contract-route-disclosure{color:var(--muted);padding:0 22px 20px;font-size:10px;line-height:1.45;display:block}.contract-route-controls>.form-error{margin:0 22px 20px}.contract-route-results{overflow:hidden}.contract-route-batches{border-bottom:1px solid var(--line);background:#f8faf8;justify-content:space-between;align-items:center;gap:16px;padding:13px 22px;display:flex}.contract-route-batches>span{color:var(--muted);font-size:11px;font-weight:800}.contract-route-batches>div{gap:8px;display:flex}.contract-route-stop-list{margin:0;padding:0;list-style:none;display:grid}.contract-route-stop-list li{border-bottom:1px solid #edf0ed;grid-template-columns:30px 20px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 22px;display:grid}.contract-route-stop-list li>svg{color:var(--green)}.route-stop-number{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.contract-route-stop-list li>div:first-of-type{gap:3px;display:grid}.contract-route-stop-list li strong{font-size:13px}.contract-route-stop-list li div>span{color:var(--ink);font-size:12px}.contract-route-stop-list li small{color:var(--muted);font-size:9px}.route-stop-links{gap:10px;display:flex}.route-stop-links a{color:var(--green);font-size:10px;font-weight:800}.contract-route-map-links{background:var(--green-soft);flex-wrap:wrap;gap:9px;padding:18px 22px;display:flex}.contract-route-map-links .button{gap:7px}.spin{animation:.8s linear infinite route-spin}@keyframes route-spin{to{transform:rotate(360deg)}}.contract-initialize h2{margin:5px 0 0;font-family:Georgia,serif;font-size:22px}.contract-initialize p{max-width:720px;color:var(--muted);margin:7px 0;font-size:13px;line-height:1.45}.contract-initialize small{color:var(--green-dark);font-weight:800}.contract-initialize-action{flex:none;justify-items:end;gap:8px;display:grid}.contract-initialize-action .button{align-items:center;gap:8px;display:inline-flex}.contract-initialize-action .form-error,.contract-initialize-action .form-success{max-width:390px;padding:9px 11px;font-size:12px}.contract-batch-controls{grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:20px;padding:20px;display:grid}.contract-batch-controls>div:first-child{gap:5px;display:grid}.contract-batch-controls>div:first-child span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.contract-batch-controls>div:first-child strong{font-family:Georgia,serif;font-size:22px}.contract-batch-controls>div:first-child small{color:var(--muted);font-size:12px}.contract-batch-controls form{align-items:end;gap:8px;display:flex}.contract-batch-controls form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:10px;font-weight:800;display:grid}.contract-batch-controls form select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:9px 12px}.contract-batch-nav{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:16px;gap:10px!important;display:grid!important}.contract-batch-nav>:last-child{justify-self:end}.contract-batch-nav .button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.contract-batch-list ol{margin:0;padding:4px 20px 12px 54px;display:grid}.contract-batch-list li{border-bottom:1px solid #edf0ed;padding:12px 4px;font-size:13px}.contract-batch-list li::marker{color:var(--muted);font-weight:800}.contract-batch-summary{grid-template-columns:minmax(180px,1fr) minmax(320px,1.4fr) auto auto;align-items:center;gap:15px;display:grid}.contract-batch-customer{font-weight:700}.contract-batch-customer small{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:700;display:block}.contract-batch-coverage{gap:8px;display:flex}.contract-batch-coverage>span{background:var(--green-soft);color:var(--green-dark);border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.contract-batch-coverage>span strong{color:inherit}.contract-batch-coverage>span.not-included{color:var(--muted);background:#eef1ef}.contract-batch-number{color:var(--green-dark)}.contract-batch-edit{cursor:pointer;background:#fff}.contract-batch-editor{background:#f4f8f5;border-radius:10px;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding:14px;display:grid}.contract-batch-editor>label{opacity:.62;grid-template-columns:1fr 130px;align-items:center;gap:10px;display:grid}.contract-batch-editor>label.selected{opacity:1}.contract-batch-editor>label>span:first-child{align-items:center;gap:7px;font-weight:800;display:flex}.contract-batch-editor>label input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}.contract-batch-editor .form-error,.contract-batch-editor .form-success,.contract-batch-editor-actions{grid-column:1/-1}.contract-batch-editor-actions{justify-content:flex-end;gap:8px;display:flex}.contract-batch-print-documents{display:none}.contract-edit-button{cursor:pointer;background:#fff;padding:0}.contract-edit-button:hover,.contract-edit-button[aria-expanded=true]{background:var(--green-soft);border-color:#b8d7c4}.individual-contract-action{display:inline-block;position:relative}.contract-document-button{white-space:nowrap;justify-content:center;min-width:104px}.contract-initialize-error{width:250px;left:0;right:auto}.contract-row.editing{background:#f5faf7}.inline-contract-row:hover{background:0 0}.inline-contract-row>td{background:#f7faf8;padding:0}.inline-contract-editor{border-top:1px solid #cfe0d5;border-bottom:1px solid #cfe0d5;gap:15px;padding:20px 22px;display:grid}.inline-contract-fields{grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) minmax(135px,.5fr);align-items:end;gap:16px;display:grid}.inline-service-option{gap:9px;font-size:13px;font-weight:800;display:grid}.inline-service-option>span:first-child{align-items:center;gap:8px;display:flex}.inline-service-option input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}.inline-price{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;display:flex;overflow:hidden}.inline-price>span{color:var(--muted);padding-left:12px}.inline-price input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;padding:12px 10px 12px 7px}.inline-price:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #256a471a}.inline-price:has(input:disabled){opacity:.72;background:#eef1ef}.inline-contract-status{font-size:12px}.inline-contract-status select{padding:11px 12px}.inline-renewal{border:1px solid var(--line);background:#fff;border-radius:10px;gap:5px;padding:9px 12px;display:grid}.inline-renewal span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.inline-renewal strong{font-size:13px}.inline-contract-notes{grid-column:1/-1;font-size:12px}.inline-contract-notes input{padding:11px 12px}.inline-contract-editor .form-error{padding:10px 12px;font-size:12px}.inline-contract-actions{justify-content:flex-end;gap:9px;display:flex}.inline-contract-actions .button{text-decoration:none}.print-invoice{display:none}@media print{@page{size:letter;margin:.45in}:root{--print-green:#174832;--print-muted:#5f6c65;--print-line:#d9dfdb}html,body{background:#fff;min-height:auto}body{color:#17231d;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:Arial,Helvetica,sans-serif}.sidebar,.topbar,.invoice-screen,.contract-batch-screen{display:none!important}.app-shell,.main{min-height:auto;display:block}.content{padding:0}.print-invoice{font-size:10pt;display:block}.contract-batch-print-documents{display:block}.contract-batch-document{box-sizing:border-box;break-inside:avoid-page;page-break-inside:avoid;break-after:page;page-break-after:always;height:10in;padding-bottom:.28in;display:flow-root;position:relative;overflow:hidden}.contract-batch-document:last-child{break-after:auto;page-break-after:auto}.public-invoice-shell{background:#fff;min-height:auto;padding:0}.public-invoice-actions{display:none!important}.public-invoice-document{width:100%;box-shadow:none;border:0;border-radius:0;padding:0}.public-invoice-head,.statement-customer-block,.statement-row,.statement-totals,.statement-payment-note,.statement-payment-qr{break-inside:avoid;page-break-inside:avoid}.statement-table{break-inside:auto}.account-statement-document{font-size:9pt}.public-invoice-line,.public-invoice-closing{break-inside:avoid;page-break-inside:avoid}.print-invoice-head{border-bottom:3px solid var(--print-green);justify-content:space-between;align-items:flex-start;min-height:1.3in;padding:2px 0 10px .08in;display:flex}.print-brand{align-items:flex-start;gap:9px;width:3.35in;display:flex}.print-brand>span{background:var(--print-green);color:#fff;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.print-brand>span svg{width:21px;height:21px}.print-brand strong,.print-brand small{display:block}.print-brand strong{white-space:nowrap;font-family:Georgia,serif;font-size:16pt;line-height:1.05}.print-brand small{color:var(--print-muted);margin-top:3px;font-size:7.5pt}.print-brand address{color:var(--print-muted);margin-top:5px;font-size:7.5pt;font-style:normal;line-height:1.28}.print-title{text-align:right}.print-title h1{color:var(--print-green);text-transform:uppercase;margin:0;font-family:Georgia,serif;font-size:25pt;font-weight:500}.print-title>strong{margin-top:3px;font-size:12pt;display:block}.print-title>small{color:var(--print-muted);text-transform:uppercase;margin-top:4px;font-size:8pt;font-weight:700;display:block}.print-meta{grid-template-columns:1.15fr 1.15fr .7fr;gap:26px;min-height:1.12in;padding:18px 0;display:grid}.print-meta section{flex-direction:column;gap:3px;line-height:1.35;display:flex}.print-meta h2,.print-notes h2,.print-payments h2{color:var(--print-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:8pt}.print-meta dl{grid-template-columns:1fr auto;align-content:start;gap:7px 12px;margin:0;display:grid}.print-meta dt{color:var(--print-muted)}.print-meta dd{text-align:right;margin:0;font-weight:700}.print-status{text-transform:capitalize}.print-lines{border-collapse:collapse;width:100%}.print-lines thead{display:table-header-group}.print-lines tr{break-inside:avoid;page-break-inside:avoid}.print-lines th{background:var(--print-green);color:#fff;letter-spacing:.06em;text-transform:uppercase;padding:9px 10px;font-size:8pt}.print-lines th:first-child{text-align:left}.print-lines th:not(:first-child){text-align:right}.print-lines td{border-bottom:1px solid var(--print-line);vertical-align:top;padding:10px;font-size:9pt}.print-lines td:not(:first-child){text-align:right;white-space:nowrap}.print-lines strong,.print-lines small{display:block}.print-lines small{color:var(--print-muted);margin-top:3px;line-height:1.35}.print-closing{break-inside:avoid;page-break-inside:avoid;grid-template-columns:1fr 250px;align-items:start;gap:36px;margin-top:18px;display:grid}.print-notes p{color:var(--print-muted);white-space:pre-wrap;margin:0;line-height:1.5}.print-contract-terms{margin-top:18px}.print-contract-terms h2{color:var(--print-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:8pt}.print-contract-terms p{color:var(--print-muted);margin:0;font-size:8pt;line-height:1.5}.print-thanks{color:var(--print-green);margin-top:24px;font-family:Georgia,serif;font-size:13pt;font-weight:700}.print-totals{grid-template-columns:1fr auto;gap:8px 18px;margin:0;display:grid}.print-totals dt{color:var(--print-muted);text-align:right}.print-totals dd{text-align:right;min-width:86px;margin:0;font-weight:700}.print-totals .balance-label,.print-totals .balance-value{border-top:2px solid var(--print-green);color:var(--print-green);padding-top:10px;font-size:12pt;font-weight:800}.print-payments{break-inside:avoid;page-break-inside:avoid;width:54%;margin-top:26px}.print-payments>div{border-top:1px solid var(--print-line);justify-content:space-between;padding:6px 0;font-size:8.5pt;display:flex}.print-pay-online{border:2px solid var(--print-green);break-inside:avoid;page-break-inside:avoid;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:13px 16px;display:flex}.print-pay-online h2{color:var(--print-green);margin:0 0 5px;font-family:Georgia,serif;font-size:15pt}.print-pay-online p{color:var(--print-muted);margin:0 0 5px;font-size:8.5pt}.print-pay-online strong{max-width:5.7in;color:var(--print-green);overflow-wrap:anywhere;font-size:8.5pt;display:block}.print-pay-online small{color:var(--print-muted);margin-top:6px;font-size:7.5pt;display:block}.print-pay-online img{flex:none;width:.9in;height:.9in}.print-invoice footer{border-top:1px solid var(--print-line);color:var(--print-muted);justify-content:space-between;margin-top:34px;padding-top:10px;font-size:8pt;display:flex}.print-service-contract .print-invoice-head{border-bottom:0;min-height:1.3in;padding-bottom:10px}.print-service-contract .print-title{display:none}.contract-envelope-recipient{align-items:center;min-height:1.75in;padding:.06in 0 .2in .62in;display:flex}.contract-mailing-address{flex-direction:column;gap:3px;width:3.45in;font-size:9pt;line-height:1.3;display:flex}.contract-mailing-address strong{font-size:9.5pt}.invoice-envelope-recipient{align-items:center;min-height:1.75in;padding:.06in 0 .2in .28in;display:flex}.invoice-mailing-address{flex-direction:column;gap:3px;width:3.55in;font-size:9pt;line-height:1.3;display:flex}.invoice-mailing-address strong{font-size:9.5pt}.invoice-detail-grid{border-top:1px solid var(--print-line);grid-template-columns:1fr 2.2in;gap:30px;padding:10px 0 12px;display:grid}.invoice-detail-grid section{flex-direction:column;gap:3px;font-size:8.5pt;line-height:1.3;display:flex}.invoice-detail-grid h2{color:var(--print-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:7.5pt}.invoice-detail-grid dl{grid-template-columns:1fr auto;align-content:start;gap:5px 11px;margin:0;font-size:8.5pt;display:grid}.invoice-detail-grid dt{color:var(--print-muted)}.invoice-detail-grid dd{text-align:right;margin:0;font-weight:700}.contract-document-title{border-top:3px solid var(--print-green);color:var(--print-green);justify-content:space-between;align-items:flex-end;padding:9px 0 7px;display:flex}.contract-document-title div{align-items:baseline;gap:12px;display:flex}.contract-document-title span{font-family:Georgia,serif;font-size:20pt;font-weight:700}.contract-document-title strong{font-size:11pt}.contract-document-title small{color:var(--print-muted);text-transform:uppercase;font-size:8pt;font-weight:700}.contract-detail-grid{border-top:1px solid var(--print-line);grid-template-columns:minmax(0,1fr) 2.8in;gap:24px;padding:10px 0 12px;display:grid}.contract-detail-grid section{flex-direction:column;gap:3px;font-size:8.5pt;line-height:1.3;display:flex}.contract-detail-grid h2,.contract-payment-copy h2{color:var(--print-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:7.5pt}.contract-detail-grid dl{grid-template-columns:.7in minmax(0,1fr);align-content:start;gap:5px 11px;margin:0;font-size:8.5pt;display:grid}.contract-detail-grid dt{color:var(--print-muted)}.contract-detail-grid dd{text-align:right;margin:0;font-weight:700}.contract-legacy-line{border-top:2px solid var(--print-green);border-bottom:1px solid var(--print-green);color:var(--print-green);text-align:center;padding:6px 0;font-family:Georgia,serif;font-size:10pt}.contract-legacy-line span{color:var(--print-muted);text-transform:uppercase;margin-left:8px;font-family:Arial,Helvetica,sans-serif;font-size:8pt;font-weight:700}.contract-coverage{gap:13px;padding:17px 0 8px;display:grid}.contract-coverage section{border:1px solid var(--print-line);border-left:4px solid var(--print-green);break-inside:avoid;page-break-inside:avoid;border-radius:7px;padding:13px 17px}.contract-coverage h2{color:var(--print-green);margin:0 0 4px;font-family:Georgia,serif;font-size:14pt}.contract-coverage h3{margin:0 0 7px;font-size:9pt;line-height:1.35}.contract-coverage ul{color:var(--print-muted);grid-template-columns:1fr 1fr;gap:4px 24px;margin:0;padding-left:18px;font-size:8.5pt;line-height:1.35;display:grid}.contract-price-block{break-inside:avoid;page-break-inside:avoid;justify-content:flex-end;margin-top:13px;display:flex}.contract-price-block dl{grid-template-columns:1fr auto;gap:7px 20px;width:300px;margin:0;display:grid}.contract-price-block dt{color:var(--print-muted);text-align:right}.contract-price-block dd{text-align:right;min-width:90px;margin:0;font-weight:700}.contract-price-block dt:nth-of-type(3),.contract-price-block dd:nth-of-type(3){border-top:2px solid var(--print-green);color:var(--print-green);padding-top:9px;font-size:12pt;font-weight:800}.contract-payment-copy{border-top:1px solid var(--print-line);break-inside:avoid;page-break-inside:avoid;margin-top:12px;padding-top:8px}.contract-payment-copy p{margin:0;font-size:9pt;line-height:1.45}.contract-payment-copy small{color:var(--print-muted);margin-top:0;font-size:7.25pt;line-height:1.35;display:block}.print-service-contract .print-pay-online{gap:14px;margin-top:10px;padding:8px 11px}.print-service-contract .print-pay-online h2{margin-bottom:3px;font-size:12pt}.print-service-contract .print-pay-online p{margin-bottom:3px;font-size:7.5pt}.print-service-contract .print-pay-online strong{font-size:7pt}.print-service-contract .print-pay-online small{margin-top:3px;font-size:6.75pt}.print-service-contract .print-pay-online img{width:.7in;height:.7in}.contract-batch-document .contract-coverage{gap:9px;padding:12px 0 6px}.contract-batch-document .contract-coverage section{padding:9px 13px}.contract-batch-document .contract-price-block{margin-top:8px}.contract-batch-document .contract-payment-copy{margin-top:8px;padding-top:6px}.contract-batch-document .print-pay-online{margin-top:7px;padding:6px 9px}.contract-batch-document footer{break-before:avoid-page;page-break-before:avoid;margin-top:0;padding-top:5px;position:absolute;bottom:0;left:0;right:0}.print-service-contract footer{border-top:2px solid var(--print-green);margin-top:10px;padding-top:7px}}@media (max-width:960px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid,.customer-summary-grid,.customer-address-groups{grid-template-columns:1fr}.customer-address-group{border-right:0;border-bottom:1px solid var(--line)}.customer-address-group:last-child{border-bottom:0}.customer-contract-create-services{grid-template-columns:1fr}.product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-item{grid-template-columns:28px minmax(230px,1.8fr) 90px 105px 90px 100px minmax(170px,1.2fr) 100px 36px;overflow-x:auto}.contract-work-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-work-table{min-width:980px}.payment-layout,.online-payment-link{grid-template-columns:1fr}.online-payment-link>form{justify-self:start}.online-payment-link>small,.inline-card-error{grid-column:1}.invoice-sms-panel,.invoice-email-panel{grid-template-columns:1fr}.invoice-sms-panel>form,.invoice-email-panel>form{justify-self:start}.invoice-sms-panel>small,.invoice-email-panel>small{grid-column:1}.payment-entry-form{border-right:0;border-bottom:1px solid var(--line)}.inline-contract-fields{grid-template-columns:1fr 1fr}.inline-contract-notes{grid-column:1/-1}}@media (max-width:720px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:16px;position:static}.sidebar .brand-mark{padding-bottom:12px}.nav{grid-template-columns:repeat(auto-fit,minmax(50px,1fr))}.nav-link{justify-content:center;font-size:0}.nav-unread-badge{min-width:18px;height:18px;margin:0;padding:0 5px;font-size:9px;position:absolute;top:3px;right:3px}.sidebar-footer{display:none}.topbar{padding:0 18px}.content{padding:22px 16px}.page-head{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch;width:100%}.invoice-search-form{grid-template-columns:1fr 1fr auto;width:100%;display:grid}.invoice-search-box{grid-column:1/-1}.invoice-search-box input{width:100%;min-height:46px;font-size:16px}.invoice-search-form select,.invoice-search-form .button{min-height:46px}.invoice-search-clear{width:46px;height:46px}.payments-search-form{grid-template-columns:1fr 1fr;display:grid}.payments-page-actions{justify-items:stretch;width:100%}.payments-search-form .invoice-search-box,.payments-search-form .button{grid-column:1/-1}.payment-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-stats .stat{padding:16px}.payment-stats .stat-value{font-size:24px}.payments-table{min-width:0;display:grid}.payments-table thead{display:none}.payments-table tbody{background:#f7faf8;gap:12px;padding:12px;display:grid}.payments-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.payments-table tbody td{text-align:left;border:0;border-bottom:1px solid #edf0ed;gap:5px;padding:11px 12px;display:grid}.payments-table tbody td:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.payments-table tbody td:nth-child(2),.payments-table tbody td:nth-child(3){grid-column:1/-1}.payments-table tbody td:nth-child(7){text-align:right;border-bottom:0}.text-page-head .search-form{grid-template-columns:1fr auto auto;display:grid}.text-page-head .invoice-search-box{grid-column:auto}.text-header-actions{justify-items:stretch}.twilio-inbox-setup{flex-direction:column;justify-content:flex-start;align-items:flex-start}.text-header-buttons{flex-direction:column;align-items:stretch}.text-header-buttons .button{justify-content:center;width:100%;min-height:44px}.new-text-overlay{align-items:end;padding:0}.new-text-dialog{border-radius:16px 16px 0 0;max-height:92dvh;overflow-y:auto}.new-text-dialog form{padding:18px 16px 24px}.text-inbox{grid-template-columns:1fr;height:auto;min-height:0}.conversation-list{border-right:0;border-bottom:1px solid var(--line)}.conversation-scroll{max-height:320px}.conversation-thread{min-height:600px}.conversation-thread-head{flex-direction:column;align-items:flex-start}.text-bubble{max-width:88%}.text-reply-form{position:sticky;bottom:0}.text-reply-form textarea{min-height:82px;font-size:16px}.contract-tabs{width:100%;margin-top:-8px}.contract-tabs a{text-align:center;flex:1;padding:9px 7px}.contract-year-filter{align-items:stretch;width:100%}.contract-year-filter label{flex:1}.contract-year-filter select,.contract-name-search input{width:100%;min-height:46px;font-size:16px}.contract-year-filter{grid-template-columns:1fr auto;display:grid}.contract-year-filter label:first-child{grid-column:1/-1}.contract-year-filter .button{min-height:46px}.contract-search-clear{align-self:end;width:46px;height:46px}.contract-work-stats{gap:10px}.contract-work-stats .stat{padding:16px}.contract-work-stats .stat-value{font-size:25px}.contract-town-group{overflow:hidden}.contract-work-table{min-width:0;display:grid}.contract-work-table thead{display:none}.contract-work-table tbody{background:#f7faf8;gap:12px;padding:12px;display:grid}.contract-work-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;box-shadow:0 6px 18px #192f230a}.contract-work-table tbody td{text-align:left;border:0;border-bottom:1px solid #edf0ed;gap:6px;padding:12px;display:grid}.contract-work-table tbody td:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.contract-work-table tbody td:first-child,.contract-work-table tbody td:nth-child(2),.contract-work-table tbody td:nth-child(3){grid-column:1/-1}.contract-work-table tbody td:nth-child(4){grid-column:1}.contract-work-table tbody td:nth-child(5){grid-column:2}.contract-work-table tbody td:last-child{border-bottom:0;grid-column:1/-1;justify-items:end}.contract-progress-button{min-height:54px}.contract-payment-status{width:fit-content}.contract-route-form{grid-template-columns:1fr;padding:16px 16px 10px}.contract-route-form .field input,.contract-route-form .field select,.contract-optimize-button{min-height:48px;font-size:16px}.contract-route-disclosure{padding:0 16px 16px}.contract-route-controls>.form-error{margin:0 16px 16px}.contract-route-batches{flex-direction:column;align-items:stretch;padding:13px 16px}.contract-route-batches>div{grid-template-columns:1fr 1fr;display:grid}.contract-route-stop-list li{grid-template-columns:30px 18px minmax(0,1fr);padding:14px 16px}.route-stop-links{grid-column:3}.contract-route-map-links{padding:16px;display:grid}.contract-route-map-links .button{text-align:center;justify-content:center;min-height:48px}.inline-contract-fields{grid-template-columns:1fr}.inline-contract-notes{grid-column:1}.inline-contract-actions,.contract-initialize{flex-direction:column;align-items:stretch}.contract-initialize-action{justify-items:stretch}.contract-batch-controls{grid-template-columns:1fr;padding:16px}.contract-batch-controls form{flex-direction:column;align-items:stretch}.contract-batch-controls form select,.contract-batch-controls form .button{min-height:46px}.contract-batch-nav{grid-template-columns:1fr 1fr}.contract-batch-nav .contract-batch-print-button{grid-area:1/1/auto/-1}.contract-batch-nav>:last-child{justify-self:stretch}.contract-batch-summary{grid-template-columns:1fr auto;gap:10px}.contract-batch-coverage{flex-direction:column;grid-area:2/1/auto/-1}.contract-batch-coverage>span{border-radius:9px;justify-content:space-between}.contract-batch-number{grid-area:1/2}.contract-batch-edit{grid-area:2/2;justify-self:end}.contract-batch-editor,.contract-batch-editor>label{grid-template-columns:1fr}.contract-batch-editor .form-error,.contract-batch-editor .form-success,.contract-batch-editor-actions{grid-column:1}.form-grid{grid-template-columns:1fr}.address-detail-bar{flex-direction:column;align-items:flex-start;gap:7px}.address-detail-grid{grid-template-columns:1fr}.service-location-editor-head{grid-template-columns:1fr auto}.service-location-editor-head .icon-button{grid-area:1/2}.primary-location-choice{grid-column:1/-1}.staff-form-footer{flex-direction:column;align-items:stretch}.span-2{grid-column:auto}.contract-services,.product-toolbar{grid-template-columns:1fr}.product-toolbar>.button{min-height:48px}.product-inactive-toggle{min-height:42px}.product-form-grid{grid-template-columns:1fr;gap:14px;padding:16px}.product-form-grid .product-name-field{grid-column:auto}.product-form-grid .field input{min-height:48px;font-size:16px}.product-create-panel>.form-error,.product-create-panel>.form-success,.product-edit-form>.form-error{margin:0 16px}.product-form-actions{flex-direction:column-reverse;align-items:stretch;padding:0 16px 16px}.product-form-actions .button{min-height:46px}.products-table,.products-table tbody{display:grid}.products-table thead{display:none}.products-table tbody{gap:12px;padding:12px}.products-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.products-table tbody tr>td{text-align:right;border:0;border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 13px;display:flex}.products-table tbody tr>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.products-table tbody tr>td:first-child,.products-table tbody tr>.product-row-actions{grid-column:1/-1}.products-table tbody tr>td:first-child{text-align:left;display:block}.products-table tbody tr>td:first-child:before,.products-table tbody tr>.product-row-actions:before{display:none}.products-table tbody tr>.product-row-actions{border-bottom:0;justify-content:flex-end}.products-table tbody .product-edit-row{display:block}.products-table tbody .product-edit-row>td{text-align:left;padding:0;display:block}.products-table tbody .product-edit-row>td:before{display:none}.service-card{grid-template-columns:22px 42px 1fr}.service-price{grid-column:2/-1}.payment-entry-form{grid-template-columns:1fr}.payment-entry-form .span-2{grid-column:auto}.payment-history-row{grid-template-columns:1fr auto}.void-payment-form{grid-column:1/-1}.account-statement-actions{grid-template-columns:1fr;padding:16px}.account-link-action,.account-text-action{flex-direction:column;align-items:stretch}.account-link-action .button,.account-link-action form,.account-link-action form .button,.account-text-action form .button{justify-content:center;width:100%;min-height:46px}.account-invoice-table,.account-invoice-table tbody{display:grid}.account-invoice-table thead{display:none}.account-invoice-table tbody{gap:10px;padding:12px}.account-invoice-table tbody tr{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.account-invoice-table tbody td{text-align:right;border:0;border-bottom:1px solid #edf0ed;justify-content:space-between;gap:12px;padding:11px 12px;display:flex}.account-invoice-table tbody td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.account-invoice-table tbody td:first-child{text-align:left;grid-column:1/-1}.account-invoice-table tbody td:last-child{border-bottom:0}.account-public-invoices article{grid-template-columns:1fr}.account-public-invoices dl{border-top:1px solid var(--line);padding-top:10px}.statement-customer-block{flex-direction:column;gap:16px}.statement-balance{text-align:left}.statement-head{display:none}.statement-table{border:0;gap:10px;display:grid}.statement-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;padding:12px}.statement-row>*{justify-content:space-between;gap:10px;display:flex;text-align:right!important}.statement-row>:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.statement-row>:first-child{grid-column:1/-1}.pay-shell{padding-top:30px}.pay-card{padding:24px 20px}.pay-footer{flex-direction:column}.legal-header{flex-direction:column;align-items:flex-start}.legal-header nav{gap:16px}.legal-document{padding-top:42px}.legal-footer{flex-direction:column}.public-invoice-shell{background:#fff;padding:0 0 88px}.public-invoice-actions{z-index:30;right:10px;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-radius:13px;width:auto;margin:0;padding:8px;position:fixed;left:10px;box-shadow:0 12px 34px #1748322e}.public-invoice-actions .button{flex:1;min-width:0;padding:12px 8px;font-size:13px}.public-invoice-document{width:100%;box-shadow:none;border:0;border-radius:0;padding:24px 16px}.public-invoice-head{gap:14px;padding-bottom:18px}.public-invoice-brand{gap:9px}.public-invoice-brand>span{width:36px;height:36px}.public-invoice-brand strong{font-size:17px}.public-invoice-brand small{display:none}.public-invoice-brand address{font-size:8px}.public-invoice-title h1{font-size:20px}.public-invoice-title>strong{font-size:13px}.public-invoice-addresses{grid-template-columns:1fr;gap:20px;padding:22px 0}.public-invoice-addresses dl{grid-template-columns:auto 1fr}.public-invoice-addresses dd{text-align:left}.public-invoice-line-head{display:none}.public-invoice-lines{border:0;gap:10px;display:grid}.public-invoice-line{border:1px solid var(--line);border-radius:11px;grid-template-columns:1fr 1fr;gap:10px 18px;padding:14px}.public-invoice-line>div{border-bottom:1px solid var(--line);grid-column:1/-1;padding-bottom:10px}.public-invoice-line>span,.public-invoice-line>strong[data-label]{text-align:right;justify-content:space-between;gap:8px;display:flex}.public-invoice-line>span:before,.public-invoice-line>strong[data-label]:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.public-invoice-closing{grid-template-columns:1fr;gap:24px}.public-invoice-totals{order:-1}.public-invoice-document>footer{flex-direction:column;align-items:flex-start;gap:5px}.invoice-editor{gap:14px;padding-bottom:84px}.invoice-editor .form-panel{border-radius:12px}.invoice-editor .panel-head{gap:12px;padding:14px 16px}.invoice-editor .panel-head h2{font-size:18px}.invoice-editor .form-grid{gap:15px;padding:16px}.invoice-editor .field input,.invoice-editor .field select,.invoice-editor .field textarea{min-height:48px;font-size:16px}.invoice-editor .customer-suggestions,.invoice-editor .product-suggestions{max-height:42vh}.invoice-editor .customer-suggestions button{min-height:58px;padding:13px 14px}.invoice-editor .customer-suggestions button strong{font-size:14px}.invoice-editor .customer-suggestions button small{font-size:11px;line-height:1.35}.invoice-editor .saved-job-addresses>div{grid-template-columns:1fr}.invoice-editor .saved-job-addresses button{min-height:64px;padding:13px}.invoice-editor .saved-job-addresses button strong{font-size:13px}.invoice-editor .saved-job-addresses button small{text-overflow:clip;white-space:normal;font-size:11px;line-height:1.35;overflow:visible}.invoice-editor .line-items{background:#f8faf8;gap:12px;padding:12px}.invoice-editor .line-item{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:13px 10px;padding:16px;position:relative;overflow:visible;box-shadow:0 7px 22px #192f230d}.invoice-editor .line-number{z-index:2;position:absolute;top:19px;left:16px}.invoice-editor .product-search-field{grid-column:1/-1;padding:0 39px 0 34px}.invoice-editor .qty-field{grid-column:1}.invoice-editor .unit-price-field{grid-column:2}.invoice-editor .tax-field{grid-column:1}.invoice-editor .description-field{grid-column:1/-1}.invoice-editor .line-item .field{gap:7px;font-size:11px}.invoice-editor .line-item .field input{min-height:46px;padding:11px 12px;font-size:16px}.invoice-editor .quantity-stepper{grid-template-columns:44px minmax(42px,1fr) 44px;min-height:46px}.invoice-editor .line-item .field .quantity-stepper input{min-height:44px;padding:8px 2px}.invoice-editor .line-item>.icon-button{z-index:2;width:36px;height:36px;position:absolute;top:14px;right:14px}.invoice-editor .line-total{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:baseline;padding:13px 0 0;font-size:17px;display:flex}.invoice-editor .line-total:before{content:"Line total";color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.invoice-editor .product-suggestions{left:-34px;right:-39px}.invoice-editor .product-suggestions button{min-height:56px;padding:12px 13px}.invoice-editor .invoice-total{justify-content:space-between;gap:16px;padding:16px}.invoice-editor .invoice-total strong{min-width:0;font-size:25px}.invoice-editor .editor-actions{z-index:25;bottom:max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #d1dcd5f2;border-radius:13px;gap:8px;padding:9px;position:sticky;box-shadow:0 14px 34px #1748322e}.invoice-editor .editor-actions .button{flex:1;place-items:center;min-width:0;min-height:48px;padding:12px;display:grid}}.contract-service-print-heading,.contract-service-print-status{display:none}.contract-service-print-actions{justify-content:flex-end;margin-bottom:6px;display:flex}@media print{.contract-service-list>.page-head,.contract-service-print-actions,.contract-service-list>.contract-tabs,.contract-service-list>.contract-work-stats{display:none!important}.contract-service-print-heading{margin-bottom:6px;display:block}.contract-service-print-heading h1{margin:0 0 2px;font-size:12pt}.contract-service-print-heading p{margin:0;font-size:8pt}.contract-service-list .contract-town-group{box-shadow:none;break-inside:auto;border:0;margin:0 0 5px;overflow:visible}.contract-service-list .panel-head{break-after:avoid;padding:3px 0}.contract-service-list .panel-head h2{font-size:9pt}.contract-service-list .panel-head p{display:none}.contract-service-list .table-wrap{overflow:visible}.contract-service-list table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;display:table}.contract-service-list thead{display:table-header-group}.contract-service-list tbody{display:table-row-group}.contract-service-list tr{break-inside:avoid;page-break-inside:avoid;display:table-row}.contract-service-list th,.contract-service-list td{text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;border:1px solid #bbb;padding:2px 4px;font-size:7.5pt;line-height:1.15;display:table-cell}.contract-service-list td:before{display:none}.contract-service-list th{color:#111;background:#eee}.contract-service-list th:last-child,.contract-service-list td:last-child,.contract-service-list .contract-progress-form,.contract-service-list td>.not-included-service{display:none}.contract-service-print-status{display:inline}.contract-service-list a{color:#111;text-decoration:none}.contract-service-list .contract-payment-status{color:#111;white-space:normal;background:0 0;padding:0;font-size:7.5pt;line-height:1.15}.contract-service-list .contract-town-title svg{display:none}.contract-service-list tbody{background:#fff;padding:0}.contract-service-list tbody tr{box-shadow:none;background:#fff;border-radius:0}.contract-service-list td:nth-child(2) strong{font-weight:400;display:inline}.contract-service-list td:nth-child(2) small{color:#333;margin:0 0 0 3px;font-size:7pt;display:inline}.contract-service-list th{letter-spacing:0;text-transform:none}.contract-service-list .contract-payment-status{line-height:1.15}.contract-service-list .contract-payment-status svg{display:none}}.contract-service-print-actions{flex-wrap:wrap;align-items:center;gap:12px 20px}.contract-winter-filter{color:var(--ink);align-items:center;gap:9px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.contract-winter-switch{background:#a2aaa5;border-radius:20px;width:34px;height:20px;padding:3px}.contract-winter-switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;display:block}.contract-winter-filter[aria-checked=true] .contract-winter-switch{background:var(--green)}.contract-winter-filter[aria-checked=true] .contract-winter-switch:after{transform:translate(14px)}.contract-winter-filter:focus-visible{outline:2px solid var(--green);outline-offset:4px}
