.rq-ai-workspace{--rq-ai-accent: var(--color-primary, #1e293b);--rq-ai-accent-2: var(--color-primary-hover, #0f172a);--rq-ai-accent-soft: var(--color-brand-accent-bg, #dde3ee);--rq-ai-gradient: linear-gradient(135deg, var(--rq-ai-accent), var(--rq-ai-accent-2));--rq-ai-focus-ring: 0 0 0 3px rgba(30, 41, 59, .35);--rq-ai-surface: #ffffff;--rq-ai-surface-muted: var(--color-surface, #f8fafc);--rq-ai-border: var(--color-border, #d7dbe0);--rq-ai-text: var(--color-text, #1e293b);--rq-ai-text-muted: var(--color-text-secondary, #4b5563);--rq-ai-user-bg: var(--color-primary, #1e293b);--rq-ai-user-text: var(--color-primary-contrast, #ffffff);--rq-ai-radius: 14px;min-width:0}.rq-ai-workspace--docked>*{min-width:0}.rq-ai-sidebar{position:fixed;top:0;right:0;bottom:0;z-index:30;display:flex;background:var(--rq-ai-surface);border-left:1px solid var(--rq-ai-border);box-shadow:-8px 0 24px #0f172a0f}.rq-ai-resize-handle{position:absolute;top:0;bottom:0;left:-4px;width:8px;cursor:col-resize;touch-action:none;z-index:1}.rq-ai-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .15s ease}.rq-ai-resize-handle:hover:after,.rq-ai-resize-handle:focus-visible:after,body.rq-ai-is-resizing .rq-ai-resize-handle:after{background:var(--rq-ai-accent)}.rq-ai-resize-handle:focus-visible{outline:none}body.rq-ai-is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.rq-ai-workspace--launcher .app-main{padding-bottom:5rem}.rq-ai-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45}.rq-ai-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;animation:rq-ai-fade-in .18s ease-out}.rq-ai-drawer{position:absolute;top:0;right:0;width:min(100%,480px);height:100vh;height:100dvh;display:flex;background:var(--rq-ai-surface);box-shadow:-12px 0 32px #0f172a2e;overscroll-behavior:contain;animation:rq-ai-slide-in .22s ease-out}@media(max-width:639px){.rq-ai-drawer{width:100%}}@keyframes rq-ai-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rq-ai-slide-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.rq-ai-launcher{position:fixed;right:calc(1.25rem + env(safe-area-inset-right,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.05rem;border:none;border-radius:999px;background:var(--rq-ai-gradient);color:#fff;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;box-shadow:0 8px 24px #1e293b4d,0 2px 6px #0f172a26;transition:transform .15s ease,box-shadow .15s ease}.rq-ai-launcher:hover{transform:translateY(-1px);box-shadow:0 10px 28px #1e293b61,0 2px 6px #0f172a26}.rq-ai-launcher:focus-visible{outline:3px solid rgba(30,41,59,.45);outline-offset:2px}@media(max-width:639px){.rq-ai-launcher{padding:.85rem}.rq-ai-launcher-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.rq-ai-panel{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;color:var(--rq-ai-text)}.rq-ai-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .75rem .7rem 1rem;border-bottom:1px solid var(--rq-ai-border);padding-top:calc(.7rem + env(safe-area-inset-top,0px))}.rq-ai-drawer .rq-ai-panel-header{padding-top:.7rem}.rq-ai-brand{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0}.rq-ai-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--rq-ai-gradient);color:#fff;flex:none}.rq-ai-brand-name{font-weight:700;font-size:.98rem;white-space:nowrap}.rq-ai-badge{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.12rem .45rem;border-radius:999px;color:var(--rq-ai-accent);background:var(--rq-ai-accent-soft);white-space:nowrap}.rq-ai-panel-actions{display:flex;gap:.15rem;flex:none}.rq-ai-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--rq-ai-text-muted);cursor:pointer}.rq-ai-icon-btn:hover,.rq-ai-icon-btn.is-active{background:var(--rq-ai-surface-muted);color:var(--rq-ai-text)}.rq-ai-icon-btn:focus-visible,.rq-ai-starter:focus-visible,.rq-ai-history-item:focus-visible,.rq-ai-history-new:focus-visible,.rq-ai-send:focus-visible{outline:none;box-shadow:var(--rq-ai-focus-ring)}.rq-ai-panel-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.rq-ai-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem}.rq-ai-history{position:absolute;inset:0 0 auto 0;max-height:100%;z-index:2;overflow-y:auto;background:var(--rq-ai-surface);border-bottom:1px solid var(--rq-ai-border);box-shadow:0 12px 24px #0f172a14;padding:.75rem;animation:rq-ai-fade-in .15s ease-out}.rq-ai-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.rq-ai-history-title{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rq-ai-text-muted)}.rq-ai-history-new{border:1px solid var(--rq-ai-border);background:var(--rq-ai-surface);color:var(--rq-ai-text);border-radius:999px;padding:.2rem .7rem;font:inherit;font-size:.8rem;cursor:pointer}.rq-ai-history-empty{margin:.25rem 0 .5rem;font-size:.85rem;color:var(--rq-ai-text-muted)}.rq-ai-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.rq-ai-history-item{display:flex;flex-direction:column;gap:.1rem;width:100%;text-align:left;padding:.55rem .65rem;border:none;border-radius:8px;background:transparent;font:inherit;color:inherit;cursor:pointer}.rq-ai-history-item:hover{background:var(--rq-ai-surface-muted)}.rq-ai-history-item.is-active{background:var(--rq-ai-accent-soft)}.rq-ai-history-item-title{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rq-ai-history-item-meta{font-size:.75rem;color:var(--rq-ai-text-muted)}.rq-ai-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem .25rem .5rem}.rq-ai-empty-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--rq-ai-gradient);color:#fff;box-shadow:0 10px 24px #1e293b40;margin-bottom:.9rem}.rq-ai-empty-title{margin:0 0 .4rem;font-size:1.15rem}.rq-ai-empty-text{margin:0 0 1.1rem;font-size:.88rem;line-height:1.45;color:var(--rq-ai-text-muted);max-width:34ch}.rq-ai-starters{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.5rem}.rq-ai-starter{width:100%;text-align:left;padding:.7rem .85rem;border:1px solid var(--rq-ai-border);border-radius:10px;background:var(--rq-ai-surface);font:inherit;font-size:.88rem;color:var(--rq-ai-text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.rq-ai-starter:hover:not(:disabled){border-color:var(--rq-ai-accent);background:var(--rq-ai-accent-soft)}.rq-ai-starter:disabled{opacity:.6;cursor:default}.rq-ai-message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.rq-ai-message{display:flex;align-items:flex-end;gap:.5rem}.rq-ai-message--user{justify-content:flex-end}.rq-ai-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--rq-ai-gradient);color:#fff;flex:none}.rq-ai-bubble{max-width:85%;padding:.6rem .8rem;border-radius:var(--rq-ai-radius);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.rq-ai-bubble-text{white-space:pre-wrap}.rq-ai-md>*{margin:0 0 .55em}.rq-ai-md>*:last-child{margin-bottom:0}.rq-ai-md ul,.rq-ai-md ol{padding-left:1.25em}.rq-ai-md li+li{margin-top:.2em}.rq-ai-md-heading{font-size:.95rem}.rq-ai-md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;padding:.05em .3em;border-radius:4px;background:var(--color-surface-alt, #eef1f4)}.rq-ai-md pre{overflow-x:auto;padding:.55rem .65rem;border-radius:8px;background:var(--color-surface-alt, #eef1f4)}.rq-ai-md pre code{padding:0;background:none;white-space:pre}.rq-ai-message--user .rq-ai-bubble{background:var(--rq-ai-user-bg);color:var(--rq-ai-user-text);border-bottom-right-radius:4px}.rq-ai-message--assistant .rq-ai-bubble{background:var(--rq-ai-surface-muted);border:1px solid var(--rq-ai-border);border-bottom-left-radius:4px}.rq-ai-message--error .rq-ai-bubble{border-color:#fecaca;background:#fef2f2;color:var(--color-danger, #b91c1c)}.rq-ai-bubble-meta{display:inline-block;margin-top:.35rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--rq-ai-accent)}.rq-ai-typing{display:inline-flex;gap:4px;padding:.75rem .85rem}.rq-ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--rq-ai-accent);opacity:.35;animation:rq-ai-typing 1.1s infinite ease-in-out}.rq-ai-typing span:nth-child(2){animation-delay:.15s}.rq-ai-typing span:nth-child(3){animation-delay:.3s}@keyframes rq-ai-typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.rq-ai-status{margin:1.5rem .25rem 0;padding:.85rem 1rem;border:1px solid var(--rq-ai-border);border-radius:10px;background:var(--rq-ai-surface-muted);text-align:center}.rq-ai-status--compact{margin:0 0 .5rem;padding:.5rem .75rem}.rq-ai-status--error{border-color:#fecaca;background:#fef2f2}.rq-ai-status-title{margin:0 0 .25rem;font-weight:600;font-size:.9rem;color:var(--color-danger, #b91c1c)}.rq-ai-status-text{margin:0;font-size:.85rem;color:var(--rq-ai-text-muted)}.rq-ai-status-retry{margin-top:.6rem;padding:.35rem .9rem;border:1px solid var(--rq-ai-border);border-radius:999px;background:var(--rq-ai-surface);color:var(--rq-ai-text);font:inherit;font-size:.82rem;cursor:pointer}.rq-ai-status-retry:focus-visible{outline:none;box-shadow:var(--rq-ai-focus-ring)}.rq-ai-panel-footer{flex:none;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rq-ai-border);background:var(--rq-ai-surface)}.rq-ai-composer{display:flex;align-items:flex-end;gap:.4rem;padding:.35rem .35rem .35rem .75rem;border:1px solid var(--rq-ai-border);border-radius:14px;background:var(--rq-ai-surface);transition:border-color .15s ease,box-shadow .15s ease}.rq-ai-composer:focus-within{border-color:var(--rq-ai-accent);box-shadow:0 0 0 3px #1e293b26}.rq-ai-composer-input{flex:1 1 auto;min-width:0;resize:none;border:none;outline:none;background:transparent;font:inherit;font-size:16px;line-height:1.4;padding:.4rem 0;max-height:160px;color:var(--rq-ai-text)}.rq-ai-send{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex:none;border:none;border-radius:10px;background:var(--rq-ai-gradient);color:#fff;cursor:pointer}.rq-ai-send:disabled{opacity:1;background:var(--color-surface-alt, #eef1f4);color:var(--rq-ai-text-muted);cursor:default}.rq-ai-disclaimer{margin:.4rem 0 0;text-align:center;font-size:.72rem;color:var(--rq-ai-text-muted)}.rq-ai-workspace svg{flex:none}.rq-ai-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.rq-ai-drawer,.rq-ai-drawer-backdrop,.rq-ai-history,.rq-ai-typing span{animation:none}}@media print{.rq-ai-sidebar,.rq-ai-drawer-root,.rq-ai-launcher{display:none!important}.rq-ai-workspace{padding-right:0!important}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:var(--color-app-bg)}a{color:inherit}nav a{text-decoration:none}nav a.active{font-weight:600}input,select,button{font:inherit}input,select{padding:.4rem .5rem;border:1px solid #ccc;border-radius:6px}button{padding:.45rem .9rem;border:1px solid #1a1a1a;border-radius:6px;background:#1a1a1a;color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}.measurement-toolbar button{padding:.6rem 1rem;min-height:38px}.measurement-toolbar-row-2col{display:flex;gap:.4rem}.measurement-toolbar-row-2col button{flex:1 1 0;min-width:0}.measurement-toolbar button:disabled{opacity:.5;cursor:not-allowed}.measurement-toolbar-lines-toggle,.measurement-mobile-search-toggle,.measurement-toolbar-delete-text-mobile,.jobs-cards{display:none}@media(max-width:760px){.jobs-table{display:none}.jobs-cards{display:grid}}.measurement-page-root{display:flex;flex-direction:column;height:100vh;height:100dvh}.measurement-page-header{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1rem;border-bottom:1px solid #ddd;flex-shrink:0}.measurement-page-back-text-mobile{display:none}.measurement-page-customer-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.measurement-page-save-state{margin-left:auto;font-size:.9rem;white-space:nowrap}.measurement-page-loaded-label{color:#666;font-size:.85rem;white-space:nowrap}.measurement-page-body{flex:1;min-height:0;display:flex;flex-direction:row}.measurement-page-map-area{flex:3;min-width:0;position:relative}.roof-summary-sheet{flex:1;min-width:280px;max-width:380px;border-left:1px solid #ddd;overflow-y:auto}.roof-summary-sheet-handle{display:none}@media(max-width:639px){.measurement-page-header{gap:.75rem;padding:.5rem .75rem}.measurement-page-back-text-desktop{display:none}.measurement-page-back-text-mobile{display:inline}.measurement-page-loaded-label{display:none}.measurement-page-body{flex-direction:column}.measurement-page-map-area{flex:1;min-width:0}.roof-summary-sheet{flex:none;min-width:0;max-width:none;border-left:none;border-top:1px solid #ddd;overflow-y:visible;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff}.roof-summary-sheet-handle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem 1rem;border:none;border-radius:0;background:#fff;color:#1a1a1a;text-align:left;cursor:pointer}.roof-summary-sheet-handle-bar{display:block;width:36px;height:4px;border-radius:2px;background:#ccc;flex-shrink:0}.roof-summary-sheet-headline{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:.75rem}.roof-summary-sheet-headline-metrics{display:flex;gap:.75rem;font-size:.85rem;color:#444;white-space:nowrap}.roof-summary-sheet-body{max-height:0;overflow:hidden;transition:max-height .25s ease}.roof-summary-sheet--expanded .roof-summary-sheet-body{max-height:70vh;overflow-y:auto}.measurement-search-container{display:none!important}.measurement-search-container--open{display:block!important;width:auto!important;right:.75rem!important}.measurement-mobile-search-toggle{display:flex;align-items:center;gap:.35rem;position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:10;background:#fff;color:#333;border:1px solid #ddd;justify-content:flex-start}.measurement-property-banner{top:.75rem!important;left:.75rem!important;right:.75rem!important;max-width:none!important}.measurement-property-banner--search-open{display:none!important}.measurement-property-banner-search-icon{margin-left:auto}.measurement-toolbar{top:3.75rem!important;left:.75rem!important;right:.75rem!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:.4rem!important}.measurement-toolbar-row-2col{display:contents}.measurement-toolbar-lines-label{display:none}.measurement-toolbar-lines-toggle{display:inline-flex}.measurement-toolbar-lines-row{display:none;flex-direction:row;flex-wrap:wrap;gap:.4rem;width:100%}.measurement-toolbar-lines-row--expanded{display:flex}.measurement-toolbar-delete-text-desktop{display:none}.measurement-toolbar-delete-text-mobile{display:inline}}@media(min-width:640px)and (max-width:900px){.roof-summary-sheet{min-width:240px}.measurement-property-banner{max-width:260px!important}}@media print{.app-header,.print-hide{display:none!important}.measurement-report-print-root{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.measurement-report-print-root svg{width:100%!important;max-width:none!important;height:auto!important}.measurement-report-print-root header{padding-bottom:.3rem!important;margin-bottom:.4rem!important}.measurement-report-print-root header div:first-child{font-size:1.15rem!important}.measurement-report-print-root header h1{font-size:1rem!important;margin-top:.25rem!important}.measurement-report-print-root section{margin-bottom:.4rem!important;break-inside:avoid}.measurement-report-summary{gap:.35rem 1.5rem!important;padding:.5rem .75rem!important}.measurement-report-summary-row div:first-child{font-size:.7rem!important}.measurement-report-summary-row div:last-child{font-size:.95rem!important}.measurement-report-print-root table,.measurement-report-print-root tr{break-inside:avoid}.measurement-report-print-root *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@page{size:letter;margin:.5in}:root{--color-text: #1e293b;--color-text-secondary: #4b5563;--color-border: #d7dbe0;--color-surface: #f8fafc;--color-surface-alt: #eef1f4;--color-primary: #1e293b;--color-primary-hover: #0f172a;--color-primary-contrast: #ffffff;--color-secondary-bg: #ffffff;--color-secondary-border: #d7dbe0;--color-secondary-text: #1e293b;--color-danger: #b91c1c;--color-danger-hover: #991b1b;--color-danger-contrast: #ffffff;--color-success: #15803d;--color-app-bg: #f5f7fa;--color-brand-border: #c9d3e3;--color-brand-accent-bg: #dde3ee;--color-brand-accent-border: #93a7c8;--color-brand-hover: #ecf0f6;--radius: 6px;--desktop-container-width: 1440px;--focus-ring: 0 0 0 3px rgba(30, 41, 59, .35)}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);border:1px solid var(--color-primary);border-radius:var(--radius);padding:.45rem .9rem;cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-secondary-text);border:1px solid var(--color-secondary-border);border-radius:var(--radius);padding:.45rem .9rem;cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt)}.btn-danger{background:var(--color-danger);color:var(--color-danger-contrast);border:1px solid var(--color-danger);border-radius:var(--radius);padding:.45rem .9rem;cursor:pointer}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:default}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.text-secondary{color:var(--color-text-secondary)}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--color-text-secondary)}.empty-state-title{font-weight:600;font-size:1.05rem;color:var(--color-text);margin:0 0 .5rem}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.app-header-logo{order:1;color:inherit;text-decoration:none;font-weight:700;white-space:nowrap}.app-header-nav{order:2;display:flex;flex-wrap:wrap;gap:1rem}.app-header-nav a{text-decoration:none;color:var(--color-text-secondary);padding:.35rem .6rem;border-radius:var(--radius)}.app-header-nav a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-header-nav a.active{color:var(--color-primary);background:var(--color-surface-alt);font-weight:600}.app-header-user{order:3;display:flex;align-items:center;gap:.75rem}.app-header-user-email{color:var(--color-text-secondary);font-size:.9rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{padding:1rem}@media(max-width:759px){.app-header-nav{order:4;flex-basis:100%}.app-header-user-email{max-width:110px}}.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem}.dashboard-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.dashboard-section-heading{margin-top:2rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.dashboard-welcome{margin-top:1.5rem}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:1rem}.metric-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem}.metric-card-value{font-size:1.6rem;font-weight:700;color:var(--color-text)}.metric-card-label{color:var(--color-text-secondary);font-size:.85rem}.dashboard-row-list{display:grid;gap:.5rem;margin-top:.75rem}.dashboard-row-link{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .8rem;text-decoration:none;color:inherit}.dashboard-row-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dashboard-row-static{cursor:default}.dashboard-row-primary{min-width:0;flex:1}.dashboard-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-subtitle{color:var(--color-text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-secondary{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.dashboard-row-secondary-right{text-align:right}.dashboard-row-meta{color:var(--color-text-secondary);font-size:.85rem;white-space:nowrap}.dashboard-row-meta-overdue{color:var(--color-danger);font-weight:600}.jobs-page-container{max-width:1200px;margin:0 auto}.jobs-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem}.jobs-page-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.jobs-empty-state{margin-top:1.5rem}.jobs-empty-message{margin-top:2rem}.jobs-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.jobs-toolbar-search{flex:1 1 220px}.jobs-table-styled{width:100%;border-collapse:collapse;margin-top:1rem}.jobs-table-styled thead tr{text-align:left;border-bottom:1px solid var(--color-border)}.jobs-table-styled th{padding:.6rem .5rem;font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.jobs-table-styled td{padding:.6rem .5rem}.jobs-table-styled tbody tr{border-bottom:1px solid var(--color-surface-alt)}.jobs-table-styled tbody tr:hover{background:var(--color-brand-hover)}.jobs-table-name-link{color:var(--color-primary);font-weight:600;text-decoration:none}.jobs-table-name-link:hover{text-decoration:underline}.jobs-table-name-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.jobs-table-truncate{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1280px){.jobs-table-truncate{max-width:380px}}.jobs-cards-styled{margin-top:1rem;gap:.75rem}.jobs-card-link{display:block;border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;text-decoration:none;color:inherit}.jobs-card-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.jobs-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.jobs-card-name{overflow-wrap:break-word;min-width:0}.jobs-card-address{color:var(--color-text-secondary);margin-top:.25rem;overflow-wrap:break-word}.jobs-card-meta{color:var(--color-text-secondary);font-size:.85rem;margin-top:.25rem}.job-form-fields{display:grid;gap:.9rem;max-width:480px}.job-form-city-state-zip{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.6rem}.job-form-field{display:block}.job-form-field-label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--color-text-secondary)}.job-form-field input,.job-form-field select{width:100%}.job-form-field-error{display:block;color:var(--color-danger);font-size:.8rem;margin-top:.25rem}.job-form-submit-error{margin-top:.75rem}.job-form-submit{margin-top:1rem}.job-detail-container{max-width:1200px;margin:0 auto}@media(min-width:1280px){.job-detail-container,.dashboard-container,.jobs-page-container{max-width:var(--desktop-container-width)}}.job-detail-back-link{margin-bottom:.5rem}.job-detail-title{font-size:1.5rem;font-weight:700;color:var(--color-text)}.job-detail-title-truncate{overflow-wrap:break-word}.job-detail-cards{display:grid;gap:1.25rem;max-width:640px;margin-top:1rem}@media(min-width:1024px){.job-detail-cards{max-width:100%}.job-detail-top-row{display:flex;align-items:flex-start;gap:1.25rem}.job-detail-top-left,.job-detail-top-right{display:flex;flex-direction:column;flex:1;min-width:0}.job-detail-top-left{gap:1.25rem}.job-detail-property-card{display:flex;flex-direction:column}.job-detail-columns{display:flex;align-items:flex-start;gap:1.25rem}.job-detail-column-left,.job-detail-column-right{display:flex;flex-direction:column;gap:1.25rem;min-width:0;flex:1}}.job-detail-card{border:2px solid var(--color-brand-border);border-radius:var(--radius);padding:1rem}.job-detail-card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}@media(min-width:1024px){.job-detail-card{padding:.85rem 1rem}.job-detail-card-header{margin-bottom:.6rem}.job-detail-dl{max-width:420px}}.job-detail-card-title{font-size:1.05rem;font-weight:600;margin:0;color:var(--color-text)}.job-detail-dl{margin:0}.job-detail-row{display:flex;gap:.5rem;padding:.2rem 0}.job-detail-row-label{color:var(--color-text-secondary);min-width:140px;flex-shrink:0}.job-detail-row-value{margin:0;overflow-wrap:break-word;min-width:0}.job-detail-field{display:block;max-width:260px}.job-detail-field-spaced{margin-top:.75rem}.job-detail-field-label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--color-text-secondary)}.job-detail-select{width:100%}.job-detail-status-badge-row{margin-bottom:.75rem}.job-detail-unassigned-note{margin-top:.5rem}.job-detail-measurement-status{font-weight:600;margin:0 0 .25rem;color:var(--color-text)}.job-detail-measurement-summary{color:var(--color-text-secondary);margin:0 0 .75rem}.job-detail-no-measurement{margin-bottom:.5rem}.job-detail-action-row{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-page-container{max-width:1200px;margin:0 auto}.calendar-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem}.calendar-page-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.calendar-form-wrap{margin:1rem 0;border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;max-width:460px}.calendar-empty-state,.calendar-date-group{margin-top:1.5rem}.calendar-date-heading{font-size:1rem;font-weight:600;color:var(--color-text-secondary);margin:0}.calendar-event-list{display:grid;gap:.5rem;margin-top:.5rem}.calendar-event-row{display:block;border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .8rem;text-decoration:none;color:inherit}.calendar-event-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.calendar-event-row-static{cursor:default}.calendar-event-content{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.calendar-event-primary{min-width:0;flex:1}.calendar-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-meta{color:var(--color-text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-delete{flex-shrink:0}.calendar-form-fields{display:grid;gap:.75rem;max-width:420px}.calendar-form-time-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.calendar-form-field{display:block}.calendar-form-field-label{display:block;margin-bottom:.2rem;font-size:.9rem;color:var(--color-text-secondary)}.calendar-form-field input,.calendar-form-field select,.calendar-form-field textarea{width:100%}.calendar-form-field-error{display:block;color:var(--color-danger);font-size:.8rem;margin-top:.2rem}.calendar-form-submit-error{margin-top:.5rem}.calendar-form-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.calendar-job-events-empty{margin:0}.calendar-job-events-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.calendar-job-event-row{border-bottom:1px solid var(--color-surface-alt);padding-bottom:.5rem}.calendar-job-event-actions{display:flex;gap:.4rem;flex-shrink:0;flex-wrap:wrap}.calendar-job-events-form-wrap{margin-top:1rem}.calendar-job-events-add-btn{margin-top:.75rem}@media(max-width:639px){.calendar-form-time-row{grid-template-columns:1fr}.calendar-event-content{flex-direction:column;align-items:stretch}.calendar-event-delete,.calendar-job-event-actions{align-self:flex-start}}.team-page-container{max-width:1200px;margin:0 auto}.team-page-title{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:var(--color-text)}.team-empty-state{margin-top:1rem}.team-table{width:100%;border-collapse:collapse}.team-table thead tr{text-align:left;border-bottom:1px solid var(--color-border)}.team-table th{padding:.5rem;font-size:.85rem;color:var(--color-text-secondary)}.team-table td{padding:.5rem}.team-table tbody tr{border-bottom:1px solid var(--color-surface-alt)}.team-table-role{text-transform:capitalize}.team-table-email{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-cards{display:none}@media(max-width:760px){.team-table{display:none}.team-cards{display:grid;gap:.5rem}}.team-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem}.team-card-name{font-weight:600}.team-card-email{color:var(--color-text-secondary);overflow-wrap:break-word;margin-top:.15rem}.team-card-role{color:var(--color-text-secondary);font-size:.85rem;text-transform:capitalize;margin-top:.15rem}.team-invite-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:1.5rem}.team-invite-title{font-size:1.05rem;margin-top:0;color:var(--color-text)}.team-invite-form{display:flex;gap:.5rem;flex-wrap:wrap}.team-invite-email-input{flex:1 1 240px}.team-invite-link-wrap{margin-top:.75rem}.team-invite-link-hint{margin-bottom:.25rem}.team-invite-link-row{display:flex;gap:.5rem;flex-wrap:wrap}.team-invite-link-input{flex:1 1 200px}.team-invite-pending-title{font-size:.95rem;margin-top:1.5rem;color:var(--color-text)}.team-invite-pending-list{padding-left:1.2rem;color:var(--color-text-secondary)}.accept-invite-container{max-width:400px;margin:4rem auto}.accept-invite-field{margin-bottom:.75rem}.accept-invite-field label{display:block;margin-bottom:.25rem}.accept-invite-field input{width:100%}.accept-invite-mode-toggle{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.team-invite-email-input:focus-visible,.team-invite-link-input:focus-visible,.accept-invite-field input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.notes-textarea{width:100%}.notes-textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.notes-submit-error,.notes-submit-btn{margin-top:.5rem}.notes-list-wrap{margin-top:1rem}.notes-empty-state{margin-top:.5rem}.notes-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.notes-item{border-bottom:1px solid var(--color-surface-alt);padding-bottom:.5rem}.notes-item-body{overflow-wrap:break-word}.notes-item-meta{color:var(--color-text-secondary);font-size:.8rem;margin-top:.2rem}.files-upload-input{max-width:100%}.files-upload-input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.files-list-wrap{margin-top:1rem}.files-empty-state{margin-top:.5rem}.files-list{list-style:none;padding:0;margin:0}.file-row{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--color-surface-alt);padding:.5rem 0;flex-wrap:wrap}.file-row-thumbnail{width:48px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.file-row-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt);font-size:.7rem;color:var(--color-text-secondary)}.file-row-info{flex:1;min-width:0}.file-row-name{overflow-wrap:break-word}.file-row-meta{color:var(--color-text-secondary);font-size:.8rem}.file-row-error{font-size:.8rem}.file-row-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.materials-container{max-width:1200px;margin:0 auto}.materials-back-link{margin-bottom:.5rem}.materials-title{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:var(--color-text)}.materials-empty-state{margin-top:1rem}.materials-empty-hint{margin-bottom:.75rem}.materials-stale-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.materials-stale-banner p{margin:0}.materials-waste-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.materials-waste-label{display:flex;align-items:center;gap:.4rem;font-weight:600}.materials-waste-input{width:5rem}.materials-waste-hint{font-size:.85rem}.materials-assumptions-toggle{margin-bottom:1rem}.materials-assumptions-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.materials-assumptions-hint{margin:0 0 .75rem;font-size:.85rem}.materials-assumptions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.materials-assumptions-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--color-text-secondary)}.materials-assumptions-field input{width:100%}.materials-table{width:100%;border-collapse:collapse}.materials-table thead tr{text-align:left;border-bottom:1px solid var(--color-border)}.materials-table th{padding:.5rem;font-size:.85rem;color:var(--color-text-secondary)}.materials-table td{padding:.4rem .5rem;vertical-align:top}.materials-table tbody tr{border-bottom:1px solid var(--color-surface-alt)}.materials-cell-input{width:100%}.materials-cell-input-narrow{width:6rem}.materials-cell-input:focus-visible,.materials-waste-input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.materials-based-on{font-size:.8rem;max-width:220px}.materials-total-cell{font-weight:600;white-space:nowrap}.materials-cards{display:none}@media(max-width:760px){.materials-table{display:none}.materials-cards{display:grid;gap:.5rem}}.materials-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;display:grid;gap:.5rem}.materials-card-description{font-weight:600}.materials-card-row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.materials-card-field{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--color-text-secondary);flex:1;min-width:90px}.materials-card-total{font-weight:600;margin-left:auto}.materials-subtotal-row{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--color-border);margin-top:.75rem;padding-top:.75rem;font-weight:700;font-size:1.1rem}.materials-subtotal-value{color:var(--color-text)}.materials-custom-form{margin-top:1rem;border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.materials-custom-form-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.5rem}@media(max-width:639px){.materials-custom-form-fields{grid-template-columns:1fr}}.materials-custom-description{grid-column:1 / -1}@media(max-width:639px){.materials-custom-description{grid-column:auto}}.materials-custom-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.materials-add-custom-btn{margin-top:1rem}.jobs-crm-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}.jobs-crm-view-toggle{display:flex;gap:.4rem}.jobs-crm-filter-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary)}.jobs-stage-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.jobs-stage-confirm-dialog{background:var(--color-surface, #fff);border-radius:var(--radius);padding:1.25rem;max-width:420px;width:100%}.jobs-stage-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;justify-content:flex-end}.jobs-pipeline-search{width:100%;margin-bottom:.75rem}.jobs-pipeline-mobile-select{display:none}.jobs-pipeline-mobile-select select{width:100%;margin-bottom:.75rem}.jobs-pipeline-columns{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.jobs-pipeline-column{flex:0 0 260px;min-width:260px}@media(min-width:1200px){.jobs-pipeline-column{flex:0 0 220px;min-width:220px}}@media(min-width:1500px){.jobs-pipeline-column{flex:0 0 200px;min-width:200px}}.jobs-pipeline-column-header{font-weight:600;padding:.5rem .6rem;background:var(--color-brand-accent-bg);border:1px solid var(--color-brand-border);border-radius:var(--radius);margin-bottom:.5rem}.jobs-pipeline-column-empty{padding:.5rem;font-size:.85rem}.jobs-pipeline-cards{display:grid;gap:.5rem}.jobs-pipeline-card{border:2px solid var(--color-brand-border);border-radius:var(--radius);padding:.6rem;display:grid;gap:.3rem}.jobs-pipeline-card-link{color:inherit;text-decoration:none;display:grid;gap:.2rem}.jobs-pipeline-card-name{font-weight:600}.jobs-pipeline-card-address{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-pipeline-card-next-action{font-size:.85rem;margin-top:.2rem}.jobs-pipeline-card-due{font-size:.8rem}.jobs-pipeline-card-due-overdue{color:var(--color-danger);font-weight:600}.jobs-pipeline-card-meta{font-size:.8rem}.jobs-pipeline-card-stage-control{width:100%;margin-top:.3rem}@media(max-width:760px){.jobs-pipeline-columns{display:none}.jobs-pipeline-mobile-select{display:block}}.job-crm-section{margin-bottom:.5rem}.job-crm-top-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:.25rem}.job-crm-stage-column,.job-crm-assigned-column{display:flex;flex-direction:column;flex:1;min-width:220px}@media(min-width:900px){.job-crm-stage-column,.job-crm-assigned-column{flex:1 1 0}}.job-crm-field{display:flex;flex-direction:column;gap:.3rem}.job-crm-field select{width:100%}.job-crm-field-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em}.job-crm-next-action-field{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.job-crm-delete-job-field{margin-top:.6rem}.job-crm-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.job-crm-confirm-dialog{background:var(--color-surface, #fff);border-radius:var(--radius);padding:1.25rem;max-width:420px;width:100%}.job-crm-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;justify-content:flex-end}.next-action-section{margin-top:0}.next-action-form{display:grid;gap:.6rem;max-width:420px}.next-action-field{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--color-text-secondary)}.next-action-field input,.next-action-field select{width:100%}.next-action-quick-dates{display:flex;gap:.4rem;flex-wrap:wrap}.next-action-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.3rem}.next-action-open-title{font-weight:600}.next-action-open-due,.next-action-open-assignee{font-size:.85rem}.next-action-open-actions{display:flex;gap:.5rem;margin-top:.5rem}.next-action-completed-confirm{font-weight:600;color:var(--color-success)}.next-action-whats-next{margin-top:.5rem}.next-action-whats-next-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.activity-timeline{margin-top:.25rem}.job-detail-activity-compact{max-height:360px;overflow-y:auto}.activity-timeline-day-group{margin-bottom:1rem}.activity-timeline-day-heading{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);letter-spacing:.03em;margin-bottom:.4rem}.activity-timeline-item{display:flex;gap:.5rem;margin-bottom:.6rem}.activity-timeline-dot{font-size:.5rem;color:var(--color-text-secondary);margin-top:.35rem}.activity-timeline-item-body{flex:1}.activity-timeline-item-headline{white-space:pre-line;font-size:.9rem}.activity-timeline-item-detail{font-size:.85rem;white-space:pre-line}.activity-timeline-item-time{font-size:.75rem;margin-top:.1rem}.activity-timeline-show-more{margin-top:.5rem}.dashboard-greeting{margin:0 0 1rem}.dashboard-summary-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}@media(min-width:900px){.dashboard-summary-chips{margin-bottom:1rem}.dashboard-action-group{margin-bottom:.6rem}.dashboard-action-group-heading{margin:.35rem 0}}.dashboard-summary-chip{border:2px solid var(--color-brand-border);border-radius:var(--radius);padding:.5rem 1rem;font-size:.8rem;color:var(--color-text-secondary);letter-spacing:.03em}.dashboard-summary-chip strong{display:block;font-size:1.4rem;color:var(--color-text)}.dashboard-whats-next{border:2px solid var(--color-brand-border);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}.dashboard-whats-next-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.dashboard-section-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.dashboard-actions-scope-toggle{display:flex;gap:.4rem}.dashboard-action-group{margin-bottom:1rem}.dashboard-action-group-heading{font-size:.9rem;color:var(--color-text-secondary);margin:.5rem 0}.dashboard-action-row{display:flex;align-items:center;gap:.5rem}.dashboard-action-row-link{flex:1;min-width:0}.dashboard-action-complete-btn{flex-shrink:0}.dashboard-attention-card{border:2px solid var(--color-brand-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:0}.dashboard-attention-row{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}@media(min-width:900px){.dashboard-attention-row{flex-direction:row;flex-wrap:wrap}.dashboard-attention-row>.dashboard-attention-card{flex:0 1 380px}}.dashboard-pipeline-snapshot{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.dashboard-pipeline-chip{border:1px solid var(--color-brand-border);background:var(--color-brand-accent-bg);border-radius:var(--radius);padding:.5rem .9rem;text-decoration:none;color:inherit;min-width:90px}.dashboard-pipeline-chip-count{font-size:1.2rem;font-weight:700}.dashboard-pipeline-chip-label{font-size:.75rem}.materials-catalog-container{max-width:1200px;margin:0 auto}.materials-catalog-back-link{margin-bottom:.5rem}.materials-catalog-title{margin-bottom:.25rem}.materials-catalog-hint{max-width:640px;margin-bottom:1rem}.materials-catalog-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.materials-catalog-empty-state{margin-bottom:1rem}.materials-catalog-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.materials-catalog-table thead tr{text-align:left;border-bottom:1px solid var(--color-border)}.materials-catalog-table th,.materials-catalog-table td{padding:.5rem .6rem}.materials-catalog-table tbody tr{border-bottom:1px solid var(--color-surface-alt)}.materials-catalog-row-inactive{opacity:.55}.materials-catalog-cards{display:none}.materials-catalog-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:.75rem;display:grid;gap:.5rem}@media(max-width:760px){.materials-catalog-table{display:none}.materials-catalog-cards{display:block}}.materials-catalog-add-form{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:.5rem}.materials-catalog-add-form-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-bottom:.75rem}.materials-catalog-add-form-actions{display:flex;gap:.5rem}.materials-catalog-add-btn{margin-top:.5rem}.materials-system-select-label{display:block;margin:.75rem 0 .3rem;font-size:.85rem;color:var(--color-text-secondary)}.materials-system-select{max-width:260px}.materials-catalog-link{margin-top:.75rem}.materials-systems-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.75rem}.materials-systems-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.materials-system-rename-form,.materials-system-new-form{display:flex;flex-wrap:wrap;gap:.5rem}.materials-systems-deleted{margin-top:.25rem}.materials-systems-deleted-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.materials-systems-deleted-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--color-surface-alt);border-radius:var(--radius)}.materials-tax-field{display:flex;flex-direction:column;gap:.3rem;max-width:220px;font-size:.85rem;color:var(--color-text-secondary)}.materials-currency-prefix{display:inline-flex;align-items:center;gap:.2rem}.materials-total-row{font-weight:700;border-top:2px solid var(--color-border);padding-top:.4rem}.materials-order-link{margin:.25rem 0 .75rem}@media print{.material-order-print-root{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.material-order-print-root section,.material-order-print-root table{break-inside:avoid}.material-order-print-root *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.materials-catalog-edit-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.materials-catalog-waste-field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--color-text-secondary)}.materials-company-settings-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem}.materials-company-settings-title{margin:0 0 .75rem;font-size:1rem}.materials-save-confirmation{font-size:.85rem;color:var(--color-success);font-weight:600}.materials-system-switch-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.materials-system-switch-confirm{border:1px solid var(--color-brand-accent-border);background:var(--color-brand-accent-bg);border-radius:var(--radius);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;max-width:420px}.materials-system-switch-confirm p{margin:0}.materials-tax-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.materials-tax-label{display:flex;align-items:center;gap:.4rem;font-weight:600}.materials-tax-input{width:5rem}.materials-tax-input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.materials-tax-hint{font-size:.85rem}.measurement-report-roof-overview-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:1rem;align-items:start}.measurement-report-satellite,.measurement-report-diagram{min-width:0}.measurement-report-satellite img{display:block;width:100%;height:auto;object-fit:contain}.measurement-report-satellite:empty{display:none}.measurement-report-roof-overview-grid:has(>.measurement-report-satellite:empty){grid-template-columns:minmax(0,1fr)}@media(max-width:640px){.measurement-report-roof-overview-grid{grid-template-columns:minmax(0,1fr)}}@media print{.measurement-report-satellite,.measurement-report-diagram{break-inside:avoid}.measurement-report-print-root .measurement-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.measurement-report-print-root h2{break-after:avoid;margin:0 0 .3rem!important}.measurement-report-print-root .measurement-report-sections,.measurement-report-print-root .measurement-report-sections table{break-inside:auto}.measurement-report-print-root .measurement-report-sections thead{display:table-header-group}.measurement-report-print-root .measurement-report-pitch-totals{break-inside:avoid}}.measurement-report-roof-overview-grid--dense{grid-template-columns:minmax(0,1fr)}.measurement-report-roof-overview-grid--dense .measurement-report-satellite{max-width:340px;order:2}.measurement-report-diagram-scroll{max-width:100%}.measurement-report-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media screen and (max-width:640px){.measurement-report-print-root{padding:.75rem!important}.measurement-report-print-root .measurement-report-summary{gap:.6rem 1rem!important;padding:.75rem!important}.measurement-report-table-scroll{background:linear-gradient(to right,#fff 30%,#fff0) left center / 24px 100% no-repeat local,linear-gradient(to left,#fff 30%,#fff0) right center / 24px 100% no-repeat local,linear-gradient(to right,#0f172a2e,#0f172a00) left center / 10px 100% no-repeat scroll,linear-gradient(to left,#0f172a2e,#0f172a00) right center / 10px 100% no-repeat scroll}.measurement-report-table-scroll table{min-width:620px}.measurement-report-table-scroll th,.measurement-report-table-scroll td{white-space:nowrap;font-size:1rem!important;padding:.75rem .85rem!important}.measurement-report-table-scroll th:first-child,.measurement-report-table-scroll td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 #e2e8f0}.measurement-report-print-root .measurement-report-scroll-hint{display:block}.measurement-report-diagram-preview{cursor:zoom-in}.measurement-report-print-root .measurement-report-pitch-totals>div{grid-template-columns:minmax(0,1fr)!important}}@media print{.measurement-report-print-root .measurement-report-roof-overview{break-inside:auto}.measurement-report-roof-overview-grid--dense .measurement-report-satellite{max-width:300px}.measurement-report-diagram-scroll,.measurement-report-table-scroll{overflow:visible!important;border:0!important;background:none!important}.measurement-report-table-scroll table{min-width:0!important}.measurement-report-print-root .measurement-report-diagram-preview .measurement-report-diagram-scroll>svg{max-height:4.4in!important}}@media screen and (min-width:900px){.measurement-report-print-root{max-width:1080px!important}}@media screen and (min-width:1200px){.measurement-report-print-root{max-width:1240px!important;padding:2rem 2.5rem!important}.measurement-report-print-root .measurement-report-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media screen and (min-width:900px){.measurement-report-diagram-preview .measurement-report-diagram-scroll>svg{max-width:640px!important;margin:0 auto}.measurement-report-roof-overview-grid--dense .measurement-report-diagram-preview .measurement-report-diagram-scroll>svg{max-width:860px!important}}.measurement-report-scroll-hint{display:none;font-size:.85rem;color:#475569;margin:.25rem 0 .4rem}.measurement-report-diagram-enlarge{display:flex;align-items:center;justify-content:center;width:fit-content;margin:.5rem auto 0;min-height:44px;padding:.5rem 1rem;border:1px solid #1e3a8a;border-radius:8px;background:#fff;color:#1e3a8a;font-size:.95rem;font-weight:600;cursor:pointer}.measurement-report-diagram-enlarge:hover{background:#eff4fb}.measurement-report-diagram-enlarge-touch{display:none}@media(max-width:640px),(hover:none)and (pointer:coarse){.measurement-report-diagram-enlarge{width:100%}.measurement-report-diagram-enlarge-touch{display:inline}.measurement-report-diagram-enlarge-pointer{display:none}}.measurement-report-diagram-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;background:#0f172a;color:#fff;font-family:sans-serif}.measurement-report-diagram-overlay-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem}.measurement-report-diagram-overlay-title{flex:1;font-weight:700}.measurement-report-diagram-zoom-readout{min-width:3.5rem;text-align:right;font-variant-numeric:tabular-nums}.measurement-report-diagram-overlay-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.measurement-report-diagram-overlay-box{flex:none;transform-origin:center center;will-change:transform}.measurement-report-diagram-overlay-legend{background:#fff;color:#0f172a;padding:0 1rem .5rem}.measurement-report-diagram-overlay-controls{display:flex;justify-content:center;gap:.75rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.measurement-report-diagram-overlay-hint{text-align:center;font-size:.8rem;color:#cbd5e1;padding-bottom:.5rem}.measurement-report-diagram-btn{min-width:48px;min-height:48px;padding:0 1.1rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font-size:1rem;font-weight:600;cursor:pointer}.measurement-report-diagram-btn:disabled{opacity:.45;cursor:default}.measurement-report-diagram-btn:focus-visible,.measurement-report-diagram-enlarge:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}@media print{.measurement-report-diagram-overlay,.measurement-report-diagram-enlarge,.measurement-report-scroll-hint{display:none!important}.measurement-report-diagram-preview{cursor:auto}}@media print{.measurement-report-print-root .measurement-report-sections.measurement-report-sections--keep,.measurement-report-print-root .measurement-report-sections.measurement-report-sections--keep table{break-inside:avoid}}.measurement-page-report-link{white-space:nowrap;font-size:.9rem}.jobs-report-link{margin-left:.4rem;white-space:nowrap;font-size:.85rem}.jobs-card-report-link{display:flex;align-items:center;min-height:44px;padding:0 .75rem;border-top:1px solid var(--color-border);box-sizing:border-box}.report-pdf-hint{display:none}@media screen and (max-width:760px){.report-pdf-hint{display:block;margin:0 1rem .75rem;font-size:.9rem;color:var(--color-text-secondary)}}@media(max-width:899px){.measurement-page-report-link{display:none}}.jobs-card-wrap{border:1px solid var(--color-border);border-radius:var(--radius)}.jobs-card-wrap .jobs-card-link{border:0;border-radius:0}.jobs-card-wrap .jobs-card-link:focus-visible,.jobs-card-wrap .jobs-card-report-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;box-shadow:none}.measurement-page-save-text-mobile,.measurement-page-status-text-mobile{display:none}@media(max-width:639px){.measurement-page-save-text-desktop,.measurement-page-status-text-desktop{display:none}.measurement-page-save-text-mobile,.measurement-page-status-text-mobile{display:inline}}
