.portal-page,.portal-unavailable{color:#17212b;background:#f3f6f7;min-height:100vh;font-size:16px;line-height:1.55}.portal-page *{box-sizing:border-box}.portal-header,.portal-footer{background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:22px max(24px,50vw - 520px);display:flex}.portal-header{border-bottom:1px solid #dce4e8}.portal-header>div{text-align:right;gap:2px;display:grid}.portal-header>div span,.portal-section-heading>span,.portal-document-card header>div>span,.portal-welcome>div>span{color:#496b79;letter-spacing:.11em;text-transform:uppercase;font-size:.76rem;font-weight:800}.portal-header>div strong{color:#0b1d2c;font-size:1rem}.portal-header .language-switcher{justify-self:end;margin-top:5px}.portal-content{gap:28px;max-width:1088px;margin:0 auto;padding:40px 24px 72px;display:grid}.portal-welcome{justify-content:space-between;align-items:center;gap:20px;display:flex}.portal-welcome h1{color:#0b1d2c;margin:7px 0 4px;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.portal-welcome p,.portal-welcome span{margin:0}.portal-secure-badge{color:#24684b;background:#e4f3ec;border-radius:8px;flex:none;padding:9px 13px;font-size:.84rem;font-weight:700}.portal-document-card{background:#fff;border:1px solid #dce4e8;border-radius:16px;padding:clamp(22px,4vw,44px);box-shadow:0 16px 42px #0b1d2c12}.portal-document-card>header{border-bottom:2px solid #17324d;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.portal-document-card h2{color:#0b1d2c;margin:4px 0 0;font-size:1.65rem;line-height:1.25}.portal-document-card header p{color:#667684;margin:6px 0 0}.portal-status{color:#17324d;text-transform:capitalize;background:#e6eef3;border-radius:999px;padding:6px 12px;font-size:.84rem;font-weight:800}.portal-status.status-approved,.portal-status.status-paid{color:#24684b;background:#e4f3ec}.portal-status.status-declined,.portal-status.status-void{color:#a03b3b;background:#fce8e8}.portal-document-description{white-space:pre-wrap;color:#354654;margin:22px 0}.portal-schedule,.portal-invoice-project{color:#354654;flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.portal-schedule span{gap:2px;display:grid}.portal-schedule small{color:#667684}.portal-table-wrap{width:100%;margin-top:24px;overflow-x:auto}.portal-document-table{border-collapse:collapse;width:100%;min-width:520px}.portal-document-table th{text-align:right;color:#4b6270;text-transform:uppercase;letter-spacing:.04em;background:#f2f6f8;padding:13px 10px;font-size:.82rem}.portal-document-table td{text-align:right;vertical-align:top;border-bottom:1px solid #e3e9ec;padding:16px 10px}.portal-document-table th:first-child,.portal-document-table td:first-child{text-align:left}.portal-document-table td strong,.portal-document-table td small{display:block}.portal-document-table td small{color:#667684;margin-top:3px}.portal-document-total{gap:8px;max-width:330px;margin:22px 0 0 auto;display:grid}.portal-document-total>div{justify-content:space-between;gap:18px;display:flex}.portal-document-total>div:last-child,.portal-document-total .portal-total-due{color:#0b1d2c;border-top:2px solid #17324d;margin-top:4px;padding-top:13px;font-size:1.18rem}.portal-validity{color:#526575;margin:24px 0 0;font-size:.9rem}.portal-decision-seal{color:#24684b;background:#e4f3ec;border-radius:10px;align-items:center;gap:12px;margin-top:24px;padding:14px 18px;display:flex}.portal-decision-seal.decision-declined{color:#a03b3b;background:#fce8e8}.portal-decision-seal>span{font-size:1.5rem}.portal-decision-seal div{display:grid}.portal-decision-seal small{overflow-wrap:anywhere}.portal-signature-form{background:#f9fbfb;border:1px solid #dce4e8;border-radius:12px;gap:17px;margin-top:30px;padding:24px;display:grid}.portal-signature-heading>span{color:#496b79;text-transform:uppercase;font-size:.82rem;font-weight:800}.portal-signature-heading h3{color:#0b1d2c;margin:3px 0;font-size:1.4rem}.portal-signature-heading p{color:#526575;margin:0}.portal-signature-form label{color:#354654;gap:7px;font-weight:650;display:grid}.portal-signature-form input:not([type=checkbox]),.portal-signature-form textarea{color:#17212b;width:100%;font:inherit;background:#fff;border:1px solid #cbd5dc;border-radius:8px;padding:11px 12px}.portal-signature-form .portal-consent{align-items:flex-start;gap:10px;font-weight:400;display:flex}.portal-consent input{margin-top:5px}.portal-decision-actions{flex-wrap:wrap;gap:12px;display:flex}.portal-project-overview{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.portal-project-overview article{background:#fff;border:1px solid #dce4e8;border-radius:12px;gap:5px;padding:20px;display:grid}.portal-project-overview article>span,.portal-project-overview small{color:#667684}.portal-project-overview strong{color:#0b1d2c;font-size:1.3rem}.portal-section{gap:20px;display:grid}.portal-section-heading h2{margin:2px 0;font-size:1.65rem}.portal-section-heading p{color:#667684;margin:0}.portal-document-stack{gap:18px;display:grid}.portal-invoice-list{gap:12px;display:grid}.portal-invoice-list article{background:#fff;border:1px solid #dce4e8;border-radius:12px;justify-content:space-between;gap:20px;padding:20px;display:flex}.portal-invoice-list article>div{display:grid}.portal-invoice-list small,.portal-invoice-list span,.portal-empty{color:#667684}.portal-empty{background:#fff;border-radius:10px;padding:22px}.portal-footer{color:#667684;border-top:1px solid #dce4e8;font-size:.85rem}.portal-unavailable{text-align:center;align-content:center;justify-items:center;gap:20px;padding:24px;display:grid}.portal-unavailable>div{max-width:440px}.portal-unavailable h1{margin:0;font-size:1.8rem}.portal-payment-notes{background:#f2f6f8;border-radius:10px;margin-top:24px;padding:20px}.portal-payment-notes p{white-space:pre-wrap;margin:5px 0 0}.task-quick-add{border-bottom:1px solid #dce4e8;margin-bottom:18px;padding:0 0 16px}.task-quick-add summary{color:#fff;cursor:pointer;background:#17324d;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.task-quick-add .task-create-form{padding-top:18px}.task-mode-switch{gap:7px;display:flex}.task-mode-switch [aria-pressed=true]{background:#e6eef3;border-color:#17324d}.task-title-field textarea{resize:vertical;width:100%;min-height:110px;font:inherit;border:1px solid #cbd5dc;border-radius:8px;padding:10px}.evidence-upload-success{color:#24684b;background:#e4f3ec;border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px;display:flex}.evidence-upload-success>div{gap:15px;display:flex}.evidence-upload-success a{color:inherit;font-weight:700}.invoice-share-panel{gap:10px;display:grid}.invoice-share-panel p{margin:0}.invoice-share-result{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.invoice-share-result p{flex-basis:100%}.portal-access-meta,.portal-link-result>div:first-child{gap:4px;display:grid}.portal-link-result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.portal-link-actions{flex-wrap:wrap;gap:8px;display:flex}.client-portal-card{background:linear-gradient(145deg,#fff 0%,#f7fafb 100%);border:1px solid #d7e1e6;border-radius:14px;gap:14px;min-width:0;padding:24px;display:grid;box-shadow:0 10px 24px #0b1d2c0f}.estimate-side-stack{flex-direction:column;gap:16px;display:flex}.estimate-side-stack>.client-portal-card{order:-1}@media (min-width:1181px){.estimate-detail-page .estimate-detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}}.client-portal-card>h2,.client-portal-card>p{margin:0}.client-portal-card>h2{color:#0b1d2c;font-size:1.2rem}.client-portal-card>p{color:#526575;overflow-wrap:anywhere;font-size:.9rem;line-height:1.55}.client-portal-card>.section-kicker{font-size:.75rem}.client-portal-card .portal-access-meta{color:#354654;background:#f0f5f7;border-radius:9px;padding:12px 14px;font-size:.875rem}.client-portal-card .portal-access-meta small{color:#667684;font-size:.8125rem}.portal-link-creator{gap:14px;padding-top:4px;display:grid}.portal-link-create-button{justify-content:center;width:100%;min-height:44px;font-size:.9rem}.portal-link-result{background:#f1faf5;border:1px solid #bed9ca;border-radius:10px;padding:15px}.portal-link-result-copy{gap:4px;min-width:min(100%,260px);display:grid}.portal-link-result-copy strong{color:#1f6849;font-size:.9rem}.portal-link-result-copy small{color:#527062;font-size:.8125rem;line-height:1.45}@media (max-width:760px){.client-portal-card{padding:18px}.portal-link-result{align-items:stretch}.portal-link-actions{width:100%}.portal-link-actions>*{text-align:center;flex:120px}}.client-decision-note{white-space:pre-wrap;background:#f2f6f8;border-radius:8px;padding:12px}.invoice-decision-record{gap:8px;display:grid}.invoice-decision-record h2,.invoice-decision-record p,.invoice-decision-record small{margin:0}.invoice-decision-record.decision-approved{background:#f4fbf7;border-color:#b8ddc8}.invoice-decision-record.decision-declined{background:#fff7f7;border-color:#edc2c2}.invoice-decision-record code{color:#667684;font-size:.78rem}@media (max-width:760px){.portal-header,.portal-footer{padding:18px 20px}.portal-header>div{max-width:48%}.portal-content{gap:20px;padding:24px 16px 50px}.portal-welcome,.portal-document-card>header{flex-direction:column;align-items:flex-start}.portal-document-card{padding:20px 16px}.portal-project-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-signature-form{padding:16px}.portal-footer{flex-direction:column;align-items:flex-start}}@media (max-width:470px){.portal-project-overview{grid-template-columns:1fr}.portal-invoice-list article{flex-direction:column}}@media print{@page{size:letter;margin:.65in}body{padding-bottom:0!important}.mobile-bottom-nav,.mobile-menu{display:none!important}.shared-invoice-page,.portal-page{background:#fff}.portal-header,.portal-footer,.invoice-print-button,.portal-signature-form{display:none!important}.portal-content{max-width:none;padding:0}.portal-document-card{box-shadow:none;border:0;border-radius:0;padding:0}.portal-document-table tr{break-inside:avoid}.app-layout{display:block!important}.app-layout>.sidebar,.app-main>.app-header,.invoice-detail-side,.invoice-detail-page>.workspace-title-row{display:none!important}.app-main,.invoice-detail-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.invoice-detail-grid{display:block!important}.invoice-document{width:100%;box-shadow:none;border:0}}
