*{box-sizing:border-box}:root{color:#1f2937;--tp-spinner-duration:1.6s;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}body{background-color:#000;min-height:100vh;margin:0}#root{min-height:100vh}#initial-loader{z-index:9999;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#initial-loader svg{opacity:.9}#initial-loader span{color:#ffffff59;letter-spacing:.3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.init-spinner{width:32px;height:32px;animation:init-spin var(--tp-spinner-duration,1.6s) linear infinite;border:3px solid #ffffff1a;border-top-color:#3071c5;border-radius:50%}@keyframes init-spin{to{transform:rotate(360deg)}}@keyframes tp-sync-spin{to{transform:rotate(360deg)}}.container{background:linear-gradient(#000000a6,#000000a6),url(/bg-hero.jpg) 50%/cover no-repeat fixed;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--select-caret-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 2.5L7 7.5L12 2.5' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");--color-bg:#101114;--color-surface:#18181b;--color-surface-elevated:#27272a;--color-surface-muted:#24262d;--color-surface-input:#1f2937;--color-border:#4b5563;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-text-subtle:#94a3b8;--color-link:#93c5fd;--color-action-primary-bg:#0b57d0;--color-action-primary-fg:#fff;--color-action-secondary-bg:#2f333b;--color-action-secondary-fg:#f8fafc;--color-danger-bg:#7f1d1d;--color-danger-fg:#fff;--color-success-bg:#14532d;--color-success-fg:#fff;--surface-panel:var(--color-surface);--surface-card:var(--color-surface-elevated);--surface-subtle:var(--color-surface-muted);--surface-input:var(--color-surface-input);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-muted:var(--color-text-subtle);--border-subtle:var(--color-border);--action-primary-bg:var(--color-action-primary-bg);--action-primary-text:var(--color-action-primary-fg);--danger-bg:var(--color-danger-bg);--success-bg:var(--color-success-bg);--danger-text:#fca5a5;--success-text:#86efac;--warning-text:#facc15;--shadow-popover:0 8px 24px #00000047}[data-theme=light],.light-mode{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--select-caret-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 2.5L7 7.5L12 2.5' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");--color-bg:#f5f7fb;--color-surface:#fff;--color-surface-elevated:#fff;--color-surface-muted:#eef2f7;--color-surface-input:#fff;--color-border:#cbd5e1;--color-text:#111827;--color-text-muted:#4b5563;--color-text-subtle:#64748b;--color-link:#0b57d0;--color-action-primary-bg:#0b57d0;--color-action-primary-fg:#fff;--color-action-secondary-bg:#e5e7eb;--color-action-secondary-fg:#111827;--color-danger-bg:#b91c1c;--color-danger-fg:#fff;--color-success-bg:#dcfce7;--color-success-fg:#14532d;--surface-panel:var(--color-surface);--surface-card:var(--color-surface-elevated);--surface-subtle:var(--color-surface-muted);--surface-input:var(--color-surface-input);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-muted:var(--color-text-subtle);--border-subtle:var(--color-border);--action-primary-bg:var(--color-action-primary-bg);--action-primary-text:var(--color-action-primary-fg);--danger-bg:var(--color-danger-bg);--success-bg:var(--color-success-bg);--danger-text:#b91c1c;--success-text:#166534;--warning-text:#854d0e;--shadow-popover:0 8px 24px #0f172a29}.tp-dark-scope{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--select-caret-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 2.5L7 7.5L12 2.5' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");--color-bg:#101114;--color-surface:#18181b;--color-surface-elevated:#27272a;--color-surface-muted:#24262d;--color-surface-input:#1f2937;--color-border:#4b5563;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-text-subtle:#94a3b8;--color-link:#93c5fd;--color-action-primary-bg:#0b57d0;--color-action-primary-fg:#fff;--color-action-secondary-bg:#2f333b;--color-action-secondary-fg:#f8fafc;--color-danger-bg:#7f1d1d;--color-danger-fg:#fff;--color-success-bg:#14532d;--color-success-fg:#fff;--surface-panel:var(--color-surface);--surface-card:var(--color-surface-elevated);--surface-subtle:var(--color-surface-muted);--surface-input:var(--color-surface-input);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-muted:var(--color-text-subtle);--border-subtle:var(--color-border);--action-primary-bg:var(--color-action-primary-bg);--action-primary-text:var(--color-action-primary-fg);--danger-bg:var(--color-danger-bg);--success-bg:var(--color-success-bg);--danger-text:#fca5a5;--success-text:#86efac;--warning-text:#facc15;--shadow-popover:0 8px 24px #00000047}.tp-surface{background:var(--color-surface);color:var(--color-text)}.tp-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text)}.tp-muted-surface{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text)}.tp-input,.tp-select,.tp-search{background:var(--color-surface-input);border:1px solid var(--color-border);color:var(--color-text);box-sizing:border-box;min-height:40px}.tp-input::placeholder,.tp-search::placeholder{color:var(--color-text-subtle)}select:not([multiple]){appearance:none!important;background-image:var(--select-caret-icon)!important;background-position:right 16px center!important;background-repeat:no-repeat!important;background-size:14px 10px!important;padding-right:46px!important}select option,select optgroup{background-color:var(--color-surface-elevated);color:var(--color-text)}.tp-button-primary{background:var(--color-action-primary-bg);color:var(--color-action-primary-fg);border:0}.tp-button-secondary,.tp-icon-button{background:var(--color-action-secondary-bg);border:1px solid var(--color-border);color:var(--color-action-secondary-fg)}.tp-button-danger{background:var(--color-danger-bg);color:var(--color-danger-fg);border:0}.tp-action-button,.tp-button-primary,.tp-button-secondary,.tp-button-danger,.tp-icon-button{cursor:pointer;transition:background-color .14s,border-color .14s,color .14s,opacity .14s,transform 80ms,box-shadow .14s}.tp-action-button:hover:not(:disabled),.tp-button-primary:hover:not(:disabled),.tp-button-secondary:hover:not(:disabled),.tp-button-danger:hover:not(:disabled),.tp-icon-button:hover:not(:disabled){box-shadow:0 0 0 1px color-mix(in srgb, var(--color-action-primary-bg) 42%, transparent);filter:brightness(1.06)}.tp-action-button:active:not(:disabled),.tp-button-primary:active:not(:disabled),.tp-button-secondary:active:not(:disabled),.tp-button-danger:active:not(:disabled),.tp-icon-button:active:not(:disabled){filter:brightness(.96);transform:translateY(1px)}.tp-action-button:focus-visible,.tp-button-primary:focus-visible,.tp-button-secondary:focus-visible,.tp-button-danger:focus-visible,.tp-icon-button:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.tp-action-button:disabled,.tp-button-primary:disabled,.tp-button-secondary:disabled,.tp-button-danger:disabled,.tp-icon-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;filter:none}.tp-button-primary,.tp-action-button--primary{background:var(--color-action-primary-bg);color:var(--color-action-primary-fg)}.tp-action-button--danger:hover:not(:disabled){box-shadow:0 0 0 1px color-mix(in srgb, var(--danger-text) 45%, transparent)}.tp-heading,.tp-text{color:var(--color-text)}.tp-text-muted{color:var(--color-text-muted)}.tp-text-subtle{color:var(--color-text-subtle)}.tp-workspace-surface{background:var(--color-surface);color:var(--color-text)}.tp-workspace-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);color:var(--color-text)}.tp-workspace-toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text)}.tp-workspace-card,.tp-workspace-row{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text)}.tp-workspace-subtle{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text)}.tp-workspace-modal{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-popover)}.tp-workspace-layout{min-width:0;min-height:0;display:grid}.tp-workspace-layout--rail{--tp-workspace-rail-width:300px;grid-template-columns:var(--tp-workspace-rail-width) minmax(0, 1fr);grid-template-rows:minmax(0,1fr)}.tp-workspace-rail{border-right:1px solid var(--color-border);border-bottom:0;grid-template-columns:minmax(0,1fr);align-content:start;align-items:stretch;gap:12px;padding:16px;display:grid;overflow:hidden auto}.tp-workspace-main{flex-direction:column;min-width:0;min-height:0;display:flex}.tp-workspace-scroll{flex:1;min-height:0;overflow-y:auto}.tp-workspace-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.device-scan-stat-grid{flex-wrap:wrap;gap:8px;min-width:0;margin-top:16px;display:flex}.device-scan-stat-card{flex:118px;min-width:min(118px,100%)}.device-scan-toolbar-controls,.tp-workspace-toolbar-controls{grid-template-columns:minmax(180px,1fr) 150px;width:min(560px,45%);min-width:0}.device-scan-toolbar-controls,.room-list-main-toolbar .tp-workspace-toolbar-controls,.submittals-main-toolbar .tp-workspace-toolbar-controls{justify-content:end;justify-self:end;align-items:center;margin-left:auto}.device-scan-toolbar-controls>label,.room-list-main-toolbar .tp-workspace-toolbar-search,.submittals-main-toolbar .tp-workspace-toolbar-search{box-sizing:border-box;align-items:center;gap:8px;min-height:40px;display:flex}.tp-workspace-toolbar-search{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.tp-workspace-toolbar-search svg{flex:none}.tp-workspace-toolbar-search input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;font-size:12px}.tp-workspace-toolbar-select{border:1px solid var(--color-border);background:var(--color-surface-input);color:var(--color-text);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700}.device-scan-toolbar-controls .themed-select,.room-list-main-toolbar .tp-workspace-toolbar-controls .themed-select,.submittals-main-toolbar .tp-workspace-toolbar-controls .themed-select{min-width:0}.device-scan-toolbar-controls .themed-select-trigger,.room-list-main-toolbar .tp-workspace-toolbar-controls .themed-select-trigger,.submittals-main-toolbar .tp-workspace-toolbar-controls .themed-select-trigger{min-height:40px}.tp-workspace-action-grid,.tp-workspace-secondary-grid{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.room-list-workspace-shell{--tp-workspace-rail-width:300px}.room-list-workspace-sidebar{grid-template-areas:"project""stats""actions""secondary""message"}.submittals-workspace-shell{--tp-workspace-rail-width:300px}.submittals-workspace-sidebar{align-content:start}.submittals-filter-row{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.submittals-search-control{min-width:0;display:block;position:relative}.submittals-search-control svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.submittals-search-input{border-radius:8px;width:100%;min-width:0;padding:0 12px 0 36px}.submittals-trade-select{width:100%}.submittals-primary-action{align-self:start;width:auto;min-width:150px;padding:10px 14px;font-weight:800}.submittals-workspace-sidebar .add-submittal-btn.submittals-primary-action{background:var(--color-action-primary-bg);border:1px solid var(--color-action-primary-bg);width:100%;color:var(--color-action-primary-fg);border-radius:8px;font-weight:800}.submittals-workspace-sidebar .add-submittal-btn.submittals-primary-action:hover:not(:disabled){background:var(--color-action-primary-bg);border-color:var(--color-action-primary-bg);color:var(--color-action-primary-fg)}.tasks-workspace-shell{--tp-workspace-rail-width:310px}.tasks-workspace-rail{align-content:start}.tasks-project-card{border-radius:8px;gap:4px;padding:12px;display:grid}.tasks-project-card span,.tasks-project-card small{color:var(--color-text-muted);font-size:11px}.tasks-project-card strong{font-size:14px}.tasks-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tasks-stat-card{border:1px solid var(--color-border);background:var(--color-surface-elevated);text-align:center;border-radius:8px;grid-template-rows:22px auto;grid-template-columns:minmax(0,1fr);place-items:center;gap:5px;min-width:0;min-height:86px;padding:13px 10px 12px;display:grid}.tasks-stat-card>div{grid-template-rows:16px 24px;grid-template-columns:minmax(0,1fr);place-items:center;gap:5px;width:100%;min-width:0;display:grid}.tasks-stat-card svg{width:20px;height:20px;color:var(--color-action-primary-bg);display:block}.tasks-stat-card.tone-blocked svg,.tasks-stat-card.tone-review svg{color:var(--warning-text)}.tasks-stat-card span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text-muted);font-size:10px;line-height:1.2;display:block;overflow:hidden}.tasks-stat-card strong{font-variant-numeric:tabular-nums;margin:0;font-size:20px;line-height:1;display:block}.tasks-primary-action,.tasks-refresh-button,.tasks-detail-actions button{border:1px solid var(--color-action-primary-bg);background:var(--color-action-primary-bg);min-height:40px;color:var(--color-action-primary-fg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:850;display:inline-flex}.tasks-primary-action{width:100%}.tasks-primary-action.compact{width:auto;min-width:140px;padding:0 14px}.tasks-refresh-button{background:var(--color-surface-muted);min-width:92px;color:var(--color-text);border-color:var(--color-border)}.tasks-primary-action:disabled,.tasks-refresh-button:disabled,.tasks-detail-actions button:disabled{cursor:not-allowed;opacity:.58}.tasks-filter-stack{gap:10px;display:grid}.tasks-filter-stack label,.tasks-field{min-width:0;color:var(--color-text-muted);gap:5px;font-size:11px;font-weight:750;display:grid}.tasks-filter-stack select,.tasks-filter-stack .themed-select,.tasks-field input,.tasks-field select,.tasks-field .themed-select,.tasks-field textarea{width:100%;min-width:0}.tasks-filter-stack select,.tasks-filter-stack .themed-select-trigger,.tasks-field input,.tasks-field select,.tasks-field .themed-select-trigger,.tasks-field textarea{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface-input);min-height:42px;color:var(--color-text);font:inherit;border-radius:8px;font-size:12px}.tasks-filter-stack select,.tasks-field select{padding:9px 38px 9px 12px;line-height:1.25}.tasks-filter-stack .themed-select-trigger,.tasks-field .themed-select-trigger{padding-top:9px;padding-bottom:9px;font-size:12px;line-height:1.25}.tasks-field input,.tasks-field textarea{padding:9px 10px}.tasks-field textarea{resize:vertical}.tasks-message{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;padding:9px 10px;font-size:12px;font-weight:700}.tasks-message.tone-success{color:var(--success-text)}.tasks-message.tone-error{color:var(--danger-text)}.tasks-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.tasks-toolbar-controls{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:8px;display:grid}.tasks-main-title{min-width:0}.tasks-main-title h2{margin:0;font-size:18px}.tasks-main-title p{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.tasks-scroll{padding:16px}.tasks-create-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-elevated) 78%, var(--color-surface-muted));border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:14px;display:grid}.tasks-create-heading,.tasks-field-wide,.tasks-form-actions{grid-column:1/-1}.tasks-create-heading{gap:3px;display:grid}.tasks-create-heading strong{font-size:14px}.tasks-create-heading span{color:var(--color-text-muted);font-size:12px}.tasks-form-actions{justify-content:flex-end;display:flex}.tasks-empty{min-height:280px;color:var(--color-text-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.tasks-empty.compact{min-height:160px}.tasks-empty.error{color:var(--danger-text)}.tasks-content-grid{grid-template-columns:minmax(0,1fr) minmax(300px,34%);align-items:start;gap:14px;display:grid}.tasks-group-stack,.tasks-row-list,.tasks-location-group{gap:8px;display:grid}.tasks-location-group>header{justify-content:space-between;align-items:center;gap:12px;padding:0 2px;display:flex}.tasks-location-group>header strong{font-size:13px}.tasks-location-group>header span{color:var(--color-text-subtle);font-size:11px}.tasks-row{border:1px solid var(--color-border);background:var(--color-surface-elevated);width:100%;min-width:0;color:var(--color-text);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.tasks-row:hover,.tasks-row.is-selected{border-color:color-mix(in srgb, var(--color-action-primary-bg) 68%, var(--color-border));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-action-primary-bg) 26%, transparent)}.tasks-row-main{gap:3px;min-width:0;display:grid}.tasks-row-title,.tasks-row-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tasks-row-title{font-size:13px;font-weight:850}.tasks-row-meta{color:var(--color-text-muted);font-size:11px}.tasks-row-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tasks-badge{background:var(--color-surface-muted);min-height:24px;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:850;display:inline-flex}.tasks-badge.tone-blocked{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 14%, var(--color-surface-muted))}.tasks-badge.tone-review{color:var(--warning-text);background:color-mix(in srgb, var(--warning-text) 13%, var(--color-surface-muted))}.tasks-detail-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-elevated) 92%, transparent);border-radius:8px;gap:14px;padding:14px;display:grid;position:sticky;top:0}.tasks-detail-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tasks-detail-panel h3,.tasks-detail-panel p{margin:0}.tasks-detail-panel h3{margin-top:3px;font-size:17px;line-height:1.25}.tasks-detail-panel header span,.tasks-detail-panel header p{color:var(--color-text-muted);font-size:12px}.tasks-detail-description{color:var(--color-text-muted);font-size:13px;line-height:1.45}.tasks-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tasks-detail-facts div{background:var(--color-surface-muted);border-radius:8px;gap:3px;min-width:0;padding:9px 10px;display:grid}.tasks-detail-facts span,.tasks-detail-facts strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tasks-detail-facts span{color:var(--color-text-muted);font-size:10px}.tasks-detail-facts strong{font-size:12px}.tasks-approval-callout{border:1px solid color-mix(in srgb, var(--warning-text) 42%, var(--color-border));background:color-mix(in srgb, var(--warning-text) 10%, var(--color-surface-muted));border-radius:8px;gap:9px;padding:10px;display:flex}.tasks-approval-callout strong,.tasks-approval-callout span{display:block}.tasks-approval-callout span{color:var(--color-text-muted);margin-top:2px;font-size:12px}.tasks-dependency-section{gap:7px;display:grid}.tasks-dependency-section h4{align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.tasks-dependency-section p{color:var(--color-text-muted);font-size:12px}.tasks-dependency-row{background:var(--color-surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.tasks-dependency-row div{gap:3px;min-width:0;display:grid}.tasks-dependency-row span,.tasks-dependency-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tasks-dependency-row span{font-size:12px;font-weight:800}.tasks-dependency-row small{color:var(--color-text-muted);font-size:11px}.tasks-dependency-row.complete{opacity:.7}.tasks-dependency-row button,.tasks-dependency-add button{border:1px solid var(--color-border);background:var(--color-surface-elevated);min-height:34px;color:var(--color-text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tasks-dependency-row button{flex:0 0 34px;width:34px}.tasks-dependency-add{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.tasks-dependency-add select,.tasks-dependency-add .themed-select{width:100%;min-width:0}.tasks-dependency-add select,.tasks-dependency-add .themed-select-trigger{border:1px solid var(--color-border);background:var(--color-surface-input);min-height:34px;color:var(--color-text);border-radius:8px}.tasks-dependency-add button{min-width:54px;color:var(--color-action-primary-fg);background:var(--color-action-primary-bg);border-color:var(--color-action-primary-bg);padding:0 10px;font-weight:800}.tasks-dependency-row button:disabled,.tasks-dependency-add button:disabled{cursor:not-allowed;opacity:.58}.tasks-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.tasks-detail-actions button{width:auto;min-width:92px;padding:0 12px}@media (width<=1100px){.tasks-workspace-shell{--tp-workspace-rail-width:270px}.tasks-content-grid{grid-template-columns:minmax(0,1fr)}.tasks-detail-panel{position:static}}@media (width<=900px){.tasks-toolbar{flex-direction:column;align-items:stretch}.tasks-toolbar-controls{width:100%}.tasks-create-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.tasks-scroll{padding:12px}.tasks-stat-grid,.tasks-create-panel,.tasks-detail-facts,.tasks-toolbar-controls,.tasks-row{grid-template-columns:minmax(0,1fr)}.tasks-row-badges,.tasks-form-actions{justify-content:stretch}.tasks-dependency-add{grid-template-columns:minmax(0,1fr)}.tasks-badge{justify-content:center}.tasks-primary-action.compact{width:100%}}@media (prefers-reduced-motion:reduce){.tasks-row,.tasks-primary-action,.tasks-refresh-button,.tasks-detail-actions button{transition:none}}.submittals-main-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.submittals-main-toolbar h3{margin:0;font-size:18px}.submittals-main-toolbar p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.submittals-results{padding:16px}.room-list-project-card{border-radius:8px;grid-area:project;min-width:0;padding:10px 12px}.room-list-stat-row{grid-area:stats}.room-list-action-button{border:1px solid var(--color-border);background:var(--color-surface-muted);min-width:0;color:var(--color-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:800;transition:background-color .14s,border-color .14s,color .14s,opacity .14s,transform 80ms,box-shadow .14s;display:flex}.room-list-action-button.primary{background:var(--color-action-primary-bg);color:var(--color-action-primary-fg);border:0}.room-list-action-button.ghost{border-color:var(--color-action-primary-bg);color:var(--color-action-primary-bg);background:0 0}.room-list-action-button:hover:not(:disabled){box-shadow:0 0 0 1px color-mix(in srgb, var(--color-action-primary-bg) 42%, transparent);filter:brightness(1.06)}.room-list-action-button:active:not(:disabled){filter:brightness(.96);transform:translateY(1px)}.room-list-action-button:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.room-list-action-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;filter:none}.room-list-actions{grid-area:actions}.room-list-secondary-tools{grid-area:secondary}.room-list-message-stack,.room-list-inline-message,.room-list-upload-progress{min-width:0}.room-list-message-stack{grid-area:message;gap:6px;display:grid}.room-list-inline-message,.room-list-upload-progress{gap:6px;display:grid}.room-list-menu-shell{min-width:0;position:relative}.room-list-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;min-height:36px;color:var(--color-text);cursor:pointer;text-align:left;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:800}.room-list-menu-trigger:before{content:"▸ "}.room-list-menu-trigger[aria-expanded=true]{border-color:var(--color-action-primary-bg);background:color-mix(in srgb, var(--color-action-primary-bg) 12%, var(--color-surface-muted))}.room-list-menu-trigger[aria-expanded=true]:before{content:"▾ "}.room-list-menu-popover{z-index:80;box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:100%;max-width:min(320px,100vw - 48px);max-height:min(420px,68vh);padding:10px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 18px 42px #00000057}.room-list-menu-content{gap:8px;display:grid}.room-list-source-row{border-radius:8px;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;padding:10px;display:grid}.room-list-main-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.room-list-main-toolbar .tp-workspace-toolbar-controls{flex:0 min(560px,45%)}.room-list-main-title{min-width:0}.room-list-main-title h2{margin:0;font-size:18px;line-height:1.3}.room-list-main-title p{max-width:42rem;color:var(--color-text-muted);margin:4px 0 0;font-size:12px;line-height:1.4}.room-list-main-controls{grid-template-columns:minmax(0,260px) minmax(150px,190px);justify-content:end;align-items:center;gap:8px;min-width:0;display:grid}.room-list-search{min-width:0;position:relative}.room-list-search-input,.room-list-plan-area-select{height:40px;min-height:40px;font-size:13px;line-height:1.2}.room-list-plan-area-select{padding-top:0;padding-bottom:0}.room-list-row{border-radius:8px;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(150px,.8fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.room-list-room-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.room-list-row-meta{min-width:0;color:var(--color-text-muted);gap:4px;font-size:12px;display:grid}.room-list-row-meta>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-list-sheet-link{color:var(--color-action-primary-bg);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.room-list-sheet-link:hover,.room-list-sheet-link:focus-visible{text-decoration:underline}.room-list-sheet-link:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px;border-radius:3px}.room-list-row-subtle{color:var(--color-text-subtle);font-size:11px}@media (width<=1100px){.tp-workspace-layout--rail,.room-list-workspace-shell{--tp-workspace-rail-width:260px}.tp-workspace-rail{padding:14px}.room-list-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.room-list-main-controls{grid-template-columns:minmax(0,1fr) minmax(140px,190px);justify-content:stretch}.room-list-row{grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) auto}.room-list-row-meta:nth-of-type(3){display:none}}@media (width<=900px){.tp-workspace-layout--rail{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.tp-workspace-rail{border-right:0;border-bottom:1px solid var(--color-border)}.tp-workspace-action-grid,.tp-workspace-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-list-workspace-sidebar{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);grid-template-areas:"project stats""actions stats""secondary stats""message message";align-items:stretch}.room-list-stat-row,.room-list-actions,.room-list-secondary-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.tp-workspace-rail{max-height:44vh;padding:12px}.tp-workspace-action-grid,.tp-workspace-secondary-grid{grid-template-columns:minmax(0,1fr)}.room-list-workspace-sidebar{grid-template-columns:minmax(0,1fr);grid-template-areas:"project""stats""actions""secondary""message"}.room-list-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.room-list-actions,.room-list-secondary-tools{grid-template-columns:minmax(0,1fr)}.room-list-main-toolbar{padding:12px}.room-list-main-controls{grid-template-columns:minmax(0,1fr)}.room-list-main-toolbar,.submittals-main-toolbar,.qr-admin-main-toolbar,.device-scan-toolbar{flex-direction:column;align-items:stretch!important}.device-scan-toolbar-controls,.tp-workspace-toolbar-controls{grid-template-columns:minmax(0,1fr);width:100%}.room-list-main-toolbar .tp-workspace-toolbar-controls{flex-basis:auto}.room-list-row{grid-template-columns:minmax(0,1fr);align-items:start}.room-list-row-meta:nth-of-type(3){display:grid}.room-list-sheet-meta{white-space:normal!important}}.precon-workspace-body .tp-workspace-layout--rail{grid-template-rows:auto;align-items:start;min-height:100%}.precon-workspace-body .tp-workspace-scroll{flex:none;overflow:visible}@media (width>=901px){.precon-workspace-body .tp-workspace-rail{align-self:start;max-height:calc(100dvh - 112px);position:sticky;top:0;overflow-y:auto}.precon-workspace-body .room-list-workspace-sidebar:has(.room-list-menu-trigger[aria-expanded=true]){z-index:90;overflow:visible}}@media (width<=900px){.precon-workspace-body .tp-workspace-layout--rail{grid-template-rows:auto}.precon-workspace-body .tp-workspace-rail{max-height:none;position:static;overflow:visible}}.header{text-align:center;margin-bottom:2rem}.brand-logo{width:80px;height:80px;margin:0 auto 1rem}.header h1{color:#fff;margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.header p{color:#fff;margin:0;font-size:1rem}.demo-btn{-webkit-backdrop-filter:blur(4px);color:#fff;cursor:pointer;isolation:isolate;background:#ffffff1a;border:none;border-radius:12px;margin-top:1rem;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.demo-btn:hover{background:#ffffff2e}.upload-zone{text-align:center;-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);cursor:pointer;isolation:isolate;background:#ffffff1a;border:none;border-radius:20px;padding:3rem 2rem;transition:all .2s;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.upload-zone:hover{background:#3071c51a}.upload-zone.drag-active{background:#3071c526;transform:scale(1.02)}.upload-zone.has-file{background:#10b9811a}.file-input{display:none}.upload-label{cursor:pointer;flex-direction:column;align-items:center;gap:.75rem;display:flex}.upload-icon{color:#aaa;width:48px;height:48px}.upload-zone:hover .upload-icon,.upload-zone.drag-active .upload-icon{color:#3071c5}.upload-text{color:#aaa;font-size:1rem}.upload-text strong{color:#3071c5}.upload-hint{color:#aaa;font-size:.875rem}.file-preview{flex-direction:column;align-items:center;gap:.5rem;display:flex}.file-icon{color:#10b981;width:48px;height:48px}.file-name{color:#fff;font-size:1.1rem;font-weight:600}.file-size{color:#aaa;font-size:.875rem}.error-message{color:#ef4444;background:#dc262626;border:1px solid #dc26264d;border-radius:8px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.error-message svg{flex-shrink:0;width:20px;height:20px}.actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;-webkit-backdrop-filter:blur(4px);isolation:isolate;border:none;border-radius:12px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.btn-primary{color:#fff;background:#3071c5cc}.btn-primary:hover:not(:disabled){filter:drop-shadow(0 4px 12px #3071c566);background:#3071c5f2;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#aaa;background:#ffffff1a}.btn-secondary:hover{background:#ffffff26}.upload-content{width:100%;max-width:580px}.success-card{text-align:center;-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);isolation:isolate;background:#1e1e1ea6;border-radius:20px;padding:2rem;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.success-icon{color:#10b981;width:64px;height:64px;margin:0 auto 1rem}.success-card h2{color:#fff;margin:0 0 1.5rem}.stats{justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.stat{-webkit-backdrop-filter:blur(4px);isolation:isolate;background:#ffffff14;border-radius:12px;flex-direction:column;align-items:center;min-width:100px;padding:1rem;display:flex;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.stat-value{color:#3071c5;font-size:1.5rem;font-weight:700}.stat-label{color:#aaa;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.recent-drawings{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.recent-drawings h3{color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:.875rem}.drawing-card-wrapper{min-width:0;position:relative;overflow:hidden}.delete-drawing-btn{cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.drawing-card-wrapper:hover .delete-drawing-btn{opacity:1}.delete-drawing-btn:hover{background:#e74c3c}.delete-drawing-btn svg{stroke:#fff;width:16px;height:16px}.drawings-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.drawing-card{cursor:pointer;-webkit-backdrop-filter:blur(4px);filter:drop-shadow(0 2px 8px #0003);isolation:isolate;background:#ffffff14;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;width:100%;min-width:0;padding:1rem;transition:all .2s;display:flex;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.drawing-card:hover{filter:drop-shadow(0 4px 12px #3071c54d);background:#ffffff1f;transform:translateY(-2px)}.drawing-card-icon{color:#3071c5;width:32px;height:32px}.drawing-card-icon svg{width:100%;height:100%}.drawing-card-name{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.875rem;font-weight:600;overflow:hidden}.drawing-card-desc{color:#aaa;text-align:center;font-size:.75rem}.loading-container{background:#0d0d0d;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;min-height:100vh;display:flex}.loading-animation{-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);isolation:isolate;background:#ffffff1a;border-radius:20px;width:200px;height:200px;position:relative;overflow:hidden;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.floor-grid{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:2px;width:100%;height:100%;padding:8px;display:grid}.grid-cell{background:#ffffff08;border:1px solid #ffffff14;border-radius:2px;animation:2s ease-in-out infinite cellPulse}@keyframes cellPulse{0%,to{background:#ffffff08}50%{background:#3071c526}}.scanning-line{background:linear-gradient(90deg,#0000,#3071c5,#0000);height:3px;animation:2s ease-in-out infinite scanDown;position:absolute;top:0;left:0;right:0}@keyframes scanDown{0%{opacity:1;top:0}to{opacity:.3;top:100%}}.device-blocks{pointer-events:none;position:absolute;inset:0}.device-block{opacity:0;border-radius:4px;width:24px;height:24px;animation:2.5s ease-out infinite deviceAppear;position:absolute;transform:scale(0)}.device-block:first-child{background:#e8ad00}.device-block:nth-child(2){background:#0b57d0}.device-block:nth-child(3){background:#2e8b57}.device-block:nth-child(4){background:#e8ad00}.device-block:nth-child(5){background:#0b57d0}.device-block:nth-child(6){background:#2e8b57}@keyframes deviceAppear{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1.2)}40%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(.8)}}.loading-text{flex-direction:column;align-items:center;gap:.5rem;display:flex}.loading-title{color:#fff;font-size:1.25rem;font-weight:600}.loading-subtitle{color:#aaa;font-size:.875rem}@keyframes subtitlePulse{0%,to{opacity:.5}50%{opacity:1}}.loading-progress-bar{background:#ffffff14;border:1px solid #ffffff0f;border-radius:999px;width:min(320px,100vw - 48px);height:6px;margin-top:-.75rem;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff14,0 8px 28px #3071c51f}.loading-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#3071c5f2,#60a5faf2);width:0;height:100%;transition:width .35s;box-shadow:0 0 16px #60a5fa59}.loading-estimate{color:#666;letter-spacing:0;margin-top:-.5rem;font-size:.8rem}.loading-action-slot{--loading-continue-button-min-height:calc(1.08rem + 22px);min-height:var(--loading-continue-button-min-height);justify-content:center;align-items:center;display:flex}.loading-continue-button{color:#fff;cursor:pointer;min-height:var(--loading-continue-button-min-height);-webkit-backdrop-filter:blur(12px)saturate(140%);background:linear-gradient(#ffffff29,#ffffff14),#ffffff14;border:1px solid #ffffff29;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:700;line-height:1.2;transition:background .2s,border-color .2s,transform .2s;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff14,0 10px 30px #0000002e}.loading-continue-button:hover{background:linear-gradient(#ffffff38,#ffffff1f),#ffffff1f;border-color:#ffffff47;transform:translateY(-1px)}.project-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;width:100%;max-width:560px;margin-top:16px;padding:16px 20px}.project-selector-header{margin-bottom:10px}.project-selector-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.project-mode-toggle{background:#ffffff0f;border-radius:8px;gap:0;margin-bottom:12px;display:flex;overflow:hidden}.mode-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;flex:1;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.mode-btn.active{color:#93c5fd;background:#3071c540}.project-name-input,.project-select{color:#fff;box-sizing:border-box;-webkit-appearance:none;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.project-name-input:focus,.project-select:focus{border-color:#3071c580}.project-name-input::placeholder{color:#ffffff4d}.project-select option{background:var(--color-surface-elevated);color:var(--color-text)}.home-screen{background:linear-gradient(#000000a6,#000000a6),url(/bg-hero.jpg) 50%/cover no-repeat fixed;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex}.home-content{flex-direction:column;align-items:center;gap:40px;width:100%;max-width:560px;display:flex}.home-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.home-logo{justify-content:center;align-items:center;width:52px;height:52px;display:flex}.home-title{color:#fff;letter-spacing:-.5px;margin:0;font-size:2.2rem;font-weight:700}.home-subtitle{color:#fff9;margin:0;font-size:1rem}.home-actions{flex-direction:column;gap:12px;width:100%;display:flex}.home-action-card{cursor:pointer;text-align:left;border:none;border-radius:18px;align-items:center;gap:16px;width:100%;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.home-action-card:active{transform:scale(.98)}.home-action-primary{background:#3071c5;box-shadow:0 8px 32px #3071c559}.home-action-primary:hover{background:#2860b0;box-shadow:0 12px 40px #3071c573}.home-action-demo{-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff1f}.home-action-demo:hover{background:#ffffff29}.home-action-icon{color:#fff;background:#ffffff26;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.home-action-icon svg{width:22px;height:22px}.home-action-text{flex-direction:column;flex:1;gap:3px;display:flex}.home-action-title{color:#fff;font-size:16px;font-weight:600;line-height:1.2}.home-action-desc{color:#ffffffa6;font-size:13px;line-height:1.3}.home-action-arrow{color:#ffffff80;flex-shrink:0;width:18px;height:18px}.home-projects{flex-direction:column;gap:12px;width:100%;display:flex}.home-projects-title{color:#fff6;text-transform:uppercase;letter-spacing:.7px;margin:0;font-size:12px;font-weight:600}.home-projects-grid{flex-direction:column;gap:8px;display:flex}.home-project-icon{color:#fff9;background:#ffffff1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.home-project-icon svg{width:18px;height:18px}.home-project-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-project-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.home-project-desc{color:#ffffff73;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#1c1c2a;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:100%;max-width:480px;display:flex;overflow:hidden;box-shadow:0 24px 80px #0009}.modal-header{justify-content:space-between;align-items:center;padding:20px 20px 0;display:flex}.modal-title{color:#fff;margin:0;font-size:18px;font-weight:600}.modal-close-btn{cursor:pointer;color:#fff9;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.modal-close-btn:hover{color:#fff;background:#ffffff24}.modal-close-btn svg{width:16px;height:16px}.modal-body{flex-direction:column;gap:20px;padding:20px;display:flex}.modal-field{flex-direction:column;gap:8px;display:flex}.modal-label{color:#ffffff8c;letter-spacing:.2px;font-size:13px;font-weight:500}.modal-input{color:#fff;box-sizing:border-box;background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;outline:none;width:100%;padding:11px 14px;font-size:15px;transition:border-color .15s}.modal-input:focus{border-color:#3071c599}.modal-input::placeholder{color:#ffffff40}.modal-dropzone{cursor:pointer;background:#ffffff0a;border:1.5px dashed #ffffff2e;border-radius:14px;justify-content:center;align-items:center;min-height:130px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.modal-dropzone:hover:not(.has-file){background:#3071c50d;border-color:#3071c580}.modal-dropzone.drag-active{background:#3071c51a;border-color:#3071c5}.modal-dropzone.has-file{cursor:default;background:#3071c50f;border-style:solid;border-color:#3071c566;min-height:68px}.modal-dropzone-inner{color:#ffffff73;flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.modal-dropzone-text{color:#fff9;font-size:14px}.modal-dropzone-text strong{color:#fff}.modal-dropzone-hint{color:#ffffff59;font-size:12px}.modal-address-selected{color:#dbeafe;background:#3071c51f;border:1px solid #3071c559;border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:13px}.modal-address-results{flex-direction:column;gap:6px;display:flex}.modal-address-result{text-align:left;color:#ffffffe0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-size:13px}.modal-address-result:hover{background:#3071c529;border-color:#3071c561}.modal-file-preview{align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.modal-file-type-badge{color:#7ab3f0;letter-spacing:.5px;background:#3071c540;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.modal-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.modal-file-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.modal-file-size{color:#fff6;font-size:12px}.modal-file-clear{cursor:pointer;color:#ffffff80;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.modal-file-clear:hover{color:#fff;background:#ffffff26}.modal-file-clear svg{width:13px;height:13px}.modal-field-error{color:#ef4444;align-items:center;gap:6px;font-size:12px;display:flex}.modal-footer{justify-content:flex-end;align-items:center;gap:10px;padding:0 20px 20px;display:flex}.modal-btn-cancel{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:500;transition:background .15s}.modal-btn-cancel:hover{background:#ffffff14}[data-theme=light] .modal-label{color:#0f172a9e}[data-theme=light] .modal-input{color:#111827;background:#0f172a0a;border-color:#0f172a24}[data-theme=light] .modal-input::placeholder{color:#0f172a5c}[data-theme=light] .modal-dropzone{background:#0f172a08;border-color:#0f172a2e}[data-theme=light] .modal-dropzone:hover:not(.has-file),[data-theme=light] .modal-dropzone.drag-active{background:#2563eb0f;border-color:#2563eb5c}[data-theme=light] .modal-dropzone-inner{color:#0f172a73}[data-theme=light] .modal-dropzone-text{color:#0f172a9e}[data-theme=light] .modal-dropzone-text strong{color:#111827}[data-theme=light] .modal-dropzone-hint{color:#0f172a6b}[data-theme=light] .modal-btn-cancel{color:#1f2937;background:#0f172a0a;border-color:#0f172a24}[data-theme=light] .modal-btn-cancel:hover{background:#0f172a14}[data-theme=light] .modal-address-selected{color:#1e3a8a;background:#2563eb14;border-color:#2563eb3d}[data-theme=light] .modal-address-result{color:#111827;background:#0f172a0a;border-color:#0f172a1f}[data-theme=light] .modal-address-result:hover{background:#2563eb14;border-color:#2563eb47}.modal-btn-primary{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.modal-btn-primary:hover:not(:disabled){background:#2860b0}.modal-btn-primary:disabled{opacity:.4;cursor:not-allowed}@media (width<=600px){.home-actions{gap:10px}.home-action-card{padding:16px}.home-action-icon{width:42px;height:42px}}.home-topbar{z-index:100;position:fixed;top:16px;right:16px}.home-profile-wrap{position:relative}.home-profile-btn{-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:flex}.home-profile-btn:hover{background:#ffffff38}.home-profile-initials{color:#fff;letter-spacing:.3px;font-size:14px;font-weight:600}.home-profile-dropdown{background:#1c1c2a;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:2px;min-width:180px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #00000080}.home-profile-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;padding:4px 8px 2px;font-size:13px;font-weight:600;overflow:hidden}.home-profile-phone{color:#fff6;padding:0 8px 4px;font-size:12px}.home-profile-divider{background:#ffffff14;height:1px;margin:4px 0}.home-profile-action{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.home-profile-action.logout{color:#ffffffbf}.home-profile-action.logout:hover{color:#ef4444;background:#ef44441f}.home-project-card{-webkit-backdrop-filter:blur(12px);cursor:default;text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background .15s,border-color .15s;display:flex;position:relative}.home-project-card.hovered{background:#ffffff1c;border-color:#ffffff2e}.home-project-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.home-proj-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;transition:background .15s,opacity .15s;display:flex}.home-proj-action-btn.view{color:#7ab3f0;background:#3071c540}.home-proj-action-btn.view:hover{color:#a8d0ff;background:#3071c566}.home-proj-action-btn.delete{color:#ef6464e6;background:#ef444426}.home-proj-action-btn.delete:hover{color:#ef4444;background:#ef444447}.home-proj-action-btn.confirm-del{color:#fff;background:#ef4444;animation:.15s fadeIn}.home-proj-action-btn.confirm-del:hover{background:#dc2626}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.home-theme-toggle{-webkit-backdrop-filter:blur(8px);cursor:pointer;color:#ffffffd9;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;transition:background .15s,color .15s;display:flex}.home-theme-toggle:hover{background:#fff3}.home-topbar{justify-content:flex-end;align-items:center;display:flex}.home-screen.light-mode{background:linear-gradient(#ffffff85,#ffffff85),url(/bg-hero.jpg) 50%/cover no-repeat fixed}.home-screen.light-mode .home-title{color:#0f172a}.home-screen.light-mode .home-subtitle{color:#00000085}.home-screen.light-mode .home-projects-title{color:#0006}.home-screen.light-mode .home-project-name{color:#0f172a}.home-screen.light-mode .home-project-desc{color:#0000007a}.home-screen.light-mode .home-action-demo{-webkit-backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffe6;box-shadow:0 4px 24px #0000001a}.home-screen.light-mode .home-action-demo:hover{background:#ffffffbf}.home-screen.light-mode .home-action-demo .home-action-title{color:#0f172a}.home-screen.light-mode .home-action-demo .home-action-desc{color:#00000080}.home-screen.light-mode .home-action-demo .home-action-arrow{color:#00000061}.home-screen.light-mode .home-action-demo .home-action-icon{color:#2860b0;background:#3071c524}.home-screen.light-mode .home-project-card{-webkit-backdrop-filter:blur(14px);background:#ffffff94;border-color:#ffffffd9;box-shadow:0 2px 12px #00000017}.home-screen.light-mode .home-project-card.hovered{background:#ffffffc7;border-color:#3071c54d;box-shadow:0 6px 20px #0000001f}.home-screen.light-mode .home-project-icon{color:#2860b0;background:#3071c51f}.home-screen.light-mode .home-proj-action-btn{color:#0000008c;background:#00000012}.home-screen.light-mode .home-proj-action-btn:hover{background:#0000001f}.home-screen.light-mode .home-theme-toggle{-webkit-backdrop-filter:blur(10px);color:#1e293b;background:#ffffffad;border-color:#fffffff2;box-shadow:0 2px 8px #0000001a}.home-screen.light-mode .home-theme-toggle:hover{background:#ffffffd9}.home-screen.light-mode .home-profile-btn{-webkit-backdrop-filter:blur(10px);background:#ffffffad;border-color:#fffffff2;box-shadow:0 2px 8px #0000001a}.home-screen.light-mode .home-profile-btn:hover{background:#ffffffd9}.home-screen.light-mode .home-profile-initials{color:#1e293b}.home-screen.light-mode .home-profile-dropdown{-webkit-backdrop-filter:blur(20px);background:#ffffffe0;border-color:#fffffff2;box-shadow:0 16px 48px #00000026}.home-screen.light-mode .home-profile-name{color:#0f172a}.home-screen.light-mode .home-profile-phone{color:#00000073}.home-screen.light-mode .home-profile-divider{background:#00000014}.home-screen.light-mode .home-profile-action.logout{color:#000000a6}.home-screen.light-mode .home-profile-action.logout:hover{color:#ef4444;background:#ef444417}.upload-error-toast{color:#fff;z-index:10000;cursor:pointer;background:#dc2626;border-radius:10px;align-items:center;gap:10px;max-width:90vw;padding:12px 20px;font-size:14px;animation:.3s toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #dc262659}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.upload-error-icon{background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.upload-error-text{flex:1;line-height:1.35}.upload-error-dismiss{opacity:.7;flex-shrink:0;padding-left:4px;font-size:18px}.analysis-banner{color:#e0e0e0;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e1e1eeb;border-radius:8px;align-items:center;gap:10px;padding:8px 16px;font-size:13px;animation:.3s toast-in;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.analysis-banner-spinner{width:14px;height:14px;animation:spin var(--tp-spinner-duration,1.6s) linear infinite;border:2px solid #fff3;border-top-color:#60a5fa;border-radius:50%;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.upload-progress-dock{left:50%;bottom:max(24px, env(safe-area-inset-bottom,24px));z-index:9999;color:#fff;-webkit-backdrop-filter:blur(16px)saturate(145%);isolation:isolate;background:#121216f0;border:1px solid #ffffff24;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;width:min(520px,100vw - 48px);padding:14px 18px;animation:.18s ease-out upload-dock-in;display:grid;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1f,0 4px 24px #0000008c}@keyframes upload-dock-in{0%{opacity:.78;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.upload-progress-dock-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.upload-progress-dock-heading{align-items:center;gap:8px;min-width:0;display:flex}.upload-progress-activity{color:#ffffffc7;filter:drop-shadow(0 0 10px #60a5fa47);width:15px;height:15px;animation:spin var(--tp-spinner-duration,1.6s) linear infinite;flex:none}.upload-progress-dock-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:800;overflow:hidden}.upload-progress-dock-detail{text-overflow:ellipsis;white-space:nowrap;color:#ffffffc2;font-size:.78rem;overflow:hidden}.upload-progress-dock-meter{background:#ffffff1f;border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden;box-shadow:inset 0 1px 1px #0000002e}.upload-progress-dock-fill{border-radius:inherit;background:linear-gradient(90deg,#3071c5f5,#60a5faf5);width:0;height:100%;transition:width .35s;box-shadow:0 0 14px #60a5fa61}.upload-progress-dock-action{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(#428fedf5,#2364bef5),#3071c5;border:1px solid #93c5fd61;border-radius:8px;grid-column:1/-1;width:100%;padding:11px 14px;font-size:.9rem;font-weight:800;transition:background .18s,transform .18s,border-color .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #052e703d,0 12px 30px #3071c540}.upload-progress-dock-action:hover{background:linear-gradient(#519cf6fa,#276dcbfa),#3071c5;border-color:#bfdbfe85;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff57,inset 0 -1px #052e703d,0 14px 34px #3071c552}[data-theme=light] .upload-progress-dock,.light-mode .upload-progress-dock{color:#0f172a;background:#ffffffeb;border-color:#0000001f;box-shadow:inset 0 1px #ffffffb8,0 2px 12px #0000001a}[data-theme=light] .upload-progress-dock-detail,.light-mode .upload-progress-dock-detail{color:#0f172a9e}[data-theme=light] .upload-progress-dock-meter,.light-mode .upload-progress-dock-meter{background:#0f172a14;box-shadow:inset 0 1px 1px #0f172a14}[data-theme=light] .upload-progress-activity,.light-mode .upload-progress-activity{color:#0f172a9e}@media (width<=640px){.upload-progress-dock{bottom:max(24px, env(safe-area-inset-bottom,24px));grid-template-columns:minmax(0,1fr);width:min(420px,100vw - 32px);padding:12px 14px}.upload-progress-dock-action{width:100%}}:root{--bottom-bar-h:76px;--floor-plan-tooltip-padding-x:10px;--surface-panel:var(--color-surface);--surface-card:var(--color-surface-elevated);--surface-subtle:var(--color-surface-muted);--surface-input:var(--color-surface-input);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-muted:var(--color-text-subtle);--border-subtle:var(--color-border);--action-primary-bg:var(--color-action-primary-bg);--action-primary-text:var(--color-action-primary-fg);--danger-bg:var(--color-danger-bg);--danger-text:#fca5a5;--success-text:#86efac;--warning-text:#facc15;--shadow-popover:0 8px 24px #00000047}.floor-plan-viewer{overscroll-behavior:none;background:#1a1a1a;position:fixed;inset:0;overflow:hidden}.floor-plan-viewer.light-mode{--surface-panel:var(--color-surface);--surface-card:var(--color-surface-elevated);--surface-subtle:var(--color-surface-muted);--surface-input:var(--color-surface-input);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-muted:var(--color-text-subtle);--border-subtle:var(--color-border);--action-primary-bg:var(--color-action-primary-bg);--action-primary-text:var(--color-action-primary-fg);--danger-bg:var(--color-danger-bg);--danger-text:#b91c1c;--success-text:#166534;--warning-text:#854d0e;--shadow-popover:0 8px 24px #0f172a29}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);padding:6px var(--floor-plan-tooltip-padding-x);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;background:#000000d9;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.device-hover-tooltip{opacity:0;transform-box:fill-box;transform-origin:bottom;transition:opacity 60ms ease-out}.device-tooltip-group:hover .device-hover-tooltip,.device-tooltip-group:focus .device-hover-tooltip,.device-tooltip-group:focus-within .device-hover-tooltip{opacity:1}.menu-button[data-tooltip]:after,.legend-button[data-tooltip]:after,.drawings-nav-button[data-tooltip]:after,.submittals-button[data-tooltip]:after,.workspace-shortcut-button[data-tooltip]:after,.manual-edit-shortcut-button[data-tooltip]:after,.region-scan-btn[data-tooltip]:after{top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)}.theme-toggle-button[data-tooltip]:after,.search-button[data-tooltip]:after{inset:calc(100% + 10px) auto auto 50%;transform:translate(-50%)}.filter-button[data-tooltip]:after,.profile-icon-button[data-tooltip]:after,.notifications-button[data-tooltip]:after{inset:calc(100% + 10px) 0 auto auto;transform:none}.panel-header [data-tooltip]:after{inset:calc(100% + 8px) 0 auto auto;transform:none}.light-mode [data-tooltip]:after{background:#323232e6}.floor-plan-svg{cursor:grab;touch-action:none;width:100%;height:100%}.floor-plan-svg:active{cursor:grabbing}.precon-workspace-shell{background:var(--color-surface);color:var(--color-text);border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:24px;overflow:hidden;box-shadow:0 24px 80px #00000073}.precon-workspace-body{overscroll-behavior:contain;min-width:0;min-height:0;overflow:hidden auto}.precon-workspace-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.precon-workspace-tabs{border-bottom:1px solid var(--color-border);align-self:stretch;align-items:flex-end;gap:2px;min-width:0;padding-top:4px;display:flex;overflow-x:auto}.precon-workspace-tab{min-height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px 7px 0 0;flex:none;align-items:center;gap:7px;padding:8px 12px 9px;font-size:12px;font-weight:800;display:flex}.precon-workspace-tab.is-active{border-color:var(--color-border);border-bottom-color:var(--color-surface);background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 1px 0 var(--color-border), 0 -1px 0 var(--color-border), 1px 0 0 var(--color-border), -1px 0 0 var(--color-border);transform:translateY(1px)}.precon-workspace-close{background:var(--color-surface-muted);width:34px;height:34px;color:var(--color-text);cursor:pointer;border:0;border-radius:8px;place-items:center;display:grid}@media (width<=1024px){.precon-workspace-shell{inset:12px}.precon-workspace-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px}.precon-workspace-tabs{order:2;grid-column:1/-1;padding-top:2px}.precon-workspace-close{align-self:start}}@media (width<=640px){.precon-workspace-shell{border-radius:0;inset:0}.precon-workspace-header{padding:8px}.precon-workspace-tab{min-height:38px;padding:8px 10px}}.menu-button,.search-button,.legend-button,.drawings-nav-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;box-shadow:0 4px 16px #0009}.menu-button:hover,.search-button:hover,.legend-button:hover,.drawings-nav-button:hover{background:#282830f5}.menu-button{top:16px;left:16px}.legend-button,.drawings-nav-button{top:64px;left:16px}.search-button{position:relative;top:0;right:0}.filter-button-wrapper{position:relative}.filter-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;box-shadow:0 4px 16px #0009}.filter-button:hover{background:#282830f5}.filter-button svg{width:20px;height:20px}.filter-button.filter-active{border-color:#e8ad0099;box-shadow:0 4px 16px #0009,0 0 0 2px #e8ad002e}.trade-menu.trade-menu-top{margin-bottom:0;inset:calc(100% + 10px) 0 auto auto}.menu-button svg,.search-button svg,.legend-button svg,.drawings-nav-button svg{width:20px;height:20px}.top-right-controls{z-index:202;align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:16px}.search-container{position:relative}.search-container.open{-webkit-backdrop-filter:blur(12px);filter:none;isolation:isolate;background:#101014eb;border:1px solid #ffffff38;border-radius:48px;align-items:center;gap:8px;padding:4px 8px 4px 16px;display:flex;box-shadow:0 4px 16px #0009}.search-input{color:#f5f7fb;background:0 0;border:none;outline:none;width:200px;font-size:14px}.search-input::placeholder{color:#ffffff94}.search-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex}.search-close:hover{color:#fff;background:#ffffff1f}.search-close svg{width:16px;height:16px}.search-results{-webkit-backdrop-filter:blur(20px);isolation:isolate;background:#16161af5;border:1px solid #ffffff1a;border-radius:20px;width:300px;max-height:400px;margin-top:8px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.search-result-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:background .15s;display:flex}.search-result-item:hover,.search-result-item.selected{background:#ffffff14}.search-result-item:not(:last-child){border-bottom:1px solid #ffffff14}.search-result-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.search-result-content{flex-direction:column;gap:2px;min-width:0;display:flex}.search-result-label{color:#fff;font-size:14px;font-weight:500}.search-result-match{color:#aaa;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-no-results{text-align:center;color:#aaa;padding:16px;font-size:13px}.legend-panel{-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);z-index:203;background:#1e1e1ea6;border:none;border-radius:20px;width:240px;position:absolute;top:16px;left:64px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.legend-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.legend-header h3{color:#fff;margin:0;font-size:14px;font-weight:600}.legend-header button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:48px;justify-content:center;align-items:center;width:24px;height:24px;transition:background .2s;display:flex;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6}.legend-header button:hover{background:#fff3}.legend-header button svg{width:12px;height:12px}.legend-content{max-height:300px;padding:8px;overflow-y:auto}.legend-actions{border-bottom:1px solid #ffffff1a;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.legend-action-btn{color:#aaa;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;flex:1;padding:6px 12px;font-size:.75rem;font-weight:500;transition:all .15s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.legend-action-btn:hover{color:#fff;background:#ffffff26}.legend-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.legend-item:hover{background:#ffffff14}.legend-item input[type=checkbox]{accent-color:#1a73e8;cursor:pointer;width:16px;height:16px}.legend-color{border-radius:4px;flex-shrink:0;width:16px;height:16px}.legend-label{color:#fff;flex:1;font-size:13px}.legend-count{color:#aaa;background:#ffffff14;border-radius:12px;padding:2px 8px;font-size:12px}.no-devices{color:#aaa;text-align:center;margin:0;padding:16px;font-size:13px}.menu-overlay{-webkit-backdrop-filter:blur(4px);z-index:249;background:#00000059;position:fixed;inset:0}.panel-overlay{z-index:260;position:fixed;inset:0}.trade-menu-overlay{z-index:200;position:fixed;inset:0}.menu-drawer{-webkit-backdrop-filter:blur(24px)saturate(1.12);z-index:250;background:#05080df5;border:1px solid #ffffff29;border-radius:20px;flex-direction:column;width:min(420px,100vw - 32px);max-height:calc(100vh - 32px);padding:16px;display:flex;position:fixed;top:16px;left:16px;overflow:hidden;box-shadow:0 18px 48px #0000006b,inset 0 1px #ffffff1f}.sheet-nav-overlay{-webkit-backdrop-filter:blur(10px);background:#00000094}.sheet-nav-drawer{-webkit-backdrop-filter:blur(28px)saturate(1.14);background:#0a0c10f5;border-color:#ffffff2e;box-shadow:0 24px 72px #000000ad,inset 0 1px #ffffff24}.close-menu{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:48px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6}.close-menu:hover{background:#fff3}.close-menu svg{width:16px;height:16px}.menu-drawer h3{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:500}.drawer-scroll-body{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.drawing-nav-controls{grid-template-columns:minmax(0,1fr) 38px;gap:8px;margin:8px 0 10px;display:grid}.drawing-search-field,.drawing-sort-button{color:#ffffffd6;background:#ffffff29;border:1px solid #ffffff47;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:0;height:36px;padding:0 10px;display:flex;box-shadow:inset 0 1px #ffffff1f,0 6px 18px #0000002e}.drawing-sort-button{cursor:pointer;flex-shrink:0;width:38px}.drawing-sort-button:hover{color:#fff;background:#ffffff38;border-color:#ffffff61}.drawing-search-field input{color:#fff;background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:13px}.drawing-search-field input::placeholder{color:#ffffffb3;opacity:1}.drawing-trade-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.drawing-trade-tab{color:#ffffffad;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;min-width:0;height:34px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.drawing-trade-tab span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawing-trade-tab span:last-child{color:#ffffff6b;flex-shrink:0}.drawing-trade-tab.active{color:#fff;background:#3071c533;border-color:#3071c58c}.drawings-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.drawing-item{cursor:pointer;background:#ffffff0f;border:none;border-radius:14px;align-items:center;gap:12px;padding:12px;transition:background .2s;display:flex;box-shadow:inset .5px -.5px 1px #ffffff40,inset -.5px .5px 1px #ffffff40}.drawing-item:hover{background:#ffffff1f}.drawing-item.active{background:#1a73e826;box-shadow:inset .5px -.5px 1px #1a73e880,inset -.5px .5px 1px #1a73e880}.drawing-icon{color:#aaa;width:32px;height:32px}.drawing-icon svg{width:100%;height:100%}.drawing-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawing-top-line{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.drawing-device-count{color:#ffffffa8;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:800}.delete-item-btn{cursor:pointer;opacity:0;background:#ffffff14;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .2s,background .2s;display:flex;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.drawing-item:hover .delete-item-btn{opacity:1}.delete-item-btn:hover{background:#e74c3c}.delete-item-btn svg{stroke:#aaa;width:16px;height:16px}.drawing-project-group{margin-bottom:4px}.drawing-project-header{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;padding:8px 12px 4px;font-size:12px;font-weight:600;display:flex}.drawings-type-section{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.drawings-type-header{color:#ffffff73;text-transform:uppercase;letter-spacing:.7px;align-items:center;gap:7px;padding:6px 12px 2px;font-size:11px;font-weight:700;display:flex}.drawings-type-header svg{opacity:.6;flex-shrink:0}.drawing-item-nested{border-left:2px solid #3071c533;border-radius:0 14px 14px 0;margin-left:12px}.delete-item-btn:hover svg{stroke:#fff}.drawing-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.drawing-desc{color:#aaa;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.drawing-empty-state{color:#ffffff73;text-align:center;background:#ffffff0a;border-radius:8px;padding:20px 12px;font-size:13px}.upload-new-btn{color:#aaa;cursor:pointer;background:#ffffff0a;border:1px dashed #ffffff40;border-radius:14px;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;transition:all .2s;display:flex}.upload-new-btn:hover{color:#fff;background:#ffffff14;border-color:#aaa}.upload-new-btn svg{width:20px;height:20px}.menu-drawer-footer{flex-direction:column;gap:8px;padding-top:4px;display:flex}.panel-section-wrap{border-top:1px solid #ffffff1f;margin-top:4px;padding-top:8px}.panel-section-toggle{cursor:pointer;color:#ffffffeb;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:11px 4px;font-size:13px;font-weight:600;display:flex}.panel-section-toggle-label{align-items:center;gap:7px;display:flex}.panel-section-chevron{flex-shrink:0;transition:transform .2s}.panel-section-chevron.open{transform:rotate(180deg)}.panel-primary-text{color:#ffffffeb}.panel-hint-text{color:#ffffff8c}.panel-sub-divider{border-top:1px solid #ffffff1f;padding-top:10px}.panel-sub-section-title{color:#ffffffeb;margin:0 0 4px;font-size:12px;font-weight:600}.back-to-projects-btn{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:8px;width:100%;padding:11px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.back-to-projects-btn:hover{color:#fffc;background:#ffffff0f;border-color:#fff3}.back-to-projects-btn svg{flex-shrink:0;width:16px;height:16px}.light-mode .back-to-projects-btn{color:#00000073;border-color:#0000001a}.light-mode .back-to-projects-btn:hover{color:#000000b3;background:#0000000a;border-color:#0003}.main-menu-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.main-menu-item{color:#ffffffd9;cursor:pointer;text-align:left;background:#ffffff0f;border:none;border-radius:14px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.main-menu-item:hover{color:#fff;background:#ffffff1f}.main-menu-item.main-menu-item-active{color:#6aabff;background:#3071c52e;border:1px solid #3071c54d}.main-menu-item-icon{color:#ffffffb3;background:#ffffff14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.main-menu-item-icon svg{width:16px;height:16px}.main-menu-item-label{flex:1}.main-menu-chevron{opacity:.35;flex-shrink:0;width:16px;height:16px}.main-menu-divider{background:#ffffff14;height:1px;margin:6px 0 10px}.main-menu-toggles{flex-direction:column;gap:6px;display:flex}.main-menu-toggle-row{background:#ffffff0a;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.main-menu-toggle-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.main-menu-toggle-icon{color:#ffffffa6;background:#ffffff14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.main-menu-toggle-icon svg{width:16px;height:16px}.main-menu-toggle-info{flex-direction:column;gap:1px;display:flex}.main-menu-toggle-label{color:#ffffffd9;font-size:14px;font-weight:500}.main-menu-toggle-desc{color:#ffffff61;font-size:11px}.main-menu-toggle{cursor:pointer;background:#ffffff26;border:none;border-radius:12px;flex-shrink:0;width:42px;height:24px;padding:0;transition:background .2s;position:relative}.main-menu-toggle.on{background:#3071c5}.main-menu-toggle-thumb{pointer-events:none;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px}.main-menu-toggle.on .main-menu-toggle-thumb{transform:translate(18px)}.light-mode .main-menu-item{color:#000c;background:#0000000a}.light-mode .main-menu-item:hover{color:#111;background:#00000014}.light-mode .main-menu-item-icon{color:#0000008c;background:#0000000f}.light-mode .main-menu-divider{background:#00000014}.light-mode .main-menu-toggle-row{background:#00000008}.light-mode .main-menu-toggle-icon{color:#0000008c;background:#0000000f}.light-mode .main-menu-toggle-label{color:#000c}.light-mode .main-menu-toggle-desc{color:#00000061}.light-mode .main-menu-toggle{background:#00000026}.projects-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.projects-panel{-webkit-backdrop-filter:blur(24px);background:#14141af7;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:420px;max-width:100%;max-height:72vh;animation:.18s projects-pop-in;display:flex;overflow:hidden;box-shadow:0 24px 64px #000000b3}@keyframes projects-pop-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.projects-panel-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.projects-panel-title{color:#fff;letter-spacing:-.2px;font-size:16px;font-weight:700}.projects-panel-close{cursor:pointer;color:#fff9;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.projects-panel-close:hover{color:#fff;background:#ffffff24}.projects-list{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex;overflow-y:auto}.projects-list::-webkit-scrollbar{width:4px}.projects-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.project-company-group{flex-direction:column;gap:6px;display:flex}.project-company-heading{color:#ffffff75;text-transform:uppercase;margin:10px 4px 2px;font-size:11px;font-weight:700;line-height:1.2}.project-nav-item{cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .15s,border-color .15s;display:flex}.project-nav-item:hover{background:#ffffff1a;border-color:#ffffff24}.project-nav-item.active{background:#3071c526;border-color:#3071c566}.project-nav-icon{color:#ffffff80;background:#ffffff14;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.project-nav-item.active .project-nav-icon{color:#3071c5;background:#3071c533}.project-nav-icon svg{width:16px;height:16px}.project-nav-info{flex:1;min-width:0}.project-nav-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.project-nav-meta{color:#ffffff61;margin-top:2px;font-size:11px;display:block}.project-access-badge{color:#8bbcff;white-space:nowrap;background:#3071c524;border:1px solid #3071c557;border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.project-nav-check{color:#3071c5;flex-shrink:0}.project-delete-btn{color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;transition:color .15s,background .15s}.project-delete-btn:hover{color:#e74c3c;background:#e74c3c1f}.project-delete-confirm{flex-shrink:0;gap:6px;display:flex}.project-delete-yes{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.project-delete-yes:hover{background:#c0392b}.project-delete-no{color:#fff9;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;padding:4px 10px;font-size:11px}.project-delete-no:hover{background:#ffffff26}.light-mode .project-delete-btn{color:#0000004d}.light-mode .project-delete-btn:hover{color:#e74c3c;background:#e74c3c14}.light-mode .project-delete-no{color:#00000080;background:#0000000f}.projects-empty{text-align:center;color:#ffffff59;padding:32px 20px;font-size:13px}.projects-panel-footer{border-top:1px solid #ffffff14;flex-shrink:0;padding:12px}.projects-new-btn{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.projects-new-btn:hover{background:#2563b0}.projects-new-btn svg{width:16px;height:16px}.light-mode .projects-panel{background:#fafafcf7;border-color:#00000014;box-shadow:0 24px 64px #00000026}.light-mode .projects-panel-header{border-bottom-color:#00000012}.light-mode .projects-panel-title{color:#111}.light-mode .projects-panel-close{color:#00000080;background:#0000000f}.light-mode .project-nav-item{background:#00000008;border-color:#00000012}.light-mode .project-nav-item:hover{background:#00000012}.light-mode .project-nav-item.active{background:#3071c514;border-color:#3071c54d}.light-mode .project-nav-name{color:#111}.light-mode .project-nav-meta{color:#00000061}.light-mode .project-company-heading{color:#00000075}.light-mode .project-access-badge{color:#2360a8;background:#3071c514;border-color:#3071c53d}.light-mode .project-nav-icon{color:#0006;background:#0000000f}.light-mode .projects-empty{color:#00000059}.light-mode .projects-panel-footer{border-top-color:#00000012}.light-mode .projects-list::-webkit-scrollbar-thumb{background:#0000001a}.projects-zero-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 20px 24px;display:flex}.projects-zero-icon{opacity:.9;margin-bottom:4px}.projects-zero-title{color:#fff;letter-spacing:-.2px;margin:0;font-size:16px;font-weight:700}.projects-zero-desc{color:#ffffff73;max-width:260px;margin:0;font-size:13px;line-height:1.5}.projects-zero-cta{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:12px;align-items:center;gap:7px;margin-top:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.projects-zero-cta:hover{background:#2563b0}.light-mode .projects-zero-title{color:#111}.light-mode .projects-zero-desc{color:#00000073}.project-create-form{flex-direction:column;gap:16px;padding:16px;display:flex}.project-create-field{flex-direction:column;gap:6px;display:flex}.project-create-label{color:#ffffff80;letter-spacing:.3px;text-transform:uppercase;font-size:12px;font-weight:600}.project-create-input{color:#fff;box-sizing:border-box;background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.project-create-input:focus{border-color:#3071c599}.project-create-input::placeholder{color:#ffffff40}.project-create-drop{cursor:pointer;background:#ffffff08;border:1.5px dashed #ffffff2e;border-radius:12px;padding:20px 16px;transition:border-color .15s,background .15s}.project-create-drop:hover,.project-create-drop.drag-active{background:#3071c50f;border-color:#3071c580}.project-create-drop.has-file{cursor:default;background:#3071c512;border-style:solid;border-color:#3071c566}.project-create-drop-inner{color:#fff6;flex-direction:column;align-items:center;gap:6px;display:flex}.project-create-drop-text{color:#ffffff8c;font-size:13px}.project-create-drop-text strong{color:#fffc}.project-create-drop-hint{color:#ffffff4d;font-size:11px}.project-create-file-row{align-items:center;gap:10px;display:flex}.project-create-file-badge{color:#3071c5;letter-spacing:.5px;background:#3071c540;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.project-create-file-name{color:#fffc;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.project-create-file-clear{color:#fff6;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;transition:color .15s;display:flex}.project-create-file-clear:hover{color:#fffc}.project-create-error{color:#ef4444;margin:0;font-size:12px}.project-address-selected{color:#dbeafe;background:#3071c51f;border:1px solid #3071c559;border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:13px}.project-address-results{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.project-address-result{text-align:left;color:#ffffffe0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-size:13px}.project-address-result:hover{background:#3071c529;border-color:#3071c561}.light-mode .project-create-label{color:#00000073}.light-mode .project-create-input{color:#111;background:#0000000a;border-color:#0000001f}.light-mode .project-create-input::placeholder{color:#00000040}.light-mode .project-create-drop{background:#00000005;border-color:#00000026}.light-mode .project-create-drop-text{color:#00000080}.light-mode .project-create-drop-text strong{color:#000000bf}.light-mode .project-create-drop-hint{color:#0000004d}.light-mode .project-create-file-name{color:#000000bf}.light-mode .project-create-drop-inner{color:#00000059}.light-mode .project-address-selected{color:#1e3a8a;background:#2563eb14;border-color:#2563eb3d}.light-mode .project-address-result{color:#111827;background:#0f172a0a;border-color:#0f172a1f}.light-mode .project-address-result:hover{background:#2563eb14;border-color:#2563eb47}.bottom-nav{bottom:max(24px, env(safe-area-inset-bottom,24px));height:var(--bottom-bar-h);box-sizing:border-box;-webkit-backdrop-filter:blur(16px);z-index:99;isolation:isolate;background:#121216f0;border:1px solid #ffffff24;border-radius:48px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;left:24px;box-shadow:0 4px 24px #0000008c}.nav-tab{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:24px;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;transition:all .2s;display:flex}.nav-tab:hover{background:#ffffff1a}.nav-tab.active{color:#337ff8;background:#d3e3fd33}.nav-tab.active .nav-icon{color:#337ff8}.nav-icon{width:20px;height:20px}.nav-icon svg{width:100%;height:100%}.nav-tab span{font-size:11px;font-weight:500}.trade-menu{-webkit-backdrop-filter:blur(12px);z-index:201;isolation:isolate;background:#16161cf5;border:1px solid #ffffff24;border-radius:20px;min-width:200px;margin-bottom:12px;padding:12px;position:absolute;bottom:100%;left:8px;box-shadow:0 8px 32px #0009}.trade-menu-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px 8px;transition:background .2s;display:flex}.trade-menu-item:hover{background:#ffffff1a}.trade-menu-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.trade-menu-icon svg{width:24px;height:24px}.trade-menu-item span{color:#aaa;flex:1;font-size:15px;font-weight:500}.trade-menu-item span.active{color:#fff}.trade-menu-item span.active.electrical{color:#e8ad00}.trade-menu-item span.active.plumbing{color:#0b57d0}.trade-menu-item span.active.hvac{color:#2e8b57}.trade-checkbox{border:2px solid #ffffff40;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.trade-checkbox.checked{border-color:#0000}.trade-checkbox.checked.electrical{background:#e8ad00}.trade-checkbox.checked.plumbing{background:#0b57d0}.trade-checkbox.checked.hvac{background:#2e8b57}.trade-checkbox.checked.back-office{background:#8b5cf6}.trade-menu-item span.active.back-office{color:#8b5cf6}.trade-checkbox svg{width:16px;height:16px}:root{--fp-text:#ffffffeb;--fp-text-dim:#fff6;--fp-border:#ffffff1a;--fp-hover:#ffffff12}.light-mode{--fp-text:#000000d9;--fp-text-dim:#00000061;--fp-border:#0000001a;--fp-hover:#0000000d}.filter-panel{-webkit-backdrop-filter:blur(16px);z-index:201;background:#16161cf7;border:1px solid #ffffff1f;border-radius:16px;min-width:280px;max-width:300px;max-height:min(480px,70vh);position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 12px 40px #000000a6}.filter-panel-header{border-bottom:1px solid var(--fp-border);justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.filter-panel-title{color:var(--fp-text);letter-spacing:.01em;font-size:13px;font-weight:700}.filter-panel-close{width:22px;height:22px;color:var(--fp-text);cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.filter-panel-close:hover{background:#fff3}.filter-all-row{cursor:pointer;align-items:center;gap:10px;padding:9px 14px;transition:background .15s;display:flex}.filter-all-row:hover{background:var(--fp-hover)}.filter-all-label{color:var(--fp-text);flex:1;font-size:13px;font-weight:500}.filter-divider{background:var(--fp-border);height:1px;margin:2px 0}.fp-checkbox{cursor:pointer;color:#777;background:0 0;border:1.5px solid #777;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.fp-checkbox.fp-checked{border-color:#777}.filter-trade-row{border-radius:8px;align-items:center;gap:9px;padding:8px 14px;display:flex}.filter-trade-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:color .15s;display:flex}.filter-trade-label{cursor:pointer;flex:1;font-size:13px;font-weight:600;transition:color .15s}.filter-device-row{cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:5px 14px;transition:background .15s;display:flex}.filter-device-row:hover{background:var(--fp-hover)}.filter-device-symbol{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s;display:flex}.filter-device-label{flex:1;font-size:12px;font-weight:400;transition:color .15s}.filter-caret-btn{cursor:pointer;color:var(--fp-text-dim);background:0 0;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:3px 4px;transition:background .15s,color .15s;display:flex}.filter-caret-btn:hover{background:var(--fp-hover);color:var(--fp-text)}.filter-caret-btn svg{flex-shrink:0;transition:transform .2s}.filter-caret-btn.expanded svg{transform:rotate(180deg)}.filter-right-group{flex-shrink:0;align-items:center;gap:5px;margin-left:auto;display:flex}.filter-count{color:var(--fp-text-dim);text-align:right;min-width:16px;font-size:11px;font-weight:600}.filter-caret-spacer{flex-shrink:0;width:19px;display:inline-block}.light-mode .filter-panel{background:#fffffff7;border-color:#0000001f;box-shadow:0 8px 32px #0000002e}.light-mode .filter-panel-close{color:#000000b3;background:#00000012}.light-mode .filter-panel-close:hover{background:#0000001f}.light-mode .fp-checkbox{color:#777;border-color:#777}.light-mode .fp-checkbox.fp-checked{background:0 0;border-color:#777}.trade-menu-active [data-tooltip]:after,.trade-menu-active [data-tooltip]:before{display:none!important}.minimap{bottom:max(24px, env(safe-area-inset-bottom,24px));width:130px;height:var(--bottom-bar-h);box-sizing:border-box;-webkit-backdrop-filter:blur(16px);isolation:isolate;z-index:98;background:#121216f0;border:1px solid #ffffff24;border-radius:14px;padding:8px;position:absolute;right:24px;overflow:hidden;box-shadow:0 4px 24px #0000008c}.minimap svg{width:100%;height:100%}.device-selected{filter:drop-shadow(0 0 3px #337ff880)}.floor-plan-modal-scrim{fill:#00000047}.selected-devices-overlay{filter:drop-shadow(0 0 5px #337ff86b)}.panel-backdrop{z-index:99;background:0 0;position:fixed;inset:0}.device-panel{-webkit-backdrop-filter:blur(24px);filter:none;z-index:270;touch-action:pan-y;background:#101014eb;border:1px solid #ffffff38;border-radius:20px;flex-direction:column;height:auto;max-height:calc(100dvh - 48px);display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 8px #000000a6;width:min(440px,100vw - 32px)!important;inset:24px auto auto 50%!important}.device-panel .panel-header,.device-panel .device-overlay-tabs{flex-shrink:0}.device-panel .panel-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.panel-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.panel-header h3{color:#fff;margin:0;font-size:16px;font-weight:600}.panel-header button{color:#fff;cursor:pointer;background:#ffffff2e;border:1.5px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s;display:flex;box-shadow:0 1px 4px #0000004d}.panel-header button:hover{background:#ffffff4d}.panel-header button svg{width:16px;height:16px}.device-overlay-tabs{border-bottom:1px solid #ffffff1a;flex-shrink:0;gap:4px;padding:0 12px;display:flex}.device-overlay-tab{color:#ffffff80;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 8px;font-size:13px;font-weight:500;transition:all .2s}.device-overlay-tab:hover{color:#fffc}.device-overlay-tab.active{color:#fff;border-bottom-color:#4a90d9}.no-submittal-message{text-align:center;color:#ffffff80;padding:24px 16px;font-size:13px;line-height:1.5}.no-submittal-message p{margin:0 0 8px}.no-submittal-empty-state{text-align:center;flex-direction:column;align-items:center;padding:24px 16px;display:flex}.empty-state-icon{color:#ffffff40;margin-bottom:12px}.empty-state-title{color:#ffffffb3;margin:0 0 6px;font-size:15px;font-weight:600}.empty-state-desc{color:#fff6;max-width:260px;margin:0 0 20px;font-size:12px;line-height:1.5}.upload-submittal-inline-btn{color:#60a5fa;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.upload-submittal-inline-btn:hover{background:#3b82f640;border-color:#3b82f680}.upload-submittal-inline-btn:disabled{opacity:.5;cursor:not-allowed}.spec-link-divider{align-items:center;gap:12px;width:100%;margin:14px 0;display:flex}.spec-link-divider:before,.spec-link-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.spec-link-divider span{color:#ffffff4d;text-transform:uppercase;letter-spacing:1px;font-size:11px}.spec-link-input-row{gap:6px;width:100%;display:flex}.spec-link-input{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:12px;transition:border-color .2s}.spec-link-input::placeholder{color:#ffffff4d}.spec-link-input:focus{border-color:#3b82f680}.spec-link-go-btn{color:#60a5fa;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.spec-link-go-btn:hover{background:#3b82f640}.extract-error-inline{color:#ef4444;text-align:center;margin:10px 0 0;font-size:12px}.extracting-status-inline{color:#60a5fa;text-align:center;margin:10px 0 0;font-size:12px;animation:1.5s ease-in-out infinite pulse-text}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.spin-icon{animation:spin-anim var(--tp-spinner-duration,1.6s) linear infinite}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spec-link-go-btn:disabled,.spec-link-input:disabled{opacity:.5;cursor:not-allowed}.panel-content{flex:1;min-height:0;padding:16px;overflow-y:auto}.panel-row{justify-content:space-between;padding:8px 0;display:flex}.panel-label{color:#aaa;font-size:13px}.panel-value{color:#fff;text-align:right;word-break:break-word;max-width:60%;font-size:13px;font-weight:500}.wiring-diagram-top{margin-bottom:16px}.wiring-diagram{margin-top:16px}.wiring-diagram-top h4,.wiring-diagram h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:500}.wiring-diagram-top svg,.wiring-diagram svg{border-radius:8px;overflow:hidden}.submittals-button,.workspace-shortcut-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;left:16px;box-shadow:0 4px 16px #0009}.submittals-button,.workspace-precon-button{top:112px}.submittals-button:hover,.workspace-shortcut-button:hover,.workspace-shortcut-button.active{background:#282830f5}.submittals-button svg,.workspace-shortcut-button svg{width:20px;height:20px}.manual-edit-shortcut-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;position:absolute;top:160px;left:16px;box-shadow:0 4px 16px #0009}.room-scan-shortcut-button{top:208px}.region-scan-controls{z-index:202;flex-direction:column;gap:8px;display:flex;position:absolute;top:256px;left:16px}.manual-edit-shortcut-button:hover{background:#282830f5}.manual-edit-shortcut-button svg{width:20px;height:20px}.manual-edit-shortcut-button.active,.light-mode .manual-edit-shortcut-button.active{border:2px solid #facc15;box-shadow:0 0 0 2px #facc1559}.submittals-panel{-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);z-index:203;background:#1e1e1ea6;border:none;border-radius:20px;flex-direction:column;width:280px;max-height:88vh;display:flex;position:absolute;top:16px;left:64px;overflow:hidden;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.submittals-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px;display:flex}.submittals-header h3{color:#fff;margin:0;font-size:14px;font-weight:600}.submittals-header button{color:#aaa;cursor:pointer;background:#ffffff1a;border:none;border-radius:48px;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;transition:background .2s;display:flex;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6}.submittals-header button:hover{color:#fff;background:#fff3}.submittals-header button svg{width:16px;height:16px}.submittals-content{flex:1;padding:12px;overflow-y:auto}.no-submittals{color:#aaa;text-align:center;padding:20px 0;font-size:13px}.submittal-item{background:#ffffff0f;border:none;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;transition:background .2s;display:flex;box-shadow:inset .5px -.5px 1px #ffffff40,inset -.5px .5px 1px #ffffff40}.submittal-item:hover{background:#ffffff1a}.submittal-info{flex-direction:column;gap:2px;display:flex}.submittal-info strong{color:#fff;font-size:13px}.submittal-type{color:#0b57d0;font-size:11px}.submittal-mfg{color:#aaa;font-size:11px}.delete-submittal{color:#aaa;cursor:pointer;opacity:0;background:#ffffff0f;border:none;border-radius:8px;padding:4px;transition:all .2s;box-shadow:inset .5px -.5px 1px #fff3,inset -.5px .5px 1px #fff3}.submittal-item:hover .delete-submittal{opacity:1}.delete-submittal:hover{color:#ff6b6b;background:#ff6b6b1f}.add-submittal-btn{color:#0b57d0;cursor:pointer;background:0 0;border:2px solid #0b57d066;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.add-submittal-btn:hover{background:#0b57d01a;border-color:#0b57d099}.add-submittal-btn svg{width:16px;height:16px}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.submittal-modal{-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);isolation:isolate;background:#1e1e1ea6;border:none;border-radius:20px;flex-direction:column;width:90%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h3{color:#fff;margin:0;font-size:16px;font-weight:600}.modal-header button{color:#aaa;cursor:pointer;background:#ffffff1a;border:none;border-radius:48px;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;transition:background .2s;display:flex;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6}.modal-header button:hover{color:#fff;background:#fff3}.modal-header button svg{width:18px;height:18px}.submittal-form{flex:1;padding:20px;overflow-y:auto}.pdf-upload-section{flex-direction:column;gap:12px;display:flex}.pdf-upload-box{cursor:pointer;color:#aaa;background:#ffffff08;border:2px dashed #fff3;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;transition:all .2s;display:flex}.pdf-upload-box:hover{color:#fff;background:#0b57d01a;border-color:#0b57d0}.pdf-upload-box.drag-active{color:#fff;background:#22c55e26;border-color:#22c55e;transform:scale(1.02)}.pdf-upload-box.drag-active svg{color:#22c55e}.pdf-upload-box svg{color:#0b57d0}.pdf-upload-box span{font-size:16px;font-weight:500}.pdf-upload-box small{color:#aaa;font-size:12px}.extracting-state{flex-direction:column;align-items:center;gap:12px;display:flex}.extracting-state span{color:#aaa}.spinner{width:32px;height:32px;animation:spin var(--tp-spinner-duration,1.6s) linear infinite;border:3px solid #ffffff1a;border-top-color:#0b57d0;border-radius:50%}.spin-animation{animation:spin var(--tp-spinner-duration,1.6s) linear infinite}.extract-error{color:#e74c3c;text-align:center;background:#e74c3c1a;border:1px solid #e74c3c4d;border-radius:8px;padding:12px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{color:#aaa;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-group input,.form-group textarea{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,background .2s}.form-group input:hover,.form-group textarea:hover{background:#ffffff14}.form-group input:focus,.form-group textarea:focus{border-color:#0b57d0;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#aaa}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=file]{padding:8px}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.form-actions{border-top:1px solid #ffffff1a;gap:12px;margin-top:20px;padding-top:16px;display:flex}.btn-cancel{color:#aaa;cursor:pointer;background:#ffffff14;border:none;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.btn-cancel:hover{color:#fff;background:#ffffff24}.btn-save{color:#fff;cursor:pointer;filter:drop-shadow(0 2px 8px #0003);background:#0b57d0cc;border:none;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.btn-save:hover{background:#0b57d0f2}.submittal-specs{margin-bottom:16px}.submittal-specs h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:600}.view-pdf-btn{color:#3b82f6;text-align:center;background:#3b82f614;border:none;border-radius:10px;margin-top:12px;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s;display:block;box-shadow:inset .5px -.5px 1px #3b82f666,inset -.5px .5px 1px #3b82f666}.view-pdf-btn:hover{color:#60a5fa;background:#3b82f626}.device-reference-info{border-bottom:1px solid #ffffff1a;margin-bottom:16px;padding-bottom:16px}.submittal-link{color:#3b82f6;cursor:pointer;text-decoration:none}.submittal-link:hover{color:#60a5fa;text-decoration:underline}.trade-specs-section{margin-bottom:16px}.trade-specs-section h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:500}.submittal-pending{color:#aaa;text-align:center;background:#ffffff0a;border-radius:10px;margin-top:12px;padding:10px;font-size:12px;font-style:italic}.installed-checkbox-container{flex-direction:column;gap:8px;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:flex}.installed-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff17;border:1px solid #fff3;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:6px 10px;transition:all .2s;display:flex}.installed-checkbox:hover{background:#ffffff24;border-color:#ffffff47}.installed-checkbox:active{transform:scale(.98)}.installed-checkbox input[type=checkbox]{display:none}.installed-checkbox .checkmark{border:2px solid #ffffff8c;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex;position:relative}.installed-checkbox input[type=checkbox]:checked+.checkmark{background:#2e8b57;border-color:#2e8b57}.installed-checkbox:has(input:checked){background:#2e8b5714;border-color:#2e8b574d}.installed-checkbox input[type=checkbox]:checked+.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;margin-bottom:2px;transform:rotate(45deg)}.installed-checkbox .label-text{color:#ffffffe6;font-size:14px;font-weight:500}.installed-checkbox input[type=checkbox]:disabled+.checkmark{opacity:.5}.installed-checkbox.next-action{background:#3b82f61f;border-color:#3b82f666;box-shadow:0 0 12px #3b82f626,inset 0 0 0 1px #3b82f61a}.installed-checkbox.next-action .checkmark{border-color:#3b82f6b3;box-shadow:0 0 6px #3b82f640}.installed-checkbox.next-action .label-text{color:#fff;font-weight:600}.installed-checkbox.next-action:hover{background:#3b82f62e;border-color:#3b82f68c}.installed-checkbox.completed-step{opacity:.55;background:#2e8b570d;border-color:#2e8b5726}.installed-checkbox.completed-step .label-text{color:#ffffff80}.installed-checkbox.disabled{opacity:.55;cursor:not-allowed;background:#ffffff05;border-color:#ffffff0d}.installed-checkbox.disabled:hover{background:#ffffff05}.installed-checkbox.disabled:active{transform:none}.installed-checkbox.disabled .label-text{color:#ccc}.installed-checkbox.insp-locked{opacity:.45;cursor:not-allowed;position:relative}.installed-checkbox.insp-locked .label-text:after{content:" 🔒";opacity:.7;font-size:10px}.device-photos-section{margin-top:10px}.work-phase-segment{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;flex-shrink:0;gap:3px;margin-bottom:12px;padding:3px;display:flex}.work-phase-option{color:#ffffff73;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:7px 0;font-size:13px;font-weight:500;transition:all .18s}.work-phase-option:hover{color:#ffffffb3}.work-phase-option.active{color:#fff;background:#ffffff1f;font-weight:600;box-shadow:inset .5px -1px 1px #ffffff40,inset -.5px 1px 1px #ffffff40}.phase-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.phase-item-note{color:#ffffff59;font-size:10px;font-weight:400;line-height:1.3}.phase-lock-notice{color:#ffc832cc;background:#ffc83214;border:1px solid #ffc83233;border-radius:8px;align-items:center;gap:6px;margin-bottom:10px;padding:7px 10px;font-size:12px;display:flex}.punch-list-item{margin-top:4px;background:#ef44440f!important;border-color:#ef444440!important}.punch-list-item:hover{background:#ef44441a!important}.punch-list-item.punch-list-checked{background:#ef44441f!important;border-color:#ef444473!important}.punch-list-label{color:#ef4444e6;font-size:14px;font-weight:600}.punch-checkmark{border-color:#ef444480!important}.installed-checkbox input[type=checkbox]:checked+.punch-checkmark,.punch-list-item input[type=checkbox]:checked+.punch-checkmark{background:#ef4444!important;border-color:#ef4444!important}.punch-note-required{color:#ef4444;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:500;display:flex}.notes-required{background:#ef44440a!important;border-color:#ef444480!important}.device-photos-section h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:12px;font-weight:600}.photos-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.photo-thumbnail{aspect-ratio:1;cursor:pointer;border-radius:8px;position:relative;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.photo-thumbnail:hover img{transform:scale(1.05)}.delete-photo-btn{cursor:pointer;opacity:0;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:4px;right:4px}.photo-thumbnail:hover .delete-photo-btn{opacity:1}.delete-photo-btn:hover{background:#e74c3c}.delete-photo-btn svg{stroke:#fff;width:12px;height:12px}.upload-photo-btn{color:#aaa;cursor:pointer;background:#ffffff0a;border:1.5px dashed #fff3;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;transition:all .2s;display:flex}.upload-photo-btn:hover{color:#3b82f6;background:#3b82f60f;border-color:#3b82f680}.upload-photo-btn svg{width:18px;height:18px}.device-notes-section{margin-top:10px}.device-notes-section h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:12px;font-weight:600}.device-notes-input{color:#fff;resize:vertical;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;width:100%;min-height:60px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s,background .2s}.device-notes-input:hover{background:#ffffff14}.device-notes-input:focus{background:#ffffff14;border-color:#ffffff4d;outline:none}.device-notes-input::placeholder{color:#aaa}.save-notes-btn{color:#fff;cursor:pointer;background:#3b82f6b3;border:none;border-radius:10px;width:100%;margin-top:10px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.save-notes-btn:hover:not(:disabled){background:#3b82f6e6}.save-notes-btn:disabled{opacity:.5;cursor:not-allowed}.save-close-btn{color:#fff;cursor:pointer;background:#0b57d0;border:none;border-radius:12px;width:100%;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.save-close-btn:hover:not(:disabled){background:#0945a3}.save-close-btn:disabled{opacity:.5;cursor:not-allowed}.device-source-section{margin-top:12px}.device-source-section h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12px}.confidence-badge{border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.confidence-badge.high{color:#4ade80;background:#2e8b574d}.confidence-badge.medium{color:#fbbf24;background:#e8ad004d}.confidence-badge.low{color:#f87171;background:#ef44444d}.integrations-backdrop{z-index:500;position:fixed;inset:0}.integrations-menu{-webkit-backdrop-filter:blur(20px);z-index:100;background:#18181cf5;border:1px solid #ffffff1a;border-radius:12px;min-width:220px;padding:6px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 32px #00000080}.integrations-menu.integrations-menu-fixed{z-index:501;position:fixed;inset:16px auto auto 64px}.integrations-menu-header{text-transform:uppercase;letter-spacing:.5px;color:#ffffff73;justify-content:space-between;align-items:center;padding:8px 10px 6px;font-size:11px;font-weight:600;display:flex}.integrations-refresh-btn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:all .2s;display:flex}.integrations-refresh-btn:hover{color:#fffc;background:#ffffff14}.integrations-menu-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;transition:background .15s;display:flex}.integrations-menu-item:hover{background:#ffffff14}.integrations-menu-item-left{color:#ffffffd9;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.integrations-menu-item-left svg{color:#fff9;flex-shrink:0}.integrations-menu-item.request-item .integrations-menu-item-left{color:#ffffff80}.integrations-menu-item.request-item:hover .integrations-menu-item-left{color:#ffffffbf}.integrations-menu-divider{background:#ffffff14;height:1px;margin:4px 8px}.integration-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .3s}.integration-status-dot.connected{background:#22c55e;box-shadow:0 0 6px #22c55e80}.integration-status-dot.disconnected{background:#ef4444;box-shadow:0 0 6px #ef444466}.integration-status-dot.not-configured{background:#eab308;box-shadow:0 0 6px #eab30866}.toast-notification{-webkit-backdrop-filter:blur(12px);z-index:1200;background:#1e1e1ee6;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;animation:.3s ease-out toastSlideUp,.4s ease-in 3s forwards toastFadeOut;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}.toast-notification.actionable{padding-right:8px}.toast-notification button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}.room-overlay-backdrop{z-index:319;background:0 0;position:fixed;inset:0}.room-overlay-panel{z-index:320;-webkit-backdrop-filter:blur(28px);color:#fff;touch-action:pan-y;background:#101014f0;border:1px solid #ffffff38;border-radius:8px;flex-direction:column;width:min(440px,100vw - 32px);max-height:calc(100dvh - 48px);display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 8px #000000a6;inset:24px auto auto 50%!important}.room-overlay-header,.room-overlay-edit,.room-overlay-tabs{flex-shrink:0}.room-overlay-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.light-mode .room-overlay-panel{color:#111827;background:#fffffffa;border-color:#1118271f;box-shadow:0 18px 44px #0f172a29}.room-overlay-header{border-bottom:1px solid #ffffff14;padding:16px 16px 10px;display:block;position:relative}.room-overlay-header>div:first-child{width:100%;min-width:0}.light-mode .room-overlay-header{border-bottom-color:#11182714}.room-overlay-header h3{align-items:center;min-height:32px;margin:0;padding-right:80px;font-size:17px;line-height:1.25;display:flex}.room-overlay-header p{opacity:.62;margin:4px 0 0;font-size:12px}.room-overlay-meta{white-space:normal;overflow-wrap:anywhere;max-width:100%;overflow:hidden}.room-overlay-header button{width:32px;height:32px;color:inherit;cursor:pointer;background:#ffffff14;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.light-mode .room-overlay-header button{background:#1118270f}.room-overlay-header-actions{align-items:center;gap:6px;display:flex;position:absolute;top:16px;right:16px}.room-overlay-edit{background:#ffffff0a;border-bottom:1px solid #ffffff1a;gap:10px;min-width:0;padding:12px 14px;display:grid}.room-overlay-edit label,.room-scan-form-grid label{color:#ffffffad;gap:5px;font-size:11px;font-weight:800;display:grid}.room-overlay-edit input,.room-scan-form-grid input{box-sizing:border-box;color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;outline:none;width:100%;padding:8px 10px}.room-overlay-edit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.room-overlay-edit-actions button,.room-scan-save-btn{color:#fff;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:8px 10px;font-weight:800;display:inline-flex}.room-overlay-edit-actions button.primary{color:#fff;background:#0b57d0;border-color:#0b57d0;grid-column:1/-1}.room-overlay-edit-actions button.secondary{color:#dbeafe;background:#2563eb29}.room-overlay-edit-actions button.danger{color:#fecaca;background:#ef44441f}.room-scan-form-panel{z-index:460;color:#fff;background:#18181bf5;border:1px solid #ffffff1f;border-radius:8px;width:min(420px,100vw - 32px);max-height:calc(100dvh - 48px);position:fixed;top:24px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 22px 70px #00000073}.room-scan-form-grid{gap:10px;padding:14px;display:grid}.room-scan-save-btn{background:#0b57d0;width:calc(100% - 28px);margin:0 14px 14px}.light-mode .room-overlay-edit,.light-mode .room-scan-form-panel{color:#111827;background:#fffffffa}.light-mode .room-overlay-edit label,.light-mode .room-scan-form-grid label{color:#111827b3}.light-mode .room-overlay-edit input,.light-mode .room-scan-form-grid input{color:#111827;background:#fff;border-color:#11182724}.light-mode .room-overlay-edit-actions button.primary{color:#fff;background:#0b57d0}.light-mode .room-overlay-edit-actions button.secondary{color:#0b57d0;background:#eff6ff;border-color:#bfdbfe}.light-mode .room-overlay-edit-actions button.danger{color:#b91c1c;background:#fee2e2;border-color:#fecaca}@media (width<=720px){.room-overlay-edit-actions{grid-template-columns:1fr}}.room-overlay-tabs{border-bottom:1px solid #ffffff14;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:10px 10px 8px;display:grid}.light-mode .room-overlay-tabs{border-bottom-color:#11182714}.room-overlay-tabs button{min-width:0;min-height:34px;color:inherit;opacity:.68;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:11px;font-weight:800}.room-overlay-tabs button.active{color:#93c5fd;opacity:1;background:#3071c538}.light-mode .room-overlay-tabs button.active{color:#0b57d0;background:#3071c51f}.room-overlay-body{flex:1;padding:14px;overflow:auto}.room-overlay-overall{background:#3071c529;border:1px solid #93c5fd2e;border-radius:8px;padding:14px}.light-mode .room-overlay-overall{background:#3071c514;border-color:#3071c529}.room-overlay-overall span,.room-overlay-trade-row span,.room-overlay-count-line span{text-transform:uppercase;opacity:.58;font-size:11px;font-weight:800;display:block}.room-overlay-overall strong{margin-top:4px;font-size:24px;line-height:1.1;display:block}.room-overlay-progress{background:#ffffff1f;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.light-mode .room-overlay-progress{background:#11182714}.room-overlay-progress span{border-radius:inherit;background:#22c55e;height:100%;display:block}.room-overlay-progress.muted{height:5px}.room-overlay-progress.muted span{background:#93c5fd}.room-overlay-trade-breakdown,.room-overlay-secondary,.room-overlay-device-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.room-overlay-trade-row,.room-overlay-count-line{background:#ffffff0e;border-radius:8px;padding:12px}.light-mode .room-overlay-trade-row,.light-mode .room-overlay-count-line{background:#1118270b}.room-overlay-trade-row>div,.room-overlay-count-line>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.room-overlay-trade-row strong,.room-overlay-count-line strong{font-size:13px}.room-overlay-trade-row small{opacity:.58;margin-top:7px;font-size:11px;display:block}.room-overlay-device-row{width:100%;min-height:54px;color:inherit;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.light-mode .room-overlay-device-row{background:#11182709;border-color:#11182714}.room-overlay-device-row:hover{background:#3071c524;border-color:#93c5fd61}.room-overlay-device-main{flex-direction:column;flex:auto;min-width:0;display:flex}.room-overlay-device-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.room-overlay-device-main small{opacity:.55;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.room-overlay-asset-badge{color:var(--color-text-subtle);background:#ffffff14;border-radius:999px;align-items:center;padding:1px 6px;font-size:10px;font-weight:800;display:inline-flex}.room-overlay-asset-badge.warning{color:#f59e0b;background:#f59e0b24}.room-overlay-asset-badge.complete{color:#22c55e;background:#22c55e24}.room-overlay-device-sheet{text-overflow:ellipsis;white-space:nowrap;opacity:.68;text-align:right;max-width:112px;font-size:11px;font-weight:800;overflow:hidden}.room-overlay-empty{color:inherit;opacity:.72;text-align:center;background:#ffffff0e;border-radius:8px;padding:22px 14px;font-size:13px;line-height:1.4}.room-overlay-empty.error{color:#fca5a5;opacity:1;background:#ef44441a}@media (width<=768px){.room-overlay-backdrop{background:#0000006b}.room-overlay-panel.mobile{-webkit-backdrop-filter:blur(28px);background:#101014f2;border:1px solid #ffffff38;border-radius:0;width:auto;max-height:none;position:fixed;inset:0;transform:none;box-shadow:0 2px 8px #000000a6}.room-overlay-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.room-overlay-device-sheet{max-width:34%}}.toast-notification span{color:#fff;white-space:nowrap;font-size:14px;font-weight:500}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}.light-mode .toast-notification{background:#ffffffeb;border-color:#0000001a;box-shadow:0 4px 20px #0000001a}.light-mode .toast-notification span{color:#1a1a2e}.integration-request-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.integration-request-modal{-webkit-backdrop-filter:blur(16px);background:#1e1e1ed9;border:1px solid #ffffff1f;border-radius:16px;width:100%;max-width:420px;overflow:hidden}.integration-request-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.integration-request-header h3{color:#fff;margin:0;font-size:16px;font-weight:600}.integration-request-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;width:28px;height:28px;padding:4px}.integration-request-close:hover{color:#fff}.integration-request-form{flex-direction:column;gap:16px;padding:20px;display:flex}.integration-request-field{flex-direction:column;gap:6px;display:flex}.integration-request-field label{color:#ffffffb3;font-size:13px;font-weight:500}.integration-request-field input,.integration-request-field textarea{color:#fff;resize:vertical;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.integration-request-field input:focus,.integration-request-field textarea:focus{border-color:#4a7aff80}.integration-request-field input::placeholder,.integration-request-field textarea::placeholder{color:#ffffff4d}.integration-request-submit-btn{color:#fff;cursor:pointer;background:#4a7aff;border:none;border-radius:8px;margin-top:4px;padding:10px 16px;font-size:14px;font-weight:500;transition:opacity .2s}.integration-request-submit-btn:hover:not(:disabled){opacity:.9}.integration-request-submit-btn:disabled{opacity:.5;cursor:not-allowed}.integration-request-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;display:flex}.integration-request-success p{color:#ffffffb3;margin:0;font-size:14px;line-height:1.5}.integration-request-done-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:8px;margin-top:8px;padding:8px 24px;font-size:14px;transition:background .2s}.integration-request-done-btn:hover{background:#ffffff26}.procore-panel-header h3{color:#fff;margin:0;font-size:15px;font-weight:600}.procore-close:hover{color:#fff}.procore-connect-icon svg{width:48px;height:48px}.procore-connect-btn:hover{background:#1a66da}.procore-projects h4{color:#fff9;margin:0 0 12px;font-size:13px;font-weight:500}.procore-project-item:hover{background:#ffffff1f}.procore-disconnect-btn:hover{background:#ef444440}.procore-back:hover{color:#fff}.procore-tab.active{color:#f57e25;border-bottom-color:#f57e25}.procore-tab:hover{color:#fffc}.procore-data-item:hover{background:#ffffff14}.procore-item-status.open,.procore-item-status.active{color:#22c55e;background:#22c55e26}.procore-item-status.closed,.procore-item-status.completed{color:#3b82f6;background:#3b82f626}.procore-item-status.draft,.procore-item-status.pending{color:#e8ad00;background:#e8ad0026}.procore-match-btn:hover:not(:disabled){background:#3b82f640}.procore-match-btn:disabled{opacity:.5;cursor:not-allowed}.procore-match-badge.high{color:#22c55e;background:#22c55e26;border:1px solid #22c55e33}.procore-match-badge.mid{color:#e8ad00;background:#e8ad0026;border:1px solid #e8ad0033}.procore-match-badge.low{color:#ef4444;background:#ef444426;border:1px solid #ef444433}.notifications-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .15s;display:flex;position:relative;box-shadow:0 4px 16px #0009}.notifications-button:hover{color:#fff;background:#282830f5}.notifications-button.active{color:#3071c5;background:#3071c533;border-color:#3071c580}.notifications-button svg{width:20px;height:20px}.notifications-muted-dot{background:#ffffff4d;border:1.5px solid #101014e6;border-radius:50%;width:7px;height:7px;position:absolute;bottom:6px;right:6px}.notifications-badge{color:#fff;background:#e5533e;border:1.5px solid #101014e6;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:4px}.notif-backdrop{z-index:299;position:fixed;inset:0}.notif-panel{-webkit-backdrop-filter:blur(24px);z-index:300;background:#121216f7;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:320px;max-height:calc(100vh - 82px);animation:.18s profile-slide-in;display:flex;position:fixed;top:66px;right:16px;overflow:hidden;box-shadow:0 24px 64px #000000b3}.notif-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.notif-title{color:#fff;letter-spacing:-.2px;font-size:15px;font-weight:700}.notif-header-actions{align-items:center;gap:6px;display:flex}.notif-mute-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.notif-mute-btn:hover{color:#fffc;background:#ffffff1a}.notif-mute-btn.on{color:#3071c5;background:#3071c526;border-color:#3071c559}.notif-close-btn{color:#ffffff73;cursor:pointer;background:#ffffff12;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.notif-close-btn:hover{color:#fff;background:#ffffff21}.notif-list{flex:1;padding:8px 0;overflow-y:auto}.notif-list::-webkit-scrollbar{width:4px}.notif-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.notif-empty{color:#fff3;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.notif-empty p{color:#ffffff4d;margin:0;font-size:13px}.notif-item{align-items:flex-start;gap:10px;padding:10px 16px;transition:background .12s;display:flex}.notif-item:hover{background:#ffffff0a}.notif-group-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.notif-group-toggle{color:#fff6;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.notif-group-children{border-left:1px solid #ffffff14;margin-left:31px}.notif-item-nested{padding-left:14px}.notif-item-icon{color:#ffffff73;background:#ffffff12;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:1px;display:flex}.notif-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-item-text{color:#ffffffbf;font-size:13px;line-height:1.4}.notif-item-text strong{color:#fff;font-weight:600}.notif-item-note{color:#fff6;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.notif-item-time{color:#ffffff4d;margin-top:1px;font-size:11px}.notif-header-count{color:#fff;background:#e5533e;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.notif-read-all-btn{color:#ffffff73;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:500;transition:background .15s,color .15s}.notif-read-all-btn:hover{color:#fffc;background:#ffffff1a}.notif-item-unread{background:#3071c512}.notif-item-clickable{cursor:pointer}.notif-item-clickable:hover{background:#ffffff0f!important}.notif-unread-dot{background:#3071c5;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:4px}.notif-icon-mention{color:#8b5cf6;background:#8b5cf626}.notif-icon-punchlist{color:#e5533e;background:#e5533e26}.notif-icon-access_change{color:#f59e0b;background:#fbbf2426}.notif-icon-project_added{color:#10b981;background:#10b98126}.notif-icon-submittal_update{color:#3071c5;background:#3071c526}.notif-icon-plan_update{color:#6366f1;background:#6366f126}.notif-icon-device_activity{color:#ffffff80;background:#ffffff12}.notif-icon-daily_report{color:#10b981;background:#10b98126}.light-mode .notifications-button.active{color:#3071c5;background:#3071c51a;border-color:#3071c566}.light-mode .notif-panel{background:#fafafcf7;border-color:#00000014;box-shadow:0 24px 64px #00000026}.light-mode .notif-header{border-bottom-color:#00000012}.light-mode .notif-title{color:#111}.light-mode .notif-mute-btn{color:#00000073;background:#0000000a;border-color:#0000001a}.light-mode .notif-mute-btn:hover{color:#000000bf;background:#00000014}.light-mode .notif-close-btn{color:#0006;background:#0000000d}.light-mode .notif-item:hover{background:#00000008}.light-mode .notif-group-toggle{color:#0006}.light-mode .notif-group-children{border-left-color:#00000014}.light-mode .notif-item-icon{color:#0006;background:#0000000d}.light-mode .notif-item-text{color:#000000b3}.light-mode .notif-item-text strong{color:#111}.light-mode .notif-item-note{color:#0006}.light-mode .notif-item-time{color:#0000004d}.light-mode .notif-empty{color:#0000002e}.light-mode .notif-empty p{color:#0000004d}.light-mode .notif-read-all-btn{color:#0006;background:#0000000a;border-color:#0000001a}.light-mode .notif-read-all-btn:hover{color:#000000b3;background:#00000014}.light-mode .notif-item-unread{background:#3071c50f}.light-mode .notif-item-clickable:hover{background:#00000008!important}.light-mode .notif-unread-dot{background:#3071c5}.light-mode .notif-icon-device_activity{color:#0006;background:#0000000d}.light-mode .notifications-badge{border-color:#fafafce6}.profile-icon-button{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 16px #0009}.profile-icon-button:hover{background:#282830f5}.profile-icon-button svg{width:20px;height:20px}.profile-icon-button.manual-edit-indicator,.menu-button.manual-edit-indicator{border:2px solid #facc15;box-shadow:0 0 0 2px #facc1559}.manual-edit-dot{pointer-events:none;background:#facc15;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px;box-shadow:0 0 4px #facc15cc}.floor-plan-viewer.manual-edit-active:after{content:"";pointer-events:none;z-index:9999;border:3px solid #facc15;position:fixed;inset:0;box-shadow:inset 0 0 0 3px #facc15}.light-mode{background:#f0f0f0}.light-mode .floor-plan-svg line,.light-mode .floor-plan-svg polyline,.light-mode .floor-plan-svg path{filter:none}.light-mode .menu-button,.light-mode .search-button,.light-mode .legend-button,.light-mode .drawings-nav-button,.light-mode .theme-toggle-button,.light-mode .submittals-button,.light-mode .workspace-shortcut-button,.light-mode .manual-edit-shortcut-button,.light-mode .filter-button,.light-mode .notifications-button,.light-mode .profile-icon-button{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#333;filter:none;background:#ffffffeb;border:1px solid #0000001f;box-shadow:0 2px 8px #0000001f}.light-mode .menu-button:hover,.light-mode .search-button:hover,.light-mode .legend-button:hover,.light-mode .drawings-nav-button:hover,.light-mode .theme-toggle-button:hover,.light-mode .submittals-button:hover,.light-mode .workspace-shortcut-button:hover,.light-mode .workspace-shortcut-button.active,.light-mode .manual-edit-shortcut-button:hover,.light-mode .filter-button:hover,.light-mode .notifications-button:hover,.light-mode .profile-icon-button:hover{background:#fff;box-shadow:0 2px 10px #00000026}.light-mode .search-container.open{-webkit-backdrop-filter:blur(16px);filter:none;background:#ffffffeb;border:1px solid #0000001f;box-shadow:0 2px 8px #0000001f}.light-mode .search-input{color:#333}.light-mode .search-input::placeholder,.light-mode .search-close{color:#999}.light-mode .search-close:hover{color:#333;background:#0000000f}.light-mode .search-results{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #00000014;box-shadow:0 8px 32px #00000024}.light-mode .search-result-item{color:#333}.light-mode .search-result-item:hover,.light-mode .search-result-item.selected{background:#0000000a}.light-mode .search-result-item:not(:last-child){border-bottom-color:#0000000f}.light-mode .search-result-label{color:#333}.light-mode .search-result-match{color:#777}.light-mode .search-no-results{color:#999}.light-mode .bottom-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #0000001f;box-shadow:0 2px 12px #0000001a}.light-mode .nav-tab{color:#333}.light-mode .nav-tab:hover{background:#0000000a}.light-mode .nav-tab.active{color:#0b57d0;background:#0b57d014}.light-mode .nav-tab.active .nav-icon{color:#0b57d0}.light-mode .device-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #00000014}.light-mode .device-panel h3{color:#333}.light-mode .device-overlay-tabs{border-bottom-color:#0000001a}.light-mode .device-overlay-tab{color:#0006}.light-mode .device-overlay-tab:hover{color:#000000b3}.light-mode .device-overlay-tab.active{color:#333;border-bottom-color:#0b57d0}.light-mode .no-submittal-message{color:#00000073}.light-mode .empty-state-icon{color:#0003}.light-mode .empty-state-title{color:#0009}.light-mode .empty-state-desc{color:#0006}.light-mode .upload-submittal-inline-btn{color:#2563eb;background:#3b82f614;border-color:#3b82f640}.light-mode .upload-submittal-inline-btn:hover{background:#3b82f626}.light-mode .spec-link-divider:before,.light-mode .spec-link-divider:after{background:#0000001a}.light-mode .spec-link-divider span{color:#0000004d}.light-mode .spec-link-input{color:#1a1a1a;background:#0000000a;border-color:#0000001f}.light-mode .spec-link-input::placeholder{color:#00000059}.light-mode .spec-link-go-btn{color:#2563eb;background:#3b82f614;border-color:#3b82f640}.light-mode .device-panel .close-panel{color:#999}.light-mode .device-panel .close-panel:hover{color:#333}.light-mode .panel-header button{color:#333;background:#00000012;border:1.5px solid #0000002e}.light-mode .panel-header button:hover{background:#00000024}.light-mode .panel-header button svg{stroke:#333}.light-mode.floor-plan-viewer{background:#f5f5f5}.light-mode .device-panel label,.light-mode .device-panel .detail-label{color:#777}.light-mode .device-panel .detail-value,.light-mode .device-panel span,.light-mode .device-panel p{color:#333}.light-mode .device-panel input,.light-mode .device-panel textarea,.light-mode .device-panel select{color:#333;background:#0000000a;border-color:#0000001f}.light-mode .legend-overlay,.light-mode .menu-overlay{background:#0000004d}.light-mode .sheet-nav-overlay{background:#00000094}.light-mode .legend-panel,.light-mode .menu-drawer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);filter:none;background:#fffffff2;border:1px solid #0000001a;box-shadow:0 4px 20px #0000001a}.light-mode .sheet-nav-drawer{-webkit-backdrop-filter:blur(28px)saturate(1.14);background:#0a0c10f5;border-color:#ffffff2e;box-shadow:0 24px 72px #000000ad,inset 0 1px #ffffff24}.light-mode .legend-panel h3,.light-mode .menu-drawer h3{color:#333}.light-mode .sheet-nav-drawer h3{color:#ffffffb8}.light-mode .legend-panel span,.light-mode .legend-panel label{color:#555}.light-mode .close-legend,.light-mode .close-menu{color:#999;box-shadow:none;background:#0000000f}.light-mode .close-legend:hover,.light-mode .close-menu:hover{color:#333}.light-mode .sheet-nav-drawer .close-menu{color:#ffffffb8;background:#ffffff1a;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6}.light-mode .sheet-nav-drawer .close-menu:hover{color:#fff;background:#fff3}.light-mode .integrations-menu{background:#fffffff5;border:1px solid #0000001a;box-shadow:0 8px 32px #00000026}.light-mode .integrations-menu-header{color:#0006}.light-mode .integrations-refresh-btn{color:#00000059}.light-mode .integrations-refresh-btn:hover{color:#000000b3;background:#0000000f}.light-mode .integrations-menu-item:hover{background:#0000000d}.light-mode .integrations-menu-item-left{color:#000c}.light-mode .integrations-menu-item-left svg{color:#00000080}.light-mode .integrations-menu-item.request-item .integrations-menu-item-left{color:#0006}.light-mode .integrations-menu-divider{background:#00000014}.light-mode .integration-request-modal{background:#ffffffeb;border-color:#0000001a}.light-mode .integration-request-header{border-bottom-color:#00000014}.light-mode .integration-request-header h3{color:#1a1a2e}.light-mode .integration-request-close{color:#0006}.light-mode .integration-request-close:hover{color:#1a1a2e}.light-mode .integration-request-field label{color:#0009}.light-mode .integration-request-field input,.light-mode .integration-request-field textarea{color:#1a1a2e;background:#0000000a;border-color:#0000001f}.light-mode .integration-request-field input::placeholder,.light-mode .integration-request-field textarea::placeholder{color:#00000059}.light-mode .integration-request-success p{color:#0009}.light-mode .integration-request-done-btn{color:#1a1a2e;background:#0000000f;border-color:#0000001f}.light-mode .integration-request-done-btn:hover{background:#0000001a}.light-mode .trade-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #00000014}.light-mode .trade-menu label{color:#555}.light-mode .minimap{background:#ffffffeb;border:1px solid #0000001f;box-shadow:0 2px 10px #0000001f}.light-mode .minimap-viewport{border-color:#0b57d099}.light-mode .submittals-overlay{background:#0000004d}.light-mode .submittals-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #00000014}.light-mode .submittals-panel h3,.light-mode .submittals-panel h4{color:#333}.light-mode .submittals-panel span,.light-mode .submittals-panel p,.light-mode .submittals-panel label{color:#555}.light-mode .submittals-panel input,.light-mode .submittals-panel textarea,.light-mode .submittals-panel select{color:#333;background:#0000000a;border-color:#0000001f}.light-mode .light-mode .procore-panel-header h3,.light-mode .light-mode .light-mode .light-mode .procore-close:hover{color:#333}.light-mode .light-mode .light-mode .procore-projects h4{color:#777}.light-mode .light-mode .procore-project-item:hover{background:#0000000f}.light-mode .light-mode .light-mode .procore-tab.active{color:#0b57d0;border-bottom-color:#0b57d0}.light-mode .light-mode .light-mode .procore-item-date,.light-mode .light-mode .light-mode .light-mode .light-mode .light-mode .light-mode .light-mode .light-mode .light-mode .drawing-project-header{color:#00000080}.light-mode .drawing-project-header svg{stroke:#0006}.light-mode .drawings-type-header{color:#0009}.light-mode .drawing-item{box-shadow:none;background:#0000000a;border:1px solid #00000014}.light-mode .drawing-item:hover{background:#00000012}.light-mode .drawing-item.active{box-shadow:none;background:#1a73e81a;border-color:#1a73e84d}.light-mode .drawing-item-nested{border-left-color:#0000001f}.light-mode .drawing-search-field,.light-mode .drawing-sort-button{color:#555;background:#0000000d}.light-mode .drawing-sort-button:hover{color:#222;background:#00000014}.light-mode .drawing-search-field input{color:#222}.light-mode .drawing-trade-tab{color:#000000a6;background:#00000008;border-color:#00000014}.light-mode .drawing-trade-tab span:last-child{color:#0000006b}.light-mode .drawing-device-count{color:#0000009e}.light-mode .drawing-trade-tab.active{color:#222;background:#1a73e81a;border-color:#1a73e84d}.light-mode .drawing-icon{color:#888}.light-mode .drawing-name{color:#333}.light-mode .drawing-desc{color:#555}.light-mode .drawing-empty-state{color:#00000080;background:#00000008}.light-mode .delete-item-btn{box-shadow:none;background:#0000000d}.light-mode .delete-item-btn svg{stroke:#999}.light-mode .sheet-nav-drawer .drawing-search-field,.light-mode .sheet-nav-drawer .drawing-sort-button{color:#ffffffd6;background:#ffffff29;border-color:#ffffff47;box-shadow:inset 0 1px #ffffff1f,0 6px 18px #0000002e}.light-mode .sheet-nav-drawer .drawing-sort-button:hover{color:#fff;background:#ffffff38;border-color:#ffffff61}.light-mode .sheet-nav-drawer .drawing-search-field input{color:#fff}.light-mode .sheet-nav-drawer .drawing-search-field input::placeholder{color:#ffffffb3}.light-mode .sheet-nav-drawer .drawing-trade-tab{color:#ffffffad;background:#ffffff0a;border-color:#ffffff1a}.light-mode .sheet-nav-drawer .drawing-trade-tab span:last-child{color:#ffffff6b}.light-mode .sheet-nav-drawer .drawing-trade-tab.active{color:#fff;background:#3071c533;border-color:#3071c58c}.light-mode .sheet-nav-drawer .drawing-item{background:#ffffff0f;border:none;box-shadow:inset .5px -.5px 1px #ffffff40,inset -.5px .5px 1px #ffffff40}.light-mode .sheet-nav-drawer .drawing-item:hover{background:#ffffff1f}.light-mode .sheet-nav-drawer .drawing-item.active{background:#1a73e826;box-shadow:inset .5px -.5px 1px #1a73e880,inset -.5px .5px 1px #1a73e880}.light-mode .sheet-nav-drawer .drawing-icon,.light-mode .sheet-nav-drawer .drawing-desc{color:#aaa}.light-mode .sheet-nav-drawer .drawing-name{color:#fff}.light-mode .sheet-nav-drawer .drawing-device-count{color:#ffffffa8}.light-mode .sheet-nav-drawer .drawing-empty-state{color:#ffffff73;background:#ffffff0a}.light-mode .sheet-nav-drawer .delete-item-btn{background:#ffffff14;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d}.light-mode .sheet-nav-drawer .delete-item-btn svg{stroke:#aaa}.light-mode .sheet-nav-drawer .upload-new-btn{color:#aaa;background:#ffffff0a;border-color:#ffffff40}.light-mode .sheet-nav-drawer .upload-new-btn:hover{color:#fff;background:#ffffff14;border-color:#aaa}.light-mode .upload-new-btn{color:#555;background:#00000008;border-color:#0000002e}.light-mode .upload-new-btn:hover{color:#333;background:#0000000f;border-color:#00000040}.light-mode .panel-section-wrap{border-top-color:#0000001f}.light-mode .panel-section-toggle,.light-mode .panel-primary-text{color:#222}.light-mode .panel-hint-text{color:#666}.light-mode .schedule-entries-list{border-top-color:#00000014}.schedule-entries-list{border-top:1px solid #ffffff0f}.light-mode .panel-sub-divider{border-top-color:#0000001a}.light-mode .panel-sub-section-title{color:#333}.light-mode .panel-label{color:#777}.light-mode .panel-value{color:#333}.light-mode .wiring-diagram-top,.light-mode .wiring-diagram{border-color:#00000014}.light-mode .wiring-diagram-top h4,.light-mode .wiring-diagram h4{color:#777}.light-mode .work-phase-segment{background:#0000000a;border-color:#0000001a}.light-mode .work-phase-option{color:#0006}.light-mode .work-phase-option:hover{color:#000000a6}.light-mode .work-phase-option.active{color:#1a1a1a;background:#00000014;box-shadow:inset .5px -1px 1px #0000000f,inset -.5px 1px 1px #0000000f}.light-mode .phase-item-note{color:#00000061}.light-mode .punch-list-item{background:#dc26260d!important;border-color:#dc262633!important}.light-mode .punch-list-item:hover{background:#dc262617!important}.light-mode .punch-list-item.punch-list-checked{background:#dc26261a!important;border-color:#dc262666!important}.light-mode .punch-list-label{color:#dc2626}.light-mode .punch-checkmark{border-color:#dc262673!important}.light-mode .punch-note-required{color:#dc2626}.light-mode .notes-required{background:#dc262608!important;border-color:#dc262673!important}.light-mode .phase-lock-notice{color:#8c6400e6;background:#b48c0012;border-color:#b48c0040}.light-mode .installed-checkbox-container{border-bottom-color:#00000014}.light-mode .installed-checkbox{background:#0000000f;border-color:#0000002e}.light-mode .installed-checkbox:hover{background:#0000001a;border-color:#00000042}.light-mode .installed-checkbox:has(input:checked){background:#2e8b570f;border-color:#2e8b574d}.light-mode .installed-checkbox .checkmark{border-color:#0006}.light-mode .installed-checkbox .label-text{color:#333}.light-mode .installed-checkbox.next-action{background:#3b82f61a;border-color:#3b82f659;box-shadow:0 0 12px #3b82f61a,inset 0 0 0 1px #3b82f614}.light-mode .installed-checkbox.next-action .checkmark{border-color:#3b82f699}.light-mode .installed-checkbox.next-action .label-text{color:#1a1a1a;font-weight:600}.light-mode .installed-checkbox.next-action:hover{background:#3b82f626}.light-mode .installed-checkbox.completed-step{opacity:.55;background:#2e8b570a;border-color:#2e8b571f}.light-mode .installed-checkbox.completed-step .label-text{color:#0006}.light-mode .installed-checkbox.disabled{opacity:.35;background:#00000005;border-color:#0000000d}.light-mode .installed-checkbox.disabled:hover{background:#00000005}.light-mode .installed-checkbox.disabled .label-text{color:#999}.light-mode .device-photos-section h4{color:#777}.light-mode .upload-photo-btn{color:#666;background:#0000000a;border-color:#0000001f}.light-mode .upload-photo-btn:hover{color:#333;background:#00000014}.light-mode .delete-item-btn{color:#999}.light-mode .delete-item-btn:hover{color:#c44;background:#dc3c3c1a}.light-mode .confidence-badge{color:#333}.light-mode .device-panel .detail-row{border-bottom-color:#0000000f}.light-mode .legend-item label,.light-mode .trade-label{color:#555}.light-mode .legend-header{border-bottom-color:#00000014}.light-mode .legend-header h3{color:#333}.light-mode .legend-header button{color:#666;box-shadow:none;background:#0000000f}.light-mode .legend-header button:hover{color:#333;background:#0000001a}.light-mode .legend-actions{border-bottom-color:#00000014}.light-mode .legend-action-btn{color:#666;box-shadow:none;background:#0000000d}.light-mode .legend-action-btn:hover{color:#333;background:#0000001a}.light-mode .legend-item:hover{background:#0000000a}.light-mode .legend-count{color:#999}.light-mode .submittal-item{box-shadow:none;background:#00000008;border:1px solid #0000000f}.light-mode .submittal-item:hover{background:#0000000f}.light-mode .submittal-info strong{color:#333}.light-mode .submittal-mfg{color:#777}.light-mode .delete-submittal{color:#999;box-shadow:none;background:#0000000a}.light-mode .delete-submittal:hover{color:#f44;background:#ff444414}.light-mode .modal-overlay{background:#0000004d}.light-mode .submittal-modal{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);filter:none;background:#ffffffeb;border:1px solid #00000014;box-shadow:0 8px 32px #00000026}.light-mode .modal-header{border-bottom-color:#00000014}.light-mode .modal-header h3{color:#333}.light-mode .modal-header button{color:#666;box-shadow:none;background:#0000000f}.light-mode .modal-header button:hover{color:#333;background:#0000001a}.light-mode .pdf-upload-box{color:#666;background:#00000005;border-color:#00000026}.light-mode .pdf-upload-box:hover{color:#333;background:#0b57d00d;border-color:#0b57d0}.light-mode .pdf-upload-box h4{color:#333}.light-mode .pdf-upload-box p{color:#777}.light-mode .no-submittals{color:#999}.plan-info-panel{-webkit-backdrop-filter:blur(12px);filter:drop-shadow(0 4px 16px #0000004d);z-index:100;isolation:isolate;background:#1e1e1ea6;border:none;border-radius:20px;flex-direction:column;width:480px;max-height:55vh;display:flex;position:absolute;bottom:100px;left:24px;overflow:hidden;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80}.plan-info-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.plan-info-header h3{color:#fff;margin:0;font-size:14px;font-weight:600}.plan-info-close{color:#aaa;cursor:pointer;background:#ffffff1a;border:none;border-radius:48px;justify-content:center;align-items:center;width:24px;height:24px;transition:background .2s;display:flex}.plan-info-close:hover{color:#fff;background:#fff3}.plan-info-close svg{width:14px;height:14px}.plan-info-tabs{border-bottom:1px solid #ffffff1a;gap:2px;padding:8px 10px;display:flex;overflow-x:auto}.plan-info-tab{color:#aaa;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.plan-info-tab:hover{color:#fff;background:#ffffff14}.plan-info-tab.active{color:#6ea8fe;background:#0b57d033}.plan-info-content{flex:1;padding:12px;overflow-y:auto}.plan-info-section h4{color:#aaa;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff0f;margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:600}.plan-info-section h4:not(:first-child){margin-top:16px}.plan-info-row{justify-content:space-between;align-items:flex-start;gap:12px;padding:5px 0;display:flex}.plan-info-label{color:#aaa;text-transform:capitalize;flex-shrink:0;font-size:12px}.plan-info-value{color:#fff;text-align:right;word-break:break-word;font-size:12px;font-weight:500}.plan-info-card{background:#ffffff0d;border-radius:10px;margin-bottom:8px;padding:10px 12px}.plan-info-card strong{color:#fff;font-size:13px;display:block}.plan-info-sub{color:#aaa;margin-top:2px;font-size:11px;display:block}.plan-info-card-details{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.plan-info-card-details span{color:#888;background:#ffffff0f;border-radius:6px;padding:2px 8px;font-size:11px}.plan-info-circuits{border-top:1px solid #ffffff0f;margin-top:8px;padding-top:6px}.plan-info-circuit-row{gap:8px;padding:3px 0;font-size:11px;display:flex}.circuit-num{color:#6ea8fe;min-width:28px;font-weight:600}.circuit-desc{color:#ccc;flex:1}.circuit-amp{color:#e8ad00;font-weight:500}.plan-info-note{color:#ccc;background:#ffffff0a;border-radius:8px;margin-bottom:6px;padding:8px 10px;font-size:12px;line-height:1.5}.plan-info-empty{color:#666;text-align:center;padding:20px 0;font-size:13px}.light-mode .plan-info-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);filter:none;background:#ffffffd9;border:1px solid #00000014;box-shadow:0 2px 12px #0000001a}.light-mode .plan-info-header{border-bottom-color:#00000014}.light-mode .plan-info-header h3{color:#333}.light-mode .plan-info-close{color:#666;background:#0000000f}.light-mode .plan-info-close:hover{color:#333;background:#0000001a}.light-mode .plan-info-tabs{border-bottom-color:#0000000f}.light-mode .plan-info-tab{color:#777}.light-mode .plan-info-tab:hover{color:#333;background:#0000000a}.light-mode .plan-info-tab.active{color:#0b57d0;background:#0b57d01a}.light-mode .plan-info-section h4{color:#777;border-bottom-color:#0000000f}.light-mode .plan-info-label{color:#777}.light-mode .plan-info-value{color:#333}.light-mode .plan-info-card{background:#00000008}.light-mode .plan-info-card strong{color:#333}.light-mode .plan-info-sub{color:#777}.light-mode .plan-info-card-details span{color:#555;background:#0000000d}.light-mode .plan-info-circuits{border-top-color:#0000000f}.light-mode .circuit-desc{color:#555}.light-mode .plan-info-note{color:#555;background:#00000008}.light-mode .plan-info-empty{color:#999}@media (width<=768px){:root{--bottom-bar-h:63px}.plan-info-panel{width:auto;max-height:50vh;bottom:90px;left:8px;right:8px}.plan-info-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.menu-button,.search-button,.legend-button,.drawings-nav-button,.submittals-button,.workspace-shortcut-button,.manual-edit-shortcut-button,.region-scan-btn,.filter-button,.theme-toggle-button,.profile-icon-button{width:36px;height:36px}.search-input{width:120px}.search-results{border-radius:16px;width:auto;max-height:35vh;position:fixed;top:64px;left:16px;right:16px}.menu-button svg,.search-button svg,.legend-button svg,.drawings-nav-button svg,.submittals-button svg,.workspace-shortcut-button svg,.manual-edit-shortcut-button svg,.region-scan-btn svg,.filter-button svg,.theme-toggle-button svg,.profile-icon-button svg{width:18px;height:18px}.bottom-nav{padding:6px 4px max(8px, env(safe-area-inset-bottom))}.nav-item{gap:2px;font-size:9px}.nav-item svg{width:18px;height:18px}.minimap{width:72px;bottom:max(24px, env(safe-area-inset-bottom,24px));border-radius:8px;right:16px}.submittals-panel{width:300px!important;max-height:75vh!important}.device-overlay{width:280px!important;max-height:80vh!important}.trade-filter-popup{bottom:56px}.left-buttons{gap:6px;top:8px;left:8px}.top-right-buttons{gap:6px;top:8px;right:8px}.search-overlay{width:220px;top:8px;right:8px}.search-overlay input{padding:8px 12px;font-size:13px}.drawings-menu{width:240px!important;max-height:60vh!important}.device-panel{-webkit-backdrop-filter:blur(24px);background:#101014f2;border:1px solid #ffffff38;border-radius:0;flex-direction:column;height:100dvh;max-height:100dvh;display:flex;transform:none;box-shadow:0 2px 8px #000000a6;width:100%!important;inset:0!important}.device-panel .panel-header{padding:16px 16px 12px;padding-top:max(16px, env(safe-area-inset-top,16px))}.panel-content{-webkit-overflow-scrolling:touch;min-height:0;padding:12px 16px 20px;overflow-y:auto}.work-phase-segment{margin-bottom:10px}.phase-item-note{font-size:11px}input[type=text],input[type=search],input[type=tel],input[type=email],input[type=number],textarea,select{font-size:16px!important}.notif-panel{width:auto;max-height:calc(100vh - 140px);top:62px;left:8px;right:8px}}@media (width<=900px){.floor-plan-viewer{width:100dvw;max-width:100dvw;height:100dvh;overflow:hidden}.panel-backdrop,.room-overlay-backdrop{background:0 0}.device-panel,.room-overlay-panel,.room-overlay-panel.mobile{border-radius:10px;flex-direction:column;max-width:min(560px,100dvw - 24px);height:auto;max-height:none;margin:0 auto;display:flex;position:fixed;transform:none;left:12px!important;right:12px!important;top:calc(12px + env(safe-area-inset-top,0px))!important;bottom:calc(var(--bottom-bar-h) + 32px + env(safe-area-inset-bottom,0px))!important;width:auto!important}.device-panel .panel-content,.room-overlay-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}}@media (width<=480px){.device-panel,.room-overlay-panel,.room-overlay-panel.mobile{left:8px!important;right:8px!important;top:calc(8px + env(safe-area-inset-top,0px))!important;bottom:calc(var(--bottom-bar-h) + 32px + env(safe-area-inset-bottom,0px))!important}}.canvas-empty-state{inset:0;bottom:var(--bottom-bar-h);z-index:10;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.canvas-empty-card{pointer-events:all;-webkit-backdrop-filter:blur(24px);text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;align-items:center;gap:14px;width:calc(100vw - 48px);max-width:420px;padding:48px 52px;animation:.35s cubic-bezier(.22,1,.36,1) both emptyCardIn;display:flex}@keyframes emptyCardIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-empty-icon{opacity:.85;margin-bottom:4px}.canvas-empty-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:650}.canvas-empty-desc{color:#ffffff73;max-width:300px;margin:0;font-size:.875rem;line-height:1.6}.canvas-empty-cta{color:#fff;cursor:pointer;letter-spacing:.01em;background:#3071c5;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.canvas-empty-cta:hover{background:#2563b0;transform:translateY(-1px)}.canvas-empty-cta:active{transform:translateY(0)}.canvas-empty-secondary{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.8rem;transition:color .15s}.canvas-empty-secondary:hover{color:#ffffffb3}.light-mode .canvas-empty-card{background:#ffffffbf;border-color:#00000014}.light-mode .canvas-empty-title{color:#111}.light-mode .canvas-empty-desc{color:#00000080}.light-mode .canvas-empty-secondary{color:#0006}.light-mode .canvas-empty-secondary:hover{color:#000000b3}.region-scan-btn{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#101014eb;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #0009}.region-scan-btn:hover{background:#282830f5}.region-scan-btn.active{color:#5b9cf5;background:#3071c540;border-color:#3071c5;box-shadow:0 4px 16px #0009,0 0 0 2px #3071c540}.light-mode .region-scan-btn{color:#333;background:#ffffffeb;border-color:#0000001f;box-shadow:0 2px 8px #0000001f}.light-mode .region-scan-btn.active{color:#3071c5;background:#3071c51a;border-color:#3071c5}.region-scan-go-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#3071c5;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .2s;display:flex;box-shadow:0 4px 16px #0000004d}.region-scan-go-btn:hover:not(:disabled){background:#2560a8}.region-scan-go-btn:disabled{opacity:.7;cursor:wait}.region-scan-hint{-webkit-backdrop-filter:blur(8px);color:#ffffffbf;pointer-events:none;white-space:nowrap;background:#101014d9;border-radius:20px;padding:8px 16px;font-size:13px}.light-mode .region-scan-hint{color:#0009;background:#ffffffe6}.scan-candidates-panel{-webkit-backdrop-filter:blur(20px);z-index:210;background:#16161af5;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:320px;max-height:400px;display:flex;position:absolute;bottom:90px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000080}.light-mode .scan-candidates-panel{background:#fffffff5;border-color:#0000001a;box-shadow:0 8px 32px #00000026}.scan-candidates-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.light-mode .scan-candidates-header{border-bottom-color:#00000014}.scan-candidates-title{color:#fff;font-size:14px;font-weight:600}.light-mode .scan-candidates-title{color:#111}.scan-accept-all-btn{color:#22c55e;cursor:pointer;background:#22c55e26;border:1px solid #22c55e4d;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s;display:flex}.scan-accept-all-btn:hover{background:#22c55e40}.scan-close-btn{color:#aaa;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.scan-close-btn:hover{color:#fff;background:#ffffff26}.scan-candidates-list{max-height:320px;padding:4px 0;overflow-y:auto}.scan-candidate-group{padding:2px 0 8px}.scan-candidate-group-title{letter-spacing:0;color:#ffffff7a;padding:7px 14px 5px;font-size:11px;font-weight:700}.light-mode .scan-candidate-group-title{color:#00000075}.scan-candidate-item{justify-content:space-between;align-items:center;padding:10px 14px;transition:background .1s;display:flex}.scan-candidate-item.flagged{background:#ef444414}.light-mode .scan-candidate-item.flagged{background:#ef44440f}.scan-candidate-item:hover{background:#ffffff0a}.light-mode .scan-candidate-item:hover{background:#00000008}.scan-candidate-item.accepted{opacity:.6}.scan-candidate-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.scan-candidate-check{flex-shrink:0;justify-content:center;align-items:center;width:22px;margin-right:4px;display:flex}.scan-candidate-check input{accent-color:#22c55e;width:14px;height:14px}.scan-candidate-abbrev{color:#f59e0b;flex-shrink:0;font-size:14px;font-weight:700}.accepted .scan-candidate-abbrev{color:#22c55e}.scan-candidate-type{color:#fff9;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.light-mode .scan-candidate-type{color:#00000080}.scan-candidate-tag{color:#fff6;background:#ffffff0f;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px}.light-mode .scan-candidate-tag{color:#0006;background:#0000000d}.scan-candidate-conf{color:#ffffff59;flex-shrink:0;font-size:11px}.light-mode .scan-candidate-conf{color:#0000004d}.scan-candidate-warning-icon{color:#ef4444;flex-shrink:0}.scan-candidate-reason{color:#ffffff85;flex-basis:100%;font-size:11px;line-height:1.25}.light-mode .scan-candidate-reason{color:#00000085}.scan-candidate-actions{flex-shrink:0;gap:4px;margin-left:8px;display:flex}.scan-candidate-accept,.scan-candidate-dismiss{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.scan-candidate-accept{color:#22c55e;background:#22c55e1f}.scan-candidate-accept:hover{background:#22c55e40}.scan-candidate-dismiss{color:#ef4444;background:#ef44441a}.scan-candidate-dismiss:hover{background:#ef444433}.scan-candidate-accepted-badge{color:#22c55e;flex-shrink:0;margin-left:8px;font-size:11px;font-weight:500}.searchable-control{position:relative}.searchable-control-label{color:var(--color-text-muted);margin-bottom:3px;font-size:11px;font-weight:600;display:block}.searchable-control-trigger{border:1px solid var(--color-border);background:var(--color-surface-elevated);min-height:34px;color:var(--color-text);cursor:pointer;border-radius:8px;align-items:center;padding:6px 10px;font-size:13px;transition:border-color .2s;display:flex}.searchable-control-trigger-wrap{flex-wrap:wrap;gap:4px}.searchable-control-trigger.is-open{border-color:var(--searchable-accent)}.searchable-control-trigger.is-disabled{cursor:default}.searchable-control-token{background:color-mix(in srgb, var(--searchable-accent) 12%, transparent);color:var(--searchable-accent);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.searchable-control-placeholder{color:var(--color-text-subtle);font-size:12px}.searchable-control-menu{z-index:100;border:1px solid var(--color-border);background:var(--color-surface-elevated);max-height:240px;color:var(--color-text);box-shadow:var(--shadow-popover);border-radius:8px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.searchable-control-search{box-sizing:border-box;border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);background:0 0;outline:none;padding:8px 10px;font-size:13px}.searchable-control-option{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.searchable-control-option:hover,.searchable-control-option.is-selected,.searchable-control-create{background:color-mix(in srgb, var(--searchable-accent) 8%, transparent)}.searchable-control-create{border-bottom:1px solid var(--color-border);color:var(--searchable-accent)}.searchable-control-option-text{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.searchable-control-empty{color:var(--color-text-muted);margin:0;padding:12px 10px;font-size:12px;line-height:1.4}.searchable-control-empty-small{padding:8px 10px;font-size:11px}.searchable-control-check{border:1.5px solid var(--color-border);background:var(--color-surface-elevated);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.searchable-control-check.is-selected{border-color:var(--searchable-accent);background:var(--searchable-accent)}.searchable-control-checkmark{color:var(--color-action-primary-fg);font-size:11px;font-weight:700}.themed-select{max-width:100%;display:inline-block;position:relative}.themed-select-trigger{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface-input);width:100%;min-height:40px;color:var(--color-text);text-align:left;cursor:pointer;appearance:none;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 46px 8px 12px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.themed-select-trigger.is-open,.themed-select-trigger:focus-visible{border-color:var(--searchable-accent);outline:none}.themed-select-trigger:disabled{cursor:default;opacity:.65}.themed-select-value,.themed-select-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.themed-select-placeholder{color:var(--color-text-subtle)}.themed-select-caret{color:var(--color-text-subtle);pointer-events:none;flex-shrink:0;position:absolute;right:16px}.themed-select-menu{z-index:1200;border:1px solid var(--color-border);background:var(--color-surface-elevated);max-height:260px;color:var(--color-text);box-shadow:var(--shadow-popover);border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.themed-select-option{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:1.25;display:flex}.themed-select-option:hover,.themed-select-option:focus-visible,.themed-select-option.is-active,.themed-select-option.is-selected{background:color-mix(in srgb, var(--searchable-accent) 12%, var(--color-surface-elevated));outline:none}.themed-select-option:disabled{cursor:default;opacity:.55}.themed-select-check{width:16px;color:var(--searchable-accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.themed-select-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-panel{-webkit-backdrop-filter:blur(24px);z-index:260;background:#121216f5;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;width:300px;max-height:calc(100vh - 32px);animation:.18s profile-slide-in;display:flex;position:fixed;top:16px;left:312px;overflow:hidden;box-shadow:0 24px 64px #000000b3}@keyframes profile-slide-in{0%{opacity:0;transform:translate(-10px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.profile-panel-header{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:18px 16px 14px;display:flex}.profile-avatar{color:#fff;letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:flex}.profile-header-info{flex:1;min-width:0}.profile-display-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.profile-role-badge{margin-top:2px;font-size:12px;font-weight:500}.profile-close-btn{color:#ffffff80;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.profile-close-btn:hover{color:#ffffffd9;background:#ffffff24}.profile-panel-body{flex:1;padding:8px 0;overflow-y:auto}.profile-section{border-bottom:1px solid #ffffff0f;padding:12px 16px}.profile-section:last-child{border-bottom:none}.profile-section-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-section-label{text-transform:uppercase;letter-spacing:.8px;color:#ffffff59;margin-bottom:8px;font-size:10px;font-weight:700}.profile-field{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.profile-field:last-child{margin-bottom:0}.profile-field-label{text-transform:uppercase;letter-spacing:.5px;color:#ffffff59;font-size:10px;font-weight:600}.profile-field-value{color:#ffffffd9;font-size:14px;font-weight:500}.profile-phone{letter-spacing:.5px;font-family:monospace;font-size:13px}.profile-edit-inline{flex-direction:column;gap:6px;display:flex}.profile-edit-input{color:#fff;box-sizing:border-box;background:#ffffff14;border:1px solid #3071c599;border-radius:8px;outline:none;width:100%;padding:7px 10px;font-size:14px}.profile-edit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.profile-edit-error{color:#f87171;flex:1;font-size:11px}.profile-edit-cancel{color:#ffffff8c;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:4px 10px;font-size:12px;transition:background .15s}.profile-edit-cancel:hover{background:#ffffff14}.profile-edit-save{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s}.profile-edit-save:hover:not(:disabled){background:#2563ae}.profile-edit-save:disabled{opacity:.5;cursor:not-allowed}.profile-access-level{margin-bottom:8px}.profile-access-badge{border:1px solid;border-radius:100px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.profile-access-desc{color:#ffffff73;margin:0;font-size:12px;line-height:1.5}.profile-request-access{margin-top:8px}.profile-link-btn{color:#60a5fa;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline;transition:color .15s}.profile-link-btn:hover{color:#93c5fd}.profile-request-sent{color:#34d399;align-items:center;gap:5px;font-size:12px;display:inline-flex}.profile-toggle{cursor:pointer;background:#ffffff26;border:none;border-radius:12px;flex-shrink:0;width:42px;height:24px;padding:0;transition:background .2s;position:relative}.profile-toggle.on{background:#3071c5}.profile-toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px}.profile-toggle.on .profile-toggle-thumb{transform:translate(18px)}.profile-toggle-row{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.profile-toggle-info{flex-direction:column;gap:2px;display:flex}.profile-toggle-label{color:#ffffffe6;font-size:13px;font-weight:500}.profile-toggle-desc{color:#ffffff73;font-size:11px}.profile-edit-profile-btn{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:background .15s;display:inline-flex}.profile-edit-profile-btn:hover{color:#fff;background:#ffffff1f}.profile-action-stack{flex-direction:column;gap:8px;display:flex}.profile-action-full{justify-content:flex-start;width:100%}.profile-modal-overlay{z-index:520;background:#0000008f;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.profile-modal{background:#121216fa;border:1px solid #ffffff21;border-radius:8px;width:min(420px,100%);max-height:min(720px,100vh - 32px);padding:14px;overflow-y:auto;box-shadow:0 24px 64px #0000009e}.profile-requests-modal{width:min(560px,100%)}.profile-modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-modal-header h3{color:#fff;margin:0;font-size:1rem}.profile-modal-close{color:#ffffff9e;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.profile-integration-form,.profile-integration-field{flex-direction:column;display:flex}.profile-integration-form{gap:10px}.profile-integration-field{gap:5px}.profile-integration-field span{color:#ffffff94;font-size:.78rem;font-weight:600}.profile-integration-field input,.profile-integration-field textarea{box-sizing:border-box;color:#fff;width:100%;font:inherit;background:#ffffff0f;border:1px solid #ffffff24;border-radius:7px;outline:none;padding:8px 10px;font-size:.9rem}.profile-integration-field textarea{resize:vertical;min-height:112px}.profile-integration-field input:focus,.profile-integration-field textarea:focus{border-color:#3071c5}.profile-modal-error{color:#f87171;margin:0;font-size:.82rem}.profile-modal-actions{justify-content:flex-end;gap:8px;display:flex}.profile-requests-list{flex-direction:column;gap:10px;display:flex}.profile-request-item{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:10px}.profile-request-topline{color:#fff;justify-content:space-between;gap:10px;font-size:.9rem;display:flex}.profile-request-topline span,.profile-request-meta{color:#ffffff75;font-size:.76rem}.profile-request-purpose{color:#ffffffc7;white-space:pre-wrap;margin:8px 0 0;font-size:.84rem;line-height:1.45}.profile-request-link{color:#60a5fa;margin-top:8px;font-size:.8rem;display:inline-flex}.profile-request-link.muted{color:#ffffff73}.profile-demo-notice{color:#ffffff8c;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:flex-start;gap:10px;margin:12px 16px;padding:12px;font-size:13px;line-height:1.5;display:flex}.profile-demo-notice svg{color:#ffffff59;flex-shrink:0;margin-top:1px}.profile-panel-footer{border-top:1px solid #ffffff14;padding:12px 16px}.profile-logout-btn{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.profile-logout-btn:hover{background:#ef44442e;border-color:#ef444466}.light-mode .profile-panel{background:#fffffff7;border-color:#0000001a;box-shadow:0 24px 64px #0003}.light-mode .profile-panel-header{border-bottom-color:#00000012}.light-mode .profile-display-name{color:#1a1a1a}.light-mode .profile-close-btn{color:#0006;background:#0000000d}.light-mode .profile-close-btn:hover{color:#000000b3;background:#0000001a}.light-mode .profile-section{border-bottom-color:#0000000f}.light-mode .profile-section-label,.light-mode .profile-field-label{color:#00000059}.light-mode .profile-field-value,.light-mode .profile-access-desc{color:#000000bf}.light-mode .profile-access-desc{color:#00000080}.light-mode .profile-toggle{background:#00000026}.light-mode .profile-edit-profile-btn{color:#000000a6;background:#0000000d;border-color:#0000001f}.light-mode .profile-edit-profile-btn:hover{color:#1a1a1a;background:#00000017}.light-mode .profile-modal{background:#fffffffa;border-color:#0000001f;box-shadow:0 24px 64px #00000038}.light-mode .profile-modal-header h3,.light-mode .profile-request-topline{color:#1a1a1a}.light-mode .profile-modal-close{color:#0000008c;background:#0000000d}.light-mode .profile-integration-field span{color:#00000094}.light-mode .profile-integration-field input,.light-mode .profile-integration-field textarea,.light-mode .profile-request-item{color:#1a1a1a;background:#0000000a;border-color:#00000021}.light-mode .profile-request-topline span,.light-mode .profile-request-meta{color:#00000085}.light-mode .profile-request-purpose{color:#000000c2}.light-mode .profile-request-link.muted{color:#00000080}.light-mode .profile-toggle-label{color:#000000d9}.light-mode .profile-toggle-desc{color:#00000073}.light-mode .profile-demo-notice{color:#00000080;background:#0000000a;border-color:#00000014}.light-mode .profile-edit-cancel{color:#00000080;border-color:#00000026}.light-mode .profile-edit-cancel:hover{background:#0000000d}.light-mode .profile-edit-input{color:#1a1a1a;background:#0000000a}.light-mode .profile-panel-footer{border-top-color:#00000012}.light-mode .profile-logout-btn{background:#ef444412;border-color:#ef444433}.light-mode .profile-logout-btn:hover{background:#ef44441f}@media (width<=680px){.profile-panel{z-index:270;width:auto;max-height:calc(100vh - 32px);top:16px;left:8px;right:8px}}.profile-team-toggle{cursor:pointer;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:0;display:flex}.profile-team-body{flex-direction:column;gap:0;margin-top:8px;display:flex}.profile-team-hint{color:var(--color-text-subtle);margin:4px 0 8px;font-size:.8rem}.profile-team-hint.err{color:#ef4444}.profile-team-hint.ok{color:#22c55e}.profile-team-member{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;display:flex}.profile-team-member:last-of-type{border-bottom:none}.profile-team-member-info{flex-direction:column;gap:1px;min-width:0;display:flex}.profile-team-member-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.profile-team-member-phone{color:var(--color-text-subtle);font-size:.75rem}.profile-team-member-controls{flex-shrink:0;align-items:center;gap:6px;display:flex}.profile-team-role-select{color:var(--color-text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:4px 6px;font-size:.78rem}.profile-team-remove-btn{color:#ef4444;cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.profile-team-remove-btn:hover{background:#ef444438}.profile-invite-section{border-top:1px dashed #ffffff14;margin-top:8px;padding-top:4px}.profile-invite-form{flex-direction:column;gap:7px;margin-top:4px;display:flex}.profile-invite-input{width:100%;color:var(--color-text);box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:7px;outline:none;padding:8px 10px;font-size:.85rem}.profile-invite-input::placeholder{color:#ffffff4d}.profile-invite-input:focus{border-color:#2563eb}.profile-invite-row{align-items:center;gap:7px;display:flex}.profile-invite-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:7px;flex:1;padding:7px 10px;font-size:.83rem;font-weight:600;transition:opacity .15s}.profile-invite-btn:disabled{opacity:.45;cursor:not-allowed}.profile-invite-btn:not(:disabled):hover{opacity:.88}.profile-invite-success{color:#22c55e;background:#22c55e1a;border-radius:6px;margin-bottom:4px;padding:7px 10px;font-size:.8rem}.profile-danger-btn,.profile-danger-confirm{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef444459;border-radius:7px;width:100%;padding:8px 10px;font-size:.83rem;font-weight:700}.profile-danger-box{background:#ef44440f;border:1px solid #ef444438;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.profile-danger-copy{color:#ffffff9e;font-size:.78rem}.profile-danger-confirm:disabled{opacity:.45;cursor:not-allowed}.light-mode .profile-team-member{border-bottom-color:#00000012}.light-mode .profile-team-role-select,.light-mode .profile-invite-input{color:#1a1a1a;background:#0000000a;border-color:#00000026}.light-mode .profile-invite-input::placeholder{color:#00000059}.light-mode .profile-invite-section{border-top-color:#0000001a}.light-mode .profile-danger-copy{color:#0009}.lp-bg{background:linear-gradient(#0009,#0009),url(/bg-hero.jpg) 50%/cover no-repeat fixed;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.lp-card{-webkit-backdrop-filter:blur(24px);background:#ffffff12;border:1px solid #ffffff24;border-radius:24px;flex-direction:column;gap:28px;width:100%;max-width:400px;padding:36px 32px 32px;display:flex;box-shadow:0 24px 64px #00000080}.lp-brand{flex-direction:column;align-items:center;gap:10px;display:flex}.lp-brand-name{color:#fff;letter-spacing:-.3px;font-size:22px;font-weight:700}.lp-header{flex-direction:column;gap:6px;display:flex}.lp-back{color:#ffffff8c;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:8px;padding:0;font-size:13px;transition:color .15s;display:inline-flex}.lp-back:hover{color:#ffffffd9}.lp-title{color:#fff;letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.lp-subtitle{color:#ffffff80;margin:0;font-size:14px;line-height:1.5}.lp-form{flex-direction:column;gap:14px;display:flex}.lp-field{flex-direction:column;gap:6px;display:flex}.lp-label{color:#fff9;letter-spacing:.3px;text-transform:uppercase;font-size:12px;font-weight:600}.lp-required{color:#f87171}.lp-input{color:#fff;box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:16px;transition:border-color .15s,background .15s}.lp-input::placeholder{color:#ffffff47}.lp-input:focus{background:#ffffff1c;border-color:#3071c5b3}.lp-input-phone{letter-spacing:.5px;font-size:18px}.lp-input-code{letter-spacing:10px;text-align:center;padding:14px;font-size:28px;font-weight:600}.lp-error{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.4}.lp-remember{color:var(--text-secondary,#fff9);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.lp-remember input[type=checkbox]{accent-color:#3071c5;cursor:pointer;flex-shrink:0;width:16px;height:16px}.lp-btn-primary{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:12px;width:100%;margin-top:2px;padding:14px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s}.lp-btn-primary:hover:not(:disabled){background:#2563ae}.lp-btn-primary:disabled{opacity:.45;cursor:not-allowed}.lp-btn-ghost{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:12px;width:100%;padding:11px;font-size:14px;transition:background .15s}.lp-btn-ghost:hover{background:#ffffff1c}.lp-divider{color:#ffffff40;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:12px;font-size:12px;display:flex}.lp-divider:before,.lp-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.lp-btn-demo{color:#ffffff8c;cursor:pointer;background:0 0;border:1px dashed #ffffff38;border-radius:12px;width:100%;padding:12px;font-size:14px;transition:border-color .15s,color .15s}.lp-btn-demo:hover{color:#fffc;border-color:#fff6}.lp-fine-print{color:#ffffff4d;text-align:center;margin:0;font-size:11px;line-height:1.5}.lp-fine-print a{color:#ffffff73;text-decoration:none}.lp-fine-print a:hover{color:#ffffffa6}.lp-signup-link{color:#fff6;text-align:center;margin:0;font-size:13px}.lp-link{color:#60a5fa;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.lp-link:hover{color:#93c5fd}@media (width<=480px){.lp-card{border-radius:20px;padding:28px 20px 24px}}.lp-dev-section{flex-direction:column;gap:12px;margin-top:20px;display:flex}.lp-dev-divider{align-items:center;gap:8px;margin-bottom:12px;display:flex}.lp-dev-divider:before,.lp-dev-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.lp-dev-divider span{text-transform:uppercase;letter-spacing:1.5px;color:#ffffff40;font-size:10px;font-weight:600}.lp-btn-dev{color:#facc15b3;cursor:pointer;background:#facc150f;border:1px dashed #facc1566;border-radius:10px;width:100%;padding:10px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.lp-btn-dev:hover:not(:disabled){color:#facc15;background:#facc151f;border-color:#facc1599}.lp-btn-dev:disabled{opacity:.5;cursor:default}.lp-dev-copy,.lp-dev-status,.lp-dev-note{color:#ffffff8c;margin:0;font-size:12px;line-height:1.5}.lp-dev-user-grid{flex-direction:column;gap:10px;display:flex}.lp-dev-user-card{color:#fff;cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;width:100%;padding:12px 14px;transition:transform .15s,border-color .15s,background .15s}.lp-dev-user-card:hover:not(:disabled){background:#3071c51f;border-color:#3071c58c;transform:translateY(-1px)}.lp-dev-user-card:disabled{opacity:.6;cursor:default}.lp-dev-user-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.lp-dev-user-name{font-size:14px;font-weight:600}.lp-dev-user-meta{color:#ffffff8f;font-size:12px;display:block}.lp-dev-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:700}.lp-dev-badge--admin{color:#93c5fd;background:#3b82f62e}.lp-dev-badge--foreman{color:#fde68a;background:#facc1529}.lp-dev-badge--tradesman{color:#86efac;background:#34d39929}.lp-dev-links{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.lp-dev-links-title{letter-spacing:.7px;text-transform:uppercase;color:#fff6;font-size:11px;font-weight:700}.lp-dev-link{color:#93c5fd;font-size:13px;text-decoration:none}.lp-dev-link:hover{color:#bfdbfe}.create-company-bg{background:var(--bg-primary,#111);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.create-company-card{background:var(--bg-secondary,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);border-radius:16px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:420px;padding:40px 32px 32px;display:flex}.create-company-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.create-company-brand{color:var(--color-text);letter-spacing:-.3px;font-size:1.2rem;font-weight:700}.create-company-title{color:var(--color-text);text-align:center;margin:0 0 10px;font-size:1.45rem;font-weight:700}.create-company-sub{color:var(--color-text-muted);text-align:center;margin:0 0 28px;font-size:.9rem;line-height:1.5}.create-company-sub strong{color:var(--color-text)}.create-company-form{flex-direction:column;gap:16px;width:100%;display:flex}.create-company-field{flex-direction:column;gap:6px;display:flex}.create-company-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.create-company-input-wrap{align-items:center;display:flex;position:relative}.create-company-input{border:1.5px solid var(--border-color,#333);background:var(--bg-primary,#111);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 40px 12px 14px;font-size:1rem;transition:border-color .2s}.create-company-input:focus{border-color:#2563eb}.create-company-input.input-ok{border-color:#22c55e}.create-company-input.input-err{border-color:#ef4444}.create-company-input::placeholder{color:var(--color-text-subtle)}.create-company-status{pointer-events:none;align-items:center;display:flex;position:absolute;right:12px}.spin{animation:spin var(--tp-spinner-duration,1.6s) linear infinite;color:var(--color-text-subtle)}.create-company-hint{margin-top:2px;font-size:.8rem}.create-company-hint.ok{color:#22c55e}.create-company-hint.err{color:#ef4444}.create-company-error{color:#ef4444;background:#ef444422;border:1px solid #ef444444;border-radius:8px;padding:10px 14px;font-size:.85rem}.create-company-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-size:1rem;font-weight:600;transition:opacity .2s,background .2s}.create-company-btn:disabled{opacity:.45;cursor:not-allowed}.create-company-btn:not(:disabled):hover{background:#1d4ed8}.create-company-logout{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;margin-top:20px;font-size:.82rem;text-decoration:underline}.create-company-logout:hover{color:var(--color-text-muted)}@media (prefers-color-scheme:light){.create-company-bg{background:#f5f5f5}.create-company-card{background:#fff;border-color:#e5e7eb}.create-company-input{background:#fafafa;border-color:#d1d5db}}[data-theme=light] .create-company-bg{background:#f5f5f5}[data-theme=light] .create-company-card{background:#fff;border-color:#e5e7eb}[data-theme=light] .create-company-input{background:#fafafa;border-color:#d1d5db}.qr-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--select-caret-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 2.5L7 7.5L12 2.5' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");--color-bg:#000;--color-surface:#18181b;--color-surface-elevated:#27272a;--color-surface-muted:#24262d;--color-surface-input:#1f2937;--color-border:#4b5563;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-text-subtle:#94a3b8;--color-link:#93c5fd;--color-action-primary-bg:#0b57d0;--color-action-primary-fg:#fff;--color-action-secondary-bg:#2f333b;--color-action-secondary-fg:#f8fafc;--color-danger-bg:#7f1d1d;--color-danger-fg:#fff;color:#fff;background:#000;min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.qr-header{-webkit-backdrop-filter:blur(20px);z-index:10;background:#ffffff0d;border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.qr-header-logo{width:32px;height:32px}.qr-header h1{flex:1;margin:0;font-size:18px;font-weight:600}.qr-header-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600}.qr-header-badge.project{color:#6ba3e8;background:#3071c54d}.qr-header-badge.room{color:#e8ad00;background:#e8ad004d}.qr-header-badge.device{color:#5cc98a;background:#2e8b574d}.qr-content{max-width:480px;margin:0 auto;padding:20px}.qr-content.qr-content-wide{max-width:720px}.qr-login{color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.qr-login-logo{width:64px;height:64px;margin-bottom:16px}.qr-login h1{margin:0 0 8px;font-size:24px;font-weight:700}.qr-login p{color:#ffffff80;text-align:center;margin:0 0 32px;font-size:14px}.qr-login-form{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.qr-input{background:var(--color-surface-input);border:1px solid var(--color-border);color:var(--color-text);box-sizing:border-box;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-size:16px;transition:border-color .2s}select.qr-input{appearance:none;padding-right:46px}.qr-input:focus{border-color:#3071c5}.qr-input::placeholder{color:var(--color-text-subtle)}.qr-btn{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:12px;width:100%;padding:14px 24px;font-size:16px;font-weight:600;transition:opacity .2s}.qr-btn:active{opacity:.8}.qr-btn:disabled{opacity:.4;cursor:not-allowed}.qr-btn.secondary{background:var(--color-action-secondary-bg);color:var(--color-action-secondary-fg)}.qr-error{color:#fca5a5;text-align:center;background:#ef444426;border:1px solid #ef44444d;border-radius:12px;padding:12px 16px;font-size:14px}.qr-success{color:#86efac;text-align:center;background:#22c55e26;border:1px solid #22c55e4d;border-radius:12px;padding:16px}.qr-success h3{margin:0 0 4px;font-size:18px}.qr-success p{color:#ffffff80;margin:0;font-size:13px}.qr-checkin-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:20px;padding:24px}.qr-checkin-card h2{margin:0 0 4px;font-size:20px}.qr-checkin-card .subtitle{color:#ffffff80;margin:0 0 20px;font-size:13px}.qr-checkin-time{color:#86efac;margin:8px 0;font-size:36px;font-weight:700}.qr-section{margin-bottom:24px}.qr-section h3{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px;font-weight:600}.qr-device-list{flex-direction:column;gap:8px;display:flex}.qr-device-item{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.qr-device-item:active{background:#ffffff1a}.qr-device-item.selected{background:#3071c51a;border-color:#3071c5}.qr-device-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.qr-device-icon.electrical{color:#e8ad00;background:#e8ad0033}.qr-device-icon.plumbing{color:#6ba3e8;background:#0b57d033}.qr-device-icon.hvac{color:#5cc98a;background:#2e8b5733}.qr-device-info{flex:1;min-width:0}.qr-device-info .name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.qr-device-info .detail{color:#fff6;margin-top:2px;font-size:12px}.qr-device-status{gap:4px;display:flex}.qr-status-dot{background:#ffffff26;border-radius:50%;width:8px;height:8px}.qr-status-dot.active{background:#22c55e}.qr-status-dot.warning{background:#e8ad00}.qr-checkbox{cursor:pointer;border:2px solid #fff3;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.qr-checkbox.checked{background:#3071c5;border-color:#3071c5}.qr-bulk-bar{-webkit-backdrop-filter:blur(20px);z-index:20;background:#000000e6;border-top:1px solid #ffffff1a;align-items:center;gap:12px;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0}.qr-bulk-bar span{flex:1;font-size:14px;font-weight:500}.qr-bulk-actions{gap:8px;display:flex}.qr-bulk-btn{cursor:pointer;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600}.qr-bulk-btn.roughin{color:#000;background:#e8ad00}.qr-bulk-btn.installed{background:#3071c5}.qr-bulk-btn.inspected{color:#000;background:#22c55e}.qr-device-detail{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:16px;padding:20px}.qr-device-detail h2{margin:0 0 4px;font-size:20px}.qr-device-detail .trade-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;margin-bottom:16px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.qr-device-detail .trade-badge.electrical{color:#e8ad00;background:#e8ad0033}.qr-device-detail .trade-badge.plumbing{color:#6ba3e8;background:#0b57d033}.qr-device-detail .trade-badge.hvac{color:#5cc98a;background:#2e8b5733}.qr-specs-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qr-spec-item{background:#ffffff0d;border-radius:10px;padding:12px}.qr-spec-item .label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.qr-spec-item .value{font-size:15px;font-weight:600}.qr-status-section{flex-direction:column;gap:10px;display:flex}.qr-status-row{background:#ffffff0d;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.qr-status-row .label{font-size:15px;font-weight:500}.qr-status-row .timestamp{color:#fff6;margin-top:2px;font-size:12px}.qr-toggle{cursor:pointer;background:#ffffff26;border:none;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.qr-toggle.active{background:#22c55e}.qr-toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px}.qr-toggle.active:after{transform:translate(20px)}.qr-checkin-list{flex-direction:column;gap:8px;display:flex}.qr-checkin-item{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:10px 0;display:flex}.qr-checkin-avatar{color:#6ba3e8;background:#3071c533;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.qr-checkin-info{flex:1}.qr-checkin-info .name{font-size:14px;font-weight:500}.qr-checkin-info .detail,.qr-checkin-time-small{color:#fff6;font-size:12px}.qr-loading{color:#ffffff80;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.qr-spinner{width:32px;height:32px;animation:spin var(--tp-spinner-duration,1.6s) linear infinite;border:3px solid #ffffff1a;border-top-color:#3071c5;border-radius:50%}.qr-select-all{color:#fff9;cursor:pointer;align-items:center;gap:8px;padding:8px 0 12px;font-size:14px;display:flex}.qr-back-btn{color:#6ba3e8;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:14px;display:flex}.qr-user-badge{background:#ffffff0d;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.qr-user-badge .avatar{color:#6ba3e8;background:#3071c54d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.qr-admin-content{min-height:0}.qr-admin-workspace{height:100%;min-height:0;color:var(--color-text)}.qr-admin-rail{flex-direction:column;gap:14px;display:flex}.qr-admin-rail-section{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;padding:12px}.qr-admin-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-admin-filter-stack{gap:8px;display:grid}.qr-admin-search-control{border:1px solid var(--color-border);background:var(--color-surface-input);height:34px;color:var(--color-text-subtle);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.qr-admin-search-control input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;font-size:12px}.qr-admin-search-control input::placeholder{color:var(--color-text-subtle)}.qr-admin-compact-select,.qr-admin-compact-select.themed-select-trigger{border-radius:8px;height:34px;min-height:34px;padding-top:0;padding-bottom:0;font-size:12px}.qr-admin-main{min-width:0}.qr-admin-main-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.qr-admin-main-toolbar h2{margin:0;font-size:18px;line-height:1.25}.qr-admin-main-toolbar p{color:var(--color-text-subtle);margin:4px 0 0;font-size:12px}.qr-admin-scroll{padding:16px}.qr-admin-project-summary{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}@media (width<=760px){.qr-admin-workspace{height:auto}.qr-admin-scroll{overflow:visible}}.qr-device-header{-webkit-backdrop-filter:blur(20px);z-index:10;background:#ffffff0d;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.qr-device-header h3{margin:0;font-size:18px;font-weight:600}.qr-close-btn{cursor:pointer;background:#00000014;border:1.5px solid #0000002e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex;box-shadow:0 1px 4px #00000026}.qr-close-btn svg{stroke:#333;color:#333;width:16px;height:16px}[data-theme=dark] .qr-close-btn{background:#ffffff2e;border:1.5px solid #fff6;box-shadow:0 1px 4px #0000004d}[data-theme=dark] .qr-close-btn svg{stroke:#fff;color:#fff}.qr-device-tabs{border-bottom:1px solid #ffffff1a;padding:0 20px;display:flex}.qr-device-tab{color:#fff6;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 0;font-size:14px;font-weight:500;transition:all .2s}.qr-device-tab.active{color:#fff;border-bottom-color:#3071c5;font-weight:600}.qr-device-content{padding:20px}.qr-checkbox-container{flex-direction:column;gap:8px;display:flex}.qr-checkbox-row{cursor:pointer;background:#ffffff0d;border:1.5px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.qr-checkbox-row:active{transform:scale(.98)}.qr-checkbox-row.next-action{background:#3071c51a;border-color:#3071c5}.qr-checkbox-row.next-action .qr-checkmark{border-color:#3071c5}.qr-checkbox-row.next-action .qr-checkbox-label{color:#fff;font-weight:600}.qr-checkbox-row.completed-step{background:#22c55e14}.qr-checkbox-row.completed-step .qr-checkbox-label{color:#ffffff80}.qr-checkbox-row.disabled{opacity:.4;pointer-events:none}.qr-checkbox-row input[type=checkbox]{display:none}.qr-checkmark{background:0 0;border:2px solid #ffffff40;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.qr-checkbox-row input:checked+.qr-checkmark{background:#3071c5;border-color:#3071c5}.qr-checkbox-row input:checked+.qr-checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;margin-top:-2px;transform:rotate(45deg)}.qr-checkbox-row.completed-step input:checked+.qr-checkmark{background:#22c55e;border-color:#22c55e}.qr-checkbox-label{color:#ffffff80;font-size:15px;font-weight:400}.qr-photos-section{margin-top:20px}.qr-photos-grid{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.qr-photo-thumb{border-radius:8px;width:72px;height:72px;position:relative;overflow:hidden}.qr-photo-thumb img{object-fit:cover;cursor:pointer;width:100%;height:100%}.qr-photo-delete{cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:4px;right:4px}.qr-photo-delete svg{color:#fff;width:10px;height:10px}.qr-add-photo-btn{color:#fff6;cursor:pointer;background:0 0;border:2px dashed #ffffff26;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:14px;transition:all .2s;display:flex}.qr-add-photo-btn:active{background:#ffffff0d}.qr-add-photo-btn svg{width:20px;height:20px}.qr-notes-section{margin-top:20px}.qr-notes-section h4{text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin:0 0 8px;font-size:11px;font-weight:600}.qr-notes-input{color:#fff;resize:vertical;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;padding:12px;font-family:inherit;font-size:14px;transition:border-color .2s}.qr-notes-input:focus{border-color:#3071c5}.qr-notes-input::placeholder{color:#ffffff40}.qr-save-btn{color:#fff;cursor:pointer;background:#3071c5;border:none;border-radius:10px;width:100%;margin-top:20px;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.qr-save-btn:active:not(:disabled){background:#2560a8;transform:scale(.98)}.qr-save-btn:disabled{opacity:.6;cursor:not-allowed}.qr-submittal-specs h4{margin:0 0 12px;font-size:15px;font-weight:600}.qr-spec-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.qr-spec-label{color:#fff6;flex-shrink:0;min-width:90px;padding-right:12px;font-size:13px}.qr-spec-value{color:#fff;text-align:right;word-break:break-word;flex:1;font-size:13px}.qr-view-pdf-btn{text-align:center;color:#3071c5;background:#3071c526;border-radius:10px;margin-top:16px;padding:12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s;display:block}.qr-empty-state{text-align:center;color:#ffffff4d;padding:40px 20px}.qr-empty-state svg{opacity:.4;margin-bottom:16px}.qr-empty-title{color:#ffffff80;margin:0 0 6px;font-size:16px;font-weight:600}.qr-empty-desc{margin:0;font-size:13px;line-height:1.4}.lock-reason-text{color:#f59e0b;align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:500;line-height:1.3;display:flex}.checklist-timestamp{color:#ffffff4d;align-items:center;gap:3px;margin-top:3px;font-size:10px;display:flex}.photo-upload-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444440;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;font-size:12px;line-height:1.4;display:flex}.qr-add-photo-btn.uploading{opacity:.6;pointer-events:none}.qr-attr-section{margin-bottom:20px}.qr-attr-section h4{text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin:0 0 8px;font-size:11px;font-weight:600}.qr-input-error{border-color:#ef444499}.qr-field-error{color:#fca5a5;margin:-4px 0 0 4px;font-size:12px}.qr-remember{color:#fff9;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.qr-remember input[type=checkbox]{accent-color:#3071c5;cursor:pointer;flex-shrink:0;width:16px;height:16px}.qr-session-warning{z-index:100;color:#000;background:#e8ad00f2;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;animation:.3s ease-out qr-slide-down;display:flex;position:fixed;top:0;left:0;right:0}@keyframes qr-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.qr-session-warning span{flex:1}.qr-session-warning-btn{color:#000;cursor:pointer;white-space:nowrap;background:#0003;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.qr-session-warning-btn:active{background:#0000004d}.qr-session-warning-dismiss{color:#00000080;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}
