*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:#000}#root{min-height:100vh}.container{width:100%;padding:2rem;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#000000a6,#000000a6),url(/bg-hero.jpg) center/cover no-repeat fixed}.header{text-align:center;margin-bottom:2rem}.brand-logo{width:80px;height:80px;margin:0 auto 1rem}.header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;color:#fff}.header p{color:#fff;margin:0;font-size:1rem}.demo-btn{margin-top:1rem;padding:10px 24px;background:#ffffff1a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;isolation:isolate}.demo-btn:hover{background:#ffffff2e}.upload-zone{border:none;border-radius:20px;padding:3rem 2rem;text-align:center;transition:all .2s ease;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));cursor:pointer;isolation:isolate}.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;display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{width:48px;height:48px;color:#aaa}.upload-zone:hover .upload-icon,.upload-zone.drag-active .upload-icon{color:#3071c5}.upload-text{font-size:1rem;color:#aaa}.upload-text strong{color:#3071c5}.upload-hint{font-size:.875rem;color:#aaa}.file-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-icon{width:48px;height:48px;color:#10b981}.file-name{font-weight:600;color:#fff;font-size:1.1rem}.file-size{font-size:.875rem;color:#aaa}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#dc262626;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#ef4444;font-size:.875rem;margin-top:1rem}.error-message svg{width:20px;height:20px;flex-shrink:0}.actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;isolation:isolate}.btn-primary{background:#3071c5cc;color:#fff}.btn-primary:hover:not(:disabled){background:#3071c5f2;transform:translateY(-1px);filter:drop-shadow(0px 4px 12px rgba(48,113,197,.4))}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:#aaa}.btn-secondary:hover{background:#ffffff26}.upload-content{width:100%;max-width:580px}.success-card{text-align:center;padding:2rem;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));isolation:isolate}.success-icon{width:64px;height:64px;margin:0 auto 1rem;color:#10b981}.success-card h2{margin:0 0 1.5rem;color:#fff}.stats{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem}.stat{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#ffffff14;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;min-width:100px;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;isolation:isolate}.stat-value{font-size:1.5rem;font-weight:700;color:#3071c5}.stat-label{font-size:.75rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.recent-drawings{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.recent-drawings h3{font-size:.875rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.drawing-card-wrapper{position:relative;min-width:0;overflow:hidden}.delete-drawing-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);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{width:16px;height:16px;stroke:#fff}.drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.drawing-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;width:100%;min-width:0;background:#ffffff14;border:none;border-radius:16px;cursor:pointer;transition:all .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;filter:drop-shadow(0px 2px 8px rgba(0,0,0,.2));isolation:isolate}.drawing-card:hover{background:#ffffff1f;transform:translateY(-2px);filter:drop-shadow(0px 4px 12px rgba(48,113,197,.3))}.drawing-card-icon{width:32px;height:32px;color:#3071c5}.drawing-card-icon svg{width:100%;height:100%}.drawing-card-name{font-size:.875rem;font-weight:600;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.drawing-card-desc{font-size:.75rem;color:#aaa;text-align:center}.loading-container{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d0d0d;gap:2rem}.loading-animation{width:200px;height:200px;position:relative;border-radius:20px;overflow:hidden;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));isolation:isolate}.floor-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:100%;height:100%;gap:2px;padding:8px}.grid-cell{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:2px;animation:cellPulse 2s ease-in-out infinite}@keyframes cellPulse{0%,to{background:#ffffff08}50%{background:#3071c526}}.scanning-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#3071C5,transparent);animation:scanDown 2s ease-in-out infinite}@keyframes scanDown{0%{top:0;opacity:1}to{top:100%;opacity:.3}}.device-blocks{position:absolute;inset:0;pointer-events:none}.device-block{position:absolute;width:24px;height:24px;border-radius:4px;opacity:0;transform:scale(0);animation:deviceAppear 2.5s ease-out infinite}.device-block:nth-child(1){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{display:flex;flex-direction:column;align-items:center;gap:.5rem}.loading-title{font-size:1.25rem;font-weight:600;color:#fff}.loading-subtitle{font-size:.875rem;color:#aaa;animation:subtitlePulse 1.5s ease-in-out infinite}@keyframes subtitlePulse{0%,to{opacity:.5}50%{opacity:1}}.loading-progress-bar{width:220px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden;margin-top:-.75rem}.loading-progress-fill{width:45%;height:100%;background:linear-gradient(90deg,transparent,#3071C5,#60a5fa,#3071C5,transparent);border-radius:2px;animation:progressSlide 1.6s ease-in-out infinite}@keyframes progressSlide{0%{transform:translate(-120%)}to{transform:translate(330%)}}.loading-estimate{font-size:.8rem;color:#666;margin-top:-.5rem;letter-spacing:.01em}.project-selector{width:100%;max-width:560px;margin-top:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-selector-header{margin-bottom:10px}.project-selector-label{font-size:13px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.project-mode-toggle{display:flex;gap:0;margin-bottom:12px;background:#ffffff0f;border-radius:8px;overflow:hidden}.mode-btn{flex:1;padding:8px 16px;border:none;background:none;color:#ffffff73;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn.active{background:#3071c540;color:#93c5fd}.project-name-input,.project-select{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0f;color:#fff;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box;-webkit-appearance:none}.project-name-input:focus,.project-select:focus{border-color:#3071c580}.project-name-input::placeholder{color:#ffffff4d}.project-select option{background:#1a1a2e;color:#fff}.home-screen{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(#000000a6,#000000a6),url(/bg-hero.jpg) center/cover no-repeat fixed}.home-content{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:40px}.home-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.home-logo{width:52px;height:52px;display:flex;align-items:center;justify-content:center}.home-title{font-size:2.2rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.5px}.home-subtitle{font-size:1rem;color:#fff9;margin:0}.home-actions{display:flex;flex-direction:column;gap:12px;width:100%}.home-action-card{display:flex;align-items:center;gap:16px;width:100%;padding:20px;border-radius:18px;border:none;cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s}.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{background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12)}.home-action-demo:hover{background:#ffffff29}.home-action-icon{width:48px;height:48px;border-radius:14px;background:#ffffff26;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.home-action-icon svg{width:22px;height:22px}.home-action-text{flex:1;display:flex;flex-direction:column;gap:3px}.home-action-title{font-size:16px;font-weight:600;color:#fff;line-height:1.2}.home-action-desc{font-size:13px;color:#ffffffa6;line-height:1.3}.home-action-arrow{width:18px;height:18px;color:#ffffff80;flex-shrink:0}.home-projects{width:100%;display:flex;flex-direction:column;gap:12px}.home-projects-title{font-size:12px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.7px;margin:0}.home-projects-grid{display:flex;flex-direction:column;gap:8px}.home-project-icon{width:36px;height:36px;border-radius:10px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff9}.home-project-icon svg{width:18px;height:18px}.home-project-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.home-project-name{font-size:14px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-project-desc{font-size:12px;color:#ffffff73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#1c1c2a;border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 24px 80px #0009;width:100%;max-width:480px;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.modal-title{font-size:18px;font-weight:600;color:#fff;margin:0}.modal-close-btn{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff9;flex-shrink:0}.modal-close-btn:hover{background:#ffffff24;color:#fff}.modal-close-btn svg{width:16px;height:16px}.modal-body{padding:20px;display:flex;flex-direction:column;gap:20px}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-label{font-size:13px;font-weight:500;color:#ffffff8c;letter-spacing:.2px}.modal-input{width:100%;padding:11px 14px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:15px;outline:none;transition:border-color .15s;box-sizing:border-box}.modal-input:focus{border-color:#3071c599}.modal-input::placeholder{color:#ffffff40}.modal-dropzone{border:1.5px dashed rgba(255,255,255,.18);border-radius:14px;background:#ffffff0a;min-height:130px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;overflow:hidden}.modal-dropzone:hover:not(.has-file){border-color:#3071c580;background:#3071c50d}.modal-dropzone.drag-active{border-color:#3071c5;background:#3071c51a}.modal-dropzone.has-file{cursor:default;border-style:solid;border-color:#3071c566;background:#3071c50f;min-height:68px}.modal-dropzone-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:#ffffff73}.modal-dropzone-text{font-size:14px;color:#fff9}.modal-dropzone-text strong{color:#fff}.modal-dropzone-hint{font-size:12px;color:#ffffff59}.modal-file-preview{display:flex;align-items:center;gap:12px;padding:14px 16px;width:100%}.modal-file-type-badge{padding:4px 10px;background:#3071c540;border-radius:8px;font-size:11px;font-weight:700;color:#7ab3f0;letter-spacing:.5px;flex-shrink:0}.modal-file-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.modal-file-name{font-size:14px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-file-size{font-size:12px;color:#fff6}.modal-file-clear{width:28px;height:28px;border-radius:50%;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffff80;flex-shrink:0}.modal-file-clear:hover{background:#ffffff26;color:#fff}.modal-file-clear svg{width:13px;height:13px}.modal-field-error{display:flex;align-items:center;gap:6px;font-size:12px;color:#ef4444}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 20px 20px}.modal-btn-cancel{padding:10px 18px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.modal-btn-cancel:hover{background:#ffffff14}.modal-btn-primary{padding:10px 22px;background:#3071c5;border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.modal-btn-primary:hover:not(:disabled){background:#2860b0}.modal-btn-primary:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.home-actions{gap:10px}.home-action-card{padding:16px}.home-action-icon{width:42px;height:42px}}.home-topbar{position:fixed;top:16px;right:16px;z-index:100}.home-profile-wrap{position:relative}.home-profile-btn{width:40px;height:40px;border-radius:50%;background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.home-profile-btn:hover{background:#ffffff38}.home-profile-initials{font-size:14px;font-weight:600;color:#fff;letter-spacing:.3px}.home-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#1c1c2a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;box-shadow:0 12px 40px #00000080;display:flex;flex-direction:column;gap:2px}.home-profile-name{font-size:13px;font-weight:600;color:#fff;padding:4px 8px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-profile-phone{font-size:12px;color:#fff6;padding:0 8px 4px}.home-profile-divider{height:1px;background:#ffffff14;margin:4px 0}.home-profile-action{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:9px;cursor:pointer;font-size:13px;font-weight:500;text-align:left;transition:background .15s}.home-profile-action.logout{color:#ffffffbf}.home-profile-action.logout:hover{background:#ef44441f;color:#ef4444}.home-project-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:14px;cursor:default;text-align:left;transition:background .15s,border-color .15s;width:100%;position:relative}.home-project-card.hovered{background:#ffffff1c;border-color:#ffffff2e}.home-project-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.home-proj-action-btn{display:flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.home-proj-action-btn.view{background:#3071c540;color:#7ab3f0}.home-proj-action-btn.view:hover{background:#3071c566;color:#a8d0ff}.home-proj-action-btn.delete{background:#ef444426;color:#ef6464e6}.home-proj-action-btn.delete:hover{background:#ef444447;color:#ef4444}.home-proj-action-btn.confirm-del{background:#ef4444;color:#fff;animation:fadeIn .15s ease}.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{width:36px;height:36px;border-radius:50%;background:#ffffff1f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffffd9;transition:background .15s,color .15s;margin-right:8px}.home-theme-toggle:hover{background:#fff3}.home-topbar{display:flex;align-items:center;justify-content:flex-end}.home-screen.light-mode{background:linear-gradient(#ffffff85,#ffffff85),url(/bg-hero.jpg) center/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{background:#ffffff9e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);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{background:#3071c524;color:#2860b0}.home-screen.light-mode .home-project-card{background:#ffffff94;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);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{background:#3071c51f;color:#2860b0}.home-screen.light-mode .home-proj-action-btn{background:#00000012;color:#0000008c}.home-screen.light-mode .home-proj-action-btn:hover{background:#0000001f}.home-screen.light-mode .home-theme-toggle{background:#ffffffad;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:#fffffff2;color:#1e293b;box-shadow:0 2px 8px #0000001a}.home-screen.light-mode .home-theme-toggle:hover{background:#ffffffd9}.home-screen.light-mode .home-profile-btn{background:#ffffffad;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);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{background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);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{background:#ef444417;color:#ef4444}:root{--bottom-bar-h: 76px}.floor-plan-viewer{position:fixed;inset:0;background:#1a1a1a;overflow:hidden;overscroll-behavior:none}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;background:#000000d9;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:9999;line-height:1.3}[data-tooltip]:hover:after{opacity:1}.menu-button[data-tooltip]:after,.legend-button[data-tooltip]:after,.drawings-nav-button[data-tooltip]:after,.submittals-button[data-tooltip]:after{bottom:auto;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.theme-toggle-button[data-tooltip]:after,.search-button[data-tooltip]:after{bottom:auto;top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)}.filter-button[data-tooltip]:after,.profile-icon-button[data-tooltip]:after,.notifications-button[data-tooltip]:after{bottom:auto;top:calc(100% + 10px);right:0;left:auto;transform:none}.panel-header [data-tooltip]:after{bottom:auto;top:calc(100% + 8px);right:0;left:auto;transform:none}.light-mode [data-tooltip]:after{background:#323232e6}.floor-plan-svg{width:100%;height:100%;cursor:grab;touch-action:none}.floor-plan-svg:active{cursor:grabbing}.menu-button,.search-button,.legend-button,.drawings-nav-button{position:absolute;width:40px;height:40px;border-radius:50%;background:#101014eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0009;transition:background .2s}.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{top:0;right:0;position:relative}.filter-button-wrapper{position:relative}.filter-button{width:40px;height:40px;border-radius:50%;background:#101014eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0009;transition:background .2s}.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{bottom:auto;top:calc(100% + 10px);left:auto;right:0;margin-bottom:0}.menu-button svg,.search-button svg,.legend-button svg,.drawings-nav-button svg{width:20px;height:20px}.top-right-controls{position:absolute;top:16px;right:16px;z-index:202;display:flex;align-items:center;gap:8px}.search-container{position:relative}.search-container.open{display:flex;align-items:center;gap:8px;background:#ffffff1a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;border-radius:48px;padding:4px 8px 4px 16px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 2px 8px rgba(0,0,0,.25));isolation:isolate}.search-input{width:200px;background:transparent;border:none;outline:none;color:#fff;font-size:14px}.search-input::placeholder{color:#aaa}.search-close{width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:#aaa;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.search-close:hover{background:#ffffff1a;color:#fff}.search-close svg{width:16px;height:16px}.search-results{position:absolute;top:100%;right:0;margin-top:8px;width:300px;max-height:400px;overflow-y:auto;background:#16161af5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #00000080;isolation:isolate}.search-result-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}.search-result-item:hover,.search-result-item.selected{background:#ffffff14}.search-result-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.search-result-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.search-result-content{display:flex;flex-direction:column;gap:2px;min-width:0}.search-result-label{color:#fff;font-size:14px;font-weight:500}.search-result-match{color:#aaa;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-no-results{padding:16px;text-align:center;color:#aaa;font-size:13px}.legend-panel{position:absolute;top:16px;left:64px;width:240px;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));z-index:203}.legend-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.legend-header h3{color:#fff;font-size:14px;font-weight:600;margin:0}.legend-header button{width:24px;height:24px;border-radius:48px;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6;transition:background .2s}.legend-header button:hover{background:#fff3}.legend-header button svg{width:12px;height:12px}.legend-content{padding:8px;max-height:300px;overflow-y:auto}.legend-actions{display:flex;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.legend-action-btn{flex:1;padding:6px 12px;font-size:.75rem;font-weight:500;color:#aaa;background:#ffffff14;border:none;border-radius:8px;cursor:pointer;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;transition:all .15s}.legend-action-btn:hover{background:#ffffff26;color:#fff}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s}.legend-item:hover{background:#ffffff14}.legend-item input[type=checkbox]{width:16px;height:16px;accent-color:#1a73e8;cursor:pointer}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-label{color:#fff;font-size:13px;flex:1}.legend-count{color:#aaa;font-size:12px;background:#ffffff14;padding:2px 8px;border-radius:12px}.no-devices{color:#aaa;font-size:13px;text-align:center;padding:16px;margin:0}.menu-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:249}.panel-overlay{position:fixed;inset:0;z-index:260}.trade-menu-overlay{position:fixed;inset:0;z-index:200}.menu-drawer{position:fixed;top:16px;left:16px;width:280px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;padding:16px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));z-index:250;overflow:hidden}.close-menu{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:48px;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6;transition:background .2s}.close-menu:hover{background:#fff3}.close-menu svg{width:16px;height:16px}.menu-drawer h3{color:#aaa;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.drawings-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;overflow-y:auto;flex:1;min-height:0;padding-right:2px}.drawing-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0f;border:none;border-radius:14px;cursor:pointer;box-shadow:inset .5px -.5px 1px #ffffff40,inset -.5px .5px 1px #ffffff40;transition:background .2s}.drawing-item:hover{background:#ffffff1f}.drawing-item.active{background:#1a73e826;box-shadow:inset .5px -.5px 1px #1a73e880,inset -.5px .5px 1px #1a73e880}.drawing-icon{width:32px;height:32px;color:#aaa}.drawing-icon svg{width:100%;height:100%}.drawing-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.delete-item-btn{width:28px;height:28px;border-radius:8px;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;transition:opacity .2s,background .2s;flex-shrink:0}.drawing-item:hover .delete-item-btn{opacity:1}.delete-item-btn:hover{background:#e74c3c}.delete-item-btn svg{width:16px;height:16px;stroke:#aaa}.drawing-project-group{margin-bottom:4px}.drawing-project-header{display:flex;align-items:center;gap:8px;padding:8px 12px 4px;font-size:12px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.drawings-type-section{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.drawings-type-header{display:flex;align-items:center;gap:7px;padding:6px 12px 2px;font-size:11px;font-weight:700;color:#ffffff73;text-transform:uppercase;letter-spacing:.7px}.drawings-type-header svg{flex-shrink:0;opacity:.6}.drawing-item-nested{margin-left:12px;border-left:2px solid rgba(48,113,197,.2);border-radius:0 14px 14px 0}.delete-item-btn:hover svg{stroke:#fff}.drawing-name{color:#fff;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawing-desc{color:#aaa;font-size:12px}.upload-new-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.25);border-radius:14px;color:#aaa;font-size:14px;cursor:pointer;transition:all .2s}.upload-new-btn:hover{background:#ffffff14;border-color:#aaa;color:#fff}.upload-new-btn svg{width:20px;height:20px}.menu-drawer-footer{display:flex;flex-direction:column;gap:8px;padding-top:4px}.panel-section-wrap{flex-shrink:0;border-top:1px solid rgba(255,255,255,.12);margin-top:4px;padding-top:8px}.panel-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 4px;background:transparent;border:none;cursor:pointer;color:#ffffffeb;font-size:13px;font-weight:600}.panel-section-toggle-label{display:flex;align-items:center;gap:7px}.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 rgba(255,255,255,.12);padding-top:10px}.panel-sub-section-title{font-size:12px;font-weight:600;margin:0 0 4px;color:#ffffffeb}.back-to-projects-btn{display:flex;align-items:center;gap:8px;width:100%;padding:11px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#ffffff80;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.back-to-projects-btn:hover{background:#ffffff0f;border-color:#fff3;color:#fffc}.back-to-projects-btn svg{width:16px;height:16px;flex-shrink:0}.light-mode .back-to-projects-btn{border-color:#0000001a;color:#00000073}.light-mode .back-to-projects-btn:hover{background:#0000000a;border-color:#0003;color:#000000b3}.main-menu-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.main-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border-radius:14px;background:#ffffff0f;border:none;color:#ffffffd9;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-align:left}.main-menu-item:hover{background:#ffffff1f;color:#fff}.main-menu-item.main-menu-item-active{background:#3071c52e;color:#6aabff;border:1px solid rgba(48,113,197,.3)}.main-menu-item-icon{width:32px;height:32px;border-radius:9px;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#ffffffb3;flex-shrink:0}.main-menu-item-icon svg{width:16px;height:16px}.main-menu-item-label{flex:1}.main-menu-chevron{width:16px;height:16px;opacity:.35;flex-shrink:0}.main-menu-divider{height:1px;background:#ffffff14;margin:6px 0 10px}.main-menu-toggles{display:flex;flex-direction:column;gap:6px}.main-menu-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:14px;background:#ffffff0a;gap:12px}.main-menu-toggle-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.main-menu-toggle-icon{width:32px;height:32px;border-radius:9px;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#ffffffa6;flex-shrink:0}.main-menu-toggle-icon svg{width:16px;height:16px}.main-menu-toggle-info{display:flex;flex-direction:column;gap:1px}.main-menu-toggle-label{font-size:14px;font-weight:500;color:#ffffffd9}.main-menu-toggle-desc{font-size:11px;color:#ffffff61}.main-menu-toggle{position:relative;width:42px;height:24px;border-radius:12px;background:#ffffff26;border:none;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.main-menu-toggle.on{background:#3071c5}.main-menu-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;display:block;pointer-events:none}.main-menu-toggle.on .main-menu-toggle-thumb{transform:translate(18px)}.light-mode .main-menu-item{background:#0000000a;color:#000c}.light-mode .main-menu-item:hover{background:#00000014;color:#111}.light-mode .main-menu-item-icon{background:#0000000f;color:#0000008c}.light-mode .main-menu-divider{background:#00000014}.light-mode .main-menu-toggle-row{background:#00000008}.light-mode .main-menu-toggle-icon{background:#0000000f;color:#0000008c}.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{position:fixed;inset:0;z-index:500;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.projects-panel{width:420px;max-width:100%;max-height:72vh;background:#14141af7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 24px 64px #000000b3;display:flex;flex-direction:column;overflow:hidden;animation:projects-pop-in .18s ease}@keyframes projects-pop-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.projects-panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.projects-panel-title{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.2px}.projects-panel-close{width:30px;height:30px;border-radius:8px;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff9;transition:background .15s}.projects-panel-close:hover{background:#ffffff24;color:#fff}.projects-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}.projects-list::-webkit-scrollbar{width:4px}.projects-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.project-nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .15s,border-color .15s;width:100%;text-align:left}.project-nav-item:hover{background:#ffffff1a;border-color:#ffffff24}.project-nav-item.active{background:#3071c526;border-color:#3071c566}.project-nav-icon{width:38px;height:38px;border-radius:11px;background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#ffffff80}.project-nav-item.active .project-nav-icon{background:#3071c533;color:#3071c5}.project-nav-icon svg{width:16px;height:16px}.project-nav-info{flex:1;min-width:0}.project-nav-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.project-nav-meta{font-size:11px;color:#ffffff61;margin-top:2px;display:block}.project-nav-check{color:#3071c5;flex-shrink:0}.project-delete-btn{background:none;border:none;color:#ffffff59;cursor:pointer;padding:4px;border-radius:6px;flex-shrink:0;transition:color .15s,background .15s}.project-delete-btn:hover{color:#e74c3c;background:#e74c3c1f}.project-delete-confirm{display:flex;gap:6px;flex-shrink:0}.project-delete-yes{background:#e74c3c;color:#fff;border:none;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}.project-delete-yes:hover{background:#c0392b}.project-delete-no{background:#ffffff1a;color:#fff9;border:none;padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer}.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{background:#0000000f;color:#00000080}.projects-empty{text-align:center;padding:32px 20px;color:#ffffff59;font-size:13px}.projects-panel-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.projects-new-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:14px;background:#3071c5;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.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{background:#0000000f;color:#00000080}.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-nav-icon{background:#0000000f;color:#0006}.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{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px 24px;gap:10px}.projects-zero-icon{margin-bottom:4px;opacity:.9}.projects-zero-title{font-size:16px;font-weight:700;color:#fff;margin:0;letter-spacing:-.2px}.projects-zero-desc{font-size:13px;color:#ffffff73;margin:0;line-height:1.5;max-width:260px}.projects-zero-cta{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:11px 20px;border-radius:12px;background:#3071c5;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.projects-zero-cta:hover{background:#2563b0}.light-mode .projects-zero-title{color:#111}.light-mode .projects-zero-desc{color:#00000073}.project-create-form{display:flex;flex-direction:column;gap:16px;padding:16px}.project-create-field{display:flex;flex-direction:column;gap:6px}.project-create-label{font-size:12px;font-weight:600;color:#ffffff80;letter-spacing:.3px;text-transform:uppercase}.project-create-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff12;color:#fff;font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.project-create-input:focus{border-color:#3071c599}.project-create-input::placeholder{color:#ffffff40}.project-create-drop{border:1.5px dashed rgba(255,255,255,.18);border-radius:12px;padding:20px 16px;cursor:pointer;transition:border-color .15s,background .15s;background:#ffffff08}.project-create-drop:hover,.project-create-drop.drag-active{border-color:#3071c580;background:#3071c50f}.project-create-drop.has-file{border-style:solid;border-color:#3071c566;background:#3071c512;cursor:default}.project-create-drop-inner{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff6}.project-create-drop-text{font-size:13px;color:#ffffff8c}.project-create-drop-text strong{color:#fffc}.project-create-drop-hint{font-size:11px;color:#ffffff4d}.project-create-file-row{display:flex;align-items:center;gap:10px}.project-create-file-badge{font-size:10px;font-weight:700;padding:3px 7px;border-radius:5px;background:#3071c540;color:#3071c5;letter-spacing:.5px;flex-shrink:0}.project-create-file-name{flex:1;font-size:13px;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.project-create-file-clear{background:none;border:none;color:#fff6;cursor:pointer;display:flex;align-items:center;padding:2px;flex-shrink:0;transition:color .15s}.project-create-file-clear:hover{color:#fffc}.project-create-error{font-size:12px;color:#ef4444;margin:0}.light-mode .project-create-label{color:#00000073}.light-mode .project-create-input{border-color:#0000001f;background:#0000000a;color:#111}.light-mode .project-create-input::placeholder{color:#00000040}.light-mode .project-create-drop{border-color:#00000026;background:#00000005}.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}.bottom-nav{position:absolute;bottom:max(24px,env(safe-area-inset-bottom,24px));left:24px;display:flex;align-items:center;gap:8px;height:var(--bottom-bar-h);box-sizing:border-box;background:#121216f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);padding:8px;border-radius:48px;z-index:99;box-shadow:0 4px 24px #0000008c;isolation:isolate}.nav-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:transparent;border:none;border-radius:24px;color:#fff;cursor:pointer;transition:all .2s}.nav-tab:hover{background:#ffffff1a}.nav-tab.active{background:#d3e3fd33;color:#337ff8}.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{position:absolute;bottom:100%;left:8px;margin-bottom:12px;background:#16161cf5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:12px;min-width:200px;box-shadow:0 8px 32px #0009;z-index:201;isolation:isolate}.trade-menu-item{display:flex;align-items:center;gap:12px;padding:12px 8px;cursor:pointer;border-radius:8px;transition:background .2s}.trade-menu-item:hover{background:#ffffff1a}.trade-menu-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.trade-menu-icon svg{width:24px;height:24px}.trade-menu-item span{flex:1;font-size:15px;font-weight:500;color:#aaa}.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{width:24px;height:24px;border:2px solid rgba(255,255,255,.25);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.trade-checkbox.checked{border-color:transparent}.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: rgba(255,255,255,.92);--fp-text-dim: rgba(255,255,255,.4);--fp-border: rgba(255,255,255,.1);--fp-hover: rgba(255,255,255,.07)}.light-mode{--fp-text: rgba(0,0,0,.85);--fp-text-dim: rgba(0,0,0,.38);--fp-border: rgba(0,0,0,.1);--fp-hover: rgba(0,0,0,.05)}.filter-panel{position:absolute;top:calc(100% + 10px);right:0;background:#16161cf7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:16px;min-width:280px;max-width:300px;max-height:min(480px,70vh);overflow-y:auto;box-shadow:0 12px 40px #000000a6;z-index:201}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--fp-border)}.filter-panel-title{font-size:13px;font-weight:700;color:var(--fp-text);letter-spacing:.01em}.filter-panel-close{width:22px;height:22px;border-radius:50%;background:#ffffff1a;border:none;color:var(--fp-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.filter-panel-close:hover{background:#fff3}.filter-all-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .15s}.filter-all-row:hover{background:var(--fp-hover)}.filter-all-label{font-size:13px;font-weight:500;color:var(--fp-text);flex:1}.filter-divider{height:1px;background:var(--fp-border);margin:2px 0}.fp-checkbox{width:18px;height:18px;border-radius:4px;border:1.5px solid #777;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:#777}.fp-checkbox.fp-checked{border-color:#777}.filter-trade-row{display:flex;align-items:center;gap:9px;padding:8px 14px;border-radius:8px}.filter-trade-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;transition:color .15s}.filter-trade-label{flex:1;font-size:13px;font-weight:600;transition:color .15s;cursor:pointer}.filter-device-row{display:flex;align-items:center;gap:9px;padding:5px 14px;cursor:pointer;border-radius:8px;transition:background .15s}.filter-device-row:hover{background:var(--fp-hover)}.filter-device-symbol{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;transition:opacity .15s}.filter-device-label{flex:1;font-size:12px;font-weight:400;transition:color .15s}.filter-caret-btn{display:flex;align-items:center;gap:5px;padding:3px 4px;background:none;border:none;cursor:pointer;color:var(--fp-text-dim);border-radius:5px;transition:background .15s,color .15s;flex-shrink:0;margin-left:auto}.filter-caret-btn:hover{background:var(--fp-hover);color:var(--fp-text)}.filter-caret-btn svg{transition:transform .2s;flex-shrink:0}.filter-caret-btn.expanded svg{transform:rotate(180deg)}.filter-right-group{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:auto}.filter-count{font-size:11px;font-weight:600;color:var(--fp-text-dim);min-width:16px;text-align:right}.filter-caret-spacer{display:inline-block;width:19px;flex-shrink:0}.light-mode .filter-panel{background:#fffffff7;border-color:#0000001f;box-shadow:0 8px 32px #0000002e}.light-mode .filter-panel-close{background:#00000012;color:#000000b3}.light-mode .filter-panel-close:hover{background:#0000001f}.light-mode .fp-checkbox{border-color:#777;color:#777}.light-mode .fp-checkbox.fp-checked{border-color:#777;background:transparent}.trade-menu-active [data-tooltip]:after,.trade-menu-active [data-tooltip]:before{display:none!important}.minimap{position:absolute;bottom:max(24px,env(safe-area-inset-bottom,24px));right:24px;width:130px;height:var(--bottom-bar-h);box-sizing:border-box;background:#121216f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 4px 24px #0000008c;overflow:hidden;padding:8px;isolation:isolate;z-index:98}.minimap svg{width:100%;height:100%}.device-selected{filter:drop-shadow(0 0 3px rgba(51,127,248,.5))}.panel-backdrop{position:fixed;inset:0;z-index:99}.device-panel{position:fixed;width:360px;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));overflow:hidden;z-index:270;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.panel-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.panel-header button{width:34px;height:34px;border-radius:50%;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000004d;transition:background .2s;flex-shrink:0}.panel-header button:hover{background:#ffffff4d}.panel-header button svg{width:16px;height:16px}.device-overlay-tabs{display:flex;padding:0 12px;gap:4px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.device-overlay-tab{flex:1;padding:10px 8px;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff80;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.device-overlay-tab:hover{color:#fffc}.device-overlay-tab.active{color:#fff;border-bottom-color:#4a90d9}.no-submittal-message{text-align:center;padding:24px 16px;color:#ffffff80;font-size:13px;line-height:1.5}.no-submittal-message p{margin:0 0 8px}.no-submittal-empty-state{display:flex;flex-direction:column;align-items:center;padding:24px 16px;text-align:center}.empty-state-icon{color:#ffffff40;margin-bottom:12px}.empty-state-title{font-size:15px;font-weight:600;color:#ffffffb3;margin:0 0 6px}.empty-state-desc{font-size:12px;color:#fff6;margin:0 0 20px;line-height:1.5;max-width:260px}.upload-submittal-inline-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3);border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.upload-submittal-inline-btn:hover{background:#3b82f640;border-color:#3b82f680}.upload-submittal-inline-btn:disabled{opacity:.5;cursor:not-allowed}.spec-link-divider{display:flex;align-items:center;width:100%;margin:14px 0;gap:12px}.spec-link-divider:before,.spec-link-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.spec-link-divider span{font-size:11px;color:#ffffff4d;text-transform:uppercase;letter-spacing:1px}.spec-link-input-row{display:flex;gap:6px;width:100%}.spec-link-input{flex:1;padding:9px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:12px;outline:none;transition:border-color .2s}.spec-link-input::placeholder{color:#ffffff4d}.spec-link-input:focus{border-color:#3b82f680}.spec-link-go-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;cursor:pointer;flex-shrink:0;transition:all .2s}.spec-link-go-btn:hover{background:#3b82f640}.extract-error-inline{color:#ef4444;font-size:12px;margin:10px 0 0;text-align:center}.extracting-status-inline{color:#60a5fa;font-size:12px;margin:10px 0 0;text-align:center;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.spin-icon{animation:spin-anim 1s linear infinite}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spec-link-go-btn:disabled{opacity:.5;cursor:not-allowed}.spec-link-input:disabled{opacity:.5;cursor:not-allowed}.panel-content{padding:16px;overflow-y:auto;flex:1;min-height:0}.panel-row{display:flex;justify-content:space-between;padding:8px 0}.panel-label{color:#aaa;font-size:13px}.panel-value{color:#fff;font-size:13px;font-weight:500;text-align:right;max-width:60%;word-break:break-word}.wiring-diagram-top{margin-bottom:16px}.wiring-diagram{margin-top:16px}.wiring-diagram-top h4,.wiring-diagram h4{color:#aaa;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.wiring-diagram-top svg,.wiring-diagram svg{border-radius:8px;overflow:hidden}.submittals-button{position:absolute;top:112px;left:16px;width:40px;height:40px;border-radius:50%;background:#101014eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0009;transition:background .2s}.submittals-button:hover{background:#282830f5}.submittals-button svg{width:20px;height:20px}.submittals-panel{position:absolute;top:16px;left:64px;width:280px;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));z-index:203;max-height:88vh;overflow:hidden;display:flex;flex-direction:column}.submittals-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.submittals-header h3{color:#fff;font-size:14px;font-weight:600;margin:0}.submittals-header button{background:#ffffff1a;border:none;padding:4px;border-radius:48px;color:#aaa;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6;transition:background .2s}.submittals-header button:hover{color:#fff;background:#fff3}.submittals-header button svg{width:16px;height:16px}.submittals-content{padding:12px;overflow-y:auto;flex:1}.no-submittals{color:#aaa;font-size:13px;text-align:center;padding:20px 0}.submittal-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#ffffff0f;border:none;border-radius:12px;margin-bottom:8px;box-shadow:inset .5px -.5px 1px #ffffff40,inset -.5px .5px 1px #ffffff40;transition:background .2s}.submittal-item:hover{background:#ffffff1a}.submittal-info{display:flex;flex-direction:column;gap:2px}.submittal-info strong{color:#fff;font-size:13px}.submittal-type{color:#0b57d0;font-size:11px}.submittal-mfg{color:#aaa;font-size:11px}.delete-submittal{background:#ffffff0f;border:none;padding:4px;color:#aaa;cursor:pointer;border-radius:8px;box-shadow:inset .5px -.5px 1px #fff3,inset -.5px .5px 1px #fff3;transition:all .2s;opacity:0}.submittal-item:hover .delete-submittal{opacity:1}.delete-submittal:hover{color:#ff6b6b;background:#ff6b6b1f}.add-submittal-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:transparent;border:2px solid rgba(11,87,208,.4);border-radius:12px;color:#0b57d0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-submittal-btn:hover{background:#0b57d01a;border-color:#0b57d099}.add-submittal-btn svg{width:16px;height:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.submittal-modal{background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;width:90%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));isolation:isolate}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.modal-header button{background:#ffffff1a;border:none;padding:4px;border-radius:48px;color:#aaa;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:inset .5px -1px 1px #fff6,inset -.5px 1px 1px #fff6;transition:background .2s}.modal-header button:hover{color:#fff;background:#fff3}.modal-header button svg{width:18px;height:18px}.submittal-form{padding:20px;overflow-y:auto;flex:1}.pdf-upload-section{display:flex;flex-direction:column;gap:12px}.pdf-upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;border:2px dashed rgba(255,255,255,.2);border-radius:16px;cursor:pointer;transition:all .2s;color:#aaa;background:#ffffff08}.pdf-upload-box:hover{border-color:#0b57d0;background:#0b57d01a;color:#fff}.pdf-upload-box.drag-active{border-color:#22c55e;background:#22c55e26;color:#fff;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{font-size:12px;color:#aaa}.extracting-state{display:flex;flex-direction:column;align-items:center;gap:12px}.extracting-state span{color:#aaa}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#0b57d0;border-radius:50%;animation:spin 1s linear infinite}.spin-animation{animation:spin 1s linear infinite}.extract-error{padding:12px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px;color:#e74c3c;font-size:14px;text-align:center}.form-group{margin-bottom:16px}.form-group label{display:block;color:#aaa;font-size:12px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;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{outline:none;border-color:#0b57d0}.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{display:flex;gap:12px}.form-row .form-group{flex:1}.form-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.btn-cancel{flex:1;padding:12px;background:#ffffff14;border:none;border-radius:12px;color:#aaa;font-size:14px;font-weight:500;cursor:pointer;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;transition:all .2s}.btn-cancel:hover{background:#ffffff24;color:#fff}.btn-save{flex:1;padding:12px;background:#0b57d0cc;border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;filter:drop-shadow(0px 2px 8px rgba(0,0,0,.2));transition:all .2s}.btn-save:hover{background:#0b57d0f2}.submittal-specs{margin-bottom:16px}.submittal-specs h4{color:#aaa;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.view-pdf-btn{display:block;margin-top:12px;padding:10px 16px;background:#3b82f614;border:none;border-radius:10px;color:#3b82f6;font-size:13px;font-weight:500;text-decoration:none;text-align:center;box-shadow:inset .5px -.5px 1px #3b82f666,inset -.5px .5px 1px #3b82f666;transition:background .2s}.view-pdf-btn:hover{background:#3b82f626;color:#60a5fa}.device-reference-info{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.submittal-link{color:#3b82f6;text-decoration:none;cursor:pointer}.submittal-link:hover{color:#60a5fa;text-decoration:underline}.trade-specs-section{margin-bottom:16px}.trade-specs-section h4{color:#aaa;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.submittal-pending{margin-top:12px;padding:10px;background:#ffffff0a;border-radius:10px;color:#aaa;font-size:12px;font-style:italic;text-align:center}.installed-checkbox-container{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:flex;flex-direction:column;gap:8px}.installed-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px;padding:6px 10px;border-radius:10px;background:#ffffff17;border:1px solid rgba(255,255,255,.2);transition:all .2s}.installed-checkbox:hover{background:#ffffff24;border-color:#ffffff47}.installed-checkbox:active{transform:scale(.98)}.installed-checkbox input[type=checkbox]{display:none}.installed-checkbox .checkmark{width:22px;height:22px;border:2px solid rgba(255,255,255,.55);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;position:relative}.installed-checkbox input[type=checkbox]:checked+.checkmark{background:#2e8b57;border-color:#2e8b57}.installed-checkbox:has(input:checked){border-color:#2e8b574d;background:#2e8b5714}.installed-checkbox input[type=checkbox]:checked+.checkmark:after{content:"";width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.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:" 🔒";font-size:10px;opacity:.7}.device-photos-section{margin-top:10px}.work-phase-segment{display:flex;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:3px;gap:3px;margin-bottom:12px;flex-shrink:0}.work-phase-option{flex:1;padding:7px 0;border:none;border-radius:7px;background:none;color:#ffffff73;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s;white-space:nowrap}.work-phase-option:hover{color:#ffffffb3}.work-phase-option.active{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset .5px -1px 1px #ffffff40,inset -.5px 1px 1px #ffffff40}.phase-item-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.phase-item-note{font-size:10px;color:#ffffff59;line-height:1.3;font-weight:400}.phase-lock-notice{display:flex;align-items:center;gap:6px;margin-bottom:10px;padding:7px 10px;background:#ffc83214;border:1px solid rgba(255,200,50,.2);border-radius:8px;font-size:12px;color:#ffc832cc}.punch-list-item{background:#ef44440f!important;border-color:#ef444440!important;margin-top:4px}.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{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#ef4444;font-weight:500}.notes-required{border-color:#ef444480!important;background:#ef44440a!important}.device-photos-section h4{color:#aaa;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.photo-thumbnail{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer}.photo-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-thumbnail:hover img{transform:scale(1.05)}.delete-photo-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#000000b3;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s}.photo-thumbnail:hover .delete-photo-btn{opacity:1}.delete-photo-btn:hover{background:#e74c3c}.delete-photo-btn svg{width:12px;height:12px;stroke:#fff}.upload-photo-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:#ffffff0a;border:1.5px dashed rgba(255,255,255,.2);border-radius:10px;color:#aaa;font-size:13px;cursor:pointer;transition:all .2s}.upload-photo-btn:hover{border-color:#3b82f680;color:#3b82f6;background:#3b82f60f}.upload-photo-btn svg{width:18px;height:18px}.device-notes-section{margin-top:10px}.device-notes-section h4{color:#aaa;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.device-notes-input{width:100%;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-size:13px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,background .2s}.device-notes-input:hover{background:#ffffff14}.device-notes-input:focus{outline:none;border-color:#ffffff4d;background:#ffffff14}.device-notes-input::placeholder{color:#aaa}.save-notes-btn{margin-top:10px;width:100%;padding:10px 16px;background:#3b82f6b3;border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;box-shadow:inset .5px -.5px 1px #ffffff4d,inset -.5px .5px 1px #ffffff4d;transition:all .2s}.save-notes-btn:hover:not(:disabled){background:#3b82f6e6}.save-notes-btn:disabled{opacity:.5;cursor:not-allowed}.save-close-btn{margin-top:16px;width:100%;padding:12px 16px;background:#0b57d0;border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;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{margin:0 0 8px;font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.confidence-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}.confidence-badge.high{background:#2e8b574d;color:#4ade80}.confidence-badge.medium{background:#e8ad004d;color:#fbbf24}.confidence-badge.low{background:#ef44444d;color:#f87171}.procore-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#22c55e}.nav-tab.procore-connected{position:relative}.integrations-backdrop{position:fixed;inset:0;z-index:500}.integrations-menu{position:absolute;bottom:calc(100% + 8px);right:0;min-width:220px;background:#18181cf5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;z-index:100;box-shadow:0 8px 32px #00000080}.integrations-menu.integrations-menu-fixed{position:fixed;inset:16px auto auto 64px;z-index:501}.integrations-menu-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff73}.integrations-refresh-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:all .2s}.integrations-refresh-btn:hover{color:#fffc;background:#ffffff14}.integrations-menu-item{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:8px;cursor:pointer;transition:background .15s;gap:12px}.integrations-menu-item:hover{background:#ffffff14}.integrations-menu-item-left{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#ffffffd9}.integrations-menu-item-left svg{flex-shrink:0;color:#fff9}.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{height:1px;background:#ffffff14;margin:4px 8px}.integration-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;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{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#1e1e1ee6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 18px;display:flex;align-items:center;gap:8px;z-index:1200;animation:toastSlideUp .3s ease-out,toastFadeOut .4s ease-in 3s forwards;box-shadow:0 4px 20px #0000004d}.toast-notification span{color:#fff;font-size:14px;font-weight:500;white-space:nowrap}@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{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.integration-request-modal{width:100%;max-width:420px;background:#1e1e1ed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden}.integration-request-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.integration-request-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.integration-request-close{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;width:28px;height:28px}.integration-request-close:hover{color:#fff}.integration-request-form{padding:20px;display:flex;flex-direction:column;gap:16px}.integration-request-field{display:flex;flex-direction:column;gap:6px}.integration-request-field label{font-size:13px;font-weight:500;color:#ffffffb3}.integration-request-field input,.integration-request-field textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s;resize:vertical}.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{background:#4a7aff;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;margin-top:4px}.integration-request-submit-btn:hover:not(:disabled){opacity:.9}.integration-request-submit-btn:disabled{opacity:.5;cursor:not-allowed}.integration-request-success{padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.integration-request-success p{color:#ffffffb3;font-size:14px;margin:0;line-height:1.5}.integration-request-done-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 24px;font-size:14px;cursor:pointer;margin-top:8px;transition:background .2s}.integration-request-done-btn:hover{background:#ffffff26}.procore-panel{position:fixed;right:12px;bottom:64px;width:360px;max-height:70vh;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.procore-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.procore-panel-header h3{margin:0;font-size:15px;font-weight:600;color:#fff}.procore-header-actions{display:flex;align-items:center;gap:8px}.procore-company{font-size:11px;color:#ffffff80}.procore-close{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;width:24px;height:24px}.procore-close:hover{color:#fff}.procore-connect-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:16px;text-align:center}.procore-connect-icon{width:48px;height:48px;color:#fff6}.procore-connect-icon svg{width:48px;height:48px}.procore-connect-text{font-size:13px;color:#ffffff80;line-height:1.5;margin:0;max-width:260px}.procore-connect-btn{background:#0b57d0;color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:8px}.procore-connect-btn:hover{background:#1a66da}.procore-projects{padding:16px;overflow-y:auto}.procore-projects h4{margin:0 0 12px;font-size:13px;color:#fff9;font-weight:500}.procore-project-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.procore-project-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;color:#fff;font-size:13px;transition:background .15s}.procore-project-item:hover{background:#ffffff1f}.procore-project-name{font-weight:500}.procore-project-status{font-size:11px;color:#fff6}.procore-disconnect-btn{margin-top:16px;width:100%;padding:8px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:12px;cursor:pointer;transition:background .15s}.procore-disconnect-btn:hover{background:#ef444440}.procore-content{display:flex;flex-direction:column;overflow:hidden}.procore-project-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.procore-back{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:24px;height:24px}.procore-back:hover{color:#fff}.procore-project-title{font-size:13px;font-weight:500;color:#fff}.procore-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);padding:0 8px}.procore-tab{flex:1;padding:8px 4px;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff80;font-size:11px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}.procore-tab.active{color:#f57e25;border-bottom-color:#f57e25}.procore-tab:hover{color:#fffc}.procore-badge{font-size:10px;background:#f57e2533;color:#f57e25;padding:1px 5px;border-radius:8px;font-weight:600}.procore-data-list{padding:8px 12px;overflow-y:auto;max-height:400px;display:flex;flex-direction:column;gap:6px}.procore-empty{text-align:center;color:#fff6;font-size:13px;padding:24px 0;margin:0}.procore-data-item{padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:background .15s}.procore-data-item:hover{background:#ffffff14}.procore-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.procore-item-title{font-size:13px;font-weight:500;color:#fff;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procore-item-status{font-size:10px;padding:2px 6px;border-radius:4px;background:#ffffff1a;color:#fff9;white-space:nowrap}.procore-item-status.open,.procore-item-status.active{background:#22c55e26;color:#22c55e}.procore-item-status.closed,.procore-item-status.completed{background:#3b82f626;color:#3b82f6}.procore-item-status.draft,.procore-item-status.pending{background:#e8ad0026;color:#e8ad00}.procore-item-details{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.procore-item-date,.procore-item-assignee{font-size:11px;color:#fff6}.procore-item-desc{font-size:11px;color:#ffffff59;width:100%;line-height:1.4}.procore-match-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:8px}.procore-match-btn{padding:6px 12px;border-radius:6px;border:1px solid rgba(59,130,246,.3);background:#3b82f626;color:#3b82f6;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.procore-match-btn:hover:not(:disabled){background:#3b82f640}.procore-match-btn:disabled{opacity:.5;cursor:not-allowed}.procore-match-count{font-size:11px;color:#fff6}.procore-device-match{display:flex;align-items:center;gap:6px;margin-top:6px}.procore-match-badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:500}.procore-match-badge.high{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.procore-match-badge.mid{background:#e8ad0026;color:#e8ad00;border:1px solid rgba(232,173,0,.2)}.procore-match-badge.low{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.procore-match-confidence{font-size:10px;color:#ffffff59}.procore-match-manual{font-size:9px;padding:1px 4px;border-radius:3px;background:#8b5cf626;color:#8b5cf6}.notifications-button{position:relative;width:40px;height:40px;border-radius:50%;background:#101014eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0009;transition:background .2s,color .15s;flex-shrink:0}.notifications-button:hover{background:#282830f5;color:#fff}.notifications-button.active{background:#3071c533;border-color:#3071c580;color:#3071c5}.notifications-button svg{width:20px;height:20px}.notifications-muted-dot{position:absolute;bottom:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#ffffff4d;border:1.5px solid rgba(16,16,20,.9)}.notifications-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;border-radius:8px;background:#e5533e;border:1.5px solid rgba(16,16,20,.9);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.notif-backdrop{position:fixed;inset:0;z-index:299}.notif-panel{position:fixed;top:66px;right:16px;width:320px;max-height:calc(100vh - 82px);background:#121216f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 24px 64px #000000b3;z-index:300;display:flex;flex-direction:column;overflow:hidden;animation:profile-slide-in .18s ease}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.notif-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px}.notif-header-actions{display:flex;align-items:center;gap:6px}.notif-mute-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffff80;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.notif-mute-btn:hover{background:#ffffff1a;color:#fffc}.notif-mute-btn.on{background:#3071c526;border-color:#3071c559;color:#3071c5}.notif-close-btn{width:28px;height:28px;border-radius:8px;border:none;background:#ffffff12;color:#ffffff73;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.notif-close-btn:hover{background:#ffffff21;color:#fff}.notif-list{flex:1;overflow-y:auto;padding:8px 0}.notif-list::-webkit-scrollbar{width:4px}.notif-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:#fff3}.notif-empty p{font-size:13px;margin:0;color:#ffffff4d}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;transition:background .12s}.notif-item:hover{background:#ffffff0a}.notif-item-icon{width:30px;height:30px;border-radius:9px;background:#ffffff12;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#ffffff73;margin-top:1px}.notif-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-item-text{font-size:13px;color:#ffffffbf;line-height:1.4}.notif-item-text strong{color:#fff;font-weight:600}.notif-item-note{font-size:12px;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-time{font-size:11px;color:#ffffff4d;margin-top:1px}.notif-header-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5533e;color:#fff;font-size:11px;font-weight:700;margin-left:6px}.notif-read-all-btn{padding:4px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffff73;font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.notif-read-all-btn:hover{background:#ffffff1a;color:#fffc}.notif-item-unread{background:#3071c512}.notif-item-clickable{cursor:pointer}.notif-item-clickable:hover{background:#ffffff0f!important}.notif-unread-dot{width:7px;height:7px;border-radius:50%;background:#3071c5;flex-shrink:0;margin-top:4px}.notif-icon-mention{background:#8b5cf626;color:#8b5cf6}.notif-icon-punchlist{background:#e5533e26;color:#e5533e}.notif-icon-access_change{background:#fbbf2426;color:#f59e0b}.notif-icon-project_added{background:#10b98126;color:#10b981}.notif-icon-submittal_update{background:#3071c526;color:#3071c5}.notif-icon-plan_update{background:#6366f126;color:#6366f1}.notif-icon-device_activity{background:#ffffff12;color:#ffffff80}.notif-icon-daily_report{background:#10b98126;color:#10b981}.light-mode .notifications-button.active{background:#3071c51a;border-color:#3071c566;color:#3071c5}.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{border-color:#0000001a;background:#0000000a;color:#00000073}.light-mode .notif-mute-btn:hover{background:#00000014;color:#000000bf}.light-mode .notif-close-btn{background:#0000000d;color:#0006}.light-mode .notif-item:hover{background:#00000008}.light-mode .notif-item-icon{background:#0000000d;color:#0006}.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{border-color:#0000001a;background:#0000000a;color:#0006}.light-mode .notif-read-all-btn:hover{background:#00000014;color:#000000b3}.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{background:#0000000d;color:#0006}.light-mode .notifications-badge{border-color:#fafafce6}.profile-icon-button{position:relative;width:40px;height:40px;border-radius:50%;background:#101014eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0009;transition:background .2s,border .2s,box-shadow .2s;flex-shrink:0}.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{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#facc15;box-shadow:0 0 4px #facc15cc;pointer-events:none}.floor-plan-viewer.manual-edit-active:after{content:"";position:fixed;inset:0;border:3px solid #facc15;box-shadow:inset 0 0 0 3px #facc15;pointer-events:none;z-index:9999}.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 .filter-button,.light-mode .notifications-button,.light-mode .profile-icon-button{background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#333;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000001f;filter:none}.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 .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{background:#ffffffb3;box-shadow:inset .5px -1px 1px #00000014,inset -.5px 1px 1px #00000014;filter:drop-shadow(0px 2px 8px rgba(0,0,0,.1))}.light-mode .search-input{color:#333}.light-mode .search-input::placeholder{color:#999}.light-mode .search-close{color:#999}.light-mode .search-close:hover{background:#0000000f;color:#333}.light-mode .search-results{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);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{background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 2px 12px #0000001a;border:1px solid rgba(0,0,0,.12)}.light-mode .nav-tab{color:#333}.light-mode .nav-tab:hover{background:#0000000a}.light-mode .nav-tab.active{background:#0b57d014;color:#0b57d0}.light-mode .nav-tab.active .nav-icon{color:#0b57d0}.light-mode .device-panel{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08)}.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{background:#3b82f614;color:#2563eb;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{background:#0000000a;border-color:#0000001f;color:#1a1a1a}.light-mode .spec-link-input::placeholder{color:#00000059}.light-mode .spec-link-go-btn{background:#3b82f614;border-color:#3b82f640;color:#2563eb}.light-mode .device-panel .close-panel{color:#999}.light-mode .device-panel .close-panel:hover{color:#333}.light-mode .panel-header button{background:#00000012;border:1.5px solid rgba(0,0,0,.18);color:#333}.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{background:#0000000a;color:#333;border-color:#0000001f}.light-mode .legend-overlay,.light-mode .menu-overlay{background:#0000004d}.light-mode .legend-panel,.light-mode .menu-drawer{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 20px #0000001a;filter:none}.light-mode .legend-panel h3,.light-mode .menu-drawer h3{color:#333}.light-mode .legend-panel span,.light-mode .legend-panel label{color:#555}.light-mode .close-legend,.light-mode .close-menu{color:#999;background:#0000000f;box-shadow:none}.light-mode .close-legend:hover,.light-mode .close-menu:hover{color:#333}.light-mode .integrations-menu{background:#fffffff5;border:1px solid rgba(0,0,0,.1);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{background:#0000000a;border-color:#0000001f;color:#1a1a2e}.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{background:#0000000f;color:#1a1a2e;border-color:#0000001f}.light-mode .integration-request-done-btn:hover{background:#0000001a}.light-mode .trade-menu{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08)}.light-mode .trade-menu label{color:#555}.light-mode .minimap{background:#ffffffeb;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 10px #0000001f}.light-mode .minimap-viewport{border-color:#0b57d099}.light-mode .submittals-overlay{background:#0000004d}.light-mode .submittals-panel{background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08)}.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{background:#0000000a;color:#333;border-color:#0000001f}.light-mode .procore-panel{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08)}.light-mode .procore-panel-header h3{color:#333}.light-mode .procore-panel-header{border-bottom-color:#0000000f}.light-mode .procore-company,.light-mode .procore-close{color:#999}.light-mode .procore-close:hover{color:#333}.light-mode .procore-connect-icon{color:#0000004d}.light-mode .procore-connect-text,.light-mode .procore-projects h4{color:#777}.light-mode .procore-project-item{background:#00000008;border-color:#00000014;color:#333}.light-mode .procore-project-item:hover{background:#0000000f}.light-mode .procore-project-status{color:#999}.light-mode .procore-tab{color:#777}.light-mode .procore-tab.active{color:#0b57d0;border-bottom-color:#0b57d0}.light-mode .procore-data-item{border-bottom-color:#0000000f}.light-mode .procore-item-title{color:#333}.light-mode .procore-item-date,.light-mode .procore-item-assignee,.light-mode .procore-item-desc,.light-mode .procore-empty{color:#999}.light-mode .procore-disconnect-btn{color:#c44;border-color:#cc44444d}.light-mode .procore-back{color:#777}.light-mode .procore-project-title{color:#333}.light-mode .procore-tabs{border-bottom-color:#0000000f}.light-mode .procore-match-count,.light-mode .procore-match-confidence{color:#0006}.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{background:#0000000a;box-shadow:none;border:1px solid rgba(0,0,0,.08)}.light-mode .drawing-item:hover{background:#00000012}.light-mode .drawing-item.active{background:#1a73e81a;border-color:#1a73e84d;box-shadow:none}.light-mode .drawing-item-nested{border-left-color:#0000001f}.light-mode .drawing-icon{color:#888}.light-mode .drawing-name{color:#333}.light-mode .drawing-desc{color:#555}.light-mode .delete-item-btn{background:#0000000d;box-shadow:none}.light-mode .delete-item-btn svg{stroke:#999}.light-mode .upload-new-btn{background:#00000008;border-color:#0000002e;color:#555}.light-mode .upload-new-btn:hover{background:#0000000f;border-color:#00000040;color:#333}.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 rgba(255,255,255,.06)}.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{background:#00000014;color:#1a1a1a;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{border-color:#dc262673!important;background:#dc262608!important}.light-mode .phase-lock-notice{background:#b48c0012;border-color:#b48c0040;color:#8c6400e6}.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){border-color:#2e8b574d;background:#2e8b570f}.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{background:#0000000a;border-color:#0000001f;color:#666}.light-mode .upload-photo-btn:hover{background:#00000014;color:#333}.light-mode .delete-item-btn{color:#999}.light-mode .delete-item-btn:hover{background:#dc3c3c1a;color:#c44}.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{background:#0000000f;color:#666;box-shadow:none}.light-mode .legend-header button:hover{background:#0000001a;color:#333}.light-mode .legend-actions{border-bottom-color:#00000014}.light-mode .legend-action-btn{background:#0000000d;color:#666;box-shadow:none}.light-mode .legend-action-btn:hover{background:#0000001a;color:#333}.light-mode .legend-item:hover{background:#0000000a}.light-mode .legend-count{color:#999}.light-mode .submittal-item{background:#00000008;box-shadow:none;border:1px solid rgba(0,0,0,.06)}.light-mode .submittal-item:hover{background:#0000000f}.light-mode .submittal-info strong{color:#333}.light-mode .submittal-mfg{color:#777}.light-mode .delete-submittal{background:#0000000a;color:#999;box-shadow:none}.light-mode .delete-submittal:hover{color:#f44;background:#ff444414}.light-mode .modal-overlay{background:#0000004d}.light-mode .submittal-modal{background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #00000026;border:1px solid rgba(0,0,0,.08);filter:none}.light-mode .modal-header{border-bottom-color:#00000014}.light-mode .modal-header h3{color:#333}.light-mode .modal-header button{background:#0000000f;color:#666;box-shadow:none}.light-mode .modal-header button:hover{background:#0000001a;color:#333}.light-mode .pdf-upload-box{border-color:#00000026;background:#00000005;color:#666}.light-mode .pdf-upload-box:hover{border-color:#0b57d0;background:#0b57d00d;color:#333}.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{position:absolute;bottom:100px;left:24px;width:480px;max-height:55vh;background:#1e1e1ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:20px;box-shadow:inset .5px -1px 1px #ffffff80,inset -.5px 1px 1px #ffffff80;filter:drop-shadow(0px 4px 16px rgba(0,0,0,.3));z-index:100;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.plan-info-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.plan-info-header h3{color:#fff;font-size:14px;font-weight:600;margin:0}.plan-info-close{width:24px;height:24px;border-radius:48px;background:#ffffff1a;border:none;color:#aaa;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.plan-info-close:hover{background:#fff3;color:#fff}.plan-info-close svg{width:14px;height:14px}.plan-info-tabs{display:flex;gap:2px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);overflow-x:auto}.plan-info-tab{padding:6px 12px;font-size:12px;font-weight:500;color:#aaa;background:none;border:none;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.plan-info-tab:hover{background:#ffffff14;color:#fff}.plan-info-tab.active{background:#0b57d033;color:#6ea8fe}.plan-info-content{flex:1;overflow-y:auto;padding:12px}.plan-info-section h4{color:#aaa;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}.plan-info-section h4:not(:first-child){margin-top:16px}.plan-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 0;gap:12px}.plan-info-label{color:#aaa;font-size:12px;text-transform:capitalize;flex-shrink:0}.plan-info-value{color:#fff;font-size:12px;font-weight:500;text-align:right;word-break:break-word}.plan-info-card{background:#ffffff0d;border-radius:10px;padding:10px 12px;margin-bottom:8px}.plan-info-card strong{color:#fff;font-size:13px;display:block}.plan-info-sub{color:#aaa;font-size:11px;display:block;margin-top:2px}.plan-info-card-details{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.plan-info-card-details span{font-size:11px;color:#888;background:#ffffff0f;padding:2px 8px;border-radius:6px}.plan-info-circuits{margin-top:8px;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.plan-info-circuit-row{display:flex;gap:8px;padding:3px 0;font-size:11px}.circuit-num{color:#6ea8fe;font-weight:600;min-width:28px}.circuit-desc{color:#ccc;flex:1}.circuit-amp{color:#e8ad00;font-weight:500}.plan-info-note{color:#ccc;font-size:12px;padding:8px 10px;background:#ffffff0a;border-radius:8px;margin-bottom:6px;line-height:1.5}.plan-info-empty{color:#666;font-size:13px;text-align:center;padding:20px 0}.light-mode .plan-info-panel{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 12px #0000001a;filter:none}.light-mode .plan-info-header{border-bottom-color:#00000014}.light-mode .plan-info-header h3{color:#333}.light-mode .plan-info-close{background:#0000000f;color:#666}.light-mode .plan-info-close:hover{background:#0000001a;color:#333}.light-mode .plan-info-tabs{border-bottom-color:#0000000f}.light-mode .plan-info-tab{color:#777}.light-mode .plan-info-tab:hover{background:#0000000a;color:#333}.light-mode .plan-info-tab.active{background:#0b57d01a;color:#0b57d0}.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(max-width:768px){:root{--bottom-bar-h: 63px}.plan-info-panel{left:8px;right:8px;width:auto;max-height:50vh;bottom:90px}.plan-info-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.menu-button,.search-button,.legend-button,.drawings-nav-button,.submittals-button,.filter-button,.theme-toggle-button,.profile-icon-button{width:36px;height:36px}.search-input{width:120px}.search-results{position:fixed;top:64px;right:16px;left:16px;width:auto;max-height:35vh;border-radius:16px}.menu-button svg,.search-button svg,.legend-button svg,.drawings-nav-button svg,.submittals-button 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{font-size:9px;gap:2px}.nav-item svg{width:18px;height:18px}.minimap{width:72px;bottom:max(24px,env(safe-area-inset-bottom,24px));right:16px;border-radius:8px}.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{top:8px;left:8px;gap:6px}.top-right-buttons{top:8px;right:8px;gap:6px}.search-overlay{top:8px;right:8px;width:220px}.search-overlay input{font-size:13px;padding:8px 12px}.drawings-menu{width:240px!important;max-height:60vh!important}.procore-panel{width:300px!important;max-height:65vh!important}.device-panel{width:100%!important;inset:0!important;border-radius:0;max-height:100dvh;height:100dvh;display:flex;flex-direction:column}.device-panel .panel-header{padding:16px 16px 12px;padding-top:max(16px,env(safe-area-inset-top,16px))}.panel-content{padding:12px 16px 20px}.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{right:8px;left:8px;width:auto;top:62px;max-height:calc(100vh - 140px)}}.canvas-empty-state{position:absolute;inset:0;bottom:var(--bottom-bar-h);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.canvas-empty-card{pointer-events:all;background:#ffffff0a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:48px 52px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:420px;width:calc(100vw - 48px);animation:emptyCardIn .35s cubic-bezier(.22,1,.36,1) both}@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{font-size:1.35rem;font-weight:650;color:#fff;margin:0;letter-spacing:-.01em}.canvas-empty-desc{font-size:.875rem;color:#ffffff73;margin:0;line-height:1.6;max-width:300px}.canvas-empty-cta{display:flex;align-items:center;gap:8px;margin-top:8px;padding:12px 24px;background:#3071c5;color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.01em}.canvas-empty-cta:hover{background:#2563b0;transform:translateY(-1px)}.canvas-empty-cta:active{transform:translateY(0)}.canvas-empty-secondary{background:none;border:none;color:#fff6;font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:6px;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}.qr-page{min-height:100vh;background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;padding:0;margin:0}.qr-header{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10}.qr-header-logo{width:32px;height:32px}.qr-header h1{font-size:18px;font-weight:600;margin:0;flex:1}.qr-header-badge{font-size:11px;padding:4px 10px;border-radius:100px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.qr-header-badge.project{background:#3071c54d;color:#6ba3e8}.qr-header-badge.room{background:#e8ad004d;color:#e8ad00}.qr-header-badge.device{background:#2e8b574d;color:#5cc98a}.qr-content{padding:20px;max-width:480px;margin:0 auto}.qr-content.qr-content-wide{max-width:720px}.qr-login{min-height:100vh;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#fff}.qr-login-logo{width:64px;height:64px;margin-bottom:16px}.qr-login h1{font-size:24px;font-weight:700;margin:0 0 8px}.qr-login p{color:#ffffff80;margin:0 0 32px;font-size:14px;text-align:center}.qr-login-form{width:100%;max-width:320px;display:flex;flex-direction:column;gap:12px}.qr-input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px 16px;color:#fff;font-size:16px;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}select.qr-input{padding-right:40px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.qr-input:focus{border-color:#3071c5}.qr-input::placeholder{color:#ffffff4d}.qr-btn{background:#3071c5;color:#fff;border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;width:100%}.qr-btn:active{opacity:.8}.qr-btn:disabled{opacity:.4;cursor:not-allowed}.qr-btn.secondary{background:#ffffff1a}.qr-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:12px;font-size:14px;text-align:center}.qr-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#86efac;padding:16px;border-radius:12px;text-align:center}.qr-success h3{margin:0 0 4px;font-size:18px}.qr-success p{margin:0;color:#ffffff80;font-size:13px}.qr-checkin-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;margin-bottom:20px;text-align:center}.qr-checkin-card h2{margin:0 0 4px;font-size:20px}.qr-checkin-card .subtitle{color:#ffffff80;font-size:13px;margin:0 0 20px}.qr-checkin-time{font-size:36px;font-weight:700;color:#86efac;margin:8px 0}.qr-section{margin-bottom:24px}.qr-section h3{font-size:14px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.qr-device-list{display:flex;flex-direction:column;gap:8px}.qr-device-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .2s}.qr-device-item:active{background:#ffffff1a}.qr-device-item.selected{border-color:#3071c5;background:#3071c51a}.qr-device-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.qr-device-icon.electrical{background:#e8ad0033;color:#e8ad00}.qr-device-icon.plumbing{background:#0b57d033;color:#6ba3e8}.qr-device-icon.hvac{background:#2e8b5733;color:#5cc98a}.qr-device-info{flex:1;min-width:0}.qr-device-info .name{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-device-info .detail{font-size:12px;color:#fff6;margin-top:2px}.qr-device-status{display:flex;gap:4px}.qr-status-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26}.qr-status-dot.active{background:#22c55e}.qr-status-dot.warning{background:#e8ad00}.qr-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.qr-checkbox.checked{background:#3071c5;border-color:#3071c5}.qr-bulk-bar{position:fixed;bottom:0;left:0;right:0;background:#000000e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);padding:16px 20px;display:flex;align-items:center;gap:12px;z-index:20}.qr-bulk-bar span{flex:1;font-size:14px;font-weight:500}.qr-bulk-actions{display:flex;gap:8px}.qr-bulk-btn{padding:10px 16px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;color:#fff}.qr-bulk-btn.roughin{background:#e8ad00;color:#000}.qr-bulk-btn.installed{background:#3071c5}.qr-bulk-btn.inspected{background:#22c55e;color:#000}.qr-device-detail{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:16px}.qr-device-detail h2{margin:0 0 4px;font-size:20px}.qr-device-detail .trade-badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:100px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.qr-device-detail .trade-badge.electrical{background:#e8ad0033;color:#e8ad00}.qr-device-detail .trade-badge.plumbing{background:#0b57d033;color:#6ba3e8}.qr-device-detail .trade-badge.hvac{background:#2e8b5733;color:#5cc98a}.qr-specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qr-spec-item{background:#ffffff0d;border-radius:10px;padding:12px}.qr-spec-item .label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.qr-spec-item .value{font-size:15px;font-weight:600}.qr-status-section{display:flex;flex-direction:column;gap:10px}.qr-status-row{display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;border-radius:10px;padding:14px 16px}.qr-status-row .label{font-size:15px;font-weight:500}.qr-status-row .timestamp{font-size:12px;color:#fff6;margin-top:2px}.qr-toggle{width:48px;height:28px;border-radius:14px;background:#ffffff26;border:none;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.qr-toggle.active{background:#22c55e}.qr-toggle:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.qr-toggle.active:after{transform:translate(20px)}.qr-checkin-list{display:flex;flex-direction:column;gap:8px}.qr-checkin-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.qr-checkin-avatar{width:36px;height:36px;border-radius:50%;background:#3071c533;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#6ba3e8;flex-shrink:0}.qr-checkin-info{flex:1}.qr-checkin-info .name{font-size:14px;font-weight:500}.qr-checkin-info .detail,.qr-checkin-time-small{font-size:12px;color:#fff6}.qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#ffffff80;gap:12px}.qr-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#3071c5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.qr-select-all{display:flex;align-items:center;gap:8px;padding:8px 0 12px;font-size:14px;color:#fff9;cursor:pointer}.qr-back-btn{background:none;border:none;color:#6ba3e8;font-size:14px;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px}.qr-user-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-radius:10px;font-size:13px}.qr-user-badge .avatar{width:28px;height:28px;border-radius:50%;background:#3071c54d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;color:#6ba3e8}.qr-device-header{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.qr-device-header h3{margin:0;font-size:18px;font-weight:600}.qr-close-btn{width:36px;height:36px;border-radius:50%;background:#00000014;border:1.5px solid rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;box-shadow:0 1px 4px #00000026}.qr-close-btn svg{width:16px;height:16px;stroke:#333;color:#333}[data-theme=dark] .qr-close-btn{background:#ffffff2e;border:1.5px solid rgba(255,255,255,.4);box-shadow:0 1px 4px #0000004d}[data-theme=dark] .qr-close-btn svg{stroke:#fff;color:#fff}.qr-device-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);padding:0 20px}.qr-device-tab{flex:1;padding:12px 0;border:none;background:transparent;color:#fff6;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.qr-device-tab.active{color:#fff;font-weight:600;border-bottom-color:#3071c5}.qr-device-content{padding:20px}.qr-checkbox-container{display:flex;flex-direction:column;gap:8px}.qr-checkbox-row{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;background:#ffffff0d;cursor:pointer;border:1.5px solid transparent}.qr-checkbox-row:active{transform:scale(.98)}.qr-checkbox-row.next-action{border-color:#3071c5;background:#3071c51a}.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{width:24px;height:24px;border-radius:6px;border:2px solid rgba(255,255,255,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent}.qr-checkbox-row input:checked+.qr-checkmark{background:#3071c5;border-color:#3071c5}.qr-checkbox-row input:checked+.qr-checkmark:after{content:"";width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.qr-checkbox-row.completed-step input:checked+.qr-checkmark{background:#22c55e;border-color:#22c55e}.qr-checkbox-label{font-size:15px;font-weight:400;color:#ffffff80}.qr-photos-section{margin-top:20px}.qr-photos-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.qr-photo-thumb{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden}.qr-photo-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}.qr-photo-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#000000b3;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.qr-photo-delete svg{width:10px;height:10px;color:#fff}.qr-add-photo-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:10px;border:2px dashed rgba(255,255,255,.15);background:transparent;color:#fff6;font-size:14px;cursor:pointer;transition:all .2s}.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{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6}.qr-notes-input{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;font-size:14px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .2s}.qr-notes-input:focus{border-color:#3071c5}.qr-notes-input::placeholder{color:#ffffff40}.qr-save-btn{width:100%;margin-top:20px;padding:14px;border-radius:10px;border:none;background:#3071c5;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.qr-save-btn:active:not(:disabled){transform:scale(.98);background:#2560a8}.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{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);gap:12px}.qr-spec-label{font-size:13px;color:#fff6;flex-shrink:0;min-width:90px;padding-right:12px}.qr-spec-value{font-size:13px;color:#fff;text-align:right;word-break:break-word;flex:1}.qr-view-pdf-btn{display:block;text-align:center;margin-top:16px;padding:12px;border-radius:10px;background:#3071c526;color:#3071c5;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s}.qr-empty-state{text-align:center;padding:40px 20px;color:#ffffff4d}.qr-empty-state svg{margin-bottom:16px;opacity:.4}.qr-empty-title{font-size:16px;font-weight:600;margin:0 0 6px;color:#ffffff80}.qr-empty-desc{font-size:13px;margin:0;line-height:1.4}.lock-reason-text{display:flex;align-items:center;gap:4px;font-size:11px;color:#f59e0b;margin-top:4px;font-weight:500;line-height:1.3}.checklist-timestamp{display:flex;align-items:center;gap:3px;font-size:10px;color:#ffffff4d;margin-top:3px}.photo-upload-error{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:12px;line-height:1.4}.qr-add-photo-btn.uploading{opacity:.6;pointer-events:none}.qr-attr-section{margin-bottom:20px}.qr-attr-section h4{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6}.qr-input-error{border-color:#ef444499}.qr-field-error{color:#fca5a5;font-size:12px;margin:-4px 0 0 4px}.qr-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#fff9;cursor:pointer;-webkit-user-select:none;user-select:none}.qr-remember input[type=checkbox]{width:16px;height:16px;accent-color:#3071C5;cursor:pointer;flex-shrink:0}.qr-session-warning{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#e8ad00f2;color:#000;font-size:14px;font-weight:500;animation:qr-slide-down .3s ease-out}@keyframes qr-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.qr-session-warning span{flex:1}.qr-session-warning-btn{background:#0003;color:#000;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.qr-session-warning-btn:active{background:#0000004d}.qr-session-warning-dismiss{background:none;border:none;color:#00000080;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.profile-panel{position:fixed;top:16px;left:312px;width:300px;max-height:calc(100vh - 32px);background:#121216f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 24px 64px #000000b3;display:flex;flex-direction:column;overflow:hidden;z-index:260;animation:profile-slide-in .18s ease}@keyframes profile-slide-in{0%{opacity:0;transform:translate(-10px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.profile-panel-header{display:flex;align-items:center;gap:12px;padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.profile-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.5px}.profile-header-info{flex:1;min-width:0}.profile-display-name{font-size:15px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role-badge{font-size:12px;font-weight:500;margin-top:2px}.profile-close-btn{width:28px;height:28px;border-radius:50%;background:#ffffff14;border:none;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.profile-close-btn:hover{background:#ffffff24;color:#ffffffd9}.profile-panel-body{flex:1;overflow-y:auto;padding:8px 0}.profile-section{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.profile-section:last-child{border-bottom:none}.profile-section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff59;margin-bottom:8px}.profile-field{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.profile-field:last-child{margin-bottom:0}.profile-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff59}.profile-field-value{font-size:14px;color:#ffffffd9;font-weight:500}.profile-phone{font-family:monospace;font-size:13px;letter-spacing:.5px}.profile-edit-inline{display:flex;flex-direction:column;gap:6px}.profile-edit-input{background:#ffffff14;border:1px solid rgba(48,113,197,.6);border-radius:8px;color:#fff;font-size:14px;padding:7px 10px;outline:none;width:100%;box-sizing:border-box}.profile-edit-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}.profile-edit-error{font-size:11px;color:#f87171;flex:1}.profile-edit-cancel{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffff8c;font-size:12px;padding:4px 10px;cursor:pointer;transition:background .15s}.profile-edit-cancel:hover{background:#ffffff14}.profile-edit-save{background:#3071c5;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;cursor:pointer;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{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;border:1px solid}.profile-access-desc{font-size:12px;color:#ffffff73;line-height:1.5;margin:0}.profile-request-access{margin-top:8px}.profile-link-btn{background:none;border:none;color:#60a5fa;font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.profile-link-btn:hover{color:#93c5fd}.profile-request-sent{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#34d399}.profile-toggle{position:relative;width:42px;height:24px;border-radius:12px;background:#ffffff26;border:none;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.profile-toggle.on{background:#3071c5}.profile-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;display:block}.profile-toggle.on .profile-toggle-thumb{transform:translate(18px)}.profile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.profile-toggle-info{display:flex;flex-direction:column;gap:2px}.profile-toggle-label{font-size:13px;font-weight:500;color:#ffffffe6}.profile-toggle-desc{font-size:11px;color:#ffffff73}.profile-edit-profile-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#ffffffb3;font-size:13px;padding:7px 12px;cursor:pointer;transition:background .15s}.profile-edit-profile-btn:hover{background:#ffffff1f;color:#fff}.profile-demo-notice{display:flex;align-items:flex-start;gap:10px;margin:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;font-size:13px;color:#ffffff8c;line-height:1.5}.profile-demo-notice svg{flex-shrink:0;margin-top:1px;color:#ffffff59}.profile-panel-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.profile-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:10px;color:#f87171;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.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{background:#0000000d;color:#0006}.light-mode .profile-close-btn:hover{background:#0000001a;color:#000000b3}.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{background:#0000000d;border-color:#0000001f;color:#000000a6}.light-mode .profile-edit-profile-btn:hover{background:#00000017;color:#1a1a1a}.light-mode .profile-toggle-label{color:#000000d9}.light-mode .profile-toggle-desc{color:#00000073}.light-mode .profile-demo-notice{background:#0000000a;border-color:#00000014;color:#00000080}.light-mode .profile-edit-cancel{border-color:#00000026;color:#00000080}.light-mode .profile-edit-cancel:hover{background:#0000000d}.light-mode .profile-edit-input{background:#0000000a;color:#1a1a1a}.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(max-width:680px){.profile-panel{top:16px;left:8px;right:8px;width:auto;max-height:calc(100vh - 32px);z-index:270}}.profile-team-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;color:inherit;gap:8px;margin-bottom:4px}.profile-team-body{margin-top:8px;display:flex;flex-direction:column;gap:0}.profile-team-hint{font-size:.8rem;color:var(--text-muted, #666);margin:4px 0 8px}.profile-team-hint.err{color:#ef4444}.profile-team-member{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.profile-team-member:last-of-type{border-bottom:none}.profile-team-member-info{display:flex;flex-direction:column;gap:1px;min-width:0}.profile-team-member-name{font-size:.85rem;font-weight:500;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-team-member-phone{font-size:.75rem;color:var(--text-muted, #888)}.profile-team-member-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.profile-team-role-select{font-size:.78rem;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary, #fff);cursor:pointer;outline:none}.profile-team-remove-btn{background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:5px;color:#ef4444;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.profile-team-remove-btn:hover{background:#ef444438}.profile-invite-section{border-top:1px dashed rgba(255,255,255,.08);margin-top:8px;padding-top:4px}.profile-invite-form{display:flex;flex-direction:column;gap:7px;margin-top:4px}.profile-invite-input{width:100%;padding:8px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-primary, #fff);font-size:.85rem;outline:none;box-sizing:border-box}.profile-invite-input::placeholder{color:#ffffff4d}.profile-invite-input:focus{border-color:#2563eb}.profile-invite-row{display:flex;gap:7px;align-items:center}.profile-invite-btn{flex:1;padding:7px 10px;border-radius:7px;border:none;background:#2563eb;color:#fff;font-size:.83rem;font-weight:600;cursor:pointer;transition:opacity .15s}.profile-invite-btn:disabled{opacity:.45;cursor:not-allowed}.profile-invite-btn:not(:disabled):hover{opacity:.88}.profile-invite-success{font-size:.8rem;color:#22c55e;background:#22c55e1a;border-radius:6px;padding:7px 10px;margin-bottom:4px}.light-mode .profile-team-member{border-bottom-color:#00000012}.light-mode .profile-team-role-select,.light-mode .profile-invite-input{background:#0000000a;border-color:#00000026;color:#1a1a1a}.light-mode .profile-invite-input::placeholder{color:#00000059}.light-mode .profile-invite-section{border-top-color:#0000001a}.ua-overlay{position:fixed;inset:0;z-index:400;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ua-panel{position:fixed;top:0;left:0;width:320px;height:100%;background:#121218f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 32px #0009;display:flex;flex-direction:column;overflow:hidden;z-index:401;animation:ua-slide-in .2s ease}@keyframes ua-slide-in{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.ua-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.ua-header-left{display:flex;align-items:center;gap:12px}.ua-header-icon{width:38px;height:38px;border-radius:12px;background:#3071c52e;display:flex;align-items:center;justify-content:center;color:#3071c5;flex-shrink:0}.ua-header-icon svg{width:18px;height:18px}.ua-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px}.ua-subtitle{font-size:12px;color:#ffffff73;margin-top:1px}.ua-close-btn{width:30px;height:30px;border-radius:8px;background:#ffffff14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff9;transition:background .15s;flex-shrink:0}.ua-close-btn:hover{background:#ffffff24;color:#fff}.ua-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:4px}.ua-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff61;margin-bottom:8px}.ua-hint{font-size:13px;color:#fff6;margin:4px 0 8px}.ua-hint-err{color:#f87171}.ua-member{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);margin-bottom:6px}.ua-member-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.ua-member-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ua-member-name{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ua-member-phone{font-size:11px;color:#fff6}.ua-member-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.ua-role-select{font-size:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;padding:4px 8px;cursor:pointer;outline:none}.ua-remove-btn{width:26px;height:26px;border-radius:7px;background:#ffffff12;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff6;transition:background .15s,color .15s}.ua-remove-btn:hover{background:#ef444433;color:#f87171}.ua-invite-section{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.ua-invite-form{display:flex;flex-direction:column;gap:8px}.ua-invite-input{width:100%;padding:9px 12px;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:13px;outline:none;box-sizing:border-box;transition:border-color .15s}.ua-invite-input:focus{border-color:#3071c580}.ua-invite-input::placeholder{color:#ffffff4d}.ua-invite-row{display:flex;gap:8px;align-items:center}.ua-invite-row .ua-role-select{flex:1;padding:8px 10px}.ua-invite-btn{padding:8px 16px;border-radius:10px;background:#3071c5;color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.ua-invite-btn:hover:not(:disabled){background:#2563b0}.ua-invite-btn:disabled{opacity:.5;cursor:not-allowed}.ua-invite-success{font-size:12px;color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.2);border-radius:8px;padding:8px 12px;margin-bottom:8px}.ua-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.ua-qr-link-btn{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-align:left}.ua-qr-link-btn:hover{background:#ffffff1a;color:#fff}.ua-qr-link-btn svg:last-child{margin-left:auto;opacity:.5}.light-mode .ua-panel{background:#fafafcf7;border-right-color:#00000014;box-shadow:4px 0 32px #0000001f}.light-mode .ua-header{border-bottom-color:#00000012}.light-mode .ua-title{color:#111}.light-mode .ua-subtitle{color:#00000073}.light-mode .ua-close-btn{background:#0000000f;color:#00000080}.light-mode .ua-close-btn:hover{background:#0000001a;color:#111}.light-mode .ua-section-label{color:#00000061}.light-mode .ua-hint{color:#0006}.light-mode .ua-member{background:#00000008;border-color:#00000012}.light-mode .ua-member-name{color:#111}.light-mode .ua-member-phone{color:#0006}.light-mode .ua-role-select{background:#0000000f;border-color:#0000001f;color:#111}.light-mode .ua-remove-btn{background:#0000000d;color:#0006}.light-mode .ua-invite-section{border-top-color:#00000012}.light-mode .ua-invite-input{background:#0000000a;border-color:#0000001f;color:#111}.light-mode .ua-invite-input::placeholder{color:#0000004d}.light-mode .ua-footer{border-top-color:#00000012}.light-mode .ua-qr-link-btn{background:#0000000a;border-color:#0000001a;color:#000000a6}.light-mode .ua-qr-link-btn:hover{background:#00000014;color:#111}.lp-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(#0009,#0009),url(/bg-hero.jpg) center/cover no-repeat fixed}.lp-card{width:100%;max-width:400px;background:#ffffff12;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:36px 32px 32px;box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;gap:28px}.lp-brand{display:flex;flex-direction:column;align-items:center;gap:10px}.lp-brand-name{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}.lp-header{display:flex;flex-direction:column;gap:6px}.lp-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#ffffff8c;font-size:13px;cursor:pointer;padding:0;margin-bottom:8px;transition:color .15s}.lp-back:hover{color:#ffffffd9}.lp-title{font-size:22px;font-weight:700;color:#fff;margin:0;letter-spacing:-.3px}.lp-subtitle{font-size:14px;color:#ffffff80;margin:0;line-height:1.5}.lp-form{display:flex;flex-direction:column;gap:14px}.lp-field{display:flex;flex-direction:column;gap:6px}.lp-label{font-size:12px;font-weight:600;color:#fff9;letter-spacing:.3px;text-transform:uppercase}.lp-required{color:#f87171}.lp-input{width:100%;padding:12px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:16px;outline:none;transition:border-color .15s,background .15s;box-sizing:border-box}.lp-input::placeholder{color:#ffffff47}.lp-input:focus{border-color:#3071c5b3;background:#ffffff1c}.lp-input-phone{font-size:18px;letter-spacing:.5px}.lp-input-code{font-size:28px;letter-spacing:10px;text-align:center;font-weight:600;padding:14px}.lp-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:10px 14px;color:#fca5a5;font-size:13px;line-height:1.4}.lp-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, rgba(255,255,255,.6));cursor:pointer;-webkit-user-select:none;user-select:none}.lp-remember input[type=checkbox]{width:16px;height:16px;accent-color:#3071C5;cursor:pointer;flex-shrink:0}.lp-btn-primary{width:100%;padding:14px;background:#3071c5;border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;margin-top:2px}.lp-btn-primary:hover:not(:disabled){background:#2563ae}.lp-btn-primary:disabled{opacity:.45;cursor:not-allowed}.lp-btn-ghost{width:100%;padding:11px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:background .15s}.lp-btn-ghost:hover{background:#ffffff1c}.lp-divider{display:flex;align-items:center;gap:12px;color:#ffffff40;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.lp-divider:before,.lp-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.lp-btn-demo{width:100%;padding:12px;background:transparent;border:1px dashed rgba(255,255,255,.22);border-radius:12px;color:#ffffff8c;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}.lp-btn-demo:hover{border-color:#fff6;color:#fffc}.lp-fine-print{font-size:11px;color:#ffffff4d;text-align:center;line-height:1.5;margin:0}.lp-fine-print a{color:#ffffff73;text-decoration:none}.lp-fine-print a:hover{color:#ffffffa6}.lp-signup-link{font-size:13px;color:#fff6;text-align:center;margin:0}.lp-link{background:none;border:none;color:#60a5fa;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.lp-link:hover{color:#93c5fd}@media(max-width:480px){.lp-card{padding:28px 20px 24px;border-radius:20px}}.lp-dev-section{margin-top:20px}.lp-dev-divider{display:flex;align-items:center;gap:8px;margin-bottom:12px}.lp-dev-divider:before,.lp-dev-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.lp-dev-divider span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff40}.lp-btn-dev{width:100%;padding:10px;border-radius:10px;border:1px dashed rgba(250,204,21,.4);background:#facc150f;color:#facc15b3;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lp-btn-dev:hover:not(:disabled){background:#facc151f;color:#facc15;border-color:#facc1599}.lp-btn-dev:disabled{opacity:.5;cursor:default}.create-company-bg{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #111);padding:24px 16px}.create-company-card{width:100%;max-width:420px;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border-color, #2a2a2a);border-radius:16px;padding:40px 32px 32px;display:flex;flex-direction:column;align-items:center;gap:0}.create-company-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.create-company-brand{font-size:1.2rem;font-weight:700;color:var(--text-primary, #fff);letter-spacing:-.3px}.create-company-title{font-size:1.45rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 10px;text-align:center}.create-company-sub{font-size:.9rem;color:var(--text-secondary, #aaa);text-align:center;margin:0 0 28px;line-height:1.5}.create-company-sub strong{color:var(--text-primary, #fff)}.create-company-form{width:100%;display:flex;flex-direction:column;gap:16px}.create-company-field{display:flex;flex-direction:column;gap:6px}.create-company-label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #aaa);text-transform:uppercase;letter-spacing:.05em}.create-company-input-wrap{position:relative;display:flex;align-items:center}.create-company-input{width:100%;padding:12px 40px 12px 14px;border-radius:10px;border:1.5px solid var(--border-color, #333);background:var(--bg-primary, #111);color:var(--text-primary, #fff);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box}.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(--text-muted, #555)}.create-company-status{position:absolute;right:12px;display:flex;align-items:center;pointer-events:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite;color:var(--text-muted, #555)}.create-company-hint{font-size:.8rem;margin-top:2px}.create-company-hint.ok{color:#22c55e}.create-company-hint.err{color:#ef4444}.create-company-error{background:#ef444422;border:1px solid #ef444444;border-radius:8px;padding:10px 14px;font-size:.85rem;color:#ef4444}.create-company-btn{width:100%;padding:13px;border-radius:10px;border:none;background:#2563eb;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,background .2s;margin-top:4px}.create-company-btn:disabled{opacity:.45;cursor:not-allowed}.create-company-btn:not(:disabled):hover{background:#1d4ed8}.create-company-logout{margin-top:20px;background:none;border:none;color:var(--text-muted, #555);font-size:.82rem;cursor:pointer;text-decoration:underline}.create-company-logout:hover{color:var(--text-secondary, #aaa)}@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}
