:root{--dark:#11181b;--dark2:#202b2f;--green:#078a08;--bg:#eef0f5;--line:#dedfe4;--text:#171a1f}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:246px 1fr;min-height:100vh}.side{background:linear-gradient(#0e1112,#1f2a2e);color:#fff}.brand{height:150px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.12)}.logo{object-fit:contain}.nav a{height:58px;display:flex;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:800}.nav a:hover{background:var(--green)}.upgrade{margin:24px 18px;color:#ddd;border-top:1px solid var(--gold);padding-top:16px;font-size:13px}.upgrade b{color:var(--gold)}.top{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 2px 12px #0002;position:-webkit-sticky;position:sticky;top:0;z-index:10}.top h1{font-size:30px;margin:0}.page{padding:30px 36px}.btn{border:0;border-radius:26px;padding:12px 24px;font-weight:900;display:inline-flex;gap:8px;align-items:center;justify-content:center}.green{background:var(--green);color:white}.gray{background:#e1e1e1}.outline{background:white;border:2px solid #9da0a5}.danger{background:#e84a2a;color:#fff}.small{padding:8px 14px;font-size:13px}.search{height:54px;border:0;border-radius:28px;background:#dedfe3;padding:0 24px;width:100%}.searchline{display:flex;gap:16px;margin-bottom:22px}.tabs{display:flex;gap:34px;margin:8px 0 18px;border-bottom:1px solid var(--line);overflow:auto}.tab{padding:0 0 14px;font-weight:900;color:#666}.tab.active{color:var(--green);border-bottom:3px solid var(--green)}.card,.panel{background:#fff;border-radius:14px;box-shadow:0 8px 28px #0001}.card{padding:24px}.list-row{display:grid;grid-template-columns:1.6fr 130px 140px 130px 160px;grid-gap:18px;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.list-head{text-transform:uppercase;color:#666;background:#fafafa}.list-head,.status{font-size:12px;font-weight:900}.status{display:inline-flex;justify-content:center;border-radius:18px;padding:5px 13px;background:#eee;color:#777}.sent{background:#d7ebff;color:#1c63a8}.approved,.paid{background:#def6df;color:#087b08}.row-actions{gap:8px;justify-content:flex-end}.builder{max-width:1320px;margin:0 auto}.build-title{font-size:26px;font-weight:900;margin:0 0 16px;gap:12px}.estimate-card{background:#fff;border-radius:16px;box-shadow:0 12px 34px #0002;overflow:hidden}.pad{padding:28px}.info-grid{display:grid;grid-template-columns:270px minmax(0,1fr) 260px;grid-gap:28px;gap:28px}.company{font-size:17px;line-height:1.4}.company h2{font-size:28px}.prepared{border:1px solid var(--line);border-radius:14px;padding:20px;min-height:245px}.prepared-head{display:flex;justify-content:space-between;gap:12px}.prepared-name{font-size:24px;font-weight:900;margin:10px 0}.tiny{font-size:13px;color:var(--green);text-decoration:underline}.field,.tiny{font-weight:900}.field{display:grid;grid-gap:6px;gap:6px;font-size:12px;text-transform:uppercase;color:#666}.field input,.field select,.field textarea{border:1px solid #d6d7da;border-radius:8px;min-height:44px;padding:10px 12px;text-transform:none;font-weight:500}.field textarea{min-height:96px}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.one{grid-template-columns:1fr}.section{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.notice{background:#fff8df;border-left:6px solid var(--gold);padding:14px;border-radius:8px;margin-bottom:18px;font-weight:800}.client-step{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.client-result{display:block;padding:15px 16px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}.client-result:hover{border-color:var(--green)}.ai-pill{border:1px solid #decfff;background:#f1ebff;color:#484bed;border-radius:999px;padding:12px 22px;font-weight:900;text-transform:uppercase;margin-bottom:22px}.joist-head{display:grid;grid-template-columns:1fr 150px 120px 120px 120px 135px;font-weight:900;border-bottom:2px solid #111;padding:0 0 18px;margin-bottom:18px}.line-card{position:relative;margin-left:22px;border:1px solid #ccc;border-radius:4px;background:#fff;margin-bottom:18px}.line-main{display:grid;grid-template-columns:1fr 150px 120px 120px 120px 135px;border-bottom:1px solid #d6d6d6}.line-main input,.line-main strong{min-height:56px;border:0;border-right:1px solid #ccc;padding:0 16px;display:flex;align-items:center}.line-title{display:grid;grid-template-columns:1fr 150px;border-right:1px solid #ccc}.item-btn{border:0;background:#fff;color:var(--green);font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px}.desc{width:100%;min-height:66px;border:0;border-bottom:1px solid #ddd;padding:18px 16px;resize:vertical}.line-bottom{min-height:64px;display:flex;align-items:center;gap:16px;padding:12px 16px}.remove{position:absolute;left:-42px;top:44px;width:28px;height:28px;border-radius:999px;background:#ea5b39;color:#fff;border:0;font-size:24px}.add-banner{width:100%;height:76px;border:2px solid var(--green);background:#fff;color:var(--green);border-radius:5px;display:flex;align-items:center;gap:16px;padding:0 28px;font-size:18px;font-weight:900;margin:26px 0}.total{width:min(380px,100%);margin-left:auto;margin-top:18px;background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:16px}.total-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.total-line:last-child{border-bottom:3px solid #111;font-size:20px;font-weight:900}.helper{background:#fffdf5;border:1px solid #edd79b;border-radius:12px;padding:14px;color:#5d4c1a;font-size:14px;margin-top:16px}.picker-back{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:1000;padding:20px}.picker{width:min(680px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 40px));background:#fff;box-shadow:0 20px 70px #0006;display:flex;flex-direction:column}.picker-title{display:flex;justify-content:space-between;padding:26px 32px 14px}.picker-search{height:70px;display:flex;gap:14px;align-items:center;margin:0 32px;border-bottom:1px solid #999;color:var(--green)}.picker-search input{border:0;outline:0;font-size:22px;flex:1 1}.picker-list{overflow:auto;padding:24px 32px;min-height:360px}.letter{height:54px;background:#f6f6f6;color:#666;display:flex;align-items:center;padding:0 20px}.pick-item{width:100%;text-align:left;border:0;background:#fff;padding:14px 20px;border-bottom:1px solid #eee}.pick-item:hover{background:#f3fff3}.pick-item strong{font-size:20px;display:block}.pick-item small{display:block;color:#777;margin-top:6px}.picker-footer{background:#fafafa;padding:18px 32px;text-align:right}.photos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.photo{border-radius:12px}.photo img{width:100%;height:150px;object-fit:cover}.photo-body{padding:12px}.ptype{display:inline-block;background:#111;color:#fff;border-radius:18px;padding:4px 10px;font-size:12px;font-weight:900}.before{background:#9c7a08}.after{background:var(--green)}.doc-bg{background:#2a2a2a;min-height:100vh;padding:32px 0}.doc{width:min(980px,calc(100% - 24px));background:#fff;margin:0 auto 26px;padding:58px;box-shadow:0 8px 30px #0006}.doc-title{text-align:center;color:#c2c2c2;font-size:30px;letter-spacing:1px;margin-bottom:42px}.doc-top{display:grid;grid-template-columns:1fr 320px;grid-gap:32px;gap:32px}.doc-head,.doc-row{display:grid;grid-template-columns:1fr 120px 90px 130px;grid-gap:14px;gap:14px}.doc-head{font-weight:900;border-bottom:2px solid #111;padding-bottom:12px;margin-top:44px}.doc-row{padding:20px 0;border-bottom:1px solid #ddd}.pay-warn{background:#fff8e7;border:1px solid #f1d393;border-radius:12px;padding:14px;margin-top:20px;color:#5a4a18}.approve{background:#fbfff8;border:1px solid #cde6c9;border-radius:14px;padding:22px;margin-top:38px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-hero{background:linear-gradient(135deg,#111,#2d3336)}.login-hero,.login-panel{display:grid;place-items:center}.login-panel{background:#f2f2f2}.login-form{background:white;padding:34px;border-radius:12px;box-shadow:0 8px 24px #0001;display:grid;grid-gap:16px;gap:16px}.login-form input{height:52px;border:1px solid #ccc;border-radius:6px;padding:0 14px}@media(max-width:1100px){.app{grid-template-columns:1fr}.brand{height:130px}.nav{display:grid;grid-template-columns:repeat(5,1fr)}.nav a{justify-content:center;padding:0}.nav span,.upgrade{display:none}.client-step,.doc-top,.info-grid{grid-template-columns:1fr}.list-row{grid-template-columns:1fr 90px 120px}.list-head,.list-row>:nth-child(3),.list-row>:nth-child(4){display:none}.row-actions{grid-column:1/-1;justify-content:flex-start}.joist-head{display:none}.line-main{grid-template-columns:1fr 1fr}.line-title{grid-column:1/-1}.doc-head{display:none}.doc-row{grid-template-columns:1fr}}@media(max-width:700px){.top{height:auto;flex-direction:column;align-items:stretch;padding:18px 26px;gap:12px}.top h1{font-size:30px}.page{padding:18px}.searchline{flex-direction:column}.tabs{gap:28px}.grid{grid-template-columns:1fr}.doc,.pad{padding:24px 18px}.line-card{margin-left:0}.remove{left:auto;right:8px;top:8px}.line-main,.line-title,.login{grid-template-columns:1fr}.login-hero{min-height:220px}.nav{grid-template-columns:repeat(5,1fr)}}.company-centered{text-align:center;display:flex;flex-direction:column;align-items:center}.company-centered .logo{margin:0 auto 18px}.doc-company{text-align:center}.doc-company .logo{margin:0 auto 18px}.field input[type=file]{padding:12px;background:#fff;cursor:pointer}.field input[type=file]::-webkit-file-upload-button{border:0;border-radius:20px;background:var(--green);color:white;font-weight:900;padding:8px 14px;margin-right:12px;cursor:pointer}.field input[type=file]::file-selector-button{border:0;border-radius:20px;background:var(--green);color:white;font-weight:900;padding:8px 14px;margin-right:12px;cursor:pointer}:root{--gold:#f3c237;--gold-dark:#c99700;--gold-soft:#fff4c7}.btn.green,.green{background:var(--gold)!important;color:#111!important;border:2px solid var(--gold-dark)!important}.btn.green:hover,.green:hover{filter:brightness(.96)}.add-banner{border-color:var(--gold-dark)!important;color:#111!important;background:var(--gold-soft)!important}.item-btn{background:#fffdf0!important}.item-btn:hover,.pick-item:hover{background:var(--gold-soft)!important}.picker-search{color:var(--gold-dark)!important}.ai-pill{background:var(--gold-soft)!important;border-color:var(--gold-dark)!important}.field input[type=file]::file-selector-button{background:var(--gold)!important;color:#111!important;border:1px solid var(--gold-dark)!important}.tab.active{color:#111!important;border-bottom-color:var(--gold-dark)!important}.nav a:hover{background:var(--gold)!important;color:#111!important}.status.sent{background:var(--gold-soft)!important;color:#7a5b00!important}.doc-company-left{max-width:310px}.doc-company-left .logo{margin:0 0 18px!important}.doc-items-clean{margin-top:46px;border-top:2px solid #111;padding-top:18px}.doc-item-clean{padding:18px 0 22px}.doc-item-clean h3{margin:0 0 12px;font-size:20px;font-weight:900}.doc-item-clean p{margin:0 0 12px;line-height:1.45}.doc-item-price-line{display:flex;justify-content:flex-end;gap:34px;font-size:16px;margin-top:10px}.doc-item-price-line span{white-space:nowrap}@media(max-width:700px){.doc-company-left{text-align:center!important;margin:0 auto}.doc-company-left .logo{margin:0 auto 18px!important}.doc-item-price-line{justify-content:flex-start;flex-wrap:wrap;gap:10px 18px}}.prepared-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.prepared-right h2{align-self:flex-end;text-align:right;margin:0 0 8px}.prepared-right .prepared-name{margin:6px 0 10px}.prepared-right .prepared-lines{width:100%;text-align:right}.prepared-actions{display:flex;gap:14px;margin-top:14px;justify-content:flex-end;flex-wrap:wrap}.doc-item-clean{padding:10px 0 12px!important}.doc-item-clean h3{margin:0 0 8px!important}.doc-item-clean p{margin:0 0 6px!important}.doc-item-price-line{gap:0!important;margin-top:4px!important}.doc-item-price-line span{margin-left:auto;font-size:17px}@media(max-width:1100px){.prepared-right{align-items:stretch;text-align:left}.prepared-right h2{align-self:flex-start;text-align:left}.prepared-right .prepared-lines{text-align:left}.prepared-actions{justify-content:flex-start}}.photo-upload-form{margin-top:12px}.checkbox-field{align-content:start}.checkbox-field input[type=checkbox]{width:28px;height:28px;min-height:28px;accent-color:var(--gold-dark)}.selected-photo-preview{display:flex;gap:16px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf0}.selected-photo-preview img{width:150px;height:105px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.photo-submit{margin-top:8px}.line-bottom .btn.green.small{padding:9px 16px}@media(max-width:700px){.selected-photo-preview{align-items:flex-start;flex-direction:column}.selected-photo-preview img{width:100%;height:auto;max-height:220px}}.photo-submit[disabled]{opacity:.7}.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:18px;gap:18px}.photo{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.photo img,.project-photo-full{display:block;width:100%;height:auto!important;max-height:520px;object-fit:contain!important;background:#fff}.photo-body{padding:10px 12px}.photo-body h3:empty,.photo-body small:empty{display:none}.doc .photos .photo,.doc-photo-card{border:0!important;background:transparent!important;box-shadow:none!important}.doc .photos .photo img,.doc .project-photo-full{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:10px}.selected-photo-preview{align-items:center}.selected-photo-preview img{object-fit:contain!important;background:#fff}.photo-upload-form .btn.gray.small{margin-top:10px;padding:8px 14px}.danger-notice{border-color:#ef4444!important;background:#fff1f2!important;color:#991b1b!important}.photo-submit[disabled]{opacity:.72;cursor:not-allowed}@media(max-width:700px){.photos{grid-template-columns:1fr}}.photos{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;grid-gap:18px!important;gap:18px!important;align-items:start}.photo-card{border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 6px 18px rgba(0,0,0,.04)}.photo-thumb-button{width:100%;border:0;padding:0;background:#f8f8f8;cursor:pointer;text-align:left;position:relative}.photo-card img,.photo-thumb-button img,.project-photo-full{display:block;width:100%;height:220px!important;object-fit:cover!important;background:#f4f4f4}.doc .photo-card img,.doc .photo-thumb-button img,.doc .project-photo-full{height:210px!important;border-radius:0!important}.photo-zoom-badge{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(17,17,17,.78);color:#fff;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800}.photo-body{padding:14px 14px 16px!important}.photo-body h3{margin:0 0 8px;font-size:16px;line-height:1.3}.photo-body small{display:block;color:#666;line-height:1.45}.photo-actions{margin-top:12px}.lightbox-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.82);padding:18px}.lightbox-backdrop,.lightbox-dialog{display:flex;align-items:center;justify-content:center}.lightbox-dialog{position:relative;width:min(1100px,100%);max-height:min(92vh,900px);gap:14px}.lightbox-media-wrap{width:100%;background:#111;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}.lightbox-image{display:block;width:100%;max-height:calc(92vh - 92px);object-fit:contain;background:#111}.lightbox-meta{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px 18px 16px;background:#191919;color:#fff}.lightbox-submeta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;color:#d1d5db;font-size:13px}.lightbox-counter{white-space:nowrap;font-weight:800;color:#f3c237}.lightbox-close,.lightbox-nav{border:0;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#111;cursor:pointer;flex:0 0 auto}.lightbox-close{position:absolute;top:14px;right:14px;z-index:2}.lightbox-close:hover,.lightbox-nav:hover,.photo-thumb-button:hover .photo-zoom-badge{filter:brightness(.96)}@media(max-width:700px){.photos{grid-template-columns:1fr!important}.doc .photo-card img,.doc .photo-thumb-button img,.doc .project-photo-full,.photo-card img,.photo-thumb-button img,.project-photo-full{height:190px!important}.lightbox-dialog{gap:8px}.lightbox-nav{position:absolute;bottom:92px;z-index:2}.lightbox-nav.left{left:10px}.lightbox-nav.right{right:10px}.lightbox-meta{flex-direction:column;align-items:flex-start}.lightbox-counter{align-self:flex-end}.photo-zoom-badge{font-size:11px;padding:7px 9px}}.unified-photos{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,260px))!important;grid-gap:18px!important;gap:18px!important;justify-content:flex-start;align-items:start}.photo-card{width:100%}.photo-thumb-frame{width:100%;aspect-ratio:4/3;overflow:hidden;background:#f4f4f4}.doc .photo-card img,.doc .photo-thumb-button img,.doc .project-photo-full,.photo-card img,.photo-thumb-button img,.project-photo-full{width:100%;height:100%!important;object-fit:cover!important;display:block}.compact-photo-body{padding:12px!important}.compact-photo-body h3{font-size:15px;margin:0 0 8px}.photo-type-badge{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.01em;background:rgba(17,17,17,.8);color:#fff}.photo-type-badge.before{background:#8b5cf6}.photo-type-badge.after{background:#16a34a}.photo-type-badge.project{background:#111827}.inline-field{margin:0!important}.inline-field input,.inline-field select{min-height:40px}.photo-edit-grid{display:grid;grid-gap:10px;gap:10px}.inline-checkbox{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:700}.delete-row,.photo-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.delete-row .btn,.photo-admin-actions .btn{min-height:38px}.lightbox-title-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lightbox-title-row .photo-type-badge{position:static}.compact-preview{display:grid;grid-template-columns:120px 1fr;grid-gap:14px;gap:14px;align-items:start}.selected-photo-thumb{width:120px;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}.selected-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-upload-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.photo-upload-form .checkbox-field{align-self:end}.photo-submit{margin-top:14px}@media(max-width:700px){.unified-photos{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:14px!important}.compact-preview{grid-template-columns:1fr}.selected-photo-thumb{width:100%;max-width:140px}}.client-click-editor{width:100%}.client-click-editor>summary{list-style:none;cursor:pointer;outline:none}.client-click-editor>summary::-webkit-details-marker{display:none}.client-summary-content{min-height:360px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;justify-content:flex-start}.client-click-hint{margin-top:22px;display:inline-flex;align-self:flex-end;color:#0b7f16;font-size:14px;font-weight:800;text-decoration:underline}.client-click-editor[open] .client-summary-content{min-height:auto;padding-bottom:18px;border-bottom:1px solid var(--line)}.client-inline-form{padding-top:18px;text-align:left}.client-inline-form .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.client-save-note{margin-top:12px;color:#6b7280;font-weight:700}@media(max-width:900px){.client-summary-content{align-items:flex-start;text-align:left;min-height:auto}.client-click-hint{align-self:flex-start}.client-inline-form .grid.two{grid-template-columns:1fr}}.client-click-editor summary{list-style:none}.client-click-editor summary::-webkit-details-marker{display:none}.client-click-editor summary:hover .client-summary-content{background:#fffdf3}.client-summary-content{border-radius:12px;padding:8px;transition:background .18s ease}.invoice-card .info-grid,.invoice-info-grid{align-items:start}.invoice-prepared{text-align:right}.invoice-doc-head{margin-top:0}.invoice-doc-row{align-items:start}.add-inline-details{margin-top:18px;border:1px dashed var(--line);border-radius:14px;padding:14px 16px;background:#fffdf5}.add-inline-details summary{cursor:pointer;font-weight:900;color:#111;display:flex;gap:8px;align-items:center}.add-invoice-form{margin-top:16px}.add-invoice-form .btn{margin-top:14px}.invoice-total-box{margin-top:24px}.invoice-total-box .paid-line{color:#087b08}.invoice-total-box .balance-line{font-size:21px}.payment-section{margin-top:28px}.payment-form{background:#fffdf5;border:1px solid #ecd07a;border-radius:16px;padding:18px}.payment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-form .btn{margin-top:16px}.payment-history{margin-top:18px;display:grid;grid-gap:10px;gap:10px}.payment-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.payment-row small{display:block;color:#666;margin-top:4px}.muted{color:#666}@media(max-width:900px){.payment-grid{grid-template-columns:1fr}.invoice-prepared{text-align:left}}.document-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.document-actions .btn{padding:10px 16px;min-height:42px}.client-click-hint{display:none!important}.client-click-editor summary{cursor:pointer}.client-click-editor summary:focus-visible .client-summary-content,.client-click-editor summary:hover .client-summary-content{background:#fffdf3}.invoice-public-total .paid-line b,.invoice-public-total .paid-line span,.invoice-total-box .paid-line b,.invoice-total-box .paid-line span{color:#078a08}.payment-row b,.public-payment-row b{display:block}.public-payment-list{display:grid;grid-gap:12px;gap:12px}.public-payment-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}.public-payment-row small{display:block;color:#666;margin-top:5px}@media print{body{background:#fff!important}.app>.side,.approve,.lightbox-backdrop,.no-print,.top{display:none!important}.app{display:block!important}.builder,.page{padding:0!important;margin:0!important;max-width:none!important}.doc-bg,.invoice-public-bg{background:#fff!important;padding:0!important}.doc{width:100%!important;max-width:none!important;margin:0!important;padding:28px 36px!important}.doc,.estimate-card,.invoice-card{box-shadow:none!important;border-radius:0!important}}@media(max-width:900px){.document-actions{width:100%}.document-actions .btn{flex:1 1 140px}}.photos-final-rule{margin:42px 0 24px}.photos-final-title{letter-spacing:.02em;text-transform:uppercase}.public-photos.compact-photos{grid-template-columns:repeat(auto-fit,minmax(135px,170px))!important;gap:14px!important;justify-content:flex-start}.public-photos.compact-photos .photo-card{border-radius:12px!important}.public-photos.compact-photos .photo-thumb-frame{aspect-ratio:4/3}.doc .public-photos.compact-photos .photo-card img,.doc .public-photos.compact-photos .photo-thumb-button img,.public-photos.compact-photos .photo-thumb-button img{height:100%!important;object-fit:cover!important}.public-photos.compact-photos .photo-body,.public-photos.compact-photos .photo-type-badge{display:none!important}.public-photos.compact-photos .photo-zoom-badge{right:7px;bottom:7px;padding:5px 7px;font-size:10px}@media(max-width:700px){.public-photos.compact-photos{grid-template-columns:repeat(2,minmax(130px,1fr))!important;gap:12px!important}}.line-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 10px}.add-line-btn,.add-line-list-btn{min-height:48px}.add-line-btn{padding:12px 20px!important}.add-line-list-btn{border-color:#d8d9dd!important;background:#fff!important;color:#111!important}.line-card{overflow:visible}.drag-handle{position:absolute;right:-44px;top:44px;width:32px;height:32px;border-radius:8px;border:1px solid #d4d6db;background:#f4f5f7;color:#8b8f97;display:flex;align-items:center;justify-content:center;cursor:-webkit-grab;cursor:grab}.drag-handle:hover{background:#ebedf0;color:#5c6169}.line-card.dragging{opacity:.7;box-shadow:0 8px 24px #0001}.new-line-card{border-style:dashed}@media(max-width:700px){.drag-handle{right:44px;top:8px}.line-actions-row{flex-direction:column;align-items:stretch}.add-line-btn,.add-line-list-btn{width:100%}}.ai-pill.compact-button,.compact-action,.compact-button,.compact-save,.item-btn.compact-button{min-height:34px!important;padding:7px 13px!important;font-size:14px!important;border-radius:12px!important}.ai-pill.compact-button{width:auto!important;max-width:max-content;margin-bottom:18px}.compact-action{min-height:40px!important;padding:9px 16px!important}.line-actions-row{gap:10px!important;margin:18px 0 10px!important}.add-line-btn,.add-line-list-btn{min-height:40px!important}.line-bottom.compact-line-bottom{gap:12px;align-items:center}.autosave-state{color:#6b7280;font-size:13px;font-weight:700}.compact-save{background:#e5e7eb!important;color:#111!important;border-color:#d1d5db!important}.compact-remove{font-size:20px!important}.compact-remove,.drag-handle{width:30px!important;height:30px!important}.line-main input,.line-main strong,.line-title input{min-height:42px}.desc{min-height:72px}@media(max-width:700px){.compact-action,.compact-button,.compact-save{font-size:13px!important}}.simple-photo-upload-grid{grid-template-columns:minmax(260px,1fr) 170px;align-items:end}.simple-photo-checkbox{align-self:end}.photo-upload-actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.compact-photo-btn{min-height:36px!important;padding:8px 14px!important;font-size:14px!important;border-radius:12px!important}.subtle-photo-btn{background:#f3f4f6!important;color:#111!important;border-color:#d1d5db!important}.unified-photos{grid-template-columns:repeat(auto-fit,minmax(190px,220px))!important;gap:14px!important}.simple-photo-card{border-radius:14px!important;box-shadow:none!important}.simple-photo-card .photo-thumb-frame{aspect-ratio:4/3}.doc .simple-photo-card .photo-thumb-button img,.doc .simple-photo-card img,.simple-photo-card .photo-thumb-button img,.simple-photo-card img{object-fit:cover!important}.compact-zoom-badge{right:8px;bottom:8px;padding:5px 8px;font-size:10px}.admin-photo-controls-wrap{padding-top:10px!important}.minimalist-photo-edit-grid{gap:8px}.compact-inline-checkbox{min-height:42px;padding:8px 10px;font-size:13px;border-radius:10px}.compact-delete-row{margin-top:8px}.subtle-delete-btn{min-height:34px!important;padding:7px 12px!important;font-size:13px!important;border-radius:11px!important}.simple-lightbox-meta{justify-content:flex-end}.line-actions-row{gap:8px!important}.add-line-btn,.add-line-list-btn,.ai-pill.compact-button,.compact-action,.compact-button,.compact-save,.item-btn.compact-button{min-height:34px!important;padding:7px 12px!important;font-size:13px!important;border-radius:11px!important}.add-line-btn,.add-line-list-btn{min-height:36px!important}.compact-save{min-height:32px!important;padding:6px 11px!important}.photo-submit{margin-top:0!important}@media(max-width:700px){.simple-photo-upload-grid{grid-template-columns:1fr}.unified-photos{grid-template-columns:repeat(2,minmax(145px,1fr))!important}}:root{--gold:#f7d86a;--gold-dark:#d4af37;--gold-soft:#fff9df}.add-banner,.ai-pill,.btn,.field input[type=file]::file-selector-button,.item-btn,.status{border-radius:999px!important}.btn{padding:10px 20px!important;font-size:15px}.add-line-btn,.add-line-list-btn,.ai-pill.compact-button,.btn.small,.compact-action,.compact-button,.compact-photo-btn,.compact-save,.item-btn.compact-button,.small,.subtle-delete-btn{border-radius:999px!important}.field input[type=file]::-webkit-file-upload-button{background:var(--gold)!important;border:2px solid var(--gold-dark)!important}.btn.green,.field input[type=file]::file-selector-button,.green{background:var(--gold)!important;border:2px solid var(--gold-dark)!important}.btn.gray{background:#ececec!important;color:#111!important;border:1px solid #d7d7d7!important}.approve{text-align:center}.approve h2{text-align:left;margin-bottom:22px}.approve .grid{max-width:860px;margin:0 auto;align-items:end}.approve .field{font-size:11px}.approve .field input{min-height:40px}.approve .grid>.btn{grid-column:1/-1;justify-self:center;min-width:320px;font-size:14px!important;padding:9px 18px!important}.approve>form{display:flex;justify-content:center}.approve>form .btn{min-width:245px;font-size:14px!important;padding:9px 18px!important}@media(max-width:700px){.approve .grid>.btn,.approve>form .btn{width:100%;min-width:0}}.premium-photos-panel{margin-top:18px;display:grid;grid-gap:20px;gap:20px}.premium-photo-upload-form{padding:20px 22px;border:1px solid #eadfba;border-radius:24px;background:linear-gradient(180deg,#fffdf6,#ffffff);box-shadow:0 14px 36px rgba(17,24,39,.05)}.premium-photo-upload-form .simple-photo-upload-grid{grid-template-columns:minmax(320px,1.5fr) 190px;gap:14px;align-items:end}.premium-photo-upload-form .field{margin:0}.premium-photo-upload-form .field>input[type=file],.premium-photo-upload-form .simple-photo-checkbox{background:#fff}.premium-photo-upload-form .simple-photo-checkbox{min-height:74px;border:1px solid #ece3c8;border-radius:18px;padding:12px 14px;background:#fffaf0}.premium-photo-upload-form .selected-photo-preview{margin-top:16px;border-radius:18px;border:1px solid #eee5cf;background:#fff}.premium-photo-upload-form .photo-upload-actions-row{margin-top:14px}.premium-photos-panel .unified-photos{grid-template-columns:repeat(auto-fit,minmax(240px,250px))!important;gap:18px!important;align-items:start}.premium-photos-panel .simple-photo-card{border-radius:20px!important;border:1px solid #e6e7eb!important;box-shadow:0 14px 32px rgba(17,24,39,.05)!important}.premium-photos-panel .simple-photo-card .photo-thumb-frame{aspect-ratio:4/3;background:#f7f7f7}.premium-photos-panel .admin-photo-controls-wrap{padding:14px!important}.premium-photos-panel .minimalist-photo-edit-grid{gap:10px}.premium-photos-panel .compact-inline-checkbox{min-height:50px;border-radius:14px;border:1px solid #ede4c7;background:#fffaf0;padding:12px 14px;font-size:13px;font-weight:600;color:#444;display:flex;align-items:center;justify-content:space-between;text-transform:none}.premium-photos-panel .compact-inline-checkbox input{margin-left:12px}.premium-photos-panel .compact-delete-row{margin-top:2px}.premium-photos-panel .subtle-delete-btn{color:#d94841!important;border:1px solid #f2c6c1!important}.premium-photos-panel .compact-zoom-badge{right:10px;bottom:10px;padding:6px 10px;font-size:11px;background:rgba(17,24,39,.78)}.premium-photos-panel .photo-thumb-button{display:block}@media(max-width:700px){.premium-photo-upload-form{padding:16px}.premium-photo-upload-form .simple-photo-upload-grid{grid-template-columns:1fr}.premium-photos-panel .unified-photos{grid-template-columns:repeat(2,minmax(150px,1fr))!important;gap:14px!important}}:root{--bg:#f4f5f8;--card:#ffffff;--ink:#121820;--muted:#667085;--muted-2:#8a92a0;--line:#e6e8ee;--line-soft:#f0f1f4;--gold:#f6d66d;--gold-2:#fff6d8;--gold-dark:#c7a022;--green:#0b8a1f;--danger:#e14b3f;--danger-soft:#fff1ef;--shadow-sm:0 8px 22px rgba(16,24,40,.055);--shadow-md:0 18px 50px rgba(16,24,40,.08);--radius:22px;--radius-sm:14px}body{background:var(--bg)!important;color:var(--ink)}.page{padding:34px 42px!important}.builder .estimate-card,.card,.estimate-card,.invoice-card{border:1px solid var(--line)!important;border-radius:26px!important;background:rgba(255,255,255,.96)!important;box-shadow:var(--shadow-md)!important;overflow:hidden}.pad{padding:34px!important}.section{margin-top:34px!important;padding-top:26px!important;border-top:1px solid var(--line-soft)!important}h1,h2,h3{letter-spacing:-.025em}.build-title{font-size:31px!important;line-height:1.1;margin:0 0 22px!important;display:flex;align-items:center;gap:13px}.status{font-size:12px!important;letter-spacing:.04em;padding:7px 13px!important;background:#f0f2f5!important;color:#737b87!important;border-radius:999px!important}.top-bar,.topbar{min-height:76px!important;border-bottom:1px solid var(--line)!important;background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.field input[type=file]::-webkit-file-upload-button{min-height:38px!important;padding:9px 17px!important;border-radius:999px!important;font-size:14px!important;font-weight:800!important;letter-spacing:-.01em;box-shadow:none!important;-webkit-transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn,.field input[type=file]::file-selector-button,a.btn,button.btn{min-height:38px!important;padding:9px 17px!important;border-radius:999px!important;font-size:14px!important;font-weight:800!important;letter-spacing:-.01em;box-shadow:none!important;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover,a.btn:hover,button.btn:hover{transform:translateY(-1px);filter:brightness(.985)}.field input[type=file]::-webkit-file-upload-button{background:linear-gradient(180deg,#ffe895 0,var(--gold) 100%)!important;color:#111!important;border:1px solid var(--gold-dark)!important}.btn.green,.field input[type=file]::file-selector-button,.green{background:linear-gradient(180deg,#ffe895 0,var(--gold) 100%)!important;color:#111!important;border:1px solid var(--gold-dark)!important}.btn.gray{background:#f0f1f3!important;color:#18202a!important;border:1px solid #dfe2e8!important}.btn.outline,.outline{background:#fff!important;color:#18202a!important;border:1px solid #d7dbe3!important}.btn.danger,.danger{background:var(--danger-soft)!important;color:#c4362c!important;border:1px solid #f1c6c0!important}.btn.small,.small{min-height:32px!important;padding:7px 13px!important;font-size:13px!important}.sidebar,aside{background:linear-gradient(180deg,#101820,#0b1015)!important;border-right:1px solid rgba(255,255,255,.06)!important}.sidebar img,aside img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}.sidebar a,aside a{border-radius:14px!important;margin:4px 10px!important;border:0!important}.sidebar a:hover,aside a:hover{background:rgba(255,255,255,.07)!important}.sidebar .active,aside .active{background:rgba(246,214,109,.16)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--gold)}.info-grid{gap:34px!important;align-items:start!important}.company-centered{text-align:center!important;padding:14px 8px!important}.company .logo,.company-centered .logo{width:150px!important;height:auto!important;margin:0 auto 16px!important}.company-centered div,.company-centered p{color:#202833;line-height:1.35}.prepared{min-height:260px!important;border:1px solid var(--line)!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fcfcfd)!important;box-shadow:var(--shadow-sm);padding:26px!important}.prepared-right{text-align:right!important}.prepared h2{font-size:26px!important;margin:0 0 22px!important}.prepared-name{font-size:24px!important;line-height:1.15;font-weight:850;margin-bottom:12px}.prepared-lines{color:#202833;line-height:1.35;font-size:18px}.grid.one{gap:14px!important}.field{color:#616874!important;font-size:12px!important;font-weight:850!important;letter-spacing:.025em}.field input,.field select,.field textarea,input,select,textarea{border:1px solid #dfe3ea!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;min-height:42px}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{outline:none!important;border-color:#b8c3d5!important;box-shadow:0 0 0 4px rgba(184,195,213,.25)!important}.ai-pill{background:var(--gold-2)!important;color:#111!important;border:1px solid #ecd37e!important;box-shadow:none!important;min-height:34px!important;padding:8px 14px!important;border-radius:999px!important}.ai-pill,.joist-head{font-size:13px!important}.joist-head{border-bottom:2px solid #1f2933!important;color:#1f2933;padding-bottom:10px!important;margin-bottom:14px!important}.line-card{border:1px solid #dfe3e9!important;border-radius:18px!important;background:#fff!important;box-shadow:0 6px 18px rgba(16,24,40,.035);margin-bottom:16px!important;overflow:visible!important}.line-main{background:#fbfbfc!important}.line-main input,.line-main strong,.line-title input{min-height:40px!important;font-size:15px!important}.line-title input{font-weight:750!important}.item-btn{background:#fffaf0!important;color:#111!important;border-left:1px solid #e5d69f!important;font-size:13px!important;min-width:132px!important}.desc{min-height:68px!important;font-size:15px!important;line-height:1.45!important}.desc,.line-bottom{padding:14px 16px!important}.line-bottom{background:#fff!important;border-top:1px solid var(--line-soft)!important}.autosave-state{color:#8a92a0!important;font-size:12px!important;font-weight:750!important}.compact-remove,.remove{background:#f3a08b!important;color:#fff!important;border:0!important;box-shadow:0 4px 12px rgba(225,75,63,.18)}.drag-handle{background:#f4f5f7!important;border:1px solid #d9dde5!important;color:#9aa1ad!important;border-radius:999px!important}.line-actions-row{margin:18px 0 26px!important}.add-line-btn,.add-line-list-btn{min-height:38px!important;padding:9px 17px!important;border-radius:999px!important;font-size:14px!important}.total{border:1px solid #e1e5ed!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#fbfbfc)!important;padding:22px!important;box-shadow:var(--shadow-sm)}.total-line{padding:12px 0!important;border-color:#e6e9ef!important}.total-line:last-child{border-bottom:4px solid #111!important}.helper,.notice,.pay-warn{border-radius:16px!important;background:#fff8df!important;border:1px solid #f0d88a!important;color:#5c4912!important;padding:15px 18px!important;font-size:15px!important}.section h2{font-size:28px!important;margin-bottom:10px!important}.section p{color:#4f5866;line-height:1.55}.premium-photos-panel{border:1px solid #ece4ca;border-radius:26px;padding:22px;background:linear-gradient(180deg,#fffdf6,#ffffff 70%);box-shadow:var(--shadow-sm)}.premium-photo-upload-form{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.premium-photo-upload-form .simple-photo-upload-grid{grid-template-columns:minmax(280px,1fr) auto!important;gap:14px!important}.simple-file-field input[type=file],.simple-photo-checkbox{background:#fff!important;min-height:46px!important;border-radius:16px!important}.simple-photo-checkbox{padding:10px 14px!important;border:1px solid #e4d7ad!important}.photo-upload-actions-row{margin-top:12px!important}.compact-photo-btn{min-height:34px!important;padding:7px 14px!important;font-size:13px!important;border-radius:999px!important}.premium-photos-panel .unified-photos{margin-top:18px;grid-template-columns:repeat(auto-fit,minmax(185px,205px))!important;gap:16px!important}.premium-photos-panel .simple-photo-card{border-radius:18px!important;overflow:hidden;background:#fff!important;border:1px solid #e8ebf1!important;box-shadow:0 10px 26px rgba(16,24,40,.055)!important}.premium-photos-panel .simple-photo-card .photo-thumb-frame{aspect-ratio:4/3!important}.premium-photos-panel .admin-photo-controls-wrap{padding:12px!important}.premium-photos-panel .compact-inline-checkbox{min-height:40px!important;padding:8px 11px!important;font-size:12px!important;border-radius:13px!important;background:#fbfcfd!important;border:1px solid #e5e7eb!important}.premium-photos-panel .subtle-delete-btn{min-height:31px!important;padding:6px 12px!important;font-size:12px!important;background:#fff!important;color:#d64539!important;border:1px solid #f0c5bf!important}.compact-zoom-badge{background:rgba(17,24,39,.72)!important;font-size:10px!important;padding:5px 8px!important;border-radius:999px!important}.doc-bg{background:#242424!important;padding:44px 0!important}.doc{max-width:1050px!important;border-radius:0!important;box-shadow:0 20px 70px rgba(0,0,0,.22)!important}.doc-title{color:#c9c9c9!important;font-size:30px!important;letter-spacing:.08em!important}.doc h2{letter-spacing:-.025em}.doc-top{gap:80px!important}.doc-company-left{text-align:left!important}.doc-company-left .logo{width:145px!important;margin-bottom:20px!important}.doc-items-clean{margin-top:44px!important}.doc-item-clean{padding:18px 0 20px!important}.doc-item-clean h3{font-size:21px!important;margin-bottom:10px!important}.doc-item-clean p{font-size:16px!important;line-height:1.5!important}.doc-item-price-line{font-size:16px!important;justify-content:flex-end!important}.approve{border-radius:22px!important;background:#fbfff9!important;border:1px solid #c9ebc9!important;padding:30px!important;text-align:center!important}.approve h2{font-size:26px!important;text-align:left!important}.approve .grid{max-width:850px!important}.approve .grid>.btn,.approve>form .btn{border-radius:999px!important;min-height:40px!important;font-size:14px!important;justify-self:center!important}.public-photos.compact-photos{grid-template-columns:repeat(auto-fit,minmax(120px,145px))!important;gap:12px!important}.public-photos.compact-photos .photo-card{border-radius:14px!important;overflow:hidden;box-shadow:none!important}.invoice-payments,.payment-card,.payments-card{border-radius:24px!important;background:#fffdf6!important;border:1px solid #ecd88d!important;box-shadow:var(--shadow-sm)!important}@media(max-width:900px){.page{padding:24px 18px!important}.pad{padding:24px!important}.doc-top,.info-grid{gap:24px!important}.prepared-right{text-align:left!important}}@media(max-width:700px){.build-title{font-size:25px!important}.premium-photo-upload-form .simple-photo-upload-grid{grid-template-columns:1fr!important}.premium-photos-panel .unified-photos{grid-template-columns:repeat(2,minmax(135px,1fr))!important}.doc-bg{padding:0!important}.doc{width:100%!important;box-shadow:none!important}}.mobile-summary-card,.public-mobile-contact,.public-mobile-head{display:none}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.status-pill.draft{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.status-pill.sent{background:#e8f0ff;border-color:#cfe0ff;color:#3d67b1}.status-pill.approved{background:#e8f8ea;border-color:#cdeccf;color:#1f8a3a}.status-pill.declined{background:#fff0f0;border-color:#f3d2d2;color:#b74b4b}.status-pill.expired{background:#fff7e4;border-color:#f3e0a7;color:#aa7b13}.doc-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.doc-item-total{font-weight:900;color:#111827;white-space:nowrap}.estimate-grand-total{color:#17863c}.line-card{margin-right:44px!important}.drag-handle{right:-18px!important;top:12px!important}@media(max-width:700px){.line-card{margin-right:0!important}.drag-handle{right:10px!important;top:10px!important}.doc-bg,.invoice-public-bg{background:#fff!important;min-height:100vh!important}.doc{width:100%!important;max-width:none!important;margin:0!important;padding:18px 18px 26px!important;box-shadow:none!important;border-radius:0!important}.mobile-hide{display:none!important}.public-mobile-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:4px 0 18px;border-bottom:1px solid #eceef2;margin-bottom:18px}.public-mobile-logo{width:108px!important;height:auto!important}.public-mobile-type{font-size:15px;font-weight:900;letter-spacing:.08em;color:#d59d12}.public-mobile-number-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.public-mobile-number{font-size:22px;font-weight:900;letter-spacing:-.02em;color:#111827}.public-mobile-prepared-label{margin-top:2px;font-size:12px;font-weight:700;color:#7b7f88;text-transform:uppercase;letter-spacing:.06em}.public-mobile-client-block{display:flex;flex-direction:column;gap:2px;color:#1f2937;font-size:15px;line-height:1.45}.public-mobile-client-block strong{font-size:16px}.mobile-summary-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 14px;gap:12px 14px;padding:14px;margin-bottom:18px;border:1px solid #eceef2;border-radius:16px;background:#fff}.mobile-summary-label{display:block;margin-bottom:4px;font-size:11px;font-weight:800;color:#7b7f88;text-transform:uppercase;letter-spacing:.05em}.mobile-summary-cell strong{display:block;color:#111827;font-size:14px;line-height:1.35}.doc-items-clean{margin-top:10px!important;border-top:1px solid #eceef2}.doc-item-clean{padding:14px 0!important;border-bottom:1px solid #eceef2!important}.doc-item-clean h3{margin:0!important;font-size:15px!important;line-height:1.35!important}.doc-item-clean p{margin:6px 0 0!important;font-size:13px!important;line-height:1.45!important;color:#6b7280!important}.doc-item-price-line{display:none!important}.total{width:100%!important;margin-top:18px!important;background:#fff!important;border:1px solid #eceef2!important;border-radius:18px!important;padding:14px!important}.total-line{padding:12px 0!important;font-size:15px!important}.total-line:last-child{font-size:18px!important}.estimate-grand-total b:last-child,.invoice-public-total .balance-line b:last-child{color:#17863c!important}.pay-warn{margin-top:16px!important;border-radius:18px!important;padding:14px!important;line-height:1.5!important}.doc h2,.pay-warn{font-size:14px!important}.doc h2{letter-spacing:.08em!important;text-transform:uppercase;color:#111827}.approve{margin-top:24px!important;padding:20px!important;border-radius:20px!important}.approve,.approve h2{text-align:center!important}.approve h2{font-size:18px!important;letter-spacing:normal!important;text-transform:none!important;margin-bottom:14px!important}.approve .grid{grid-template-columns:1fr!important;gap:12px!important;max-width:none!important}.approve .field{text-align:left!important}.approve .grid>.btn,.approve>form .btn{width:100%!important;max-width:none!important;min-height:48px!important;font-size:16px!important}.approve .btn.green{background:#149c33!important;border-color:#149c33!important;color:#fff!important}.approve>form .btn.gray{background:transparent!important;border:none!important;color:#16943a!important;box-shadow:none!important;min-height:auto!important;padding:0!important}.photos-final-rule{margin:28px 0 16px!important}.photos-final-title{margin-bottom:12px!important;font-size:14px!important;letter-spacing:.08em!important}.public-photos.compact-photos{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.public-mobile-contact{display:block;text-align:center;color:#6b7280;font-size:13px;margin-top:22px}}@page{size:Letter;margin:.45in}.print-only{display:none}@media print{body,html{width:100%!important;background:#fff!important;color:#111827!important;font-family:Arial,Helvetica,sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.admin-photo-controls-wrap,.compact-zoom-badge,.lightbox-backdrop,.no-print,.photo-actions,.photo-zoom-badge,.photos .btn,.public-mobile-contact,.sidebar,.top-bar,.topbar,aside,header,nav{display:none!important}.print-only{display:block!important}.doc,.doc-bg,.estimate-doc,.estimate-public-bg,.invoice-doc,.invoice-public-bg,.public-doc{background:#fff!important;padding:0!important;margin:0!important}.doc,.estimate-doc,.invoice-doc,.public-doc{width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}.public-mobile-head{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:5px!important;padding:0 0 14px!important;border-bottom:1px solid #d9dee8!important;margin:0 0 16px!important}.public-mobile-logo{width:92px!important;height:auto!important;margin:0 auto 2px!important}.public-mobile-type{color:#b98b12!important;font-size:15px!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important}.public-mobile-number-row{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important}.public-mobile-number{font-size:20px!important;font-weight:900!important;letter-spacing:-.02em!important}.status-pill{min-height:21px!important;padding:0 8px!important;font-size:9px!important;border-radius:999px!important}.public-mobile-prepared-label{margin-top:5px!important;color:#6b7280!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}.public-mobile-client-block{display:flex!important;flex-direction:column!important;gap:1px!important;font-size:11px!important;line-height:1.25!important;color:#111827!important}.public-mobile-client-block strong{font-size:13px!important}.mobile-hide{display:none!important}.mobile-summary-card{display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-gap:0!important;gap:0!important;margin:0 0 16px!important;padding:10px 0!important;border-top:1px solid #d9dee8!important;border-bottom:1px solid #d9dee8!important;border-left:0!important;border-right:0!important;border-radius:0!important;background:#fff!important}.mobile-summary-cell{padding:0 10px!important;border-right:1px solid #edf0f4!important}.mobile-summary-cell:last-child{border-right:0!important}.mobile-summary-label{display:block!important;margin-bottom:3px!important;color:#6b7280!important;font-size:8.5px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important}.mobile-summary-cell strong{display:block!important;color:#111827!important;font-size:10.5px!important;line-height:1.25!important}.doc-items-clean{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important}.doc-items-clean:before{content:"Item";width:70%}.doc-items-clean:after,.doc-items-clean:before{display:inline-block;padding:0 0 7px!important;color:#111827;font-size:10px;font-weight:900;border-bottom:2px solid #111827}.doc-items-clean:after{content:"Total";width:30%;text-align:right}.doc-item-clean{position:relative!important;padding:10px 0 9px!important;border-bottom:1px solid #e6e9ef!important;break-inside:avoid!important;page-break-inside:avoid!important}.doc-item-heading{display:grid!important;grid-template-columns:1fr 120px!important;grid-gap:14px!important;gap:14px!important;align-items:start!important}.doc-item-clean h3{margin:0 0 4px!important;font-size:12px!important}.doc-item-clean h3,.doc-item-total{line-height:1.25!important;font-weight:900!important}.doc-item-total{text-align:right!important;font-size:11px!important}.doc-item-clean p{max-width:72%!important;margin:0!important;color:#374151!important;font-size:10.5px!important;line-height:1.35!important}.doc-item-price-line{display:none!important}.doc .total,.estimate-doc .total,.invoice-doc .total,.invoice-public-total,.total{width:250px!important;max-width:250px!important;margin:16px 0 0 auto!important;padding:12px 14px!important;border:1px solid #dfe3ea!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}.total-line{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:6px 0!important;border-bottom:1px solid #e6e9ef!important;font-size:10.5px!important;line-height:1.25!important}.total-line:last-child{border-bottom:3px solid #111827!important;padding-bottom:8px!important;font-size:13px!important}.estimate-grand-total b:last-child,.invoice-public-total .balance-line b:last-child{color:#168a39!important}.pay-warn{margin:14px 0 0!important;padding:10px 12px!important;border:1px solid #ecd88d!important;border-radius:10px!important;background:#fff9e8!important;color:#4e4216!important;font-size:10.5px!important;line-height:1.35!important;break-inside:avoid!important;page-break-inside:avoid!important}hr{margin:18px 0 10px!important;border:0!important;border-top:1px solid #d9dee8!important}.doc h2,.estimate-doc h2,.invoice-doc h2{margin:0 0 8px!important;color:#111827!important;font-size:12px!important;line-height:1.25!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:none!important}.doc>p,.estimate-doc>p,.invoice-doc>p{margin:0!important;color:#374151!important;font-size:10.5px!important;line-height:1.4!important}.approve{margin-top:14px!important;padding:12px!important;border:1px solid #cae8cf!important;border-radius:12px!important;background:#fbfff9!important;break-inside:avoid!important;page-break-inside:avoid!important}.approve h2{text-align:left!important;margin-bottom:8px!important;font-size:12px!important}.approve .grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:10px!important;gap:10px!important;max-width:none!important;margin:0!important}.approve .field{font-size:8.5px!important}.approve .field input{min-height:30px!important;border-radius:7px!important}.approve .btn{display:none!important}.photos-final-rule{margin:18px 0 10px!important}.photos-final-title{margin:0 0 8px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important}.photos,.public-photos.compact-photos{display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-gap:8px!important;gap:8px!important;break-inside:avoid!important;page-break-inside:avoid!important}.photo,.photo-card,.public-photos.compact-photos .photo-card{border:1px solid #e4e7ec!important;border-radius:8px!important;overflow:hidden!important;box-shadow:none!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important}.photo-thumb-frame{aspect-ratio:4/3!important}.photo img,.photo-thumb-frame img{width:100%!important;height:100%!important;object-fit:cover!important}.public-payment-list{display:grid!important;grid-gap:6px!important;gap:6px!important}.public-payment-row{display:grid!important;grid-template-columns:1fr 90px!important;grid-gap:10px!important;gap:10px!important;padding:8px 10px!important;border:1px solid #e6e9ef!important;border-radius:8px!important;background:#fff!important;font-size:10px!important;break-inside:avoid!important;page-break-inside:avoid!important}.public-payment-row small{display:block!important;margin-top:2px!important;color:#667085!important;font-size:9px!important;line-height:1.3!important}.public-payment-row strong:last-child{text-align:right!important}}.status-pill.viewed,.status.viewed{background:#eef6ff!important;border-color:#cde6ff!important;color:#1e6cae!important}.empty-list-state{padding:28px 34px;display:flex;flex-direction:column;color:#111827}.empty-list-state small{color:#6b7280}.tabs .tab{white-space:nowrap}.ai-main-button{display:inline-flex!important;align-items:center!important;gap:9px!important}.ai-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 8px;border-radius:999px;background:#111827;color:#ffdd70;font-size:12px;font-weight:900;letter-spacing:.05em}.ai-line-button{background:#fffdf4!important;border-color:#d7ad2f!important;color:#111827!important}.ai-helper-modal{max-width:720px!important}.ai-helper-modal .picker-title h2{display:flex;align-items:center;gap:10px}.ai-helper-card{margin:14px 0;padding:16px 18px;border:1px solid #f1d889;border-radius:18px;background:#fffaf0}.ai-helper-card p{margin:6px 0 0;color:#475467;line-height:1.45}.ai-helper-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.ai-helper-list{display:grid;grid-gap:10px;gap:10px;max-height:310px;overflow:auto;padding-right:4px}.ai-helper-line{width:100%;border:1px solid #e6e9ef;border-radius:16px;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer}.ai-helper-line:hover{border-color:#d7ad2f;background:#fffdf4}.ai-helper-line span{display:flex;flex-direction:column;gap:4px;min-width:0}.ai-helper-line small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:700px){.ai-main-button{width:100%!important;justify-content:center!important;font-size:13px!important}.compact-line-bottom{gap:8px!important}.ai-line-button{font-size:12px!important;padding-inline:12px!important}.ai-helper-actions .btn{width:100%!important;justify-content:center!important}}.tabs a.tab{text-decoration:none;color:inherit}.tabs a.tab:hover{color:#111827}.status-pill.invoiced,.status.invoiced{background:#e8f8ea!important;border-color:#cdeccf!important;color:#1f8a3a!important}.ai-helper-card b:after{content:""}.ai-inline-status,.ai-status-note{margin:12px 0;padding:10px 14px;border:1px solid #f0d98f;border-radius:14px;background:#fffaf0;color:#5c4912;font-size:13px;font-weight:700}.ai-inline-status{display:inline-flex;max-width:760px}.ai-helper-actions .btn:disabled,.ai-line-button:disabled,.ai-main-button:disabled{opacity:.65;cursor:not-allowed;transform:none!important}.ai-helper-card p{max-width:620px}.ai-helper-card{border-color:#f2d673!important;background:linear-gradient(180deg,#fffdf3,#fffaf0)!important}.ai-inline-status,.ai-status-note{border-color:#f2d673!important;background:#fffdf3!important}.public-doc .doc-item-price-line,.public-estimate-doc .doc-item-price-line,.public-invoice-doc .doc-item-price-line{display:none!important}.public-doc .doc-item-clean{padding-bottom:22px!important}.public-doc .doc-item-heading{align-items:flex-start!important}.public-doc .doc-item-total{min-width:130px!important;text-align:right!important}@media print{.public-doc .doc-item-price-line,.public-estimate-doc .doc-item-price-line,.public-invoice-doc .doc-item-price-line{display:none!important}}.estimate-add-inline{margin-top:20px;background:#fffdf7;border:1px dashed #e5dec7;border-radius:18px;padding:16px 18px}.estimate-add-inline summary{list-style:none;font-weight:900;display:flex;align-items:center;gap:10px;cursor:pointer}.estimate-add-inline summary::-webkit-details-marker{display:none}.add-estimate-form{margin-top:16px}.estimate-add-grid{grid-template-columns:1.7fr .8fr .55fr;gap:16px}.estimate-add-description-field,.estimate-add-item-field{grid-column:1/-1}.estimate-add-item-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:end}.estimate-item-list-btn{min-height:46px!important;padding:10px 16px!important;border-radius:14px!important;white-space:nowrap}.add-estimate-form textarea{min-height:110px;resize:vertical}.estimate-add-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.estimate-save-library{font-weight:700;color:#4b5563;display:flex;align-items:center;gap:8px}.estimate-save-library input{width:16px;height:16px}.estimate-add-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.estimate-add-preview{border:1px solid #e5e7eb;background:#fff;padding:10px 14px;border-radius:999px;font-weight:800;color:#111827}.estimate-line-actions-helper{margin-top:10px!important;margin-bottom:16px!important}@media(max-width:900px){.estimate-add-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.estimate-add-grid,.estimate-add-item-row{grid-template-columns:1fr}.estimate-add-actions,.estimate-add-footer{flex-direction:column;align-items:stretch}.estimate-add-preview{text-align:center}}.line-card{margin-right:0!important;cursor:-webkit-grab;cursor:grab}.line-card:active{cursor:-webkit-grabbing;cursor:grabbing}.line-bottom.compact-line-bottom{justify-content:flex-start!important}.autosave-state{margin-left:4px!important}.mini-notice{margin:0 0 14px;padding:12px 14px;border-radius:16px;font-size:14px;font-weight:700}.mini-notice.success{background:#eef9f0;color:#1d7a37;border:1px solid #cfe8d5}.mini-notice.error{background:#fff4ef;color:#9a3b1e;border:1px solid #f1c2b3}.row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-actions form{margin:0}.field-error{border-color:#d9613b!important;box-shadow:0 0 0 3px rgba(217,97,59,.12)!important}.inline-form-error{margin-top:10px;font-size:14px}.autosave-state.error,.inline-form-error{font-weight:700;color:#b24d2b}.btn[disabled]{opacity:.55;cursor:not-allowed}.premium-login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 0,rgba(243,194,55,.24),transparent 34%),linear-gradient(180deg,#f8f9fb,#eceff4)}.premium-login-card{width:min(480px,100%);background:rgba(255,255,255,.94);border:1px solid rgba(17,24,39,.08);border-radius:34px;padding:34px;box-shadow:0 30px 80px rgba(17,24,39,.16);text-align:center}.premium-login-logo-wrap{display:grid;place-items:center;margin-bottom:12px}.premium-login-logo{object-fit:contain;filter:drop-shadow(0 14px 18px rgba(17,24,39,.18))}.premium-login-copy .eyebrow{margin:0 0 8px;color:#b08300;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.premium-login-copy h1{margin:0;font-size:36px;line-height:1.05}.premium-login-copy p{color:#5d6470;font-weight:700;line-height:1.45;margin:12px auto 22px;max-width:360px}.premium-login-form{display:grid;grid-gap:14px;gap:14px;text-align:left}.premium-login-form label{display:grid;grid-gap:7px;gap:7px;color:#5d6470;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.premium-login-form input{width:100%;min-height:54px;border:1px solid #d8dbe2;border-radius:18px;padding:0 18px;background:#fff;color:#111827;font-size:16px;font-weight:700;outline:none;text-transform:none}.premium-login-form input:focus{border-color:#d2a310;box-shadow:0 0 0 4px rgba(243,194,55,.18)}.premium-login-button{width:100%;min-height:56px;margin-top:6px;border-radius:999px;background:#111827!important;color:#fff!important;box-shadow:0 12px 22px rgba(17,24,39,.18)}.login-error{border:1px solid #f0b5a5;background:#fff2ee;color:#a43b1f;border-radius:16px;padding:12px 14px;font-weight:900;text-align:center}.premium-login-footer{color:#7b818b;font-size:12px;font-weight:800;margin:20px 0 0}.premium-app{background:#eef0f5}.premium-side{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto}.premium-brand{min-height:160px;height:auto}.premium-nav a{transition:.16s ease}.premium-nav a:hover{background:#078a08;transform:translateX(2px)}.premium-upgrade{display:grid;grid-gap:6px;gap:6px;line-height:1.35}.side-user-card{margin:auto 16px 12px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}.side-user-avatar{width:38px;height:38px;border-radius:50%;background:#2e3439;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;font-weight:900}.side-user-text{min-width:0;display:grid;grid-gap:2px;gap:2px}.side-user-text b{font-size:13px}.side-user-text small{color:#cfd5dd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.logout-form{margin:0 16px 18px}.logout-button{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;cursor:pointer}.logout-button:hover{background:rgba(243,194,55,.16);border-color:rgba(243,194,55,.45)}.premium-content{min-width:0}.premium-top{-webkit-backdrop-filter:saturate(130%) blur(10px);backdrop-filter:saturate(130%) blur(10px)}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.btn{cursor:pointer;transition:.15s ease}.btn:hover{transform:translateY(-1px)}.btn.green{background:#f7d767!important;border:2px solid #c79b08!important;box-shadow:0 8px 18px rgba(199,155,8,.14)}.btn.gray,.btn.green{color:#111827!important}.btn.gray{background:#f0f1f4!important}.btn.outline{border-color:#d1d5db!important}.btn.danger{background:#ef5537!important;color:#fff!important}.empty-list-state{padding:28px;display:grid;grid-gap:6px;gap:6px;color:#4b5563}.empty-list-state b{color:#111827}@media(max-width:900px){.app.premium-app{grid-template-columns:1fr}.premium-side{position:relative;height:auto}.premium-brand{min-height:120px}.premium-nav{display:grid;grid-template-columns:repeat(5,1fr)}.premium-nav a{height:auto;min-height:72px;padding:10px 8px;justify-content:center;flex-direction:column;text-align:center;font-size:12px}.logout-form,.premium-upgrade,.side-user-card{display:none}.premium-top{position:-webkit-sticky;position:sticky;top:0;padding:14px;height:auto;min-height:72px;gap:12px;align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start;width:100%}.premium-login-page{padding:18px}.premium-login-card{border-radius:26px;padding:24px}.premium-login-copy h1{font-size:30px}}.premium-side{overflow-y:auto}.side-user-card{margin-top:18px!important}.logout-form{margin-bottom:18px!important}.premium-upgrade{margin-top:auto!important}@media(min-width:901px){.logout-form,.side-user-card{display:flex!important}.logout-form{display:block!important}}.mobile-bottom-nav{display:none}@media(max-width:900px){.app,.app.premium-app{display:block!important;grid-template-columns:1fr!important}.premium-side,.side{position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;background:linear-gradient(#0e1112,#1f2a2e)!important}.brand,.premium-brand{height:auto!important;min-height:128px!important;padding:14px 0 10px!important;display:grid!important;place-items:center!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.brand .logo,.premium-brand .logo{width:auto!important;height:auto!important;max-width:154px!important}.desktop-nav,.logout-form,.premium-side .premium-nav,.premium-upgrade,.side .nav,.side-user-card{display:none!important}.mobile-bottom-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9999!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;background:linear-gradient(180deg,#111719,#0b1012)!important;border-top:1px solid rgba(255,255,255,.12)!important;box-shadow:0 -12px 30px rgba(0,0,0,.26)!important;padding:5px 4px calc(env(safe-area-inset-bottom,0px) + 5px)!important}.mobile-bottom-nav a{min-height:62px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;color:#fff!important;text-decoration:none!important;font-size:10px!important;line-height:1!important;font-weight:800!important;border-radius:16px!important;opacity:.92!important}.mobile-bottom-nav a:focus,.mobile-bottom-nav a:hover{background:rgba(245,202,62,.15)!important;color:#f5ca3e!important;opacity:1!important}.mobile-bottom-nav a svg{width:22px!important;height:22px!important}.content,.premium-content{padding-bottom:92px!important}.premium-top,.top{position:relative!important;top:auto!important;z-index:1!important}}@media(max-width:480px){.brand,.premium-brand{min-height:118px!important}.brand .logo,.premium-brand .logo{max-width:142px!important}.mobile-bottom-nav a{min-height:58px!important;font-size:9px!important}.mobile-bottom-nav a svg{width:21px!important;height:21px!important}.content,.premium-content{padding-bottom:86px!important}}.public-doc .doc-title,.public-estimate-doc .doc-title,.public-invoice-doc .doc-title{margin-bottom:28px!important}.public-doc .doc-top,.public-estimate-doc .doc-top,.public-invoice-doc .doc-top{gap:72px!important;align-items:start!important;margin-bottom:0!important}.public-doc .doc-company-left .logo,.public-estimate-doc .doc-company-left .logo,.public-invoice-doc .doc-company-left .logo{margin-bottom:14px!important}.public-doc .doc-company-left p,.public-doc .doc-top>div:last-child p,.public-estimate-doc .doc-company-left p,.public-estimate-doc .doc-top>div:last-child p,.public-invoice-doc .doc-company-left p,.public-invoice-doc .doc-top>div:last-child p{margin:0 0 10px!important}.public-doc .doc-top>div:last-child h2,.public-estimate-doc .doc-top>div:last-child h2,.public-invoice-doc .doc-top>div:last-child h2{margin:0 0 12px!important}.public-doc .doc-items-clean,.public-estimate-doc .doc-items-clean,.public-invoice-doc .doc-items-clean{margin-top:22px!important;padding-top:14px!important}.estimate-click-row{grid-template-columns:minmax(0,1fr) auto;gap:16px}.estimate-row-main{display:grid;grid-template-columns:1.6fr 130px 140px 130px;grid-gap:18px;gap:18px;align-items:center;color:inherit;text-decoration:none;min-width:0;cursor:pointer}.estimate-row-main:hover{opacity:.92}.row-actions-single{justify-content:flex-end;align-self:center}.embedded-preview-section{margin-top:28px}.section-head-inline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;flex-wrap:wrap}.section-head-inline h2{margin:0 0 6px}.embedded-preview-frame-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 32px rgba(0,0,0,.05)}.embedded-preview-frame{width:100%;min-height:1100px;border:0;background:#f7f7f7}@media(max-width:1100px){.estimate-click-row{grid-template-columns:1fr}.estimate-row-main{grid-template-columns:1fr 90px 120px}.estimate-row-main>:nth-child(3),.estimate-row-main>:nth-child(4){display:none}.row-actions-single{justify-content:flex-start;grid-column:1/-1}.embedded-preview-frame{min-height:780px}}.joist-head,.line-main{grid-template-columns:1fr 150px 120px 120px 135px!important}.line-bottom-clean{justify-content:flex-start!important}.line-bottom-clean .autosave-state{margin-left:0!important}@media(max-width:1100px){.line-main{grid-template-columns:1fr 1fr!important}}.compact-approve{padding:18px 20px!important}.compact-approve h2{margin:0 0 12px!important;font-size:16px!important;line-height:1.2!important;letter-spacing:.01em!important;text-transform:none!important}.approve-inline-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;grid-gap:14px!important;gap:14px!important;align-items:end!important;max-width:none!important}.approve-inline-grid .field{font-size:13px!important;font-weight:700!important}.approve-inline-grid .field input{min-height:46px!important;border-radius:14px!important}.approve-submit{min-height:46px!important;padding:0 24px!important;white-space:nowrap!important;align-self:end!important}@media(max-width:900px){.approve-inline-grid{grid-template-columns:1fr!important}.approve-submit{width:100%!important}}.public-doc,.public-estimate-doc,.public-invoice-doc{font-size:12px!important}.public-doc .doc-title,.public-estimate-doc .doc-title,.public-invoice-doc .doc-title{font-size:24px!important;letter-spacing:.06em!important}.public-doc .doc-company-left p,.public-doc .doc-top>div:last-child p,.public-estimate-doc .doc-company-left p,.public-estimate-doc .doc-top>div:last-child p,.public-invoice-doc .doc-company-left p,.public-invoice-doc .doc-top>div:last-child p{font-size:12px!important;line-height:1.35!important}.public-doc .doc-top>div:last-child h2,.public-doc h2,.public-estimate-doc .doc-top>div:last-child h2,.public-estimate-doc h2,.public-invoice-doc .doc-top>div:last-child h2,.public-invoice-doc h2{font-size:13px!important;line-height:1.25!important}.public-doc .mobile-summary-label,.public-estimate-doc .mobile-summary-label,.public-invoice-doc .mobile-summary-label{font-size:10px!important}.public-doc .mobile-summary-cell strong,.public-estimate-doc .mobile-summary-cell strong,.public-invoice-doc .mobile-summary-cell strong{font-size:12px!important}.public-doc .doc-item-clean,.public-estimate-doc .doc-item-clean,.public-invoice-doc .doc-item-clean{padding:12px 0 18px!important}.public-doc .doc-item-clean h3,.public-estimate-doc .doc-item-clean h3,.public-invoice-doc .doc-item-clean h3{font-size:12px!important;line-height:1.3!important;margin:0 0 4px!important}.public-doc .doc-item-total,.public-estimate-doc .doc-item-total,.public-invoice-doc .doc-item-total{font-size:12px!important;line-height:1.3!important}.public-doc .doc-item-clean p,.public-estimate-doc .doc-item-clean p,.public-invoice-doc .doc-item-clean p{font-size:12px!important;line-height:1.42!important;color:#374151!important}.public-doc .total,.public-estimate-doc .total,.public-invoice-doc .total{width:min(330px,100%)!important;padding:14px 16px!important}.public-doc .total-line,.public-estimate-doc .total-line,.public-invoice-doc .total-line{font-size:12px!important;line-height:1.35!important;padding:9px 0!important}.public-doc .total-line:last-child,.public-estimate-doc .total-line:last-child,.public-invoice-doc .total-line:last-child{font-size:14px!important}.public-doc .pay-warn,.public-doc>p,.public-estimate-doc .pay-warn,.public-estimate-doc>p,.public-invoice-doc .pay-warn,.public-invoice-doc>p{font-size:12px!important;line-height:1.4!important}.public-doc .approve,.public-estimate-doc .approve,.public-invoice-doc .approve{font-size:12px!important}.public-doc .approve h2,.public-estimate-doc .approve h2,.public-invoice-doc .approve h2{font-size:14px!important}@media print{.public-doc .logo,.public-estimate-doc .logo,.public-invoice-doc .logo,.public-mobile-logo{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}}.contract-page{padding:28px}.contract-doc{border:1px solid #dfe3ea;border-radius:22px;padding:42px;box-shadow:0 18px 50px rgba(17,24,39,.08)}.contract-header{grid-template-columns:150px 1fr;grid-gap:22px;gap:22px;margin-bottom:20px}.contract-header h1{font-size:30px;line-height:1.1;text-transform:uppercase;letter-spacing:.06em}.contract-intro{background:#fff8df;border:1px solid #f0cb58}.contract-doc h2{margin:26px 0 10px;font-size:18px;border-bottom:1px solid #dfe3ea;padding-bottom:8px}.contract-doc h3{color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.contract-doc p,.contract-doc td,.contract-doc th{font-size:13px;line-height:1.45}.contract-table,.contract-two-col>div{border:1px solid #dfe3ea}.contract-table th{font-size:12px}.contract-table td,.contract-table th{border:1px solid #dfe3ea;padding:10px;vertical-align:top}.contract-table.compact td,.contract-table.compact th{padding:8px 10px}.contract-signatures{grid-gap:24px;gap:24px;margin-top:20px}.contract-signatures>div{border:1px solid #dfe3ea;padding:16px}.contract-signatures em,.contract-signatures span{display:block;margin-top:8px}.contract-signatures em{color:#6b7280;font-style:normal;font-size:12px;font-weight:800;text-transform:uppercase}.signature-line{border-bottom:2px solid #111827;height:34px;margin-bottom:10px}.contract-footer{margin-top:24px;color:#6b7280;font-size:12px!important}@media print{.contract-page{padding:0!important;background:#fff!important}.contract-doc{max-width:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.contract-header h1{font-size:22px!important}.contract-doc h2{font-size:14px!important;margin:16px 0 7px!important}.contract-doc p,.contract-doc td,.contract-doc th{font-size:10px!important;line-height:1.32!important}.contract-table td,.contract-table th{padding:5px 6px!important}.contract-intro{padding:8px 10px!important}}@media(max-width:800px){.contract-page{padding:14px}.contract-doc{padding:22px}.contract-header,.contract-signatures,.contract-two-col{grid-template-columns:1fr}}.contract-page{padding:30px;background:#eef0f5}.contract-doc{max-width:980px;margin:0 auto;background:#fff;border-radius:18px;padding:42px 50px;box-shadow:0 18px 55px rgba(0,0,0,.1);color:#111827;font-size:13px;line-height:1.48}.contract-header{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:24px;gap:24px;border-bottom:3px solid #111827;padding-bottom:18px;margin-bottom:22px}.contract-header img{object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.18))}.contract-header h1{margin:0;font-size:28px;line-height:1.05;letter-spacing:.02em}.contract-header p{margin:8px 0 0;color:#6b7280;font-weight:800}.contract-intro{background:#fff9e8;border:1px solid #f1d488;border-radius:14px;padding:14px 16px;font-weight:700}.contract-doc h2{margin:28px 0 10px;font-size:17px;line-height:1.2;border-bottom:1px solid #e5e7eb;padding-bottom:7px}.contract-doc h3{margin:0 0 8px;font-size:14px}.contract-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.contract-two-col>div{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fbfbfc}.contract-table{width:100%;border-collapse:collapse;margin:12px 0 18px;overflow:hidden;border-radius:12px;border:1px solid #e5e7eb}.contract-table th{background:#f4f5f7;color:#4b5563;text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:10px}.contract-table td{vertical-align:top;border-top:1px solid #e5e7eb;padding:10px}.contract-table.compact td,.contract-table.compact th{padding:9px 10px}.contract-signatures{display:grid;grid-template-columns:1fr 1fr;grid-gap:26px;gap:26px;margin-top:32px}.contract-signatures>div{border:1px solid #e5e7eb;border-radius:14px;padding:18px}.sig-line{margin-top:24px;border-top:1px solid #111827;padding-top:6px;color:#6b7280;font-size:12px;font-weight:800}.contract-disclaimer{margin-top:28px;color:#6b7280;font-size:11px;border-top:1px solid #e5e7eb;padding-top:12px}@media(max-width:800px){.contract-page{padding:14px}.contract-doc{padding:24px 18px;border-radius:16px}.contract-header,.contract-signatures,.contract-two-col{grid-template-columns:1fr}.contract-header{text-align:center}}@media print{.mobile-bottom-nav,.no-print,.side,.top{display:none!important}.app,.premium-app{display:block!important}.contract-page{padding:0!important;background:#fff!important}.contract-doc{max-width:none!important;box-shadow:none!important;border-radius:0!important;padding:.35in .45in!important;font-size:10.5px!important;line-height:1.35!important}.contract-header{padding-bottom:10px!important;margin-bottom:12px!important}.contract-header h1{font-size:20px!important}.contract-doc h2{font-size:12px!important;margin:15px 0 6px!important;padding-bottom:4px!important}.contract-table td,.contract-table th{font-size:9.5px!important;padding:5px 6px!important}.contract-signatures{page-break-inside:avoid;break-inside:avoid}}.contract-client-callout{margin:22px 0 34px;padding:16px 18px;border:1px solid #e7d28c;border-radius:18px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;gap:16px}.contract-client-callout b{display:block;font-size:14px;margin-bottom:4px}.contract-client-callout p{margin:0;color:#5f5142;font-size:12px;line-height:1.35}.contract-client-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.contract-public-bg{padding:28px 14px}.contract-public-toolbar{max-width:980px;margin:0 auto 16px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.public-contract-doc{margin:0 auto}@media(max-width:720px){.contract-client-callout{align-items:flex-start;flex-direction:column}.contract-client-actions{width:100%;justify-content:flex-start}.contract-client-actions .btn{width:100%;justify-content:center}}@media print{.contract-client-callout,.contract-public-toolbar{display:none!important}}.joist-import-card{margin-top:22px}.import-hero{margin-bottom:22px}.joist-import-form{margin-top:20px;display:grid;grid-template-columns:1fr 1fr auto;grid-gap:16px;gap:16px;align-items:end}.import-columns-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.import-columns-grid>div{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fbfbfc}.import-columns-grid p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.4}.alert{margin:14px 0;padding:12px 14px;border-radius:16px;font-weight:800}.alert.success{background:#eef9f0;border:1px solid #cce8d1;color:#1d7a37}.alert.error{background:#fff2ee;border:1px solid #f0b7a6;color:#a43b1f}@media(max-width:900px){.import-columns-grid,.joist-import-form{grid-template-columns:1fr}}.contract-scope-reference{margin:12px 0 14px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:14px;background:#fbfbfc}.contract-scope-reference h3{margin:0 0 6px;font-size:13px}.contract-scope-reference p{margin:0}.contract-scope-summary{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap;color:#374151;font-size:12px}.contract-items-summary td:last-child,.contract-items-summary th:last-child{width:150px;text-align:right;white-space:nowrap}@media print{.contract-scope-reference{padding:8px 10px!important;margin:8px 0 10px!important}.contract-scope-reference h3{font-size:10.5px!important}.contract-scope-summary{font-size:9.5px!important;gap:12px!important}.contract-items-summary td:last-child,.contract-items-summary th:last-child{width:95px!important}}.public-doc,.public-doc .doc-item-clean h3,.public-estimate-doc,.public-estimate-doc .doc-item-clean h3,.public-invoice-doc,.public-invoice-doc .doc-item-clean h3{font-size:13.5px!important}.public-doc .doc-item-clean p,.public-estimate-doc .doc-item-clean p,.public-invoice-doc .doc-item-clean p{font-size:13.25px!important;line-height:1.5!important}.public-doc .doc-item-total,.public-estimate-doc .doc-item-total,.public-invoice-doc .doc-item-total{font-size:13.5px!important}.public-doc .doc-company-left p,.public-doc .doc-top>div:last-child p,.public-doc .pay-warn,.public-doc .total-line,.public-estimate-doc .doc-company-left p,.public-estimate-doc .doc-top>div:last-child p,.public-estimate-doc .pay-warn,.public-estimate-doc .total-line,.public-invoice-doc .doc-company-left p,.public-invoice-doc .doc-top>div:last-child p,.public-invoice-doc .pay-warn,.public-invoice-doc .total-line{font-size:13px!important}.client-select-panel{overflow:hidden}.client-panel-head{margin-bottom:14px}.client-panel-head h2{margin:0 0 4px}.client-panel-head p{margin:0}.client-quick-list{display:grid;grid-gap:10px;gap:10px}.client-double-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid #e5e7eb;border-radius:16px;background:#fff;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.client-double-row:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:#d7b437}.client-double-main{min-width:0}.client-double-main b{display:block}.client-double-main small{display:block;color:#667085;margin-top:3px}.client-double-main span{display:block;margin-top:5px;color:#9a7a00;font-size:12px;font-weight:800}.client-double-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(max-width:820px){.client-double-row{align-items:flex-start;flex-direction:column}.client-double-actions{width:100%}.client-double-actions .btn,.client-double-actions form{flex:1 1}.client-double-actions .btn{width:100%}}.invoice-edit-item-card{border:1px solid #e4e8f0;border-radius:18px;overflow:hidden;margin:14px 0;box-shadow:0 12px 30px rgba(15,23,42,.04)}.invoice-edit-item-card .field textarea{min-height:94px}.invoice-photos-rule{margin:42px 0 24px;border:0;border-top:1px solid #d9dee8}.admin-invoice-reference-photos h2,.invoice-reference-photos h2{margin-bottom:8px}.invoice-photo-note{margin:0 0 14px;color:#6b7280;font-size:13px}.admin-invoice-reference-photos .public-photos.compact-photos,.invoice-reference-photos .public-photos.compact-photos{grid-template-columns:repeat(auto-fit,minmax(120px,150px))!important;gap:12px!important}.admin-invoice-reference-photos .photo-thumb-frame,.invoice-reference-photos .photo-thumb-frame{aspect-ratio:4/3}@media(max-width:900px){.invoice-edit-item-grid{grid-template-columns:1fr}.invoice-edit-item-card .field{border-right:0!important;border-bottom:1px solid #e4e8f0}.invoice-item-total-readonly{align-items:flex-start}.invoice-edit-actions{flex-wrap:wrap}}@media print{@page{size:letter;margin:.36in .4in}body,html{height:auto!important;overflow:visible!important;background:#fff!important}.contract-public-bg,.doc-bg,.invoice-public-bg{padding:0!important;margin:0!important;background:#fff!important}.doc,.invoice-doc,.public-doc,.public-estimate-doc,.public-invoice-doc{width:100%!important;max-width:none!important;min-height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.doc-title{margin:0 0 14px!important;font-size:20px!important;line-height:1.1!important}.doc-top{gap:38px!important;margin:0 0 16px!important;padding:0 0 12px!important;break-inside:avoid!important;page-break-inside:avoid!important}.doc-company-left .logo,.public-doc .logo,.public-estimate-doc .logo,.public-invoice-doc .logo{width:108px!important;height:auto!important;margin-bottom:10px!important}.mobile-summary-card{margin:0 0 12px!important;padding:6px 0!important;break-inside:avoid!important;page-break-inside:avoid!important}.doc-items-clean,.invoice-doc .doc-items-clean,.public-doc .doc-items-clean,.public-estimate-doc .doc-items-clean,.public-invoice-doc .doc-items-clean{margin-top:8px!important;padding-top:0!important;break-before:auto!important;page-break-before:auto!important;break-inside:auto!important;page-break-inside:auto!important}.doc-items-clean:after,.doc-items-clean:before{padding-bottom:5px!important;margin-bottom:0!important}.doc-item-clean,.invoice-doc .doc-item-clean,.public-doc .doc-item-clean,.public-estimate-doc .doc-item-clean,.public-invoice-doc .doc-item-clean{display:block!important;break-inside:auto!important;page-break-inside:auto!important;padding:7px 0 9px!important;margin:0!important;border-bottom:1px solid #e6e9ef!important;overflow:visible!important}.doc-item-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 105px!important;grid-gap:12px!important;gap:12px!important;align-items:start!important;break-after:avoid!important;page-break-after:avoid!important}.doc-item-clean h3{font-size:11px!important;line-height:1.22!important;margin:0 0 4px!important;overflow-wrap:anywhere!important}.doc-item-total{font-size:10.5px!important;line-height:1.22!important;text-align:right!important;white-space:nowrap!important;overflow:visible!important}.doc-item-clean p{max-width:100%!important;font-size:10px!important;line-height:1.3!important;margin:0!important;color:#1f2937!important;overflow:visible!important;overflow-wrap:break-word!important;white-space:pre-wrap!important}.doc .total,.estimate-doc .total,.invoice-doc .total,.invoice-public-total,.total{break-inside:avoid!important;page-break-inside:avoid!important;margin-top:14px!important}.approve,.notes,.pay-warn,.public-payment-list,.public-payment-row{break-inside:avoid!important;page-break-inside:avoid!important}.invoice-reference-photos{break-before:auto!important;page-break-before:auto!important}.invoice-reference-photos .public-photos.compact-photos{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.invoice-reference-photos .photo-card{break-inside:avoid!important;page-break-inside:avoid!important}.invoice-reference-photos .lightbox-backdrop,.invoice-reference-photos .photo-zoom-badge{display:none!important}.invoice-reference-photos .photo-thumb-button{pointer-events:none!important}}.invoice-edit-details{border:1px solid #e4e8f0;border-radius:18px;background:#fff;margin:14px 0;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.04)}.invoice-edit-details summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-gap:18px;gap:18px;align-items:start;padding:18px 20px;border-bottom:1px solid transparent}.invoice-edit-details summary::-webkit-details-marker{display:none}.invoice-edit-details[open] summary{border-bottom-color:#e4e8f0;background:#fbfbfc}.invoice-item-summary-main{min-width:0}.invoice-item-summary-main b{display:block;font-size:17px;line-height:1.25;margin-bottom:8px;color:#101828}.invoice-item-summary-main p{margin:0;color:#4b5563;line-height:1.45;max-height:92px;overflow:hidden}.invoice-edit-details[open] .invoice-item-summary-main p{max-height:none}.invoice-item-summary-side{text-align:right}.invoice-item-summary-side strong{display:block;font-size:16px;margin-bottom:10px}.invoice-item-summary-side span{display:inline-flex;align-items:center;gap:6px;border:1px solid #d0d5dd;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;color:#344054;background:#fff}.invoice-edit-item-card{padding:0;margin:0;background:#fff}.invoice-edit-item-grid{display:grid;grid-template-columns:minmax(260px,1fr) 160px 120px 150px;grid-gap:0;gap:0;align-items:stretch;border-bottom:1px solid #e4e8f0}.invoice-edit-item-card .field{margin:0}.invoice-edit-item-card .field input,.invoice-edit-item-card .field textarea{border:0;border-radius:0;background:#fff}.invoice-edit-item-card .field input{min-height:54px;font-weight:800}.invoice-edit-item-card .field textarea{min-height:120px;resize:vertical;line-height:1.45}.invoice-edit-item-card .field:not(:last-child){border-right:1px solid #e4e8f0}.invoice-description-field{display:block;border-bottom:1px solid #eef1f6}.invoice-item-total-readonly{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:9px 16px;background:#fbfbfc}.invoice-item-total-readonly small{color:#6b7280;font-size:11px;font-weight:900;text-transform:uppercase}.invoice-item-total-readonly b{font-size:16px}.invoice-edit-actions{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff}@media(max-width:900px){.invoice-edit-details summary{grid-template-columns:1fr}.invoice-item-summary-side{text-align:left}.invoice-edit-item-grid{grid-template-columns:1fr}.invoice-edit-item-card .field{border-right:0!important;border-bottom:1px solid #e4e8f0}.invoice-item-total-readonly{align-items:flex-start}.invoice-edit-actions{flex-wrap:wrap}}.contract-fill-form{max-width:980px;margin:18px auto 0;padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.07);display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;grid-gap:12px;gap:12px;align-items:end}.public-contract-fill-form{margin-bottom:16px}.contract-fill-form label{display:block;margin:0 0 6px;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase}.contract-fill-form input{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:12px;padding:9px 11px;font:inherit}.contract-fill-form .btn{min-height:42px;white-space:nowrap}@media(max-width:980px){.contract-fill-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.contract-fill-form{grid-template-columns:1fr}}@media print{.contract-fill-form{display:none!important}}.status.viewed{background:#e8f0ff!important;color:#175cd3!important}.viewed-help-note{color:#667085;font-size:12px;margin-top:6px}.client-portal-bg{min-height:100vh;background:radial-gradient(circle at top left,rgba(214,170,29,.18),transparent 34%),linear-gradient(180deg,#f7f8fb,#eef1f6);padding:28px}.client-portal-shell{width:min(1080px,100%);margin:0 auto}.client-portal-hero{display:flex;align-items:center;gap:24px;padding:26px;border-radius:28px;background:#0b1118;color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.2)}.client-portal-hero img{width:142px;height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}.portal-eyebrow{color:#f7ce54;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.client-portal-hero h1{margin:6px 0 8px;font-size:clamp(30px,5vw,54px);line-height:1}.client-portal-hero p{margin:0;color:#d5d9e2;font-size:16px;line-height:1.45}.portal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:18px 0}.portal-status-card{border:1px solid #e2e7ef;border-radius:22px;background:#fff;padding:18px;box-shadow:0 14px 36px rgba(15,23,42,.07)}.portal-status-card span{display:block;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:7px}.portal-status-card b{display:block;color:#101828;font-size:22px;line-height:1.1}.portal-status-card small{display:block;margin-top:7px;color:#667085;font-weight:700}.portal-status-card .status{margin-top:10px}.portal-balance-card b{color:#0b7f2a}.portal-actions-card,.portal-photos-card,.portal-project-card{border:1px solid #e2e7ef;border-radius:28px;background:#fff;padding:24px;margin-top:18px;box-shadow:0 16px 45px rgba(15,23,42,.08)}.portal-actions-card h2,.portal-photos-card h2,.portal-project-card h2{margin:0 0 16px}.portal-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.portal-action{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #d7dde8;border-radius:20px;background:#fff;color:#101828;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.portal-action:hover{transform:translateY(-1px);border-color:#d2aa21;box-shadow:0 12px 26px rgba(15,23,42,.08)}.portal-action.primary{background:#fff9e6;border-color:#e4bd3c}.portal-action.disabled{opacity:.58;cursor:not-allowed}.portal-action svg{flex:0 0 auto}.portal-action b{display:block;font-size:17px}.portal-action small{display:block;margin-top:3px;color:#667085;font-weight:700}.portal-project-card>div,.portal-section-head{display:flex;align-items:center;gap:9px;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase}.portal-project-card h2{margin:8px 0}.portal-project-card p{margin:0;color:#667085}.portal-footer a,.portal-project-card a{color:#0b7f2a;font-weight:900}.portal-photos-card .public-photos.compact-photos{grid-template-columns:repeat(auto-fit,minmax(140px,180px))!important;gap:12px!important}.portal-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:24px 0 8px}.portal-footer a{display:inline-flex;align-items:center;gap:7px;text-decoration:none}@media(max-width:820px){.client-portal-bg{padding:14px}.client-portal-hero{flex-direction:column;text-align:center;padding:24px 18px}.client-portal-hero img{width:122px}.portal-action-grid,.portal-status-grid{grid-template-columns:1fr}.portal-actions-card,.portal-photos-card,.portal-project-card{padding:18px;border-radius:22px}}.client-portal-hero{gap:22px!important}.contract-saved-note{max-width:980px;margin:12px auto 0;padding:12px 16px;border:1px solid #cce8d1;border-radius:16px;background:#eef9f0;color:#1d7a37;font-weight:900}@media(max-width:820px){.client-portal-hero h1{font-size:clamp(26px,9vw,36px)!important}}.contract-form-help{grid-column:1/-1;margin:2px 0 0;color:#667085;font-size:12px;font-weight:700}.client-portal-hero h1{font-size:clamp(24px,4vw,42px)!important;line-height:1.05!important;letter-spacing:-.035em!important;max-width:900px}.client-portal-hero{overflow:hidden!important;position:relative}.client-portal-hero img{object-fit:contain!important;flex:0 0 auto!important}@media(max-width:820px){.client-portal-bg{padding:10px!important}.client-portal-shell{width:100%!important}.client-portal-hero{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:10px!important;padding:20px 16px 22px!important;border-radius:26px!important;min-height:auto!important;max-height:none!important}.client-portal-hero img{display:block!important;width:108px!important;max-width:108px!important;min-width:0!important;height:auto!important;max-height:100px!important;margin:0 auto 4px!important;transform:none!important}.client-portal-hero>div{width:100%!important;min-width:0!important}.portal-eyebrow{font-size:11px!important;letter-spacing:.12em!important;margin:0 0 6px!important}.client-portal-hero h1{font-size:32px!important;line-height:1.04!important;letter-spacing:-.04em!important;margin:0 0 10px!important;max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}.client-portal-hero p{font-size:16px!important;line-height:1.35!important;margin:0!important}.portal-status-grid{gap:12px!important;margin:14px 0!important}.portal-status-card{border-radius:22px!important;padding:18px!important}}@media(max-width:420px){.client-portal-hero img{width:96px!important;max-width:96px!important;max-height:88px!important}.client-portal-hero h1{font-size:29px!important}}.portal-logo{display:block!important;width:142px!important;max-width:142px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));flex:0 0 auto!important}.public-contract-print-only-note{grid-column:1/-1;margin:2px 0 0;color:#667085;font-size:12px;font-weight:700}@media(max-width:820px){.portal-logo{width:96px!important;max-width:96px!important;max-height:88px!important;margin:0 auto 4px!important;transform:none!important}.client-portal-hero{overflow:hidden!important}}@media(max-width:420px){.portal-logo{width:88px!important;max-width:88px!important;max-height:82px!important}}.public-contract-fill-form{display:none!important}