:root{color:#18211f;background:#f7f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px clamp(16px,4vw,48px);background:#163832;color:#fff}.header-menu-button{width:44px;height:40px;display:grid;place-content:center;gap:4px;justify-self:start;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#ffffff14;cursor:pointer}.header-menu-button span{width:18px;height:2px;display:block;background:#fff}.brand-title{justify-self:center;font-weight:700;text-align:center;white-space:nowrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;min-width:0}.main{width:min(1280px,100%);margin:0 auto;padding:clamp(20px,5vw,48px)}.dashboard,.content-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-shell{display:grid;gap:18px;align-items:start;grid-template-columns:240px minmax(0,1fr)}.dashboard-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{position:sticky;top:18px;display:grid;gap:14px;min-height:calc(100vh - 132px);grid-template-rows:auto 1fr auto;border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:14px}.sidebar-profile-header{min-width:0;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e2dbd1;padding:0 0 14px}.sidebar-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border:1px solid #d9d0c3;border-radius:999px;background:#f3ede4;color:#163832}.sidebar-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-avatar svg{width:24px;height:24px}.sidebar-company-name{min-width:0;display:block;overflow:hidden;color:#18211f;font-size:.98rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.icon-button{width:44px;height:40px;display:grid;place-content:center;gap:4px;border:1px solid #d9d0c3;border-radius:8px;background:#fff;cursor:pointer}.icon-button span{width:18px;height:2px;display:block;background:#163832}.side-nav{display:grid;align-content:start;gap:8px}.side-nav-item{min-height:42px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:#34413d;font-weight:750;text-align:left;cursor:pointer}.dual-label{display:inline-grid;gap:2px;line-height:1.15;vertical-align:middle}.dual-label-primary{font-weight:750}.dual-label-subtitle{color:#728079;font-size:.78rem;font-weight:650}.side-nav-item.active .dual-label-subtitle,.side-nav-item:hover .dual-label-subtitle{color:#ffffffc7}h2 .dual-label,h3 .dual-label,label .dual-label{display:grid}label .dual-label-subtitle{font-size:.76rem}.side-nav-item.active,.side-nav-item:hover{background:#163832;color:#fff}.sidebar-collapsed .side-nav-item{padding:0;text-align:center}.settings-link{align-self:end;display:inline-flex;align-items:center;gap:10px;width:100%}.settings-gear-icon{width:20px;height:20px;flex:0 0 auto}.sidebar-collapsed .sidebar-profile-header,.sidebar-collapsed .settings-link{justify-content:center}.dashboard-content,.field,.voice-input-wrap,.project-form,.settings-grid,.settings-view,.content-grid{min-width:0}.panel{border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:18px}.panel h2{margin:0 0 10px;font-size:1.1rem}.login-panel{max-width:480px;margin:0 auto;padding:clamp(24px,5vw,42px)}.login-title{margin:0;max-width:620px;color:#163832;font-size:clamp(1.75rem,4vw,2.8rem);font-weight:850;line-height:1.08}.login-tabs{display:flex;gap:4px;border:1px solid #dce4e0;border-radius:10px;padding:3px;background:#f4f7f5;width:fit-content}.email-auth-form{width:100%}.gl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#0b0a1a,#1a0b2e,#0e1628 60%,#0a1520);padding:16px}.gl-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;will-change:transform}.gl-orb-1{width:clamp(340px,45vw,600px);height:clamp(340px,45vw,600px);background:radial-gradient(circle at 40% 40%,rgba(147,51,234,.55) 0%,rgba(79,24,163,.25) 45%,transparent 70%);filter:blur(60px);top:-12%;left:-10%;animation:orb-drift-1 9s ease-in-out infinite alternate}.gl-orb-2{width:clamp(300px,40vw,520px);height:clamp(300px,40vw,520px);background:radial-gradient(circle at 60% 60%,rgba(6,182,212,.5) 0%,rgba(14,116,144,.22) 45%,transparent 70%);filter:blur(55px);bottom:-10%;right:-8%;animation:orb-drift-2 11s ease-in-out infinite alternate}.gl-orb-3{width:clamp(200px,28vw,360px);height:clamp(200px,28vw,360px);background:radial-gradient(circle at 50% 50%,rgba(244,63,94,.4) 0%,rgba(190,24,93,.15) 50%,transparent 72%);filter:blur(50px);top:40%;right:20%;animation:orb-drift-3 13s ease-in-out infinite alternate}@keyframes orb-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(55px,45px) scale(1.06)}}@keyframes orb-drift-2{0%{transform:translate(0) scale(1)}to{transform:translate(-45px,-55px) scale(1.05)}}@keyframes orb-drift-3{0%{transform:translate(0) scale(1)}to{transform:translate(-35px,40px) scale(1.08)}}.gl-card{position:relative;z-index:10;width:min(440px,100%);padding:clamp(28px,5vw,44px) clamp(24px,5vw,40px);display:flex;flex-direction:column;gap:22px;background:#ffffff12;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 30px 60px #00000080,0 1px #ffffff1f inset,0 -1px #0003 inset;animation:gl-card-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes gl-card-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gl-brand{display:flex;align-items:center;gap:10px}.gl-brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#9333ea99,#06b6d480);border:1px solid rgba(255,255,255,.2);flex-shrink:0}.gl-brand-name{font-size:.92rem;font-weight:700;color:#ffffffd9;letter-spacing:.01em}.gl-heading-group{display:flex;flex-direction:column;gap:6px}.gl-title{margin:0;font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.02em}.gl-subtitle{margin:0;font-size:.87rem;color:#ffffff7a;line-height:1.5}.gl-tabs{display:flex;gap:4px;padding:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:13px;width:fit-content}.gl-tabs-compact{width:100%}.gl-tabs-compact .gl-tab-btn{flex:1}.gl-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:9px;border:none;background:transparent;color:#ffffff7a;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}.gl-tab-btn.active{background:#ffffff24;color:#fff;box-shadow:0 2px 10px #00000040}.gl-tab-btn:not(.active):hover{background:#ffffff12;color:#ffffffb8}.gl-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;border-radius:13px;border:1px solid rgba(255,255,255,.18);background:#ffffff17;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:.93rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .2s,border-color .2s,transform .12s,box-shadow .2s}.gl-google-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 8px 20px #0000004d}.gl-google-btn:active{transform:translateY(0)}.gl-google-icon{flex-shrink:0}.gl-google-chevron{margin-left:auto;color:#ffffff59;flex-shrink:0}.gl-email-section{display:flex;flex-direction:column;gap:18px}.gl-form{display:flex;flex-direction:column;gap:14px}.gl-field{display:flex;flex-direction:column;gap:7px}.gl-label{font-size:.8rem;font-weight:600;color:#fff9;letter-spacing:.04em;text-transform:uppercase}.gl-input-wrap{position:relative;display:flex;align-items:center}.gl-input-icon{position:absolute;left:13px;color:#ffffff52;pointer-events:none;flex-shrink:0}.gl-input{width:100%;box-sizing:border-box;padding:12px 14px 12px 40px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:.93rem;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}.gl-input::placeholder{color:#ffffff47}.gl-input:focus{border-color:#9333eab3;background:#ffffff1a;box-shadow:0 0 0 3px #9333ea2e,0 0 14px #9333ea1f}.gl-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:13px;border:none;background:linear-gradient(135deg,#7c3aed,#9333ea,#a855f7);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.02em;box-shadow:0 4px 18px #7c3aed73,0 1px #ffffff26 inset;transition:filter .18s,transform .12s,box-shadow .18s;margin-top:4px}.gl-btn-primary:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 7px 24px #7c3aed8c,0 1px #ffffff26 inset}.gl-btn-primary:active:not(:disabled){transform:translateY(0);filter:brightness(.96)}.gl-btn-primary:disabled{opacity:.55;cursor:not-allowed}.gl-btn-loading{display:inline-flex;align-items:center;gap:8px}.gl-error{display:flex;align-items:flex-start;gap:8px;padding:11px 14px;border-radius:10px;background:#f43f5e24;border:1px solid rgba(244,63,94,.28);color:#fda4af;font-size:.85rem;font-weight:500;line-height:1.4}.gl-footer{margin:0;text-align:center;font-size:.74rem;color:#ffffff38;letter-spacing:.02em}@media (max-width: 480px){.gl-card{border-radius:18px}.gl-tabs{width:100%}.gl-tab-btn{flex:1;justify-content:center;padding:8px 10px}}.muted{color:#65706b}.error-text{margin:0;color:#b42318;font-weight:700}.button{min-height:42px;border:0;border-radius:8px;padding:0 16px;background:#d1a85b;color:#18211f;font-weight:700;cursor:pointer}.button:disabled,.google-signin-button:disabled{cursor:not-allowed;opacity:.68}.button.secondary{background:#eef2ef}.button.danger-button{border:1px solid #e0b4b4;background:#fff1f1;color:#9f2d2d}.button.danger-button:hover,.button.danger-button:focus-visible{background:#ffe4e4}.button-loading-content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:button-spin .75s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.google-signin-button{width:fit-content;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d6d9de;border-radius:8px;padding:0 20px;background:#fff;color:#202124;box-shadow:0 1px 2px #16383214,0 8px 20px #16383214;font-weight:700;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.google-signin-button:hover{border-color:#b9c0c8;box-shadow:0 2px 4px #1638321a,0 12px 26px #1638321f;transform:translateY(-1px)}.google-signin-button:focus-visible{outline:3px solid rgba(209,168,91,.45);outline-offset:3px}.google-icon{width:20px;height:20px;flex:0 0 20px}.stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-size:.9rem;font-weight:700}.field input,.field select{width:100%;max-width:100%;min-height:42px;border:1px solid #cfc7ba;border-radius:8px;padding:0 12px;background:#fff}.field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.voice-input-wrap{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 44px;align-items:center}.customer-name-input-wrap{grid-template-columns:minmax(82px,.32fr) minmax(0,1fr) 44px}.voice-input-wrap input{min-width:0;width:100%}.salutation-select{width:100%;max-width:100%;min-height:42px;border:1px solid #cfc7ba;border-radius:8px;padding:0 10px;background:#fff}.phone-input-group{display:grid;gap:8px;grid-template-columns:minmax(118px,.42fr) minmax(0,1fr);align-items:center}.profile-phone-input-group{grid-template-columns:minmax(118px,.32fr) minmax(0,1fr) auto}.phone-input-group select,.phone-input-group input{width:100%;max-width:100%;min-height:42px;border:1px solid #cfc7ba;border-radius:8px;padding:0 12px;background:#fff}.verify-phone-button{white-space:nowrap}#phone-recaptcha-container{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;transform:translate(-9999px,-9999px)}.grecaptcha-badge{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.phone-verification-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.verified-badge{width:fit-content;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;background:#ecfdf3;color:#166534;font-size:.86rem;font-weight:800}.otp-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.mic-button{width:44px;height:42px;display:grid;place-items:center;border:1px solid #cfc7ba;border-radius:8px;background:#fff;cursor:pointer;color:#4f4637;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.mic-button:hover,.mic-button.listening{border-color:#d1a85b;background:#fff7e6;color:#8a5f14}.mic-button:active{transform:translateY(1px)}.mic-icon{width:20px;height:20px;display:block}.listening-input{border-color:#d1a85b!important;box-shadow:0 0 0 3px #d1a85b3d}.project-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(240px,1fr))}.wide-field{grid-column:1 / -1}.location-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.location-status{color:#65706b;font-weight:700}.location-status.pinned{color:#166534}.location-link{text-decoration:underline;text-underline-offset:3px}.location-fallback{display:grid;gap:8px}.location-hint{margin:0;color:#8a5a12;font-size:.92rem;line-height:1.4}.location-manual{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.location-manual input{min-width:140px;flex:1}.settings-grid{display:grid;gap:18px;grid-template-columns:minmax(320px,1fr) minmax(260px,.65fr)}.settings-view{display:grid;gap:16px}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.compact-tabs{margin-bottom:2px}.tab-button{min-height:42px;border:1px solid #d6cdc0;border-radius:8px;padding:0 14px;background:#fffdf9;color:#34413d;font-weight:800;cursor:pointer}.tab-button.active,.tab-button:hover{border-color:#163832;background:#163832;color:#fff}.avatar-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.avatar-frame{width:104px;height:104px;display:grid;place-items:center;overflow:hidden;border:2px dashed #b9b0a4;border-radius:999px;background:#f6f1e9;color:#163832;font-size:2rem;font-weight:800;cursor:pointer}.avatar-frame img{width:100%;height:100%;object-fit:cover}.visually-hidden-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}.file-list{display:grid;gap:8px}.file-row{min-height:42px;display:flex;align-items:center;gap:10px;border:1px solid #e2dbd1;border-radius:8px;padding:8px 10px;background:#fbfaf7;font-weight:650}.file-button{width:100%;color:#18211f;text-align:left;cursor:pointer}.file-button:hover{border-color:#b9c0c8;background:#fff}.file-badge{min-width:40px;border-radius:6px;padding:4px 7px;background:#163832;color:#fff;font-size:.75rem;text-align:center}.customer-tools{display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) auto;align-items:end}.customer-combobox{position:relative}.customer-combobox-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:grid;max-height:min(320px,48vh);overflow:auto;border:1px solid #d6cdc0;border-radius:8px;background:#fffdf9;box-shadow:0 18px 36px #1638322e}.customer-combobox-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid #eee7dd}.customer-combobox-option{display:grid;gap:3px;border:0;padding:10px 12px;background:transparent;color:#18211f;text-align:left;cursor:pointer}.customer-combobox-option:hover,.customer-combobox-option:focus-visible,.customer-combobox-row:focus-within{background:#f3ede4}.customer-combobox-option span,.customer-combobox-empty{color:#65706b;font-size:.88rem}.customer-combobox-empty{padding:12px}.customer-list{display:flex;flex-direction:column;gap:10px}.customer-list-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:4px 4px 4px 0;background:var(--surface);transition:border-color .15s}.customer-list-card.selected{border-color:var(--primary)}.customer-list-card-main{flex:1;text-align:left;background:none;border:none;cursor:pointer;padding:12px 14px;display:flex;flex-direction:column;gap:3px;color:var(--text)}.customer-list-card-main:hover{background:var(--surface-hover, rgba(0,0,0,.04));border-radius:8px}.customer-list-name{display:flex;flex-direction:column;gap:2px}.customer-list-address{font-size:.82rem;color:var(--muted)}.customer-list-phone{font-size:.85rem;font-family:monospace;color:var(--muted)}.customer-list-location{font-size:.78rem}.customer-list-map-link{font-size:.78rem;color:var(--primary)}.customer-row-actions{display:flex;align-items:center;gap:4px;padding:8px 10px 8px 0}.customer-action-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d8d0c4;border-radius:8px;background:#fffaf0;color:#163832;cursor:pointer}.customer-action-button:hover,.customer-action-button:focus-visible{border-color:#d1a85b;background:#fff3d2}.customer-action-button.danger{color:#9f2d2d}.customer-action-button:disabled{cursor:not-allowed;opacity:.6}.action-icon{width:18px;height:18px}.mini-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:999px;animation:button-spin .8s linear infinite}.customer-modal{max-height:min(720px,92vh);overflow:auto}.customer-detail-grid{display:grid;gap:8px 14px;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);padding:12px 0}.customer-detail-grid span{color:#65706b;font-size:.9rem;font-weight:800}.customer-detail-grid strong{min-width:0;overflow-wrap:anywhere;font-weight:800}.customer-workspace{display:grid;gap:16px}.customer-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:8px;background:#163832;color:#fffaf0;padding:22px}.customer-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.add-project-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:8px;background:linear-gradient(135deg,#d94f3d,#b83428);color:#fff;font-size:.87rem;font-weight:700;border:none;cursor:pointer;box-shadow:0 3px 12px #d94f3d4d;transition:filter .18s,transform .12s,box-shadow .18s;white-space:nowrap}.add-project-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 5px 16px #d94f3d6b}.add-project-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.95)}.add-project-btn:disabled{opacity:.65;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.cust-projects-section{display:flex;flex-direction:column;gap:14px}.cust-projects-header{display:flex;align-items:center;justify-content:space-between}.cust-projects-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;color:#2a2a2a}.cust-projects-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d94f3d;color:#fff;font-size:.72rem;font-weight:800}.cust-projects-loading{display:flex;align-items:center;gap:10px;padding:24px 0;color:#888;font-size:.88rem}.cust-projects-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;border:2px dashed #e0d8d0;border-radius:12px;background:#fdfbf8;text-align:center}.cust-projects-empty p{margin:0;color:#7a7060;font-size:.92rem;font-weight:600}.cust-projects-empty-sub{font-size:.82rem!important;font-weight:400!important;color:#aaa!important}.cust-projects-empty-sub strong{color:#d94f3d}.cust-projects-list{display:flex;flex-direction:column;gap:10px}.proj-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid #e8e0d8;border-radius:12px;background:#fff;box-shadow:0 1px 6px #0000000a;transition:box-shadow .15s,border-color .15s}.proj-row:hover{border-color:#d9c9be;box-shadow:0 4px 16px #00000014}.proj-row-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.proj-serial{font-size:.72rem;font-weight:800;color:#c5bdb6;letter-spacing:.06em;flex-shrink:0}.proj-pin-icon{flex-shrink:0}.proj-location-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}.proj-location-str{font-size:.95rem;font-weight:700;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-maps-link{display:inline-flex;align-items:center;gap:4px;font-size:.73rem;color:#5b8ee6;text-decoration:none;font-weight:600;letter-spacing:.01em}.proj-maps-link:hover{text-decoration:underline}.proj-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.proj-share-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;background:#25d366;color:#fff;font-size:.8rem;font-weight:700;text-decoration:none;border:none;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .1s}.proj-share-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.proj-share-btn:active{transform:translateY(0)}.proj-design-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:8px;background:#1e1e2e;color:#d8d4f8;font-size:.82rem;font-weight:700;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s,transform .1s}.proj-design-btn:hover{background:#d94f3d;color:#fff;transform:translateY(-1px)}.proj-design-btn:active{transform:translateY(0)}@media (max-width: 600px){.proj-row{flex-wrap:wrap;gap:10px}.proj-row-actions{width:100%;justify-content:flex-end}}.add-site-banner{display:flex;align-items:center;gap:9px;background:#fff8f0;border:1.5px solid #f5c18a;border-radius:10px;padding:10px 14px;font-size:.88rem;color:#6b4c1e;line-height:1.5}.add-site-banner svg{flex-shrink:0;color:#c97f2e}.add-site-banner strong{color:#3d1f00;font-weight:700}input.locked-field,select.locked-field{background:#f4f4f4!important;color:#7a7a7a!important;cursor:not-allowed;border-color:#ddd!important}input.locked-field:focus,select.locked-field:focus{box-shadow:none!important;border-color:#ddd!important}.add-site-form-actions{display:flex;gap:10px;justify-content:flex-end}.add-site-form-actions .button{flex:0 0 auto}@media (max-width: 480px){.add-site-form-actions{flex-direction:column-reverse}.add-site-form-actions .button{width:100%}}.cust-project-name-wrap{display:flex;flex-direction:column;gap:2px}.cust-project-site-info{font-size:.76rem;color:#888;font-weight:400;letter-spacing:.02em}.customer-workspace-hero h2,.customer-workspace-hero p{margin:0}.customer-workspace-hero h2{font-size:clamp(1.45rem,3vw,2.25rem)}.customer-workspace-meta{display:grid;gap:8px 14px;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:16px}.customer-workspace-meta span{color:#65706b;font-size:.82rem;font-weight:800}.customer-workspace-meta strong{min-width:0;overflow-wrap:anywhere}.customer-studio-grid{display:grid;gap:16px;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.room-creator{display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:14px}.room-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.room-tab{min-height:42px;flex:0 0 auto;border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;color:#18211f;padding:0 14px;font-weight:900;cursor:pointer}.room-tab.active{border-color:#d1a85b;background:#163832;color:#fffaf0}.room-empty-hint{display:inline-flex;align-items:center;min-height:42px;color:#65706b;font-size:.9rem;font-weight:800}.site-photo-dropzone{min-height:300px;display:grid;place-items:center;align-content:center;gap:10px;border:2px dashed #d1a85b;border-radius:8px;background:#fff7e6;color:#18211f;padding:22px;text-align:center;cursor:pointer}.site-photo-dropzone.loading{opacity:.72;cursor:wait}.site-photo-dropzone input{display:none}.site-photo-dropzone span{color:#8d6524;font-size:.82rem;font-weight:900;text-transform:uppercase}.site-photo-dropzone strong{font-size:1.2rem}.site-photo-dropzone small{color:#65706b;max-width:260px}.ai-studio-panel{min-height:360px;display:grid;gap:14px;align-content:start;border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:18px}.ai-generator-controls{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #eee7db;border-radius:8px;background:#fbfaf7;padding:14px}.ai-generator-controls h3{margin:0;color:#163832;font-size:1rem}.template-file-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.studio-section{display:grid;gap:10px}.studio-section h3{margin:0;color:#163832;font-size:1rem}.template-file-card,.empty-studio-state{min-height:140px;display:grid;gap:8px;align-content:center;border:1px solid #eee7db;border-radius:8px;background:#fbfaf7;padding:14px;color:#18211f;text-decoration:none}.base-photo-card{align-content:start;grid-template-rows:auto auto auto;text-align:left}.base-photo-card.base-photo-thumb-button{cursor:pointer;border:1px solid #e7dfd2;background:#fbfaf7;transition:transform .14s ease,box-shadow .14s ease}.base-photo-card.base-photo-thumb-button:active{transform:scale(.99)}.base-photo-card img{width:100%;max-width:150px;height:120px;border-radius:8px;object-fit:cover;background:#eee7db;justify-self:center}.gallery-backdrop{top:0;right:0;bottom:0;left:0;z-index:80;padding:0;background:#080c0beb}.image-gallery-shell{position:relative;width:min(100%,900px);height:min(100vh - 26px,94vh);display:flex;align-items:center;justify-content:center;background:#0d1513;padding:20px 12px 16px;border-radius:0;overflow:hidden;margin:0 auto}.gallery-header{position:absolute;top:10px;left:12px;right:12px;display:flex;justify-content:flex-start;z-index:2}.gallery-close-button{min-width:82px;min-height:36px;padding:0 14px;border:0;border-radius:8px;background:#ffffffeb;color:#163832;font-size:.95rem;font-weight:700}.gallery-photo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;touch-action:pan-y}.gallery-nav-button{position:absolute;top:50%;width:42px;height:42px;transform:translateY(-50%);border:0;border-radius:999px;background:#ffffffe6;color:#163832;font-size:1.6rem;font-weight:900;line-height:1}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}.gallery-footer{position:absolute;bottom:14px;left:50%;transform:translate(-50%);color:#f8f4ed;font-size:.85rem;font-weight:700;letter-spacing:.02em}.ai-design-card{position:relative;align-content:space-between}.ai-design-card>a{display:grid;gap:8px;color:inherit;text-decoration:none}.ai-design-card.confirmed{border-color:#1f8f5f;background:#eefbf3}.confirm-style-button{min-height:36px;border:0;border-radius:8px;background:#1f8f5f;color:#fff;font-weight:900;cursor:pointer}.confirm-style-button:before{content:"✓";margin-right:6px}.confirm-style-button:disabled{cursor:not-allowed;opacity:.65}.template-file-card span{width:max-content;border-radius:999px;background:#163832;color:#fffaf0;padding:4px 8px;font-size:.72rem;font-weight:900}.template-file-card strong,.empty-studio-state strong{overflow-wrap:anywhere}.template-file-card small,.empty-studio-state span{color:#65706b}.design-workspace{display:grid;gap:14px;border:1px solid #d9d0c3;border-radius:8px;background:#fffdf9;padding:18px}.workspace-header h2{margin:0;color:#163832}.workspace-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.workspace-pane{min-height:360px;display:grid;place-items:center;border:1px dashed #b9b0a4;border-radius:8px;background:#f6f1e9;color:#34413d;text-align:center}.workspace-pane h3{margin:0;font-size:1.05rem}.accounts-dashboard{display:grid;gap:16px}.wallet-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:8px;padding:24px;background:#163832;color:#fffaf0;box-shadow:0 18px 40px #1638322e}.wallet-card h2,.wallet-card p{margin:0}.wallet-card h2{margin:6px 0;color:#fffaf0}.wallet-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#e4c47d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:18px;background:#16201d73}.modal-panel{width:min(520px,100%);border-radius:8px;padding:20px;background:#fffdf8;box-shadow:0 24px 70px #16201d42}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h2{margin:0}.icon-close-button{width:36px;height:36px;border:1px solid #d9d4ca;border-radius:999px;background:#fff;cursor:pointer;font-weight:900}.payment-options{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-option{min-height:88px;border:1px solid #d9d4ca;border-radius:8px;padding:14px;background:#fff;text-align:left;cursor:pointer}.payment-option strong,.payment-option span{display:block}.payment-option span{margin-top:4px;color:#65706b;font-size:.9rem}.payment-option.active{border-color:#d1a85b;background:#fff7e6}.pg-sheet{width:min(420px,100%);max-height:90svh;overflow-y:auto;border-radius:20px;padding:24px 22px 28px;background:#fff;box-shadow:0 32px 80px #00000047,0 8px 24px #00000024;display:flex;flex-direction:column;gap:18px}.pg-sheet-header{display:flex;align-items:center;justify-content:space-between}.pg-sheet-title{margin:0;font-size:1.15rem;font-weight:800;color:#111}.pg-back-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:#1a73e8;font-size:.97rem;font-weight:600;cursor:pointer;padding:4px 0}.pg-close-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e8e8e8;border-radius:999px;background:#f5f5f5;cursor:pointer;color:#555}.pg-amount-field{display:flex;flex-direction:column;gap:10px}.pg-amount-label{font-size:.88rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em}.pg-amount-input-wrap{display:flex;align-items:center;gap:6px;border:2px solid #e0e0e0;border-radius:12px;padding:10px 16px;background:#fafafa;transition:border-color .15s}.pg-amount-input-wrap:focus-within{border-color:#c0392b;background:#fff}.pg-currency{font-size:1.6rem;font-weight:700;color:#222;line-height:1}.pg-amount-input{flex:1;border:none;background:none;font-size:1.9rem;font-weight:800;color:#111;outline:none;min-width:0;letter-spacing:-.02em}.pg-quick-amounts{display:flex;gap:8px;flex-wrap:wrap}.pg-quick-btn{padding:6px 14px;border:1.5px solid #ddd;border-radius:999px;background:#fff;font-size:.88rem;font-weight:700;color:#333;cursor:pointer;transition:all .12s}.pg-quick-btn.active,.pg-quick-btn:hover{border-color:#c0392b;background:#fff0ef;color:#c0392b}.pg-proceed-btn{width:100%;min-height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;font-size:1rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:opacity .15s,transform .12s}.pg-proceed-btn:disabled{opacity:.45;cursor:not-allowed}.pg-proceed-btn:not(:disabled):hover{transform:translateY(-1px);opacity:.92}.pg-amount-card{border-radius:14px;padding:16px 18px;background:linear-gradient(135deg,#fff5f5,#fff0ef);border:1px solid #ffd5d5}.pg-amount-card-label{margin:0 0 4px;font-size:.82rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em}.pg-amount-card-value{margin:0;font-size:1.75rem;font-weight:900;color:#111;letter-spacing:-.03em}.pg-section-title{margin:0;font-size:1.05rem;font-weight:800;color:#111}.pg-method-list{border:1px solid #e8e8e8;border-radius:14px;overflow:hidden}.pg-method-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border:none;border-bottom:1px solid #f0f0f0;background:#fff;cursor:pointer;text-align:left;transition:background .12s}.pg-method-row:last-child{border-bottom:none}.pg-method-row:hover{background:#fafafa}.pg-method-row:active{background:#f5f5f5}.pg-method-left{display:flex;align-items:center;gap:12px;min-width:0}.pg-method-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.pg-method-icon--upi{background:#f0fff4}.pg-method-icon--card,.pg-method-icon--bank{background:#fff2f0}.pg-method-name{font-size:.97rem;font-weight:700;color:#111}.pg-method-sub{font-size:.82rem;font-weight:500;color:#888}.pg-method-right{display:flex;align-items:center;gap:5px;flex-shrink:0}.pg-method-right svg{flex-shrink:0;display:block}.pg-method-more{font-size:.76rem;color:#999;white-space:nowrap}.pg-chevron{color:#bbb;flex-shrink:0}.pg-footer-text{margin:0;font-size:.8rem;color:#999;text-align:center;line-height:1.55}.pg-footer-link{color:#1a73e8;cursor:pointer}.pg-upi-title{margin:0;font-size:1.1rem;font-weight:800;color:#111}.pg-upi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pg-upi-app-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border:1.5px solid #efefef;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s,transform .1s}.pg-upi-app-btn:hover{background:#f8f8f8;transform:translateY(-1px)}.pg-upi-app-btn:active{transform:translateY(0)}.pg-upi-app-btn.active{border-color:#c0392b;background:#fff5f5}.pg-upi-app-icon{display:grid;place-items:center;width:48px;height:48px}.pg-upi-app-label{font-size:.82rem;font-weight:700;color:#333;text-align:center;line-height:1.2}.pg-or-divider{display:flex;align-items:center;gap:10px}.pg-or-line{flex:1;height:1px;background:#e8e8e8}.pg-or-text{font-size:.82rem;font-weight:700;color:#aaa;letter-spacing:.06em}.pg-qr-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;border:1.5px solid #e0e0e0;border-radius:14px;background:#fff;font-size:.97rem;font-weight:700;color:#222;cursor:pointer;transition:border-color .12s,background .12s}.pg-qr-btn:hover{border-color:#c0392b;background:#fff5f5}.pg-qr-icon{flex-shrink:0;color:#555}.upi-panel{display:grid;gap:12px}.upi-option-grid{display:flex;gap:8px;overflow-x:auto}.upi-icon-option{min-width:82px;border:1px solid #d9d4ca;border-radius:8px;padding:8px;background:#fff;cursor:pointer}.qr-toggle{min-height:42px;border:1px solid #d9d4ca;border-radius:8px;background:#fff;cursor:pointer;font-weight:800}.qr-placeholder{display:grid;gap:10px;place-items:center;border:1px solid #d1a85b;border-radius:8px;padding:18px}.transaction-table{display:grid;gap:8px}.transaction-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;border-bottom:1px solid #eee7db;padding:10px 0;font-size:.92rem}.transaction-row span{min-width:0;overflow-wrap:anywhere}.transaction-head{color:#65706b;font-size:.86rem;font-weight:800}@media (max-width: 899px){.topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:12px 14px}.brand-title{font-size:.98rem}.signout-button{min-height:36px;padding:0 10px;font-size:.85rem}.main{padding:14px}.dashboard-shell,.dashboard-shell.sidebar-collapsed{display:block}.sidebar{position:fixed;top:68px;bottom:14px;left:14px;z-index:30;width:min(82vw,304px);min-height:0;box-shadow:0 18px 42px #16383238;transform:translate(0);transition:transform .18s ease}.dashboard-shell.sidebar-collapsed .sidebar{transform:translate(calc(-100% - 28px))}.side-nav{grid-template-columns:1fr}.side-nav-item{text-align:left}.workspace-grid{grid-template-columns:1fr}.customer-workspace-hero{display:grid}.customer-hero-actions{justify-content:flex-start}.customer-workspace-meta,.customer-studio-grid,.room-creator,.ai-generator-controls,.wallet-card{grid-template-columns:1fr}.wallet-card{display:grid}.transaction-table{overflow-x:auto}.transaction-row{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:.85rem}.transaction-head{font-size:.8rem}.payment-options,.customer-tools,.profile-phone-input-group,.otp-row,.project-form{grid-template-columns:1fr}.customer-name-input-wrap{grid-template-columns:minmax(78px,.34fr) minmax(0,1fr) 44px}.settings-grid{grid-template-columns:1fr}.settings-tabs{display:grid;grid-template-columns:1fr}.workspace-pane{min-height:240px}}.design-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#1c1c28;overflow:hidden;z-index:200}.design-viewport{flex:1;width:100%;overflow:hidden;touch-action:none}.design-viewport canvas{display:block;width:100%!important;height:100%!important;outline:none;touch-action:none}.design-ribbon{position:absolute;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;padding:0 14px;height:48px;background:linear-gradient(to bottom,rgba(8,8,18,.88) 0%,rgba(8,8,18,.6) 70%,transparent 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}.design-ribbon>*{pointer-events:auto}.ribbon-left{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.ribbon-hamburger.ribbon-palette-btn.open{background:#d94f3d38;color:#ff9080;border-color:#d94f3d73}.ribbon-left .ribbon-material-badge{max-width:38vw;overflow:hidden;white-space:nowrap}.ribbon-hamburger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#c8c8e6bf;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ribbon-hamburger:hover,.ribbon-hamburger.open{background:#ffffff24;border-color:#ffffff47;color:#fff}.ribbon-center{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.ribbon-workspace-label{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c8c8f0b3;white-space:nowrap}.ribbon-material-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;background:#34d3991f;border:1px solid rgba(52,211,153,.35);border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.03em;color:#6ee7b7;white-space:nowrap;pointer-events:auto}.ribbon-material-badge .ribbon-material-dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399cc}.ribbon-material-badge.none{background:#fbbf241a;border-color:#fbbf244d;color:#fcd34dd9}.ribbon-material-badge.none .ribbon-material-dot{background:#fbbf24;box-shadow:0 0 6px #fbbf24b3}.ribbon-context{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:#ffbeb4d1;font-weight:500;letter-spacing:.01em;white-space:nowrap}.ribbon-context strong{color:#ffcfc8;font-weight:700}.ribbon-sep{opacity:.45}.ribbon-right{display:flex;align-items:center;gap:4px;justify-content:flex-end}.ribbon-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:6px;border:none;background:transparent;color:#c8c8dc85;cursor:pointer;transition:background .14s,color .14s}.ribbon-icon-btn:hover{background:#ffffff1a;color:#dcdcffe6}.ribbon-icon-btn.active{background:#d94f3d38;color:#ff9080}.ribbon-theme-group{display:flex;align-items:center;gap:1px;padding:2px;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09)}.ribbon-history-group{display:flex;align-items:center;gap:2px;padding:2px;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09)}.ribbon-history-btn{font-size:15px;font-weight:700;line-height:1;min-width:32px}.ribbon-history-btn:disabled{opacity:.28;cursor:not-allowed}.ribbon-history-btn:disabled:hover{background:transparent;color:#c8c8dc85}.ribbon-measure-btn.active{background:#2563eb47!important;border-color:#60a5fa8c;color:#93c5fd!important;box-shadow:0 0 0 1px #60a5fa33 inset}.mobile-history-fab{display:none;position:fixed;z-index:230;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;pointer-events:none}.mobile-history-fab-btn{pointer-events:auto;width:48px;height:48px;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:#0a0e1ed1;color:#e2e8f0;font-size:20px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 10px 28px #00000073;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);touch-action:manipulation}.mobile-history-fab-btn:disabled{opacity:.32;cursor:not-allowed}.mobile-history-fab-btn:not(:disabled):active{transform:scale(.96)}.mobile-history-fab-btn.measure-active{background:#2563eb59;border-color:#60a5faa6;color:#93c5fd;box-shadow:0 10px 28px #2563eb59}@media (max-width: 768px){.ribbon-history-group{display:none!important}.mobile-history-fab{display:flex}}@media (any-pointer: coarse){.mobile-history-fab{display:flex}}.ribbon-divider{width:1px;height:20px;background:#ffffff1f;flex-shrink:0;margin:0 6px}.ribbon-dashboard-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:#d0d0e8;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}.ribbon-dashboard-btn:hover{background:#ffffff24;border-color:#ffffff47;color:#fff}.sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;background:#00000073;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:sb-fade-in .18s ease-out}@keyframes sb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sb-slide-in{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.design-sidebar{position:absolute;top:0;left:0;bottom:0;z-index:19;width:min(320px,78vw);display:flex;flex-direction:column;background:#0a0e1eb8;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 32px #0000008c;animation:sb-slide-in .22s cubic-bezier(.22,1,.36,1);overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;min-height:48px}.sidebar-header-titles{display:flex;flex-direction:column;gap:2px}.sidebar-header-en{font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffffffe0}.sidebar-header-ta{font-size:.72rem;color:#b4c8ff8c;font-weight:400;letter-spacing:.01em}.sidebar-close-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#c8c8dc99;cursor:pointer;flex-shrink:0;transition:background .14s,color .14s}.sidebar-close-btn:hover{background:#ffffff24;color:#fff}.sidebar-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.sidebar-cat{border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-cat-header{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .14s}.sidebar-cat-header:hover{background:#ffffff0d}.sidebar-cat-header.open{background:#ffffff0a}.sidebar-cat-emoji{font-size:1.05rem;flex-shrink:0;line-height:1}.sidebar-cat-labels{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-en{font-size:.83rem;font-weight:700;color:#e6ebffeb;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-en.sm{font-size:.78rem;font-weight:600}.sidebar-ta{font-size:.69rem;color:#a0b4e694;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-chevron{flex-shrink:0;color:#b4b4d273;transition:transform .2s ease}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-chevron.sm{color:#a0a0c859}.sidebar-items{padding:2px 0 6px;background:#00000026}.sidebar-item-group{display:flex;flex-direction:column}.sidebar-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 32px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s}.sidebar-item:hover{background:#ffffff0d}.sidebar-item.open{background:#ffffff0a}.sidebar-item-dot{width:5px;height:5px;border-radius:50%;background:#a0b4ff73;flex-shrink:0}.sidebar-item-labels{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-hint{font-size:.64rem;color:#8296c873;font-weight:400;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-subitems{padding:1px 0 4px;background:#0000001a}.sidebar-subitem{width:100%;display:flex;align-items:center;gap:9px;padding:6px 16px 6px 46px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s}.sidebar-subitem:hover{background:#ffffff0a}.sidebar-sub-dot{width:3px;height:3px;border-radius:50%;background:#82a0dc66;flex-shrink:0}.sidebar-info-panel{margin:0 10px 8px;padding:8px 10px;background:#0f172a99;border:1px solid rgba(148,163,184,.1);border-radius:8px;display:flex;flex-direction:column;gap:7px;flex-shrink:0}.sidebar-info-row{display:flex;flex-direction:column;gap:2px}.sidebar-info-en{display:flex;align-items:center;gap:0;color:#e2e8f0d9}.sidebar-info-value{font-size:11px;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.sidebar-info-sep{color:#94a3b880}.sidebar-info-swatch{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;flex-shrink:0;vertical-align:middle}.sidebar-info-ta{font-size:9.5px;color:#94a3b88c;padding-left:13px;font-weight:500;line-height:1.2}.sidebar-quotation{flex-shrink:0;margin:0 12px}.sidebar-quotation-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:10px;cursor:pointer;color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.03em;transition:background .15s,border-color .15s,color .15s;text-align:left}.sidebar-quotation-btn:hover{background:#10b98129;border-color:#10b98180;color:#a7f3d0}.sidebar-quotation.open .sidebar-quotation-btn{background:#10b98133;border-color:#10b981a6;color:#6ee7b7;border-bottom-left-radius:0;border-bottom-right-radius:0}.sidebar-quotation-icon{font-size:13px;line-height:1;flex-shrink:0;color:#34d399}.sidebar-quotation-label{flex:1}.sidebar-quotation-total{font-size:.72rem;font-weight:700;color:#6ee7b7;white-space:nowrap}.sidebar-quotation-chevron{font-size:8px;opacity:.55}.sidebar-quotation-body{padding:9px 12px 10px;background:#064e3b40;border:1px solid rgba(16,185,129,.35);border-top:none;border-radius:0 0 10px 10px;max-height:44vh;overflow-y:auto;display:flex;flex-direction:column;gap:5px}.sidebar-quotation-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.68rem;color:#e2e8f0c7}.sidebar-quotation-row>span:last-child{font-weight:600;color:#e2e8f0;text-align:right;white-space:nowrap}.sidebar-quotation-row.sub{font-size:.66rem;color:#94a3b8d9}.sidebar-quotation-row.emphasis>span:last-child{color:#6ee7b7}.sidebar-quotation-row.grand{font-size:.76rem;font-weight:700}.sidebar-quotation-row.grand>span:last-child{color:#34d399;font-size:.82rem}.sidebar-quotation-divider{height:1px;background:#94a3b829;margin:3px 0}.sidebar-quotation-empty{margin:0;font-size:.66rem;line-height:1.5;color:#94a3b8bf}.sidebar-quotation-note{margin:2px 0 0;font-size:.6rem;line-height:1.45;color:#6ee7b78c}.sidebar-quote-tabs{display:flex;gap:4px;padding:3px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:6px}.sidebar-quote-tab{flex:1;padding:6px 4px;background:transparent;border:none;border-radius:6px;font-size:.64rem;font-weight:700;letter-spacing:.02em;color:#94a3b8d9;cursor:pointer;transition:background .15s,color .15s}.sidebar-quote-tab:hover{color:#e2e8f0}.sidebar-quote-tab.active{background:#34d39929;color:#6ee7b7}.sidebar-margin-field{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#34d39912;border:1px solid rgba(52,211,153,.25);border-radius:8px;margin:2px 0}.sidebar-transport-fields{display:flex;flex-direction:column;gap:4px;margin:4px 0}.sidebar-margin-label{font-size:.64rem;font-weight:700;color:#6ee7b7;line-height:1.3}.sidebar-margin-input{width:74px;padding:5px 8px;background:#ffffff12;border:1px solid rgba(52,211,153,.35);border-radius:6px;color:#ecfdf5;font-size:.78rem;font-weight:700;text-align:right;outline:none;-moz-appearance:textfield}.sidebar-margin-input::-webkit-inner-spin-button,.sidebar-margin-input::-webkit-outer-spin-button{-webkit-appearance:none}.sidebar-margin-input:focus{border-color:#34d399;background:#34d3991a}.sidebar-pricing-settings{display:flex;flex-direction:column;gap:4px;margin:6px 8px 4px;padding-top:8px;border-top:1px dashed rgba(52,211,153,.25)}.bs-picker-panel{margin:4px 8px 8px 26px;padding:8px;background:#38bdf80d;border:1px solid rgba(56,189,248,.16);border-radius:10px;display:flex;flex-direction:column;gap:6px}.bs-picker-note{margin:0 0 2px;font-size:.6rem;line-height:1.45;color:#94a3b8bf}.bs-option-row{display:flex;align-items:center;gap:6px}.bs-option{flex:1;display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.bs-option:hover{background:#38bdf814}.bs-option.selected{background:#38bdf821;border-color:#38bdf873}.bs-option-radio{width:10px;height:10px;border-radius:50%;border:2px solid rgba(148,163,184,.6);flex:none}.bs-option.selected .bs-option-radio{border-color:#38bdf8;background:#38bdf8;box-shadow:0 0 5px #38bdf8cc}.bs-option-name{font-size:.68rem;font-weight:700;color:#e2e8f0;white-space:nowrap}.bs-option-meta{font-size:.58rem;color:#94a3b8b3;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-price-field{display:inline-flex;align-items:center;gap:3px;flex:none}.bs-price-symbol{font-size:.66rem;font-weight:700;color:#7dd3fc}.bs-price-input{width:68px;padding:6px;background:#ffffff0f;border:1px solid rgba(56,189,248,.3);border-radius:6px;color:#f0f9ff;font-size:.7rem;font-weight:700;text-align:right;outline:none;-moz-appearance:textfield}.bs-price-input::-webkit-inner-spin-button,.bs-price-input::-webkit-outer-spin-button{-webkit-appearance:none}.bs-price-input:focus{border-color:#38bdf8;background:#38bdf81a}.bs-delete-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid rgba(248,113,113,.25);border-radius:6px;color:#f87171b3;cursor:pointer;transition:background .15s,color .15s}.bs-delete-btn:hover{background:#f871711f;color:#f87171}.bs-edit-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid rgba(56,189,248,.25);border-radius:6px;color:#38bdf8b3;cursor:pointer;transition:background .15s,color .15s}.bs-edit-btn:hover{background:#38bdf81f;color:#38bdf8}.bs-edit-form{border-color:#38bdf866}.bs-add-toggle{padding:7px 8px;background:transparent;border:1px dashed rgba(56,189,248,.35);border-radius:8px;font-size:.66rem;font-weight:700;color:#7dd3fc;cursor:pointer;transition:background .15s}.bs-add-toggle:hover{background:#38bdf814}.bs-add-form{display:flex;flex-direction:column;gap:6px;padding:8px;background:#38bdf80f;border:1px solid rgba(56,189,248,.25);border-radius:8px}.bs-add-fields{display:flex;flex-direction:column;gap:5px}.bs-add-input{padding:6px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#f0f9ff;font-size:.7rem;outline:none}.bs-add-input:focus{border-color:#38bdf8}.bs-add-actions{display:flex;justify-content:flex-end;gap:6px}.sqft-report-body{gap:7px;padding-bottom:16px}.sqft-report-hero{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:10px 0 12px;border-bottom:1px solid rgba(148,163,184,.16);margin-bottom:4px}.sqft-report-hero-value{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:#34d399;font-variant-numeric:tabular-nums}.sqft-report-hero-unit{font-size:.72rem;font-weight:600;color:#94a3b8e6;text-transform:uppercase;letter-spacing:.08em}.sidebar-footer{padding:10px 16px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}.sidebar-footer-text{font-size:.65rem;color:#828cb466;letter-spacing:.06em;text-transform:uppercase;font-weight:600}@media (max-width: 480px){.design-sidebar{width:min(300px,85vw)}}.sidebar-capture-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 20px;background:linear-gradient(135deg,#38bdf81c,#6366f117);border:none;border-left:3px solid rgba(56,189,248,.6);cursor:pointer;text-align:left;transition:background .15s,border-color .15s;margin-bottom:3px}.sidebar-capture-btn:hover{background:linear-gradient(135deg,#38bdf833,#6366f129);border-left-color:#38bdf8}.sidebar-capture-btn:active{opacity:.82}.sidebar-capture-icon{flex-shrink:0;color:#38bdf8;filter:drop-shadow(0 0 4px rgba(56,189,248,.5))}.sidebar-capture-en{color:#bae6fd!important;font-weight:800!important}.sidebar-capture-badge{flex-shrink:0;font-size:.58rem;font-weight:800;letter-spacing:.09em;color:#38bdf8;background:#38bdf821;border:1px solid rgba(56,189,248,.28);border-radius:4px;padding:2px 6px;white-space:nowrap}.design-info-toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%);z-index:10;padding:6px 18px;border-radius:20px;background:#080814b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#b4b4d2e6;font-size:.74rem;white-space:nowrap;pointer-events:none;animation:badge-in .2s ease-out}.design-axis-legend{display:flex;align-items:center;gap:6px}.design-axis-x,.design-axis-y,.design-axis-z{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.design-axis-x{background:#ff22222e;border:1px solid rgba(255,34,34,.45);color:#f66}.design-axis-y{background:#22cc552e;border:1px solid rgba(34,204,85,.45);color:#4e8}.design-axis-z{background:#2255ff2e;border:1px solid rgba(34,85,255,.45);color:#69f}@keyframes badge-in{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.design-page-nav-btn{border-top:1px solid rgba(255,255,255,.06);margin-top:6px;padding-top:10px;color:#a0c4ff!important}.design-page-nav-btn:hover{color:#c8ddff!important;background:#64a0ff1a!important}.design-nav-icon{flex-shrink:0;opacity:.85}@media (max-width: 600px){.ribbon-workspace-label{display:none}.ribbon-material-badge{font-size:.6rem;padding:2px 8px}.ribbon-context,.ribbon-theme-group{display:none}.design-ribbon{padding:0 10px;height:44px}}.ribbon-mat-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 5px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#ffffffeb;font-size:.68rem;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s;white-space:nowrap;margin-top:2px}.ribbon-mat-chip:hover{background:#ffffff24;border-color:#ffffff4d}.ribbon-mat-chip strong{font-weight:700;color:#fff}.ribbon-mat-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ribbon-mat-sheet{margin-left:2px;opacity:.6;font-size:.62rem}.mat-active-hint{color:#34d399!important;font-weight:600!important}.mat-picker-panel{margin:4px 0 6px 18px;border-left:2px solid rgba(255,255,255,.08);padding-left:10px}.mat-card-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;padding-right:2px}.mat-card-list::-webkit-scrollbar{width:3px}.mat-card-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.mat-card{display:flex;align-items:flex-start;gap:8px;width:100%;padding:7px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#ffffff0a;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;position:relative}.mat-card:hover{background:#ffffff17;border-color:#ffffff26}.mat-card.selected{background:color-mix(in srgb,var(--mat-color, #888) 14%,transparent);border-color:color-mix(in srgb,var(--mat-color, #888) 50%,transparent)}.mat-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0;margin-top:3px}.mat-card-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.mat-card-name{font-size:.74rem;font-weight:600;color:#ffffffe6;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.mat-card-sub{font-size:.64rem;font-weight:400;opacity:.65}.mat-card-hint{font-size:.62rem;color:#b4bed28c;line-height:1.3}.mat-check{flex-shrink:0;color:#34d399;margin-top:2px}.mat-config-section{margin-top:8px;padding:10px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}.mat-config-label{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b4bedc8c}.mat-chip-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mat-chip{padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffbf;font-size:.67rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.mat-chip:hover{background:#ffffff1f;color:#fff}.mat-chip.active{background:#63b3ed38;border-color:#63b3ed;color:#93c5fd;font-weight:700}.mat-confirm-btn{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px;padding:7px 12px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;color:#fff;font-size:.72rem;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:opacity .18s,transform .1s;width:100%}.mat-confirm-btn:hover{opacity:.88}.mat-confirm-btn:active{transform:scale(.97)}.mat-card-wrapper{display:flex;flex-direction:column}.mat-card-row{display:flex;align-items:stretch;gap:3px}.mat-card-row .mat-card{flex:1;min-width:0;width:auto;border-radius:10px 4px 4px 10px}.mat-card-actions{display:flex;flex-direction:column;gap:3px;justify-content:center;flex-shrink:0}.mat-action-btn{width:27px;height:27px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:6px;color:#c8bef08c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.mat-action-btn:hover{background:#ffffff1a;color:#fff}.mat-action-btn.edit-btn:hover{color:#93c5fd;background:#3b82f626;border-color:#3b82f64d}.mat-action-btn.del-btn:hover{color:#f87171;background:#ef444426;border-color:#ef44444d}.mat-card-edit-form{padding:11px 12px 10px;background:#0c0c1ce0;border:1.5px solid rgba(167,139,250,.35);border-radius:10px;animation:matFormSlideIn .18s ease}.mat-edit-header{display:flex;align-items:center;gap:7px;margin-bottom:8px}.mat-swatch.sm{width:10px;height:10px;min-width:10px;border-radius:3px}.mat-edit-title{flex:1;font-size:11px;font-weight:700;color:#c8bef0e6;letter-spacing:.04em;text-transform:uppercase}.mat-edit-input{display:block;width:100%;padding:6px 9px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#f0ecff;font-size:12px;outline:none;box-sizing:border-box;margin-bottom:6px;transition:border-color .15s,background .15s;-moz-appearance:textfield}.mat-edit-input::-webkit-inner-spin-button,.mat-edit-input::-webkit-outer-spin-button{-webkit-appearance:none}.mat-edit-input:focus{border-color:#a78bfa;background:#a78bfa14}.mat-edit-input::placeholder{color:#c8bef04d}.mat-edit-input.sm{width:72px;flex-shrink:0;margin-bottom:0}.mat-edit-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.mat-edit-row .mat-edit-input{margin-bottom:0}.mat-bound-price-list{display:flex;flex-direction:column;gap:4px;margin:2px 0 6px;padding:8px 9px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.mat-bound-price-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a78bfae6;margin-bottom:2px}.mat-bound-price-row{display:flex;align-items:center;gap:6px}.mat-bound-price-size{flex:1;font-size:11.5px;font-weight:600;color:#e2e8f0;font-variant-numeric:tabular-nums}.mat-bound-price-len{margin-left:4px;font-size:10px;font-weight:500;color:#94a3b8b3}.mat-bound-price-currency{font-size:11.5px;color:#94a3b8d9}.mat-bound-price-input{width:84px;text-align:right}.mat-bound-price-note{margin-top:3px;font-size:9.5px;line-height:1.4;color:#94a3b8a6}.mat-more-toggle{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;background:#6366f112;border:1.5px dashed rgba(99,102,241,.35);border-radius:10px;cursor:pointer;color:#a5b4fc;text-align:left;transition:background .18s,border-color .18s}.mat-more-toggle:hover{background:#6366f124;border-color:#6366f199}.mat-more-toggle.expanded{background:#6366f11f;border-style:solid;border-color:#6366f180}.mat-more-icon{font-size:13px;flex-shrink:0;line-height:1}.mat-add-custom-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;background:#7c3aed14;border:1.5px dashed rgba(124,58,237,.45);border-radius:10px;cursor:pointer;color:#c4b5fd;text-align:left;transition:background .18s,border-color .18s;margin-top:6px}.mat-add-custom-btn:hover{background:#7c3aed29;border-color:#7c3aedbf}.mat-add-custom-btn.active{background:#7c3aed38;border-color:#a78bfa}.mat-add-custom-icon{font-size:14px;flex-shrink:0}.mat-custom-form{margin-top:8px;padding:14px 13px 12px;background:#0f0f1eb8;border:1px solid rgba(124,58,237,.4);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:matFormSlideIn .22s ease}@keyframes matFormSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mat-form-title{display:flex;align-items:center;font-size:11.5px;font-weight:700;color:#c4b5fd;margin:0 0 11px;letter-spacing:.02em}.mat-form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}.mat-form-label{font-size:10.5px;font-weight:600;color:#c8bef0bf;letter-spacing:.03em}.mat-form-input{width:100%;padding:7px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f0ecff;font-size:12.5px;outline:none;transition:border-color .15s,background .15s;box-sizing:border-box;-moz-appearance:textfield}.mat-form-input::-webkit-inner-spin-button,.mat-form-input::-webkit-outer-spin-button{-webkit-appearance:none}.mat-form-input:focus{border-color:#a78bfa;background:#a78bfa1a}.mat-form-input::placeholder{color:#c8bef059}.mat-form-error{font-size:11px;color:#f87171;margin:0 0 8px;padding:6px 9px;background:#f871711a;border-radius:7px;border:1px solid rgba(248,113,113,.25)}.mat-form-actions{display:flex;gap:8px;margin-top:4px}.mat-form-cancel{flex:1;padding:7px 0;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#c8bef0b3;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.mat-form-cancel:hover{background:#ffffff1a}.mat-form-save{flex:2;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 0;background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .12s;letter-spacing:.02em}.mat-form-save:hover{opacity:.88}.mat-form-save:active{transform:scale(.97)}.mat-gap-config{margin:0 0 10px;padding:8px 10px;background:#1e293b8c;border:1px solid rgba(148,163,184,.12);border-radius:8px}.mat-gap-config-title{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:#94a3b8;letter-spacing:.03em;text-transform:uppercase;margin-bottom:7px}.mat-gap-config-sub{font-weight:400;font-size:9.5px;color:#64748b;text-transform:none;letter-spacing:0}.mat-gap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.mat-gap-cell{display:flex;flex-direction:column;align-items:center;gap:3px}.mat-gap-label{font-size:9px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.mat-gap-input{width:100%;padding:4px 5px;background:#0f172ab3;border:1.5px solid rgba(148,163,184,.2);border-radius:5px;color:#e2e8f0;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;text-align:center;transition:border-color .15s;-moz-appearance:textfield}.mat-gap-input::-webkit-inner-spin-button,.mat-gap-input::-webkit-outer-spin-button{-webkit-appearance:none}.mat-gap-input:focus{outline:none;border-color:#6366f199;background:#0f172ae6}.mat-optimizer-panel{margin-top:10px;padding:11px 12px 10px;background:#080814bf;border:1px solid rgba(99,102,241,.3);border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mat-optimizer-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#a5b4fc;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.mat-optimizer-sub{font-size:9.5px;font-weight:400;color:#a5b4fc8c;text-transform:none;letter-spacing:0;margin-left:2px}.mat-optimizer-input-row{display:flex;gap:6px;margin-bottom:7px}.mat-optimizer-input{flex:1;padding:6px 9px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#f0ecff;font-size:12px;outline:none;transition:border-color .15s;-moz-appearance:textfield}.mat-optimizer-input::-webkit-inner-spin-button,.mat-optimizer-input::-webkit-outer-spin-button{-webkit-appearance:none}.mat-optimizer-input:focus{border-color:#818cf8}.mat-optimizer-input::placeholder{color:#a5b4fc4d;font-size:10px}.mat-optimizer-check-btn{padding:6px 11px;background:#6366f133;border:1px solid rgba(99,102,241,.45);border-radius:7px;color:#a5b4fc;font-size:11.5px;font-weight:700;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.mat-optimizer-check-btn:hover{background:#6366f159;color:#e0e7ff}.mat-optimizer-result{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-radius:8px;margin-bottom:7px;font-size:11.5px;line-height:1.5}.mat-optimizer-result.exact{background:#10b9811f;border:1px solid rgba(16,185,129,.3)}.mat-optimizer-result.trim{background:#f59e0b1a;border:1px solid rgba(245,158,11,.28)}.mat-optimizer-result.snap{background:#ef44441a;border:1px solid rgba(239,68,68,.28)}.mat-optimizer-result.oversize{background:#ef444426;border:1px solid rgba(239,68,68,.4)}.mat-opt-exact{color:#6ee7b7;display:flex;align-items:center}.mat-opt-warn{color:#fcd34d;display:flex;align-items:center}.mat-opt-tip{color:#fde68ad9;font-size:10.5px;line-height:1.5}.mat-opt-door{color:#a78bfae6;font-size:10.5px;line-height:1.5}.mat-opt-spectrum{display:flex;gap:3px;flex-wrap:wrap;margin-top:6px}.mat-opt-band{padding:2px 6px;border-radius:5px;font-size:10px;font-weight:600;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#c8bef099;transition:background .15s,color .15s,border-color .15s}.mat-opt-band.exact{background:#10b98133;border-color:#10b98180;color:#6ee7b7}.mat-opt-band.allocated{background:#f59e0b33;border-color:#f59e0b80;color:#fcd34d}.carcass-toolbar{position:fixed;left:8px;top:50px;display:flex;flex-direction:column;gap:3px;z-index:200;background:#0a0f20eb;border:1px solid rgba(99,102,241,.28);border-radius:12px;padding:6px 4px 4px;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 12px 40px #0000008c,0 0 0 1px #ffffff0a inset;max-height:calc(100dvh - 60px);overflow-y:auto}.carcass-tool-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 5px 5px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#94a3b8;min-width:58px;max-width:64px;transition:background .14s,border-color .14s,color .14s}.carcass-tool-btn:hover{background:#6366f124;border-color:#6366f161;color:#e2e8f0}.carcass-tool-btn:active{transform:scale(.95)}.carcass-tool-btn.close-tool{color:#f87171a6;margin-top:4px;border-top:1px solid rgba(255,255,255,.06);padding-top:9px;border-radius:0 0 8px 8px}.carcass-tool-btn.close-tool:hover{background:#ef444421;border-color:#ef444459;color:#fca5a5}.carcass-tool-emoji{font-size:17px;line-height:1;display:block}.carcass-tool-labels{display:flex;flex-direction:column;align-items:center;gap:0}.carcass-tool-en{font-size:7.5px;font-weight:700;color:inherit;text-align:center;line-height:1.25;white-space:normal;word-break:break-word;max-width:54px}.carcass-tool-ta{font-size:7px;color:#94a3b880;text-align:center;line-height:1.25;max-width:54px;word-break:break-word}.sidebar-item.active{background:#6366f11f!important;color:#a5b4fc!important}.construction-palette{width:132px;padding:0 4px 4px;gap:2px}.palette-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 -4px 2px;padding:7px 8px 6px 10px;background:#0a0f20f7;border-bottom:1px solid rgba(99,102,241,.22);border-radius:11px 11px 0 0}.palette-title{font-size:11.5px;font-weight:800;letter-spacing:.4px;color:#c7d2feeb;white-space:nowrap}.palette-close-btn{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(248,113,113,.35);border-radius:6px;background:#f871711f;color:#fca5a5e6;font-size:10px;line-height:1;cursor:pointer;transition:background .14s,color .14s}.palette-close-btn:hover{background:#f8717147;color:#fff}.palette-group-header{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-top:3px;padding:5px 8px;border:1px solid rgba(99,102,241,.2);border-radius:8px;background:#6366f11a;color:#cdd2f5d9;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.palette-group-header:hover{background:#6366f133;color:#e0e7fffa}.palette-group-header.open{background:#6366f142;border-color:#818cf873;color:#e0e7ff}.palette-chevron{font-size:10px;opacity:.75}.construction-palette .carcass-tool-btn{width:100%}.design-hud{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:240;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#0a0f20f0;border:1px solid rgba(99,102,241,.35);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 10px 34px #0000008c,0 0 0 1px #ffffff0a inset;max-width:calc(100vw - 16px);animation:design-hud-in .16s cubic-bezier(.22,1,.36,1)}@keyframes design-hud-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.design-hud-label{padding:0 6px 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.25px;color:#c7d2fef2;white-space:nowrap}.design-hud-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#94a3b81a;color:#e2e8f0;font-size:11.5px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .13s,border-color .13s,color .13s}.design-hud-btn:hover{background:#6366f13d;border-color:#818cf88c;color:#e0e7ff}.design-hud-btn--danger{border-color:#f8717159;background:#f871711a;color:#fecaca}.design-hud-btn--danger:hover{background:#ef444442;border-color:#f8717199;color:#fff}@media (max-width: 720px){.design-hud{bottom:76px;gap:4px;padding:5px 6px}.design-hud-btn{padding:6px 9px;font-size:11px}.design-hud-label{font-size:10.5px;padding-left:6px}}.meas-options-panel{position:fixed;left:8px;top:228px;width:184px;z-index:210;display:flex;flex-direction:column;gap:6px;background:#0c1426eb;border:1px solid rgba(96,165,250,.3);border-radius:12px;padding:10px;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 12px 38px #0000008c,0 0 0 1px #60a5fa0f inset;color:#e2e8f0;font-size:12px;transition:transform .2s ease,opacity .2s ease}.meas-options-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#93c5fd;letter-spacing:.3px;padding-bottom:4px;border-bottom:1px solid rgba(96,165,250,.15)}.meas-options-title{font-size:12px}.meas-options-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:6px;border:1px solid transparent;background:transparent;color:#94a3b8;font-size:14px;line-height:1;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.meas-options-close:hover{color:#f8fafc;background:#f8fafc1a;border-color:#f8fafc2e}.meas-option-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(96,165,250,.22);background:#1e293b8c;color:#e2e8f0;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;text-align:left}.meas-option-toggle:hover{background:#1e293bd9;border-color:#60a5fa73}.meas-option-toggle.active{background:#60a5fa2e;border-color:#60a5fa8c;box-shadow:0 0 0 1px #60a5fa26 inset}.meas-option-icon{font-size:14px;line-height:1;filter:saturate(1.2)}.meas-option-label{flex:1;font-size:12px;font-weight:500}.meas-option-status{font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;background:#94a3b826;color:#94a3b8;transition:background .15s ease,color .15s ease}.meas-option-status.on{background:#60a5fa40;color:#93c5fd}.carcass-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:300;animation:carcass-fade-in .15s ease}@keyframes carcass-fade-in{0%{opacity:0}to{opacity:1}}.carcass-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:301;width:min(360px,92vw);background:#0a0e1ef7;border:1px solid rgba(99,102,241,.38);border-radius:16px;overflow:hidden;box-shadow:0 32px 96px #000000b3,0 0 0 1px #ffffff0a inset;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);animation:carcass-modal-drop .18s cubic-bezier(.34,1.56,.64,1)}@keyframes carcass-modal-drop{0%{opacity:0;transform:translate(-50%,calc(-50% - 16px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.carcass-modal.carcass-modal--draggable{top:80px;left:unset;right:18px;transform:translate(0);animation:carcass-modal-drop-drag .18s cubic-bezier(.34,1.56,.64,1)}@keyframes carcass-modal-drop-drag{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.carcass-modal-header{display:flex;align-items:flex-start;flex-direction:column;gap:6px;padding:16px 16px 12px;background:#6366f112;border-bottom:1px solid rgba(99,102,241,.14);position:relative}.carcass-modal-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:#e2e8f0;letter-spacing:.02em}.carcass-modal-title-emoji{font-size:20px}.carcass-modal-mat-tag{display:flex;align-items:center;gap:5px;font-size:10px;color:#64748b;font-weight:500;letter-spacing:.03em}.carcass-modal-mat-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.carcass-modal-close-btn{position:absolute;top:12px;right:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;color:#475569;padding:5px;display:flex;align-items:center;justify-content:center;transition:background .13s,color .13s}.carcass-modal-close-btn:hover{background:#ef44441f;color:#f87171}.carcass-modal-body{padding:14px 16px 10px;display:flex;flex-direction:column;gap:11px}.carcass-dim-label{display:flex;flex-direction:column;gap:5px}.carcass-dim-label-text{display:flex;align-items:baseline;gap:6px;font-size:10px;font-weight:700;color:#64748b;letter-spacing:.06em;text-transform:uppercase}.carcass-dim-label-ta{font-size:9px;color:#64748ba6;font-weight:500;text-transform:none;letter-spacing:0}.carcass-dim-input{padding:10px 13px;background:#141e37cc;border:1.5px solid rgba(148,163,184,.18);border-radius:8px;color:#e2e8f0;font-size:14px;font-family:JetBrains Mono,Fira Code,monospace;font-weight:600;transition:border-color .14s,box-shadow .14s;width:100%;box-sizing:border-box}.carcass-dim-input:focus{outline:none;border-color:#6366f199;box-shadow:0 0 0 3px #6366f11f}.carcass-dim-input::-webkit-inner-spin-button,.carcass-dim-input::-webkit-outer-spin-button{opacity:.4}.hinge-count-field{display:flex;flex-direction:column;gap:4px;width:100%;box-sizing:border-box;padding:6px 10px}.hinge-count-field__label{display:block;font-size:11px;font-weight:800;color:#22d3ee;line-height:1.3}.hinge-count-field__wrap{position:relative;display:flex;align-items:stretch;width:100%;min-width:0}.hinge-count-field__input{width:100%;padding:8px 36px 8px 12px;background:#141e37cc;border:1.5px solid rgba(148,163,184,.22);border-radius:8px;color:#e2e8f0;font-size:14px;font-family:JetBrains Mono,Fira Code,monospace;font-weight:700;box-sizing:border-box;transition:border-color .14s,box-shadow .14s;-moz-appearance:textfield}.hinge-count-field__input::-webkit-inner-spin-button,.hinge-count-field__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hinge-count-field__input:focus{outline:none;border-color:#22d3eea6;box-shadow:0 0 0 3px #22d3ee1f}.hinge-count-field__tick{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:#34d399;font-size:15px;font-weight:800;line-height:1;cursor:pointer;transition:background .12s,color .12s}.hinge-count-field__tick:hover{background:#34d39929;color:#6ee7b7}.hinge-count-field__tick:active{background:#34d39947}.hinge-count-field--compact{padding:4px 0 0}.carcass-modal-error{font-size:11px;color:#f87171;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:7px 10px;margin:2px 0 0}.room-modal-hc,.room-modal-hc .carcass-dim-label-text{color:#f1f5f9}.room-modal-hc input.carcass-dim-input{color:#fff;background:#101a33eb;border-color:#94a3b873}.room-modal-hc select,.room-modal-hc select option{background:#101a33;color:#fff}.room-modal-hc input[type=checkbox]{accent-color:#22d3ee}.room-modal-hc .room-field-row{display:flex;align-items:stretch;gap:12px}.room-modal-hc .room-field-row>.carcass-dim-label{flex:1;min-width:0}.room-modal-hc .room-field-row .carcass-dim-input,.room-modal-hc .room-field-row select{margin-top:auto}.room-modal-hc input.carcass-dim-input{height:40px;padding-top:0;padding-bottom:0}.room-modal-hc select{height:40px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.82}}.carcass-skirting-row{display:flex;align-items:center;gap:10px;padding:4px 0}.carcass-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.carcass-toggle input[type=checkbox]{display:none}.carcass-toggle-track{position:relative;width:36px;height:20px;background:#ffffff26;border-radius:10px;border:1px solid rgba(255,255,255,.2);transition:background .2s;flex-shrink:0}.carcass-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#ffffff8c;transition:transform .2s,background .2s}.carcass-toggle input:checked~.carcass-toggle-track{background:#3b82f699;border-color:#3b82f6cc}.carcass-toggle input:checked~.carcass-toggle-track:after{transform:translate(16px);background:#fff}.carcass-toggle-label{font-size:11px;color:#ffffffbf;white-space:nowrap}.carcass-shelf-type-row{display:flex;flex-direction:column;gap:6px;padding:4px 0}.carcass-radio-group{display:flex;gap:6px;flex-wrap:wrap}.carcass-radio-btn{display:inline-flex;align-items:center;padding:5px 10px;border-radius:6px;font-size:11px;color:#ffffffb3;background:#ffffff14;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.carcass-radio-btn.active{background:#3b82f64d;border-color:#3b82f6b3;color:#93c5fd}.carcass-modal-confirm{display:flex;align-items:center;justify-content:center;gap:7px;margin:4px 16px 16px;width:calc(100% - 32px);padding:12px 16px;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:9px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .14s,transform .1s,box-shadow .14s;box-shadow:0 4px 20px #6366f166}.carcass-modal-confirm:hover{opacity:.9;box-shadow:0 6px 28px #6366f18c}.carcass-modal-confirm:active{transform:scale(.97);opacity:.85}.shelf-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;background:transparent}.shelf-ctx-menu{position:fixed;z-index:701;min-width:196px;max-width:260px;background:#0f141eeb;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 32px #0000008c,0 0 0 1px #6366f140;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);overflow:hidden;animation:ctxFadeIn .12s ease;font-family:inherit}@keyframes ctxFadeIn{0%{opacity:0;transform:scale(.93) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.shelf-ctx-header{display:flex;align-items:center;gap:7px;padding:8px 28px 7px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:#6366f11f;position:relative;user-select:none;-webkit-user-select:none;touch-action:none}.shelf-ctx-icon{font-size:15px}.shelf-ctx-title{flex:1;font-size:12px;font-weight:600;color:#c7d2fe;letter-spacing:.4px}.shelf-ctx-close{position:absolute;top:7px;right:8px;background:none;border:none;color:#fff6;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s}.shelf-ctx-close:hover{color:#f87171;background:#f8717126}.shelf-ctx-sub{display:block;margin-top:1px;font-size:10px;font-weight:600;color:#94a3b8;letter-spacing:.2px}.shelf-ctx-actions{display:flex;gap:1px;padding:8px}.shelf-ctx-actions--stack{flex-direction:column;align-items:stretch;gap:4px}.shelf-ctx-actions--stack .shelf-ctx-btn{flex:0 0 auto;width:100%;justify-content:flex-start}.shutter-ctx-info{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;background:#0f172a8c;border:1px solid rgba(148,163,184,.35);color:#e2e8f0}.shutter-ctx-info__head{font-size:10px;font-weight:800;color:#7dd3fc;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.shutter-ctx-info__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:10.5px;line-height:1.5}.shutter-ctx-info__key{color:#94a3b8;flex:0 0 auto}.shutter-ctx-info__val{color:#f8fafc;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.shelf-ctx-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#ffffff0d;color:#e2e8f0;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.shelf-ctx-btn:active{transform:scale(.95)}.shelf-ctx-btn--move{border-color:#6366f173;color:#a5b4fc}.shelf-ctx-btn--move:hover{background:#6366f133;border-color:#6366f1b3}.shelf-ctx-btn--confirm{width:100%;margin-top:6px;background:#22c55e26;border-color:#22c55e80;color:#86efac;font-weight:600}.shelf-ctx-btn--confirm:hover{background:#22c55e47;border-color:#22c55ecc}.shelf-ctx-btn--delete{border-color:#f8717159;color:#fca5a5}.shelf-ctx-btn--delete:hover{background:#f871712e;border-color:#f87171a6}.shelf-ctx-btn--back{width:100%;margin-top:8px;color:#ffffff80;font-size:11px;border-color:#ffffff14}.shelf-ctx-btn--back:hover{background:#ffffff0f;color:#e2e8f0}.shelf-ctx-delete-confirm{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.shelf-ctx-delete-warning{font-size:11px;color:#ffffff80;text-align:center;margin:0 0 2px;line-height:1.4}.shelf-ctx-delete-row{display:flex;gap:6px}.shelf-ctx-btn--just-delete{flex:1;border-color:#f8717159;color:#fca5a5;font-size:11px}.shelf-ctx-btn--just-delete:hover{background:#f871712e;border-color:#f87171a6}.shelf-ctx-btn--rearrange{flex:1;border-color:#34d39959;color:#6ee7b7;font-size:11px}.shelf-ctx-btn--rearrange:hover{background:#34d3992e;border-color:#34d399a6}.shelf-ctx-move-panel{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.shelf-ctx-move-info{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#ffffff73;border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:7px;margin-bottom:2px}.shelf-ctx-move-info strong{color:#a5b4fc;font-size:13px}.shelf-ctx-move-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.shelf-ctx-move-label{display:flex;align-items:center;gap:5px;font-size:11px;color:#fff9;white-space:nowrap;min-width:84px}.shelf-ctx-move-dir{font-size:10px;color:#818cf8}.shelf-ctx-move-input-wrap{display:flex;align-items:center;gap:5px;flex:1;justify-content:flex-end}.shelf-ctx-move-input{width:72px;padding:5px 8px;background:#ffffff12;border:1px solid rgba(99,102,241,.4);border-radius:6px;color:#e2e8f0;font-size:13px;font-weight:600;text-align:right;outline:none;transition:border-color .15s}.shelf-ctx-move-input:focus{border-color:#6366f1d9;background:#6366f11f}.shelf-ctx-move-input::-webkit-inner-spin-button,.shelf-ctx-move-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.shelf-ctx-move-input[type=number]{-moz-appearance:textfield}.shelf-ctx-move-unit{font-size:10px;color:#ffffff59}.shelf-ctx-move-hint{font-size:10px;color:#ffffff47;text-align:center;margin-top:2px}.shelf-ctx-move-ref{font-size:9px;font-weight:400;color:#818cf8b3;margin-left:3px}.carcass-tool-hud{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:650;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f141eeb;border:1px solid rgba(56,189,248,.35);border-radius:10px;box-shadow:0 8px 28px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}.carcass-tool-hud-label{font-size:12px;font-weight:600;color:#7dd3fc;letter-spacing:.3px;padding:0 4px;white-space:nowrap}.carcass-tool-hud-btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e2e8f0;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;min-height:36px;touch-action:manipulation}.carcass-tool-hud-btn:hover{background:#ffffff1f}.carcass-tool-hud-btn--rotate{border-color:#38bdf880;color:#7dd3fc;background:#38bdf81f}.carcass-tool-hud-btn--rotate:hover{background:#38bdf838}.carcass-tool-hud-btn--rotate:active{transform:scale(.96)}.measurement-label{display:flex;align-items:center;gap:5px;padding:4px 8px 4px 10px;background:#0a1228e0;border:1px solid rgba(37,99,235,.7);border-radius:6px;box-shadow:0 2px 8px #00000080;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Inter,Segoe UI,sans-serif}.meas-value{font-size:13px;font-weight:700;color:#60a5fa;letter-spacing:.3px}.meas-bot .meas-value{color:#34d399}.meas-close{pointer-events:auto;background:transparent;border:none;color:#ffffff73;font-size:11px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s}.meas-close:hover{color:#f87171}.meas-2pt .meas-value{color:#4ade80}.measurement-label.meas-2pt{border-color:#22c55ea6}.meas-inline{pointer-events:auto;cursor:default;padding:1px 4px;font-size:10px;font-weight:700;font-family:Courier New,Courier,monospace;letter-spacing:.2px;white-space:nowrap;color:#93c5fd;background:#060c1cb3;border-radius:3px;border:1px solid rgba(147,197,253,.3);line-height:1.3;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s}.meas-inline:hover{background:#060c1ce6;border-color:#93c5fd99}.meas-inline.selected{background:#facc152e;border-color:#fbbf24;color:#fbbf24;box-shadow:0 0 6px #fbbf2473}.meas-inline-top{color:#93c5fd;border-color:#93c5fd4d}.meas-inline-bot{color:#6ee7b7;border-color:#6ee7b74d}.meas-inline-width{color:#c4b5fd;border-color:#c4b5fd4d}.meas-inline-height{color:#fdba74;border-color:#fdba744d}.meas-inline-depth{color:#67e8f9;border-color:#67e8f94d}.meas-inline-2pt{color:#86efac;border-color:#86efac4d}.meas-inline-gap{color:#93c5fd;border-color:#93c5fd4d}.meas-inline-clear{color:#d8b4fe;border-color:#d8b4fe59}.meas-inline-outer{color:#fcd34d;border-color:#fcd34d4d}.meas-inline-left{color:#4ade80;border-color:#4ade804d}.meas-inline-right{color:#fb7185;border-color:#fb71854d}.meas-preview-tip{pointer-events:none;padding:3px 8px;background:#0a1228e6;border:1px solid rgba(251,191,36,.75);border-radius:5px;font-size:12px;font-weight:700;color:#fbbf24;letter-spacing:.3px;white-space:nowrap;box-shadow:0 2px 6px #00000080;transform:translate(8px,-50%)}@keyframes meas-axis-blink{0%,to{opacity:1}50%{opacity:.55}}.meas-preview-tip.meas-axis-locked{animation:meas-axis-blink .7s ease-in-out infinite}.meas-preview-tip.meas-axis-locked[data-axis=x]{color:#f87171;border-color:#ef4444d9}.meas-preview-tip.meas-axis-locked[data-axis=y]{color:#4ade80;border-color:#22c55ed9}.meas-preview-tip.meas-axis-locked[data-axis=z]{color:#60a5fa;border-color:#3b82f6d9}.meas-preview-tip.meas-preview-tip-gap{border-color:#a855f7bf;color:#d8b4fe}.carcass-tool-btn.active{background:#2563eb40!important;border-color:#2563eb!important;color:#60a5fa!important}.compartment-indicator{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:7px;font-size:12px;line-height:1.4;margin-top:10px}.compartment-indicator--active{background:#f973161f;border:1px solid rgba(249,115,22,.4);color:#fdba74}.compartment-indicator--idle{background:#94a3b812;border:1px solid rgba(148,163,184,.2);color:#cbd5e1b3}.compartment-clear-btn{background:transparent;border:none;cursor:pointer;color:#f97316;font-size:11px;padding:0;text-decoration:underline}.compartment-clear-btn:hover{color:#fb923c}.gap-mode-row{display:flex;gap:4px;padding:10px 12px 6px;border-bottom:1px solid rgba(148,163,184,.12);background:#0000001f}.gap-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 5px;border:1px solid rgba(148,163,184,.2);border-radius:6px;background:transparent;color:#cbd5e1a6;font-size:10px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gap-mode-btn span:first-child{font-size:16px}.gap-mode-btn:hover{background:#94a3b81f;color:#cbd5e1}.partition-style-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.partition-style-label{font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.2px;flex-shrink:0}.partition-style-toggle{display:flex;flex:1;gap:4px;padding:3px;border-radius:8px;background:#0f172a8c;border:1px solid rgba(148,163,184,.18)}.partition-style-btn{flex:1;padding:6px 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:#94a3b8;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.partition-style-btn:hover{color:#e2e8f0;background:#94a3b81a}.partition-style-btn.active{background:#60a5fa33;border-color:#60a5fa73;color:#93c5fd}.gap-mode-btn.active{background:#22d3ee26;border-color:#22d3ee8c;color:#67e8f9}.gap-info-strip{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;font-size:11px;line-height:1.45;border-bottom:1px solid rgba(148,163,184,.1)}.gap-info-strip--hint{color:#cbd5e18c}.gap-info-strip--active{color:#67e8f9}.gap-info-strip--full{color:#cbd5e173;font-style:italic}.drawer-config-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px 6px;border-bottom:1px solid rgba(148,163,184,.12);background:#0000001f}.drawer-config-col{display:flex;flex-direction:column;gap:5px;min-width:0}.drawer-config-col .gap-mode-btn{height:100%;justify-content:center}.drawer-support-toggle{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #4b5563;border-radius:6px;background:#1118278c;color:#f3f4f6;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-support-toggle:hover{background:#374151}.drawer-support-toggle-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#4b5563;box-shadow:inset 0 0 0 1px #00000059;transition:background .15s,box-shadow .15s}.drawer-support-toggle.on{border-color:#22d3eea6;background:#10b9811a;color:#fff}.drawer-support-toggle.on .drawer-support-toggle-dot{background:#22d3ee;box-shadow:0 0 6px #22d3eebf}.drawer-facade-row{display:flex;flex-direction:column;gap:6px;margin-top:4px}.drawer-facade-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.drawer-facade-btn{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e2e8f0bf;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:600;cursor:pointer;min-height:36px;touch-action:manipulation}.drawer-facade-btn:hover{background:#ffffff14}.drawer-facade-btn.active{border-color:#38bdf88c;background:#38bdf829;color:#7dd3fc}.drawer-facade-hint{margin:0;font-size:10px;line-height:1.35;color:#ffffff61}.gap-clear-btn{background:transparent;border:none;cursor:pointer;color:#cbd5e180;font-size:12px;padding:0 0 0 4px;flex-shrink:0}.gap-clear-btn:hover{color:#f87171}.gap-waiting-banner{position:fixed;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;background:#0a1228ed;border:1.5px solid rgba(34,211,238,.7);border-radius:10px;color:#a5f3fc;font-size:13px;line-height:1.4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 28px #0000008c,0 0 0 1px #22d3ee1a;z-index:3500;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:520px;animation:gapBannerIn .22s ease}.gap-waiting-banner:hover{border-color:#22d3eef2}.gap-waiting-icon{font-size:18px;flex-shrink:0}.gap-waiting-text{flex:1}.gap-waiting-text strong{color:#22d3ee}.gap-waiting-cancel{flex-shrink:0;background:transparent;border:1px solid rgba(248,113,113,.4);border-radius:5px;color:#fca5a5;padding:3px 8px;font-size:12px;cursor:pointer}.gap-waiting-cancel:hover{background:#f8717126}@keyframes gapBannerIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bs-mode-split{display:flex;flex-direction:column;gap:5px;padding:4px 16px 6px 46px}.bs-mode-split--modal{padding:0;gap:8px}.bs-mode-body{overflow-y:auto;min-height:0}.bs-mode-hint{margin:0 0 10px;font-size:11px;line-height:1.4;color:#94a3b8d9}.bs-mode-chip{text-align:left;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.35;background:#1f2937;border:1px solid #4b5563;border-radius:7px;color:#f3f4f6;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.bs-mode-chip:hover:not(:disabled){background:#374151;border-color:#6b7280;color:#fff}.bs-mode-chip:disabled{opacity:.5;cursor:not-allowed;color:#9ca3af}.bs-mode-chip.armed{background:#10b98129;border-color:#22d3ee;box-shadow:0 0 0 1px #22d3ee73,0 0 10px #22d3ee40;color:#fff;font-weight:700}.drag-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#00000073;animation:carcass-fade-in .15s ease}.drag-modal{position:fixed;z-index:310;display:flex;flex-direction:column;background:#0a0e1ef0;border:1px solid rgba(99,102,241,.38);border-radius:16px;overflow:hidden;box-shadow:0 24px 72px #000000a6,0 0 0 1px #ffffff0a inset;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);color:#e2e8f0;touch-action:none;will-change:transform}.drag-modal--desktop.drag-modal--anchor-top-right{top:72px;right:14px;left:auto;bottom:auto}.drag-modal--desktop.drag-modal--anchor-center{top:50%;left:50%;right:auto;bottom:auto;margin-left:min(-180px,-20vw);margin-top:-20vh}.drag-modal--desktop.drag-modal--anchor-bottom{left:50%;bottom:16px;top:auto;right:auto;margin-left:min(-180px,-20vw)}.drag-modal--mobile{left:8px;right:8px;bottom:8px;top:auto;margin:0 auto;width:min(100vw - 16px,420px)!important;border-radius:18px 18px 14px 14px;background:#0a0e1ee0;border-color:#94a3b859}.drag-modal--collapsed{min-height:0}.drag-modal-handle{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:10px 12px 8px;background:#6366f114;border-bottom:1px solid rgba(99,102,241,.14);cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.drag-modal-handle:active{cursor:grabbing}.drag-modal-grip{align-self:center;display:flex;align-items:center;justify-content:center;width:48px;height:16px;padding:0;margin:-2px 0 2px;border:none;background:transparent;cursor:pointer}.drag-modal-grip-bar{display:block;width:36px;height:4px;border-radius:999px;background:#94a3b88c}.drag-modal-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.drag-modal-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#e2e8f0;letter-spacing:.02em;min-width:0}.drag-modal-emoji{font-size:18px;line-height:1}.drag-modal-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.drag-modal-collapse-btn,.drag-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:7px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#94a3b8;cursor:pointer;font-size:14px;line-height:1;transition:background .13s,color .13s}.drag-modal-collapse-btn:hover,.drag-modal-close:hover{background:#ef44441f;color:#f87171}.drag-modal-extra{font-size:10px;color:#94a3b8;padding-right:36px}.drag-modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px 12px 6px;touch-action:pan-y}.drag-modal-footer{flex-shrink:0;padding:8px 12px 12px;border-top:1px solid rgba(99,102,241,.12);background:#0a0e1e8c}.drag-modal-footer .carcass-modal-confirm{width:100%;margin:0}.drag-modal .carcass-modal-body{padding:0;gap:10px}.drag-modal .carcass-modal-mat-tag{display:inline-flex;align-items:center;gap:5px}.drag-modal-shell{z-index:310!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;will-change:transform;touch-action:none}.drag-modal-shell .carcass-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drag-modal-shell .carcass-modal-confirm{flex-shrink:0}.drag-modal-shell .carcass-modal-header,.drag-modal-shell .meas-options-header{flex-shrink:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-modal-shell-chip{display:none!important}.drag-modal-shell--mobile{top:auto!important;left:8px!important;right:8px!important;bottom:8px!important;width:min(100vw - 16px,420px)!important;margin:0 auto!important;border-radius:18px 18px 14px 14px!important;background:#0a0e1ee0!important}.drag-modal-shell--collapsed .carcass-modal-body,.drag-modal-shell--collapsed .carcass-modal-confirm,.drag-modal-shell--collapsed .meas-option-toggle,.drag-modal-shell--collapsed .shelf-ctx-actions,.drag-modal-shell--collapsed .shelf-ctx-move-panel,.drag-modal-shell--collapsed .shelf-ctx-delete-confirm,.drag-modal-shell--collapsed .drag-ctx-scroll,.drag-modal-shell--collapsed .bs-mode-body{display:none!important}.drag-ctx-pane{z-index:710!important;min-width:220px;max-width:min(92vw,320px);background:#0c1222f0!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.drag-ctx-pane.is-dragging{opacity:.96;box-shadow:0 20px 56px #0000008c}.drag-ctx-handle,[data-drag-handle=true]{cursor:grab!important;touch-action:none;user-select:none;-webkit-user-select:none}.drag-ctx-handle:active,.drag-ctx-pane.is-dragging .drag-ctx-handle,[data-drag-handle=true]:active,.is-dragging [data-drag-handle=true]{cursor:grabbing!important}.drag-ctx-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.drag-ctx-pane .shelf-ctx-actions{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.drag-modal-shell--mobile.drag-ctx-pane{width:min(100vw - 16px,420px)!important;max-width:none!important}@media (max-width: 768px){.carcass-modal,.carcass-modal.carcass-modal--draggable{top:auto!important;left:8px!important;right:8px!important;bottom:8px!important;width:min(100vw - 16px,420px)!important;max-height:38vh!important;transform:none!important;display:flex;flex-direction:column}.carcass-modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;flex:1 1 auto}.meas-options-panel{top:auto!important;left:8px!important;right:auto!important;bottom:8px!important;width:min(100vw - 16px,280px)!important;max-height:38vh;overflow-y:auto}}
