:root{--text:#0a0a0a;--text-muted:#595959;--bg:#ededed;--panel:#dadada;--border:#c4c4c4;--accent:#13294b;--accent-bg:#dce3ed;--on-accent:#fff;--danger:#8a0e12;--on-danger:#fff;--header-bg:#0a0a0a;--header-text:#dadada;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#dadada;--text-muted:#949494;--bg:#0a0a0a;--panel:#2c2c2c;--border:#404040;--accent:#1d4ed8;--accent-bg:#16264f;--on-accent:#fff;--danger:#ff6b57;--on-danger:#1a0000;--header-bg:#2c2c2c;--header-text:#dadada}}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}.app{max-width:1200px;margin:0 auto;padding:24px}header{background:var(--header-bg);border-radius:10px;margin:0 0 24px;padding:16px 20px}.brand-row{align-items:center;gap:12px;display:flex}.brand-mark{background:#ffffff14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tabs{gap:8px;margin-top:16px;display:flex}.tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:8px 16px;font-weight:600}.tabs button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tabs .nav-spacer{flex:1}.tabs .current-user{color:var(--header-text);opacity:.75;align-self:center;font-size:13px}.staff-badge{margin-left:8px;padding:1px 8px;font-size:11px}.tabs button.secondary{background:var(--panel);color:var(--text)}header h1{color:var(--header-text);margin:0 0 4px;font-size:28px}header p{color:var(--header-text);opacity:.75;margin:0;font-size:14px}.layout{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}@media (width<=800px){.layout{grid-template-columns:1fr}}aside{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.new-bid-form{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.new-bid-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.new-bid-form input,.new-bid-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.new-bid-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px;font-weight:600}.new-bid-form button:disabled{opacity:.6;cursor:default}.new-bid-form button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.error{color:var(--danger);margin:0;font-size:14px}.empty{color:var(--text-muted)}.bid-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bid-list button{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);text-align:left;border-radius:6px;justify-content:space-between;gap:8px;padding:8px;font-size:13px;display:flex}.bid-list button.active{border-color:var(--accent);background:var(--accent-bg)}.bid-list .date{color:var(--text-muted)}main{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px}.bid-result section{margin-bottom:24px}.bid-result h2{margin-top:0}.bid-result h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;font-size:15px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.total{text-align:right;margin-top:8px;font-size:16px;font-weight:700}.liability{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;font-size:14px}.bid-result-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.bid-result-header button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:600}.new-job-form{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.new-job-form label,.progress-upload-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.new-job-form input,.progress-upload-form input,.progress-upload-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.new-job-form button,.progress-upload-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px;font-weight:600}.new-job-form button:disabled,.progress-upload-form button:disabled{opacity:.6;cursor:default}.job-meta{color:var(--text-muted);margin-bottom:16px}.time-clock,.progress-log{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.inline-form{gap:8px;margin-bottom:12px;display:flex}.inline-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:8px}.inline-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:8px 14px;font-weight:600}.employee-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.employee-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.employee-list li>span:first-child{min-width:120px;font-weight:600}.employee-list button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600}.employee-list button:first-of-type{margin-left:auto}.employee-list button:disabled{opacity:.5;cursor:default}.employee-list li input[type=text]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;flex:1;padding:6px}.employee-list .error{font-size:12px}.badge{border-radius:12px;padding:2px 8px;font-size:13px}.badge.on{background:var(--accent-bg);color:var(--accent)}.badge.elsewhere{background:var(--bg);color:var(--text-muted)}.badge.off{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.recurring-job-section{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 0;display:flex}.recurring-job-section .label{color:var(--text-muted);font-size:13px}.recurring-job-section select,.recurring-job-section input[type=date]{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:6px}.progress-upload-form{max-width:480px;margin-bottom:20px}.progress-entries{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.progress-entry-header{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.progress-entry-header span{color:var(--text-muted)}.media-grid{flex-wrap:wrap;gap:8px;display:flex}.media-thumb{object-fit:cover;border:1px solid var(--border);background:#000;border-radius:6px;width:160px;height:120px}.demo-banner{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:600}.verify-email-banner{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 16px 16px;padding:10px 14px;font-size:14px;display:flex}.bid-result-actions{flex-shrink:0;gap:8px;display:flex}.bid-result-actions button.secondary,.editor-actions button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.bid-editor input[type=text],.bid-editor input[type=number],.bid-editor textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:100%;padding:6px}.bid-editor input.qty,.bid-editor input.price{width:80px}.bid-editor input.unit{width:90px}.bid-editor table input{width:auto}.bid-editor textarea{box-sizing:border-box;width:100%}.bid-editor button.remove{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.material-editor{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.material-editor li{align-items:center;gap:8px;display:flex}.editor-actions{gap:8px;margin-top:16px;display:flex}.editor-actions button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px 16px;font-weight:600}.print-only{display:none}.job-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-status-row button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600}.job-filter-tabs{gap:6px;margin-bottom:10px;display:flex}.job-filter-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text-muted);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.job-filter-tabs button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}@media print{header nav,.no-print{display:none!important}.print-only,.layout{display:block}main{border:none;padding:0}.app{max-width:none;padding:0}body{color:#000;background:#fff}}.billing-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;max-width:900px;padding:24px}.current-plan{margin-bottom:20px}.usage-bars{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.usage-bar-label{justify-content:space-between;margin-bottom:4px;font-size:14px;display:flex}.usage-bar-track{background:var(--bg);border:1px solid var(--border);border-radius:4px;height:8px;overflow:hidden}.usage-bar-fill{background:var(--accent);height:100%}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px;display:grid}.plan-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.plan-card.current{border-color:var(--accent)}.plan-card h3{margin:0}.plan-card-price{margin:0;font-size:20px;font-weight:700}.plan-card-limits{color:var(--text-muted);flex-direction:column;flex:1;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.billing-view button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px 16px;font-weight:600}.billing-view button:disabled{opacity:.6}.billing-view button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.quickbooks-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.qbo-synced{color:var(--text-muted);font-size:12px}.reports-view{max-width:900px}.reports-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;max-width:800px;margin-bottom:32px;display:grid}.report-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.report-card .label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}.report-card .value{font-size:20px;font-weight:700}.report-card.over-budget .value{color:var(--danger)}.review-request-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.review-request-section p{color:var(--text-muted);margin-bottom:12px;font-size:14px}.review-request-section label{margin-bottom:12px;font-size:13px;font-weight:600;display:block}.review-request-section input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;width:100%;margin-top:4px;padding:8px}.new-lead-form,.lead-edit-form{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.new-lead-form label,.lead-edit-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.new-lead-form input,.new-lead-form select,.new-lead-form textarea,.lead-edit-form input,.lead-edit-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.new-lead-form button,.lead-edit-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;align-self:flex-start;padding:10px;font-weight:600}.lead-status{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.lead-status.new{background:var(--accent-bg);color:var(--accent)}.lead-status.contacted,.lead-status.quoted{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.lead-status.won{color:#166534;background:#dcfce7}.lead-status.lost{background:var(--bg);color:var(--danger)}.lead-detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.lead-converted{color:var(--text-muted);margin-bottom:16px;font-size:14px}.lead-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;padding-top:20px;display:flex}.lead-lost-row{gap:8px;display:flex}.lead-lost-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.messages{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.message-thread{flex-direction:column;gap:10px;max-width:600px;margin-bottom:16px;display:flex}.message-bubble{background:var(--bg);border:1px solid var(--border);border-radius:10px;max-width:80%;padding:8px 12px}.message-bubble.contractor{background:var(--accent-bg);align-self:flex-end}.portal-view .message-bubble.contractor{background:var(--bg);align-self:flex-start}.portal-view .message-bubble.homeowner{background:var(--accent-bg);align-self:flex-end}.message-bubble p{margin:2px 0}.message-sender{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:11px;font-weight:700}.message-time{color:var(--text-muted);font-size:11px}.message-compose{gap:8px;max-width:600px;display:flex}.message-compose input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:8px}.message-compose button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:8px 16px;font-weight:600}.voice-input{align-items:center;gap:8px;margin-top:6px;display:inline-flex}.voice-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600}.voice-btn.listening{background:var(--danger);color:var(--on-danger);border-color:var(--danger)}.rate-input{max-width:110px}.rate-display,.invite-status{color:var(--text-muted);font-size:13px}.invite-row{align-items:center;gap:6px;display:inline-flex}.invite-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:160px;padding:6px}.material-purchases,.job-accounting{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.purchase-form{flex-direction:column;gap:12px;max-width:480px;margin-bottom:20px;display:flex}.purchase-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.purchase-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.purchase-form-row{gap:12px;display:flex}.purchase-form-row label{flex:1}.purchase-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px;font-weight:600}.purchase-note{color:var(--text-muted);margin-top:2px;font-size:12px}.accounting-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;max-width:700px;display:grid}.accounting-grid>div{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.accounting-grid .label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}.accounting-grid .value{font-size:18px;font-weight:700}.accounting-grid .over-budget .value{color:var(--danger)}.accounting-note{color:var(--text-muted);font-size:11px;font-weight:400}.homeowner-link{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.homeowner-link .label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0;font-size:12px}.homeowner-link code{overflow-wrap:anywhere;flex:1;min-width:120px;font-size:12px}.homeowner-link button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.portal-view{max-width:700px;margin:0 auto;padding:24px}.portal-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:20px}.portal-header h1{margin:0 0 8px;font-size:28px}.portal-header p{color:var(--text-muted);margin:0 0 4px}.portal-header .badge{margin-top:10px;display:inline-block}.auth-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;max-width:380px;margin:80px auto;padding:32px}.auth-view h1{text-align:center;margin:0 0 24px;font-size:24px}.auth-view form{flex-direction:column;gap:14px;display:flex}.auth-view label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.auth-view input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:10px}.auth-view button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:12px;font-weight:600}.auth-view button[type=submit]:disabled{opacity:.6}.auth-switch{width:100%;color:var(--accent);background:0 0;border:none;margin-top:16px;font-size:13px;text-decoration:underline;display:block}.invoices{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.invoice-form{max-width:560px;margin-bottom:20px}.invoice-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:100%;padding:6px}.invoice-form input.qty,.invoice-form input.price{width:90px}.invoice-form table input{width:auto}.invoice-form label{margin-top:10px;font-size:13px;font-weight:600;display:block}.invoice-form>button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;margin-top:12px;padding:10px 16px;font-weight:600}.invoice-status{text-transform:capitalize;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.invoice-status.draft{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.invoice-status.sent{background:var(--accent-bg);color:var(--accent)}.invoice-status.paid{color:#166534;background:#dcfce7}.invoice-status.void{background:var(--bg);color:var(--danger);text-decoration:line-through}.invoices table button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;margin-right:6px;padding:4px 10px;font-size:12px;font-weight:600}.job-contact-editor{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.job-contact-editor input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px}.job-meta button.secondary{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;margin-left:8px;padding:2px 10px;font-size:12px}.portal-invoices{flex-direction:column;gap:8px;margin:0 0 32px;padding:0;list-style:none;display:flex}.portal-invoices li{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.schedule-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.schedule-nav{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.schedule-form{border-bottom:1px solid var(--border);max-width:560px;margin-bottom:24px;padding-bottom:20px}.schedule-form label{margin-top:10px;font-size:13px;font-weight:600;display:block}.schedule-form input,.schedule-form select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:100%;padding:6px}.schedule-form>button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;margin-top:12px;padding:10px 16px;font-weight:600}.schedule-job{color:var(--text-muted);font-weight:400}.schedule-status{text-transform:capitalize;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.schedule-status.scheduled{background:var(--accent-bg);color:var(--accent)}.schedule-status.cancelled{background:var(--bg);color:var(--danger);text-decoration:line-through}.schedule-cancelled td{opacity:.55}.schedule table button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;margin-right:6px;padding:4px 10px;font-size:12px;font-weight:600}.sign-view{max-width:700px;margin:0 auto;padding:24px}.sign-header{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:20px}.sign-header h1{margin:0 0 8px;font-size:28px}.sign-header .badge{display:inline-block}.signature-share{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:16px 0 24px;padding:12px 16px}.share-link-row{gap:8px;margin-top:8px;display:flex}.share-link-row input{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;flex:1;padding:6px}.sign-confirmation{color:var(--text-muted);font-weight:600}.sign-form{border-top:1px solid var(--border);max-width:480px;margin-top:32px;padding-top:24px}.sign-form input[type=text]{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:100%;margin-top:6px;padding:8px}.sign-form label{margin-top:14px;font-size:13px;font-weight:600;display:block}.sign-agree{align-items:center;gap:8px;font-weight:400!important;display:flex!important}.sign-agree input{width:auto;margin-top:0}.sign-form>button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;margin-top:16px;padding:10px 16px;font-weight:600}.hint{color:var(--text-muted);margin-top:8px;font-size:12px}.satellite-tool-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.satellite-tool-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;width:100%;max-width:720px;max-height:90vh;padding:16px;display:flex}.satellite-tool-header{justify-content:space-between;align-items:center;display:flex}.satellite-tool-header h3{margin:0}.satellite-tool-search{gap:8px;display:flex}.satellite-tool-search input{flex:1}.satellite-tool-map{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-shrink:0;width:100%;height:400px}.satellite-tool-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.satellite-tool-actions{gap:8px;display:flex}.satellite-tool-panel button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:8px 14px;font-weight:600}.satellite-tool-panel button:disabled{opacity:.6;cursor:default}.satellite-tool-panel button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.satellite-tool-panel input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.showcase-link-hint code{background:var(--bg);border-radius:4px;padding:2px 6px}.showcase-toggle-label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.showcase-view .showcase-job{margin-bottom:32px}.showcase-view .showcase-job h2{margin-bottom:12px}.social-caption-panel{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:12px 14px}.social-caption-panel .label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;font-size:12px;display:block}.caption-text{white-space:pre-wrap;margin:0 0 6px}.hashtags{color:var(--text-muted);margin:0 0 10px;font-size:13px}.social-caption-actions{gap:8px;margin-bottom:10px;display:flex}.social-caption-actions button,.share-buttons button,.share-buttons a{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.share-buttons{flex-wrap:wrap;gap:8px;display:flex}.change-orders{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.change-order-form{max-width:480px;margin-bottom:20px}.change-order-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;width:100%;padding:6px}.change-order-form label{margin-top:10px;font-size:13px;font-weight:600;display:block}.change-order-form>button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;margin-top:12px;padding:10px 16px;font-weight:600}.credit{color:var(--accent)}.change-order-status{text-transform:capitalize;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.change-order-status.pending{background:var(--accent-bg);color:var(--accent)}.change-order-status.approved{color:#166534;background:#dcfce7}.change-order-status.declined,.change-order-status.void{background:var(--bg);color:var(--danger);text-decoration:line-through}.change-order-signed{color:var(--text-muted);font-size:12px}.change-order-cards{flex-direction:column;gap:12px;margin:0 0 32px;padding:0;list-style:none;display:flex}.change-order-cards li{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px 16px}.change-order-card-header{justify-content:space-between;margin-bottom:8px;font-weight:600;display:flex}.change-order-respond input[type=text]{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;width:100%;margin-bottom:8px;padding:6px}.change-order-respond-actions{gap:8px;margin-top:10px;display:flex}.documents{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.document-form{flex-direction:column;gap:12px;max-width:480px;margin-bottom:20px;display:flex}.document-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.document-form input,.document-form select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px}.document-form .document-visible{flex-direction:row;align-items:center;gap:8px}.document-form .document-visible input{width:auto}.document-form button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:10px;font-weight:600}.portal-documents{flex-direction:column;gap:8px;margin:0 0 32px;padding:0;list-style:none;display:flex}.portal-documents li{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.document-category{color:var(--text-muted);text-transform:capitalize;font-size:12px}.paint-colors{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.paint-search-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.paint-search-row select,.paint-search-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px}.paint-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:12px;display:grid}.paint-swatch{border:1px solid var(--border);background:var(--panel);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.paint-swatch-color{border:1px solid var(--border);border-radius:4px;width:100%;height:48px;display:block}.paint-swatch-color.small{flex-shrink:0;width:22px;height:22px;display:inline-block}.paint-swatch-label{font-size:12px;font-weight:600}.paint-swatch-number{color:var(--text-muted);font-size:11px}.paint-pick-form{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:flex}.paint-pick-form input{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:6px}.paint-selections{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.paint-selections li{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.paint-import-form{border-top:1px dashed var(--border);flex-direction:column;gap:8px;max-width:400px;margin-top:16px;padding-top:16px;display:flex}.paint-import-form select,.paint-import-form input[type=file]{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px}.tour{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.tour-upload-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tour-upload-form input[type=text]{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px}.tour-room-list{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.tour-room-thumb{flex-direction:column;align-items:center;gap:4px;font-size:12px;display:flex}.tour-room-thumb img{object-fit:cover;border:2px solid var(--border);cursor:pointer;border-radius:6px;width:100px;height:60px}.tour-room-thumb img.active{border-color:var(--accent)}.tour-editor-controls{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tour-editor-controls button.active{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:8px 16px;font-weight:600}.panorama-viewer.pnlm-container{border-radius:8px;width:100%;max-width:700px;height:400px;margin-bottom:16px;overflow:hidden}.portal-panorama.pnlm-container{max-width:100%;height:420px;margin-bottom:24px}.tour-hotspot-form{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px;display:flex}.tour-hotspot-form select,.tour-hotspot-form input{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:6px}.tour-hotspot-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tour-hotspot-list li{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.hotspot-label{color:var(--text-muted)}.wall-paint-picker{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin-bottom:16px;padding:10px}.wall-paint-picker .paint-grid{max-height:220px;overflow-y:auto}.wall-paint-confirm{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px;display:flex}.wall-paint-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.wall-paint-list li{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.pnlm-container{cursor:default;-webkit-user-select:none;user-select:none;-khtml-user-select:none;-o-user-select:none;contain:content;background:#f4f4f4 url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2267%22%20height%3D%22100%22%20viewBox%3D%220%200%2067%20100%22%3E%0A%3Cpath%20stroke%3D%22%23ccc%22%20fill%3D%22none%22%20d%3D%22M33.5%2C50%2C0%2C63%2C33.5%2C75%2C67%2C63%2C33.5%2C50m-33.5-50%2C67%2C25m-0.5%2C0%2C0%2C75m-66.5-75%2C67-25m-33.5%2C75%2C0%2C25m0-100%2C0%2C50%22%2F%3E%0A%3C%2Fsvg%3E%0A);outline:0;width:100%;height:100%;margin:0;padding:0;font-family:Helvetica,Nimbus Sans L,Liberation Sans,Arial,sans-serif;line-height:1.4;position:relative;overflow:hidden}.pnlm-container *{box-sizing:content-box}.pnlm-ui{z-index:1;width:100%;height:100%;position:absolute}.pnlm-grab{cursor:grab;cursor:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2226%22%20width%3D%2226%22%3E%0A%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%221px%22%20fill%3D%22%23fff%22%20d%3D%22m15.3%2020.5s6.38-6.73%204.64-8.24-3.47%201.01-3.47%201.01%203.61-5.72%201.41-6.49c-2.2-0.769-3.33%204.36-3.33%204.36s0.873-5.76-1.06-5.76-1.58%205.39-1.58%205.39-0.574-4.59-2.18-4.12c-1.61%200.468-0.572%205.51-0.572%205.51s-1.58-4.89-2.93-3.79c-1.35%201.11%200.258%205.25%200.572%206.62%200.836%202.43%202.03%202.94%202.17%205.55%22%2F%3E%0A%3C%2Fsvg%3E%0A) 12 8,default}.pnlm-grabbing{cursor:grabbing;cursor:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2226%22%20width%3D%2226%22%3E%0A%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%221px%22%20fill%3D%22%23fff%22%20d%3D%22m15.3%2020.5s5.07-5.29%203.77-6.74c-1.31-1.45-2.53%200.14-2.53%200.14s2.74-3.29%200.535-4.06c-2.2-0.769-2.52%201.3-2.52%201.3s0.81-2.13-1.12-2.13-1.52%201.77-1.52%201.77-0.261-1.59-1.87-1.12c-1.61%200.468-0.874%202.17-0.874%202.17s-0.651-1.55-2-0.445c-1.35%201.11-0.68%202.25-0.365%203.62%200.836%202.43%202.03%202.94%202.17%205.55%22%2F%3E%0A%3C%2Fsvg%3E%0A) 12 8,default}.pnlm-sprite{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%22208%22%3E%0A%3Ccircle%20fill-opacity%3D%22.78%22%20cy%3D%22117%22%20cx%3D%2213%22%20r%3D%2211%22%20fill%3D%22%23fff%22%2F%3E%0A%3Ccircle%20fill-opacity%3D%22.78%22%20cy%3D%22143%22%20cx%3D%2213%22%20r%3D%2211%22%20fill%3D%22%23fff%22%2F%3E%0A%3Ccircle%20cy%3D%22169%22%20cx%3D%2213%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%0A%3Ccircle%20cy%3D%22195%22%20cx%3D%2213%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%0A%3Ccircle%20cx%3D%2213%22%20cy%3D%22195%22%20r%3D%222.5%22%2F%3E%0A%3Cpath%20d%3D%22m5%2083v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-5%205v6h6v-6zm-5%205v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z%22%2F%3E%0A%3Cpath%20d%3D%22m13%20110a7%207%200%200%200%20-7%207%207%207%200%200%200%207%207%207%207%200%200%200%207%20-7%207%207%200%200%200%20-7%20-7zm-1%203h2v2h-2zm0%203h2v5h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2057v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-10%2010v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z%22%2F%3E%0A%3Cpath%20d%3D%22m17%2038v2h-8v-2z%22%2F%3E%0A%3Cpath%20d%3D%22m12%209v3h-3v2h3v3h2v-3h3v-2h-3v-3z%22%2F%3E%0A%3Cpath%20d%3D%22m13%20136-6.125%206.125h4.375v7.875h3.5v-7.875h4.375z%22%2F%3E%0A%3Cpath%20d%3D%22m10.428%20173.33v-5.77l5-2.89v5.77zm1-1.73%203-1.73-3.001-1.74z%22%2F%3E%0A%3C%2Fsvg%3E%0A)}.pnlm-container:fullscreen{width:100%!important;height:100%!important;position:static!important}.pnlm-render-container{cursor:inherit;width:100%;height:100%;position:absolute}.pnlm-controls{cursor:pointer;z-index:2;background-color:#fff;border:1px solid #0006;border-radius:3px;margin-top:4px;transform:translateZ(9999px)}.pnlm-control:hover{background-color:#f8f8f8}.pnlm-controls-container{z-index:1;position:absolute;top:0;left:4px}.pnlm-zoom-controls{width:26px;height:52px}.pnlm-zoom-in{border-radius:3px 3px 0 0;width:100%;height:50%;position:absolute;top:0}.pnlm-zoom-out{background-position:0 -26px;border-top:1px solid #0000001a;border-radius:0 0 3px 3px;width:100%;height:50%;position:absolute;bottom:0}.pnlm-fullscreen-toggle-button,.pnlm-orientation-button,.pnlm-hot-spot-debug-indicator{width:26px;height:26px}.pnlm-hot-spot-debug-indicator{background-color:#ffffff80;border-radius:13px;width:26px;height:26px;margin:-13px 0 0 -13px;display:none;position:absolute;top:50%;left:50%}.pnlm-orientation-button-inactive{background-position:0 -156px}.pnlm-orientation-button-active{background-position:0 -182px}.pnlm-fullscreen-toggle-button-inactive{background-position:0 -52px}.pnlm-fullscreen-toggle-button-active{background-position:0 -78px}.pnlm-panorama-info{color:#fff;text-align:left;z-index:2;background-color:#000000b3;border-radius:0 3px 3px 0;padding-right:10px;display:none;position:absolute;bottom:4px;transform:translateZ(9999px)}.pnlm-title-box{margin-bottom:3px;padding-left:5px;font-size:20px;display:table;position:relative}.pnlm-author-box{padding-left:5px;font-size:12px;display:table;position:relative}.pnlm-load-box{text-align:center;color:#fff;background-color:#000000b3;border-radius:3px;width:200px;height:150px;margin:-75px 0 0 -100px;font-size:20px;display:none;position:absolute;top:50%;left:50%}.pnlm-load-box p{margin:20px 0}.pnlm-lbox{width:20px;height:20px;margin:-10px 0 0 -10px;display:none;position:absolute;top:50%;left:50%}.pnlm-loading{background-color:#fff;width:10px;height:10px;animation-name:pnlm-mv;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;position:relative}@keyframes pnlm-mv{0%{top:0;left:0}25%{top:0;left:10px}50%{top:10px;left:10px}75%{top:10px;left:0}to{top:0;left:0}}.pnlm-load-button{text-align:center;color:#fff;cursor:pointer;background-color:#000000b3;border-radius:3px;width:200px;height:100px;margin:-50px 0 0 -100px;font-size:20px;display:table;position:absolute;top:50%;left:50%}.pnlm-load-button:hover{background-color:#000c}.pnlm-load-button p{vertical-align:middle;display:table-cell}.pnlm-info-box{text-align:center;color:#fff;table-layout:fixed;background-color:#000;border-radius:3px;width:200px;height:150px;margin:-75px 0 0 -100px;font-size:15px;display:table;position:absolute;top:50%;left:50%}.pnlm-info-box a,.pnlm-author-box a{color:#fff;word-wrap:break-word;overflow-wrap:break-word}.pnlm-info-box p{vertical-align:middle;padding:0 5px;display:table-cell}.pnlm-error-msg{display:none}.pnlm-about-msg{color:#fff;opacity:0;-o-transition:opacity .3s ease-in-out;z-index:1;background:#000000b3;border-radius:3px;padding:5px 8px;font-size:11px;line-height:11px;transition:opacity .3s ease-in-out;display:none;position:absolute;top:50px;left:50px}.pnlm-about-msg a:link,.pnlm-about-msg a:visited{color:#fff}.pnlm-about-msg a:hover,.pnlm-about-msg a:active{color:#eee}.pnlm-hotspot-base{visibility:hidden;cursor:default;vertical-align:middle;z-index:1;position:absolute;top:0}.pnlm-hotspot{border-radius:13px;width:26px;height:26px}.pnlm-hotspot:hover{background-color:#fff3}.pnlm-hotspot.pnlm-info{background-position:0 -104px}.pnlm-hotspot.pnlm-scene{background-position:0 -130px}div.pnlm-tooltip span{visibility:hidden;color:#fff;text-align:center;cursor:default;background-color:#000000b3;border-radius:3px;max-width:200px;margin-left:-220px;padding:5px 10px;position:absolute}div.pnlm-tooltip:hover span{visibility:visible}div.pnlm-tooltip:hover span:after{content:"";border:10px solid #0000;border-top-color:#000000b3;width:0;height:0;margin:0 50%;position:absolute;bottom:-20px;left:-10px}.pnlm-compass{cursor:default;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2250%22%20width%3D%2250%22%3E%0A%3Cpath%20d%3D%22m24.5078%206-3.2578%2018h7.5l-3.25781-18h-0.984376zm-3.2578%2020%203.2578%2018h0.9844l3.2578-18h-7.5zm1.19531%200.9941h5.10938l-2.5547%2014.1075-2.5547-14.1075z%22%2F%3E%0A%3C%2Fsvg%3E%0A);border-radius:25px;width:50px;height:50px;display:none;position:absolute;bottom:4px;right:4px}.pnlm-world{position:absolute;top:50%;left:50%}.pnlm-face{transform-origin:0 0;position:absolute}.pnlm-dragfix,.pnlm-preview-img{width:100%;height:100%;position:absolute}.pnlm-preview-img{background-position:50%;background-size:cover}.pnlm-lbar{border:1px solid #fff;width:150px;height:6px;margin:0 auto}.pnlm-lbar-fill{background:#fff;width:0;height:100%}.pnlm-lmsg{font-size:12px}.pnlm-fade-img{position:absolute;top:0;left:0}.pnlm-pointer{cursor:pointer}
