.floor-planner{display:flex;flex-direction:column;height:calc(100vh - 80px);width:100%;max-width:100vw;background:#f9fafb;overflow:hidden}.floor-planner-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:white;border-bottom:1px solid #e5e7eb;gap:1rem;flex-shrink:0}.floor-planner-header-left{display:flex;align-items:center;gap:1.5rem}.floor-planner-back{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem;text-decoration:none;padding:.5rem .75rem;border-radius:.375rem;transition:all .2s}.floor-planner-back:hover{color:#111827;background:#f3f4f6}.floor-planner-title-badge{display:flex;align-items:center;background:linear-gradient(135deg,#059669,#059669);padding:.375rem .75rem;border-radius:.5rem}.floor-planner-title{font-size:.875rem;font-weight:600;color:white;letter-spacing:.02em}.floor-planner-header-center{display:flex;align-items:center;justify-content:center;flex:1}.floor-planner-zoom-controls{display:flex;align-items:center;gap:.25rem;background:#f3f4f6;padding:.25rem;border-radius:.5rem;border:1px solid #e5e7eb}.floor-planner-zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#6b7280;border-radius:.375rem;cursor:pointer;transition:all .15s}.floor-planner-zoom-btn:hover{background:white;color:#111827}.floor-planner-fit-btn{margin-left:.25rem;border-left:1px solid #e5e7eb;padding-left:.5rem}.floor-planner-fit-btn:hover{background:#d1fae5;color:#059669}.floor-planner-zoom-level{color:#374151}.floor-planner-device-badge{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.375rem .75rem;border-radius:9999px}.floor-planner-badge{background:linear-gradient(135deg,#059669,#059669);color:white;font-size:.625rem;font-weight:700;padding:.25rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.floor-planner-header-actions{display:flex;align-items:center;gap:.5rem}.floor-planner-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;color:#374151;background:white;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s}.floor-planner-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.floor-planner-btn:disabled{opacity:.5;cursor:not-allowed}.floor-planner-btn-primary{background:linear-gradient(135deg,#059669,#059669);color:white;border-color:transparent;box-shadow:0 2px 4px rgba(16,185,129,.3)}.floor-planner-btn-primary svg{color:white}.floor-planner-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);border-color:transparent;box-shadow:0 4px 8px rgba(16,185,129,.4)}.floor-planner-divider{width:1px;height:24px;background:#e5e7eb;margin:0 .25rem}.floor-planner-content{display:flex;flex:1;overflow:hidden;width:100%;max-width:100vw}.floor-planner-sidebar{width:280px;min-width:280px;max-width:280px;background:white;border:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.floor-planner-sidebar-left{border-right:1px solid #e5e7eb}.floor-planner-sidebar-right{border-left:1px solid #e5e7eb;overflow-y:auto;width:300px;min-width:300px;max-width:300px}.floor-planner-sidebar-header{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.floor-planner-sidebar-header h2{font-size:.875rem;font-weight:600;color:#111827;margin:0}.floor-planner-sidebar-header svg{color:#059669}.floor-planner-device-list{flex:1;overflow-y:auto;padding:.5rem}.floor-planner-category{margin-bottom:.25rem}.floor-planner-category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;font-size:.8125rem;font-weight:600;color:#374151;background:#f3f4f6;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.floor-planner-category-header:hover{background:#e5e7eb}.floor-planner-category-devices{padding:.375rem 0}.floor-planner-device-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:white;border:1px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:left}.floor-planner-device-btn:hover{background:#f9fafb;border-color:#e5e7eb}.floor-planner-device-btn.active{background:#f0fdf4;border-color:#059669;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.floor-planner-device-icon{width:32px;height:32px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.floor-planner-device-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.floor-planner-device-name{font-size:.8125rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-device-price{font-size:.75rem;color:#6b7280}.floor-planner-sidebar-footer{padding:.75rem;border-top:1px solid #e5e7eb;background:#f9fafb}.floor-planner-tip{display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:#6b7280;line-height:1.4}.floor-planner-tip svg{flex-shrink:0;margin-top:.125rem;color:#059669}.floor-planner-center{min-width:0}.floor-planner-canvas-container,.floor-planner-center{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.floor-planner-toolbar{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:white;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.floor-planner-toolbar-group{display:flex;align-items:center;gap:.25rem}.floor-planner-dropdown-wrapper{position:relative}.floor-planner-canvas-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:200px;background:white;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:.75rem;margin-top:.25rem}.floor-planner-dropdown-section{margin-bottom:.75rem}.floor-planner-dropdown-section:last-child{margin-bottom:0}.floor-planner-dropdown-section>label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:.375rem}.floor-planner-dropdown-options{display:flex;flex-wrap:wrap;gap:.25rem}.floor-planner-dropdown-options button{flex:1;min-width:60px;padding:.375rem .5rem;font-size:.75rem;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;cursor:pointer;transition:all .15s}.floor-planner-dropdown-options button:hover{background:#e5e7eb}.floor-planner-dropdown-options button.active{color:white;background:#059669;border-color:#059669}.floor-planner-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0;cursor:pointer}.floor-planner-toggle-row span{font-size:.8125rem;font-weight:500;color:#374151}.floor-planner-toggle-row input[type=checkbox]{width:1rem;height:1rem;accent-color:#059669;cursor:pointer}.floor-planner-color-input{width:100%;height:32px;margin-top:.375rem;border:1px solid #e5e7eb}.floor-planner-tool{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .625rem;font-size:.8125rem;font-weight:500;color:#6b7280;background:transparent;border:1px solid transparent;border-radius:.375rem;cursor:pointer;transition:all .2s}.floor-planner-tool:hover{color:#111827;background:#f3f4f6}.floor-planner-tool.active{color:#059669;background:#f0fdf4;border-color:#bbf7d0}.floor-planner-tool-danger{color:#ef4444}.floor-planner-tool-danger:hover{color:#dc2626;background:#fef2f2}.floor-planner-zoom-level{font-size:.75rem;font-weight:600;color:#6b7280;min-width:40px;text-align:center}.hidden{display:none}.floor-planner-canvas{flex:1;position:relative;background:#f3f4f6;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.floor-planner-canvas canvas{display:block;touch-action:none}.floor-planner-empty,.floor-planner-empty-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.floor-planner-empty-content{text-align:center;padding:2rem;pointer-events:auto;background:rgba(255,255,255,.95);border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.08)}.floor-planner-empty-content svg{color:#9ca3af;margin-bottom:1rem}.floor-planner-empty-content h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.floor-planner-empty-content p{font-size:.9375rem;color:#6b7280;margin:0 0 1.5rem}.floor-planner-empty-actions{display:flex;gap:.75rem;justify-content:center}.floor-planner-summary{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.floor-planner-summary-row{display:flex;gap:.5rem;margin-bottom:.75rem}.floor-planner-summary-row .floor-planner-summary-item{flex:1;flex-direction:column;text-align:center;background:#f9fafb;padding:.5rem;border-radius:.375rem;border:none}.floor-planner-summary-row .floor-planner-summary-item span{font-size:.7rem;text-transform:uppercase;letter-spacing:.025em}.floor-planner-summary-row .floor-planner-summary-item strong{font-size:1.125rem}.floor-planner-summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.floor-planner-summary-item span{color:#6b7280}.floor-planner-summary-item strong{color:#111827;font-weight:600}.floor-planner-summary-item:not(:last-child){border-bottom:1px solid #f3f4f6}.floor-planner-summary-total{margin:.5rem -1rem -.5rem;padding:.75rem 1rem}.floor-planner-summary-total strong{color:#059669;font-size:1.125rem}.floor-planner-summary-savings{background:#fef3c7;margin:0 -1rem -1rem;padding:.5rem 1rem}.floor-planner-summary-savings strong.savings{color:#d97706;font-size:.95rem}.floor-planner-summary-stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.floor-planner-summary-stat:not(:last-child){border-bottom:1px solid #f3f4f6}.floor-planner-summary-label{font-size:.8125rem;color:#6b7280}.floor-planner-summary-value{font-size:.9375rem;font-weight:600;color:#111827}.floor-planner-summary-total{background:#f0fdf4;margin:.5rem -1rem -1rem;padding:.875rem 1rem;border-radius:0 0 0 0}.floor-planner-summary-total .floor-planner-summary-value{color:#059669;font-size:1.125rem}.floor-planner-device-breakdown{padding:1rem;border-bottom:1px solid #e5e7eb}.floor-planner-device-breakdown h3,.floor-planner-room-list h3{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.floor-planner-breakdown,.floor-planner-device-breakdown{padding:1rem;border-bottom:1px solid #e5e7eb}.floor-planner-breakdown h3{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.floor-planner-breakdown ul,.floor-planner-device-breakdown ul,.floor-planner-room-list ul{list-style:none;padding:0;margin:0}.floor-planner-breakdown li,.floor-planner-device-breakdown li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.8125rem}.floor-planner-breakdown li:not(:last-child),.floor-planner-device-breakdown li:not(:last-child){border-bottom:1px solid #f3f4f6}.floor-planner-breakdown-device{display:flex;align-items:center;gap:.5rem}.floor-planner-breakdown-icon{width:20px;height:20px;border-radius:.25rem;display:flex;align-items:center;justify-content:center}.floor-planner-breakdown-count{color:#6b7280;font-size:.75rem}.floor-planner-room-list{padding:1rem;border-bottom:1px solid #e5e7eb;flex:1;overflow-y:auto}.floor-planner-room-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.375rem;cursor:pointer;transition:all .2s}.floor-planner-room-list li:hover{background:#f3f4f6}.floor-planner-room-list li.active{background:#f0fdf4}.floor-planner-room-color{width:12px;height:12px;border-radius:.25rem;flex-shrink:0}.floor-planner-room-icon{width:24px;height:24px;border-radius:.375rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#374151}.floor-planner-room-list li span,.floor-planner-room-name{flex:1;font-size:.8125rem;color:#374151;cursor:text}.floor-planner-room-name:hover{text-decoration:underline;text-decoration-style:dotted}.floor-planner-room-name-input{flex:1;color:#374151;padding:.25rem .5rem;background:white}.floor-planner-room-delete,.floor-planner-room-edit{opacity:0;padding:.25rem;background:transparent;border:none;color:#9ca3af;cursor:pointer;border-radius:.25rem;transition:all .2s;flex-shrink:0}.floor-planner-room-list li:hover .floor-planner-room-delete,.floor-planner-room-list li:hover .floor-planner-room-edit{opacity:1}.floor-planner-room-edit:hover{color:#059669;background:#f0fdf4}.floor-planner-room-delete:hover{color:#ef4444;background:#fef2f2}.floor-planner-cta{padding:1rem;text-align:center;margin-top:auto;background:linear-gradient(0deg,#f0fdf4,white)}.floor-planner-cta p{font-size:.75rem;color:#6b7280;margin:.5rem 0 0}@media (max-width:1200px){.floor-planner-sidebar{width:240px;min-width:240px;max-width:240px}.floor-planner-sidebar-right{width:260px;min-width:260px;max-width:260px}}@media (max-width:1024px){.floor-planner-content{flex-direction:column}.floor-planner-sidebar{width:100%;max-height:200px}.floor-planner-sidebar-left{order:2;flex-direction:row;max-height:none;height:auto;border-right:none;border-top:1px solid #e5e7eb}.floor-planner-sidebar-right{display:none}.floor-planner-device-list{display:flex;gap:.5rem;padding:.5rem}.floor-planner-category{margin-bottom:0}.floor-planner-category-devices{display:flex;gap:.25rem}.floor-planner-device-btn{flex-direction:column;padding:.5rem;min-width:70px}.floor-planner-device-info{align-items:center}}@media (max-width:640px){.floor-planner-header{flex-direction:column;align-items:flex-start;gap:.75rem}.floor-planner-header-actions{width:100%;justify-content:flex-end}.floor-planner-toolbar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.floor-planner-btn span{display:none}}.floor-planner-room-panel{position:absolute;top:52px;left:0;right:0;background:white;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:100;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.floor-planner-room-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.floor-planner-room-panel-header h3{font-size:.875rem;font-weight:600;color:#111827;margin:0}.floor-planner-room-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .2s}.floor-planner-room-panel-close:hover{background:#f3f4f6;color:#111827}.floor-planner-room-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;padding:.75rem 1rem;max-height:200px;overflow-y:auto}.floor-planner-room-template{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;background:#f9fafb;border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:center}.floor-planner-room-template:hover{background:white;border-color:#e5e7eb;transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.floor-planner-room-template.active,.floor-planner-room-template.selected{background:#f0fdf4;border-color:#059669}.floor-planner-room-template-icon{width:40px;height:40px;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.floor-planner-room-template-name{font-size:.75rem;font-weight:600;color:#374151;line-height:1.2}.floor-planner-room-template-size{font-size:.625rem;color:#9ca3af}.floor-planner-room-panel-tip{padding:.625rem 1rem;background:#f9fafb;border-top:1px solid #f3f4f6;font-size:.75rem;color:#6b7280}.floor-planner-room-panel-tip strong{color:#059669}.floor-planner-placement-indicator{position:absolute;top:60px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,#059669,#059669);color:white;border-radius:9999px;font-size:.8125rem;box-shadow:0 4px 12px rgba(16,185,129,.3);z-index:50;animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.floor-planner-placement-indicator button{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:rgba(255,255,255,.2);border:none;border-radius:.25rem;color:white;font-size:.75rem;cursor:pointer;transition:all .2s}.floor-planner-placement-indicator button:hover{background:rgba(255,255,255,.3)}.floor-planner-custom-controls{margin-top:.75rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.floor-planner-custom-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.floor-planner-custom-row:last-child{margin-bottom:0}.floor-planner-custom-row label{font-size:.75rem;font-weight:500;color:#374151;min-width:40px}.floor-planner-custom-row input[type=number]{width:50px;padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.75rem;text-align:center}.floor-planner-custom-row input[type=number]:focus{outline:none;border-color:#059669;box-shadow:0 0 0 2px rgba(16,185,129,.1)}.floor-planner-custom-row span{font-size:.75rem;color:#6b7280}.floor-planner-color-picker{display:flex;gap:.25rem;flex-wrap:wrap}.floor-planner-color-btn{width:24px;height:24px;border-radius:.25rem;border:2px solid transparent;cursor:pointer;transition:all .15s}.floor-planner-color-btn:hover{transform:scale(1.1)}.floor-planner-color-btn.active{border-color:#059669;box-shadow:0 0 0 2px rgba(16,185,129,.3)}.floor-planner-color-input{width:24px;height:24px;padding:0;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;background:transparent}.floor-planner-color-input::-webkit-color-swatch-wrapper{padding:2px}.floor-planner-color-input::-webkit-color-swatch{border-radius:2px;border:none}.floor-planner-unit-picker{display:flex;gap:.25rem;flex:1}.floor-planner-unit-btn{flex:1;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:#6b7280;background:white;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;transition:all .15s}.floor-planner-unit-btn:hover{background:#f3f4f6}.floor-planner-unit-btn.active{background:#059669;color:white;border-color:#059669}.floor-planner-custom-tip{font-size:.6875rem;color:#9ca3af;margin-top:.5rem;font-style:italic}.floor-planner-products{padding:1rem;border-top:1px solid #e5e7eb}.floor-planner-products h3{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.floor-planner-product-list{display:flex;flex-direction:column;gap:.5rem}.floor-planner-product-card{background:#f9fafb;text-decoration:none}.floor-planner-product-card:hover{transform:translateX(2px)}.floor-planner-product-image{width:50px;height:50px;flex-shrink:0;background:white;border-radius:.375rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.floor-planner-product-image img{max-width:100%;max-height:100%;object-fit:contain}.floor-planner-product-brand{color:#9ca3af;letter-spacing:.03em}.floor-planner-product-name{color:#374151}.floor-planner-product-price{font-size:.8125rem}.floor-planner-product-link{flex-shrink:0;color:#9ca3af;transition:color .15s}.floor-planner-product-card:hover .floor-planner-product-link{color:#059669}.floor-planner-affiliate-note{font-size:.625rem;color:#9ca3af;margin-top:.5rem;text-align:center}.floor-planner-wall-panel{position:absolute;top:60px;left:50%;transform:translateX(-50%);background:white;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:100;min-width:280px}.floor-planner-wall-controls{display:flex;flex-direction:column;gap:.75rem}.floor-planner-wall-row{display:flex;align-items:center;gap:.75rem}.floor-planner-wall-row label{font-size:.75rem;font-weight:500;color:#374151;min-width:60px}.floor-planner-style-picker,.floor-planner-thickness-picker{display:flex;gap:.375rem}.floor-planner-style-btn,.floor-planner-thickness-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border:1px solid #e5e7eb;border-radius:.375rem;background:white;cursor:pointer;transition:all .15s}.floor-planner-style-btn:hover,.floor-planner-thickness-btn:hover{border-color:#059669;background:#f0fdf4}.floor-planner-style-btn.active,.floor-planner-thickness-btn.active{border-color:#059669;background:#d1fae5}.floor-planner-wall-tip{font-size:.6875rem;color:#6b7280;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.floor-planner-wall-tip strong{color:#374151}.floor-planner-shortcuts-box{margin-top:.75rem;padding:.625rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.75rem}.floor-planner-shortcuts-box strong{display:block;margin-bottom:.375rem;color:#374151;font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em}.floor-planner-shortcuts-box ul{margin:0;padding:0;list-style:none}.floor-planner-shortcuts-box li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;color:#64748b}.floor-planner-shortcuts-box kbd{display:inline-block;padding:.125rem .375rem;background:white;border:1px solid #cbd5e1;border-radius:.25rem;font-family:monospace;font-size:.6875rem;color:#334155;box-shadow:0 1px 2px rgba(0,0,0,.05)}.floor-planner-wall-panel .floor-planner-btn-sm{margin-top:.75rem;width:100%;justify-content:center}.floor-planner-cart{background:#fffbeb;border:1px solid #fbbf24;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.floor-planner-cart h3{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#92400e;margin:0 0 .75rem}.floor-planner-cart-items{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.floor-planner-cart-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:white;border-radius:.375rem;border:1px solid #fde68a}.floor-planner-cart-item-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.floor-planner-cart-item-name{font-size:.75rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-cart-item-brand{font-size:.625rem;color:#6b7280}.floor-planner-cart-item-price{font-size:.75rem;font-weight:600;color:#059669}.floor-planner-cart-item-controls{display:flex;align-items:center;gap:.25rem}.floor-planner-qty-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #e5e7eb;border-radius:.25rem;background:white;cursor:pointer;color:#374151;transition:all .15s}.floor-planner-qty-btn:hover{background:#f3f4f6;border-color:#d1d5db}.floor-planner-qty{font-size:.75rem;font-weight:500;min-width:20px;text-align:center}.floor-planner-remove-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:.25rem;background:#fee2e2;cursor:pointer;color:#dc2626;margin-left:.25rem;transition:all .15s}.floor-planner-remove-btn:hover{background:#fecaca}.floor-planner-cart-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-top:.5rem;border-top:1px solid #fde68a;font-size:.875rem}.floor-planner-cart-total strong{font-size:1rem;color:#059669}.floor-planner-btn-amazon{background:linear-gradient(135deg,#ff9900,#e88800);border:none;font-weight:600}.floor-planner-btn-amazon:hover:not(:disabled){background:linear-gradient(135deg,#e88800,#cc7700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,153,0,.3)}.floor-planner-product-actions{display:flex;gap:.25rem;flex-shrink:0}.floor-planner-btn-add,.floor-planner-btn-buy,.floor-planner-btn-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:.375rem;cursor:pointer;transition:all .15s}.floor-planner-btn-add{background:#d1fae5;border:1px solid #059669;color:#059669}.floor-planner-btn-add:hover{background:#a7f3d0}.floor-planner-btn-remove{background:#fee2e2;border:1px solid #f87171;color:#dc2626}.floor-planner-btn-remove:hover{background:#fecaca}.floor-planner-btn-buy{background:#fff7ed;border:1px solid #fb923c;color:#ea580c}.floor-planner-btn-buy:hover{background:#ffedd5}.floor-planner-properties-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem;margin-bottom:1rem}.floor-planner-properties-panel h3{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.floor-planner-properties-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.375rem;align-items:center;margin-bottom:.75rem}.floor-planner-properties-grid label{font-size:.75rem;font-weight:500;color:#64748b;padding-right:.25rem}.floor-planner-properties-grid input[type=number]{width:100%;padding:.25rem .375rem;border:1px solid #e2e8f0;border-radius:.25rem;font-size:.75rem;background:white}.floor-planner-properties-grid input[type=number]:focus{outline:none;border-color:#059669;box-shadow:0 0 0 2px rgba(16,185,129,.1)}.floor-planner-properties-grid input[type=color]{width:100%;height:24px;padding:0;border:1px solid #e2e8f0;border-radius:.25rem;cursor:pointer}.floor-planner-properties-actions{display:flex;gap:.5rem;margin-bottom:.5rem}.floor-planner-properties-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.375rem .5rem;font-size:.75rem;font-weight:500;border:1px solid #e2e8f0;border-radius:.25rem;background:white;color:#374151;cursor:pointer;transition:all .15s}.floor-planner-properties-actions button:hover{background:#f1f5f9}.floor-planner-properties-actions button.danger{color:#dc2626;border-color:#fecaca}.floor-planner-properties-actions button.danger:hover{background:#fef2f2}.floor-planner-shortcuts-hint{padding-top:.5rem;border-top:1px solid #e2e8f0}.floor-planner-shortcuts-hint small{font-size:.625rem;color:#94a3b8;line-height:1.4}.floor-planner-context-menu{position:fixed;background:white;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.15);padding:.25rem;min-width:160px;z-index:1000}.floor-planner-context-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;font-size:.8125rem;color:#374151;cursor:pointer;border-radius:.25rem;text-align:left}.floor-planner-context-menu button:hover{background:#f3f4f6}.floor-planner-context-menu button.danger{color:#dc2626}.floor-planner-context-menu button.danger:hover{background:#fef2f2}.floor-planner-context-divider{height:1px;background:#e5e7eb;margin:.25rem 0}.floor-planner-product-search{padding:.5rem;border-bottom:1px solid #e5e7eb}.floor-planner-product-search input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem}.floor-planner-product-search input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 2px rgba(16,185,129,.1)}.floor-planner-category-filter{padding:.5rem;border-bottom:1px solid #e5e7eb}.floor-planner-category-filter select{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;background:white}.floor-planner-product-list{flex:1;overflow-y:auto;padding:.5rem}.floor-planner-loading-products{padding:2rem;text-align:center;color:#6b7280}.floor-planner-product-card{margin-bottom:.5rem;cursor:pointer}.floor-planner-product-card:hover{background:#f0fdf4}.floor-planner-product-card img{width:48px;height:48px;object-fit:contain;border-radius:.25rem;background:#f8fafc}.floor-planner-product-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.floor-planner-product-brand{font-size:.625rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.floor-planner-product-name{font-size:.75rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-product-price{font-size:.75rem;font-weight:600;color:#059669}.floor-planner-placed-devices{display:flex;flex-direction:column;gap:.5rem}.floor-planner-placed-device{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.floor-planner-placed-device img{width:40px;height:40px;object-fit:contain;border-radius:.25rem;background:white}.floor-planner-placed-device-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;border-radius:.25rem}.floor-planner-placed-device-image{width:40px;height:40px;min-width:40px;object-fit:contain;border-radius:.25rem;background:#f9fafb;border:1px solid #e5e7eb}.floor-planner-placed-device-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.floor-planner-placed-device-brand{font-size:.625rem;color:#6b7280;text-transform:uppercase}.floor-planner-placed-device-name{font-size:.6875rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-placed-device-price{font-size:.6875rem;font-weight:600;color:#059669}.floor-planner-placed-device-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:.25rem}.floor-planner-placed-device-remove:hover{background:#fee2e2;color:#dc2626}.floor-planner-placed-device-wrapper{margin-bottom:.5rem}.floor-planner-placed-device-type{font-size:.625rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.floor-planner-placed-device-actions{display:flex;gap:.25rem}.floor-planner-placed-device-switch{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:.25rem}.floor-planner-placed-device-switch:hover{background:#dbeafe;color:#2563eb}.floor-planner-product-picker{background:white;border:1px solid #e2e8f0;border-radius:.5rem;margin-top:.5rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.floor-planner-product-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600}.floor-planner-product-picker-header button{background:none;border:none;cursor:pointer;color:#6b7280;padding:.125rem}.floor-planner-product-picker-header button:hover{color:#1f2937}.floor-planner-product-picker-list{max-height:200px;overflow-y:auto}.floor-planner-product-picker-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:white;cursor:pointer;text-align:left;border:none;border-bottom:1px solid #f1f5f9}.floor-planner-product-picker-item:hover{background:#f0fdf4}.floor-planner-product-picker-item img{width:36px;height:36px;object-fit:contain;border-radius:.25rem;background:#f8fafc}.floor-planner-product-picker-item div{flex:1;min-width:0;display:flex;flex-direction:column}.floor-planner-product-picker-brand{font-size:.5625rem;color:#9ca3af;text-transform:uppercase}.floor-planner-product-picker-name{font-size:.6875rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-product-picker-price{font-size:.6875rem;font-weight:600;color:#059669}.floor-planner-product-picker-empty{padding:1rem;text-align:center;color:#9ca3af;font-size:.75rem}.floor-planner-rooms-list{padding:1rem;border-bottom:1px solid #e2e8f0}.floor-planner-rooms-list h3{font-size:.75rem;font-weight:600;color:#374151;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.floor-planner-room-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.375rem;cursor:pointer;margin-bottom:.25rem;transition:background .15s}.floor-planner-room-item:hover{background:#f1f5f9}.floor-planner-room-item.selected{background:#dcfce7;border:1px solid #059669}.floor-planner-room-item-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.floor-planner-room-item-info{flex:1;min-width:0}.floor-planner-room-item-name{display:block;font-size:.8125rem;font-weight:500;color:#1f2937;cursor:text}.floor-planner-room-item-size{display:block;font-size:.6875rem;color:#6b7280}.floor-planner-room-name-input{width:100%;padding:.125rem .25rem;font-size:.8125rem;border:1px solid #059669;border-radius:.25rem;outline:none}.floor-planner-room-item-actions{display:flex;gap:.25rem;flex-shrink:0}.floor-planner-room-item-delete,.floor-planner-room-item-edit{width:28px;height:28px;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280;cursor:pointer;border-radius:.375rem;transition:all .15s}.floor-planner-room-item-edit:hover{background:#dbeafe;border-color:#3b82f6;color:#2563eb}.floor-planner-room-item-delete:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.floor-planner-actions{margin-bottom:1rem}.floor-planner-btn-secondary{background:#f1f5f9!important;color:#0f172a!important;border:2px solid #94a3b8!important}.floor-planner-btn-secondary svg{color:#1e293b!important;stroke-width:2.5!important}.floor-planner-btn-secondary:hover:not(:disabled){background:#e2e8f0!important;border-color:#94a3b8!important}.floor-planner-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.floor-planner-btn-outline{background:white!important;color:#047857!important;border:2px solid #059669!important}.floor-planner-btn-outline svg{color:#047857!important;stroke-width:2.5!important}.floor-planner-btn-outline:hover:not(:disabled){background:#ecfdf5!important;border-color:#059669!important}.floor-planner-empty-actions .floor-planner-btn{min-width:140px;padding:.625rem 1rem;font-weight:600}.floor-planner-empty-actions .floor-planner-btn-primary{background:linear-gradient(135deg,#059669,#059669)!important;color:white!important;border:none!important}.floor-planner-empty-actions .floor-planner-btn-primary svg{color:white!important}.floor-planner-spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.floor-planner-product-card{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:white;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .15s}.floor-planner-product-card:hover{border-color:#059669;box-shadow:0 2px 8px rgba(16,185,129,.1)}.floor-planner-instruction-banner{position:absolute;top:0;left:0;right:0;background:linear-gradient(135deg,#059669,#059669);color:white;padding:.625rem 1rem;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.15)}.floor-planner-instruction-banner-subtle{background:linear-gradient(135deg,#6b7280,#4b5563)}.floor-planner-instruction-banner kbd{background:rgba(255,255,255,.2);padding:.125rem .375rem;border-radius:.25rem;font-family:monospace;font-size:.75rem;border:1px solid rgba(255,255,255,.3)}.floor-planner-instruction-shortcuts{opacity:.9;font-size:.8125rem;margin-left:auto}@media (pointer:coarse){.floor-planner-tool{min-height:44px;min-width:44px;padding:.625rem .75rem}.floor-planner-device-btn{min-height:48px;padding:.75rem}.floor-planner-room-item{min-height:44px;padding:.625rem .5rem}.floor-planner-placed-device-switch,.floor-planner-room-item-delete,.floor-planner-room-item-edit{min-width:36px;min-height:36px}.floor-planner-product-picker-item{min-height:48px;padding:.625rem}.floor-planner-zoom-btn{min-width:40px;min-height:40px}.floor-planner-product-picker-list::-webkit-scrollbar,.floor-planner-sidebar::-webkit-scrollbar{width:8px}}.floor-planner-furniture-panel{position:absolute;top:60px;left:10px;width:280px;max-height:calc(100% - 80px);background:white;border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;overflow:hidden;display:flex;flex-direction:column}.floor-planner-furniture-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f0fdf4;border-bottom:1px solid #d1fae5;font-weight:600;color:#065f46}.floor-planner-furniture-header .floor-planner-close-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;color:#6b7280;transition:all .2s}.floor-planner-furniture-header .floor-planner-close-btn:hover{background:#dcfce7;color:#059669}.floor-planner-furniture-categories{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;border-bottom:1px solid #e5e7eb;background:#fafafa}.floor-planner-furniture-cat{padding:.375rem .5rem;font-size:.75rem;background:white;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;transition:all .2s;white-space:nowrap}.floor-planner-furniture-cat:hover{background:#f3f4f6;border-color:#d1d5db}.floor-planner-furniture-cat.active{background:#059669;color:white;border-color:#059669}.floor-planner-furniture-items{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem;overflow-y:auto;max-height:400px}.floor-planner-furniture-item{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem;background:#fafafa;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:center}.floor-planner-furniture-item:hover{background:#f0fdf4;border-color:#059669;transform:translateY(-2px)}.floor-planner-furniture-item.selected{background:#dcfce7;border-color:#059669}.floor-planner-furniture-preview{border-radius:.25rem;min-height:24px}.floor-planner-furniture-item span{font-size:.75rem;color:#374151;font-weight:500}.floor-planner-furniture-size{font-size:.65rem!important;color:#9ca3af!important;font-weight:400!important}.floor-planner-light-settings{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fcd34d;border-radius:.5rem}.floor-planner-light-settings-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.8rem;color:#92400e;margin-bottom:.75rem}.floor-planner-light-settings-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem}.floor-planner-light-settings-row label{min-width:60px;color:#78350f;font-weight:500}.floor-planner-light-settings-row input[type=color]{width:32px;height:24px;padding:0;border:1px solid #d97706;border-radius:.25rem;cursor:pointer}.floor-planner-light-settings-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#fde68a;border-radius:3px;cursor:pointer}.floor-planner-light-settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#f59e0b;border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,.2)}.floor-planner-light-settings-row span{min-width:40px;text-align:right;color:#92400e;font-size:.7rem}.floor-planner-light-settings-row input[type=checkbox]{margin-right:.25rem;accent-color:#f59e0b}.floor-planner-light-settings-row label:has(input[type=checkbox]){display:flex;align-items:center;gap:.25rem;cursor:pointer;min-width:auto}.floor-planner-light-presets{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #fcd34d}.floor-planner-light-presets span{font-size:.7rem;color:#92400e;margin-right:.25rem}.floor-planner-light-presets button{padding:.25rem .5rem;font-size:.65rem;background:white;border:1px solid #fcd34d;border-radius:.25rem;cursor:pointer;transition:all .2s}.floor-planner-light-presets button:hover{background:#fef3c7;border-color:#f59e0b}.floor-planner-scale-control{display:flex;align-items:center;gap:.25rem;background:#f3f4f6;border-radius:.375rem;padding:.25rem;margin-left:.25rem}.floor-planner-scale-control button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:white;border-radius:.25rem;cursor:pointer;color:#6b7280;transition:all .2s}.floor-planner-scale-control button:hover{background:#059669;color:white}.floor-planner-scale-control span{font-size:.7rem;font-weight:600;color:#374151;min-width:36px;text-align:center}.floor-planner-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(2px)}.floor-planner-light-modal{background:white;border-radius:1rem;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}.floor-planner-light-modal-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fef9c3);border-bottom:1px solid #fcd34d;border-radius:1rem 1rem 0 0}.floor-planner-light-modal-header span{flex:1;font-weight:600;font-size:1.1rem;color:#92400e}.floor-planner-modal-close{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.375rem;color:#92400e;transition:all .2s}.floor-planner-modal-close:hover{background:rgba(0,0,0,.1)}.floor-planner-light-modal-product{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.floor-planner-light-modal-product img{width:60px;height:60px;object-fit:contain;border-radius:.5rem;background:white;padding:.25rem;border:1px solid #e5e7eb}.floor-planner-light-modal-product>div{display:flex;flex-direction:column;gap:.25rem}.floor-planner-light-modal-brand{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.floor-planner-light-modal-name{font-size:.9rem;font-weight:500;color:#111827}.floor-planner-light-modal-price{font-size:1rem;font-weight:600;color:#059669}.floor-planner-light-modal-no-product{display:flex;flex-direction:column;gap:.25rem;color:#6b7280}.floor-planner-light-modal-no-product span{font-weight:500}.floor-planner-light-modal-no-product small{font-size:.75rem}.floor-planner-light-modal-section{padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6}.floor-planner-light-modal-section label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:.5rem}.floor-planner-light-modal-color-row{display:flex;align-items:center;gap:.75rem}.floor-planner-light-modal-color-row input[type=color]{width:48px;height:36px;padding:0;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer}.floor-planner-light-modal-color-row span{font-family:monospace;font-size:.85rem;color:#6b7280}.floor-planner-light-modal-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.floor-planner-light-modal-presets button{width:32px;height:32px;border:2px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;transition:all .2s}.floor-planner-light-modal-presets button:hover{transform:scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,.2)}.floor-planner-light-modal-section input[type=range]{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:4px;cursor:pointer}.floor-planner-light-modal-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#f59e0b;border-radius:50%;cursor:pointer;border:3px solid white;box-shadow:0 2px 6px rgba(0,0,0,.2)}.floor-planner-light-modal-checkbox{display:flex!important;align-items:center;gap:.5rem;cursor:pointer}.floor-planner-light-modal-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#f59e0b;cursor:pointer}.floor-planner-light-modal-checkbox span{font-size:.9rem}.floor-planner-light-modal-actions{padding:1rem 1.25rem;display:flex;justify-content:flex-end}.floor-planner-tool-hint{display:block;font-size:.6rem;color:#6b7280;margin-top:2px;white-space:nowrap}.floor-planner-tool.active .floor-planner-tool-hint{color:#059669}.floor-planner-btn-light{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center;margin-top:.5rem;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fcd34d;color:#92400e}.floor-planner-btn-light:hover{background:linear-gradient(135deg,#fde68a,#fef3c7);border-color:#f59e0b}.floor-planner-btn-compact{padding:.25rem .5rem;font-size:.6875rem;min-width:auto}.floor-planner-shopping-summary{padding:.75rem 1rem;border-top:1px solid #e5e7eb;background:#f0fdf4}.floor-planner-shopping-summary .floor-planner-shopping-total{margin-bottom:.5rem}.floor-planner-shopping-list{padding:.75rem 1rem;border-top:1px solid #e5e7eb}.floor-planner-shopping-list h3{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:#111827;margin:0 0 .75rem}.floor-planner-shopping-list h3 svg{color:#f59e0b}.floor-planner-shopping-products{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.floor-planner-shopping-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem}.floor-planner-shopping-item-image{width:40px;height:40px;object-fit:contain;border-radius:.25rem;background:white}.floor-planner-shopping-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.floor-planner-shopping-item-brand{font-size:.625rem;color:#6b7280;text-transform:uppercase}.floor-planner-shopping-item-name{font-size:.75rem;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-planner-shopping-item-price{font-size:.8125rem;font-weight:600;color:#059669}.floor-planner-shopping-item-buy{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f59e0b;color:white;border-radius:.25rem;transition:background .2s}.floor-planner-shopping-item-buy:hover{background:#d97706}.floor-planner-shopping-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-top:.5rem;border-top:1px solid #e5e7eb}.floor-planner-shopping-total span{font-size:.875rem;color:#6b7280}.floor-planner-shopping-total strong{font-size:1.125rem;color:#059669}.floor-planner-btn-amazon{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #d97706;color:white}.floor-planner-btn-amazon:hover{background:linear-gradient(135deg,#d97706,#b45309)}.floor-planner-btn-full{width:100%;justify-content:center}.floor-planner-template-modal{background:linear-gradient(135deg,#ffffff,#f8fafc);border-radius:1.25rem;max-width:960px;width:92%;max-height:85vh;overflow-y:auto;box-shadow:0 25px 60px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05)}.floor-planner-template-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#059669,#059669);color:white}.floor-planner-template-modal-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.375rem;font-weight:700;color:white;margin:0}.floor-planner-template-modal-header .floor-planner-modal-close{background:rgba(255,255,255,.2);border:none;border-radius:.5rem;padding:.5rem;color:white;cursor:pointer;transition:background .2s}.floor-planner-template-modal-header .floor-planner-modal-close:hover{background:rgba(255,255,255,.3)}.floor-planner-template-modal-desc{padding:1rem 2rem;margin:0;font-size:.9375rem;color:#4b5563;background:white;border-bottom:1px solid #e5e7eb}.floor-planner-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:1.5rem 2rem 2rem;background:#f8fafc}@media (max-width:768px){.floor-planner-template-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.floor-planner-template-grid{grid-template-columns:1fr}}.floor-planner-template-card{display:flex;flex-direction:column;background:white;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;cursor:pointer;transition:all .25s ease;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.04)}.floor-planner-template-card:hover{border-color:#059669;box-shadow:0 8px 24px rgba(16,185,129,.18),0 0 0 2px rgba(16,185,129,.1);transform:translateY(-4px)}.floor-planner-template-card:disabled{opacity:.5;cursor:not-allowed;transform:none}.floor-planner-template-preview{width:100%;height:150px;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e2e8f0}.floor-planner-template-preview img{width:90%;height:90%;object-fit:contain}.floor-planner-template-mini{position:relative;background:#f9fafb;border:1px solid #e5e7eb;margin:8px;border-radius:4px}.floor-planner-template-room{position:absolute;border:1px solid rgba(0,0,0,.15);border-radius:2px;min-width:8px;min-height:8px}.floor-planner-template-info{padding:1rem 1.125rem;background:white}.floor-planner-template-info h4{font-size:.9375rem;font-weight:600;color:#111827;margin:0 0 .375rem;line-height:1.35}.floor-planner-template-info span{font-size:.8125rem;color:#6b7280;display:flex;align-items:center;gap:.25rem}.floor-planner-template-info span:before{content:"📐";font-size:.75rem}.floor-planner-template-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-top:1px solid #bbf7d0;color:#059669;font-weight:600}.floor-planner-template-loading svg{animation:spin 1s linear infinite}.floor-planner-product-picker-search{width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid #e5e7eb;font-size:.875rem;outline:none}.floor-planner-product-picker-search:focus{border-bottom-color:#059669;background:#f0fdf4}.floor-planner-product-picker-search::placeholder{color:#9ca3af}.floor-planner-properties-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:240px;background:white;border-radius:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.15);border:1px solid #e5e7eb;overflow:hidden;margin-top:.5rem}.floor-planner-properties-header{padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:.875rem}.floor-planner-properties-dropdown .floor-planner-properties-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.5rem;padding:1rem;align-items:center}.floor-planner-properties-dropdown .floor-planner-properties-grid label{font-size:.75rem;color:#6b7280;font-weight:500}.floor-planner-properties-dropdown .floor-planner-properties-grid input[type=number]{width:100%;padding:.375rem .5rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.8125rem;background:#f9fafb}.floor-planner-properties-dropdown .floor-planner-properties-grid input[type=number]:focus{outline:none;border-color:#059669;background:white}.floor-planner-properties-dropdown .floor-planner-properties-grid input[type=color]{width:100%;height:28px;padding:2px;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer}.floor-planner-properties-dropdown .floor-planner-properties-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #e5e7eb;background:#f8fafc}.floor-planner-properties-dropdown .floor-planner-properties-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:.5rem;background:white;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.floor-planner-properties-dropdown .floor-planner-properties-actions button:hover{background:#f0fdf4;border-color:#059669;color:#059669}.floor-planner-properties-dropdown .floor-planner-properties-actions button.danger:hover{background:#fef2f2;border-color:#ef4444;color:#dc2626}@media (hover:none) and (pointer:coarse){.floor-planner{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.floor-planner-canvas{touch-action:none;-webkit-overflow-scrolling:auto}.floor-planner-tool{padding:.625rem}.floor-planner-tool,.floor-planner-zoom-btn{min-width:44px;min-height:44px}.floor-planner-device-item{min-height:56px;padding:.875rem 1rem}.floor-planner-category-header{min-height:48px;padding:.75rem 1rem}.floor-planner-room-template{min-height:60px;padding:.75rem}.floor-planner-cart-item,.floor-planner-placed-device,.floor-planner-shopping-item{min-height:56px;padding:.75rem}.floor-planner-qty-btn{min-width:40px;min-height:40px}.floor-planner-placed-device-remove,.floor-planner-placed-device-switch,.floor-planner-remove-btn{min-width:36px;min-height:36px}.floor-planner-room-panel button,.floor-planner-wall-panel button{min-height:44px}.floor-planner-color-btn{min-width:36px;min-height:36px}.floor-planner-thickness-btn{min-width:44px;min-height:44px}.floor-planner-unit-btn{min-width:44px;min-height:36px}.floor-planner-product-picker-item{min-height:64px;padding:.75rem}.floor-planner-furniture-item{min-height:60px}.floor-planner-furniture-cat{min-height:40px;padding:.5rem 1rem}.floor-planner-template-card{min-height:120px}.floor-planner-context-menu button{min-height:44px;padding:.75rem 1rem}.floor-planner-modal-close{min-width:44px;min-height:44px}.floor-planner-light-modal input[type=range]{height:44px}.floor-planner-light-modal-presets button{min-width:44px;min-height:44px}.floor-planner-category-header:hover,.floor-planner-device-item:hover,.floor-planner-room-template:hover,.floor-planner-tool:hover{background:inherit}.floor-planner-tool:active{background:#e5e7eb;transform:scale(.95)}.floor-planner-device-item:active{background:#f0fdf4}.floor-planner-btn:active{transform:scale(.98);opacity:.9}}@media (min-width:1024px) and (hover:none) and (pointer:coarse){.floor-planner-layout{grid-template-columns:280px 1fr 300px}.floor-planner-sidebar{min-width:280px}.floor-planner-sidebar-right{min-width:300px}}@media (max-width:1024px) and (hover:none) and (pointer:coarse){.floor-planner-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.floor-planner-sidebar,.floor-planner-sidebar-right{display:none}.floor-planner-main{height:calc(100vh - 180px)}.floor-planner-toolbar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;background:white;border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.15);padding:.5rem}}@media (pointer:fine) and (hover:none){.floor-planner-tool{min-width:36px;min-height:36px}.floor-planner-device-item{min-height:48px;padding:.625rem .875rem}.floor-planner-color-btn{min-width:28px;min-height:28px}.floor-planner-canvas{cursor:crosshair}}.floor-planner-badge,.floor-planner-placement-indicator,.floor-planner-title-badge{background:linear-gradient(135deg,#004B3A,#1F8F63)!important}.floor-planner-fit-btn:hover{background:#f8faf8!important;color:#004B3A!important}.floor-planner-btn-primary{background:linear-gradient(135deg,#F59E0B,#D97706)!important;box-shadow:0 2px 4px rgba(245,158,11,.3)!important}.floor-planner-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#D97706,#B45309)!important;box-shadow:0 4px 8px rgba(245,158,11,.4)!important}.floor-planner-sidebar-header svg{color:#1F8F63!important}.floor-planner-device-btn.active{background:#f8faf8!important;border-color:#1F8F63!important;box-shadow:0 0 0 3px rgba(31,143,99,.1)!important}.floor-planner-tip svg{color:#1F8F63!important}.floor-planner-dropdown-options button.active{background:#004B3A!important;border-color:#004B3A!important}.floor-planner-toggle-row input[type=checkbox]{accent-color:#004B3A!important}.floor-planner-tool.active{color:#004B3A!important;border-color:#d1e7de!important}.floor-planner-summary-total,.floor-planner-tool.active{background:#f8faf8!important}.floor-planner-summary-total .floor-planner-summary-value,.floor-planner-summary-total strong{color:#004B3A!important}.floor-planner-room-list li.active{background:#f8faf8!important}.floor-planner-room-edit:hover{color:#004B3A!important;background:#f8faf8!important}.floor-planner-cta{background:linear-gradient(0deg,#f8faf8,white)!important}.floor-planner-room-template.active,.floor-planner-room-template.selected{background:#f8faf8!important;border-color:#1F8F63!important}.floor-planner-room-panel-tip strong{color:#004B3A!important}.floor-planner-custom-row input[type=number]:focus,.floor-planner-product-search input:focus,.floor-planner-properties-grid input[type=number]:focus{border-color:#1F8F63!important;box-shadow:0 0 0 2px rgba(31,143,99,.1)!important}.floor-planner-color-btn.active{border-color:#004B3A!important;box-shadow:0 0 0 2px rgba(0,75,58,.25)!important}.floor-planner-unit-btn.active{background:#004B3A!important;border-color:#004B3A!important}.floor-planner-product-card:hover{border-color:#1F8F63!important;background:#f8faf8!important}.floor-planner-cart-item-price,.floor-planner-cart-total strong,.floor-planner-placed-device-price,.floor-planner-product-card:hover .floor-planner-product-link,.floor-planner-product-link:hover,.floor-planner-product-picker-price,.floor-planner-product-price{color:#004B3A!important}.floor-planner-style-btn:hover,.floor-planner-thickness-btn:hover{border-color:#1F8F63!important;background:#f8faf8!important}.floor-planner-btn-add,.floor-planner-style-btn.active,.floor-planner-thickness-btn.active{border-color:#1F8F63!important;background:#f0f9f6!important}.floor-planner-btn-add{color:#004B3A!important}.floor-planner-room-item.selected{background:#f0f9f6!important;border-color:#1F8F63!important}.floor-planner-btn-outline{color:#004B3A!important;border-color:#1F8F63!important}.floor-planner-btn-outline svg{color:#004B3A!important}.floor-planner-btn-outline:hover:not(:disabled){background:#f8faf8!important;border-color:#004B3A!important}.floor-planner-empty-actions .floor-planner-btn-primary{background:linear-gradient(135deg,#F59E0B,#D97706)!important}.floor-planner-product-overlay{background:linear-gradient(135deg,#004B3A,#1F8F63)!important}.floor-planner-product-picker-item:hover{background:#f8faf8!important}