.planner-container{display:grid;grid-template-columns:400px 1fr;gap:2.5rem;max-width:1600px;margin:0 auto;padding:3rem 2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:calc(100vh - 200px)}.planner-sidebar{background:#ffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:2rem;box-shadow:0 10px 40px #0001a,0 0 0 1px #fff80 inset;max-height:calc(100vh - 180px);overflow-y:auto;position:sticky;top:100px;border:1px solid rgba(255,255,255,.8)}.planner-sidebar::-webkit-scrollbar{width:8px}.planner-sidebar::-webkit-scrollbar-track{background:#0000d;border-radius:10px}.planner-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#d97706,#f59e0b);border-radius:10px}.planner-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#b45309,#d97706)}.planner-section{padding:1.75rem 0;border-bottom:1px solid rgba(229,231,235,.5)}.planner-section:first-child{padding-top:0}.planner-section:last-child{border-bottom:none;padding-bottom:0}.planner-section h2{font-size:1.25rem;font-weight:700;color:#1a365d;margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem;letter-spacing:-.02em}.planner-section h2 svg{width:24px;height:24px;color:#d97706;filter:drop-shadow(0 2px 4px rgba(217,119,6,.2))}.input-group{margin-bottom:1.25rem}.input-group label{display:block;font-size:.9375rem;font-weight:600;color:#374151;margin-bottom:.625rem;letter-spacing:-.01em}.input-group input[type=number],.input-group select{width:100%;padding:.875rem 1rem;border:2px solid #E5E7EB;border-radius:12px;font-size:1rem;font-weight:500;color:#1f2937;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000d}.input-group input[type=number]:hover,.input-group select:hover{border-color:#d1d5db}.input-group input[type=number]:focus,.input-group select:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 4px #d977061a,0 4px 12px #d9770626;transform:translateY(-1px)}.size-info{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1.25rem;border-radius:12px;text-align:center;font-size:1.5rem;font-weight:700;color:#92400e;margin-top:1rem;box-shadow:0 4px 12px #d9770626;border:2px solid rgba(251,191,36,.3);position:relative;overflow:hidden}.size-info:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s infinite}@keyframes shimmer{to{left:100%}}.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.item-btn{background:#fff;border:2px solid #E5E7EB;border-radius:14px;padding:1.25rem .75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:.625rem;text-align:center;position:relative;overflow:hidden}.item-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fef3c7,#fde68a);opacity:0;transition:opacity .3s ease;z-index:0}.item-btn>*{position:relative;z-index:1}.item-btn:hover{border-color:#d97706;transform:translateY(-3px);box-shadow:0 8px 20px #d9770633}.item-btn:hover:before{opacity:.3}.item-btn.active{border-color:#d97706;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 8px 24px #d9770640;transform:translateY(-2px)}.item-btn.active:after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 8px #10b9814d}.item-btn svg{width:36px;height:36px;color:#d97706;transition:transform .3s ease}.item-btn:hover svg,.item-btn.active svg{transform:scale(1.1)}.item-btn span{font-size:.9375rem;font-weight:600;color:#1a365d}.item-btn small{font-size:.8125rem;color:#6b7280;font-weight:500}.option-group{display:flex;flex-direction:column;gap:.875rem}.checkbox-label{display:flex;align-items:center;gap:.875rem;cursor:pointer;padding:1rem;border-radius:12px;transition:all .2s ease;background:#fff;border:2px solid transparent}.checkbox-label:hover{background:#f9fafb;border-color:#e5e7eb}.checkbox-label input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:#D97706;border-radius:6px}.checkbox-label input[type=checkbox]:checked+span{color:#1a365d;font-weight:600}.checkbox-label span{font-size:.9375rem;color:#4b5563;transition:all .2s ease}.quality-options{display:flex;flex-direction:column;gap:.875rem}.radio-card{display:block;cursor:pointer}.radio-card input[type=radio]{display:none}.radio-content{padding:1.25rem;border:2px solid #E5E7EB;border-radius:14px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;position:relative}.radio-card:hover .radio-content{border-color:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #d9770626}.radio-card input[type=radio]:checked+.radio-content{border-color:#d97706;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 8px 20px #d9770633}.radio-card input[type=radio]:checked+.radio-content:after{content:"";position:absolute;top:12px;right:12px;width:20px;height:20px;background:linear-gradient(135deg,#d97706,#f59e0b);border-radius:50%;box-shadow:0 0 0 4px #d9770633}.radio-content strong{display:block;color:#1a365d;font-size:1.0625rem;font-weight:700;margin-bottom:.375rem;letter-spacing:-.01em}.radio-content small{color:#6b7280;font-size:.875rem}.cost-summary{background:linear-gradient(135deg,#1a365d,#2563eb);margin:0 -2rem -2rem;padding:2rem;border-radius:0 0 20px 20px;color:#fff;position:relative;overflow:hidden}.cost-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.cost-summary h2{color:#fff;margin-bottom:1.5rem}.cost-summary h2 svg{color:#fcd34d}.cost-breakdown{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.75rem}.cost-row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem;padding-bottom:.875rem;border-bottom:1px solid rgba(255,255,255,.15)}.cost-row:last-child{border-bottom:none}.cost-row.total{font-size:1.5rem;font-weight:800;border-bottom:none;padding-top:1rem;border-top:2px solid rgba(255,255,255,.3);color:#fcd34d;margin-top:.5rem}.btn-request-quote{width:100%;background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#92400e;border:none;padding:1.125rem 1.5rem;border-radius:12px;font-size:1.0625rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #fcd34d66;letter-spacing:-.01em}.btn-request-quote:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px);box-shadow:0 8px 20px #fcd34d80}.btn-request-quote:active{transform:translateY(0)}.planner-canvas-wrapper{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 40px #0001a,0 0 0 1px #fff80 inset;border:1px solid rgba(255,255,255,.8)}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #F3F4F6}.tool-btn{background:#fff;border:2px solid #E5E7EB;padding:.875rem 1.5rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);color:#374151}.tool-btn:hover{border-color:#d97706;background:#fef3c7;transform:translateY(-2px);box-shadow:0 4px 12px #d9770626}.tool-btn svg{width:20px;height:20px}.view-toggle{display:flex;gap:.5rem;background:#f3f4f6;padding:.375rem;border-radius:12px}.view-btn{background:transparent;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#6b7280}.view-btn.active{background:#fff;color:#1a365d;box-shadow:0 2px 8px #0001a}#bath-canvas{width:100%;height:600px;border:2px solid #E5E7EB;border-radius:16px;background:linear-gradient(135deg,#fff,#f9fafb);cursor:crosshair;box-shadow:inset 0 2px 8px #0000d}.canvas-hint{display:flex;align-items:center;gap:.875rem;margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px;color:#1e40af;font-size:.9375rem;border:1px solid rgba(59,130,246,.2)}.canvas-hint svg{width:24px;height:24px;flex-shrink:0;color:#3b82f6}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal.show{display:flex}.modal-content{background:#fff;border-radius:24px;padding:2.5rem;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:#f3f4f6;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:#e5e7eb;transform:rotate(90deg)}.modal-content h2{color:#1a365d;font-size:2rem;font-weight:800;margin-bottom:.75rem;letter-spacing:-.02em}.modal-content>p{color:#6b7280;font-size:1rem;margin-bottom:2rem;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.9375rem;font-weight:600;color:#374151;margin-bottom:.625rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #E5E7EB;border-radius:12px;font-size:1rem;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 4px #d977061a}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-primary,.btn-secondary{flex:1;padding:1rem 1.75rem;border-radius:12px;font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.625rem}.btn-primary{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;border:none;box-shadow:0 4px 12px #d977064d}.btn-primary:hover{background:linear-gradient(135deg,#b45309,#d97706);transform:translateY(-2px);box-shadow:0 8px 20px #d9770666}.btn-secondary{background:#fff;color:#374151;border:2px solid #E5E7EB}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.info-section{padding:5rem 2rem;background:linear-gradient(135deg,#f9fafb,#fff)}.info-section .container{max-width:1200px;margin:0 auto}.info-section h2{text-align:center;color:#1a365d;font-size:2.5rem;font-weight:800;margin-bottom:4rem;letter-spacing:-.02em}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.info-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 4px 20px #00014;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.8)}.info-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00026}.info-icon{width:80px;height:80px;background:linear-gradient(135deg,#d97706,#f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;box-shadow:0 8px 24px #d977064d}.info-icon svg{width:40px;height:40px;color:#fff}.info-card h3{color:#1a365d;font-size:1.375rem;font-weight:700;margin-bottom:.875rem;letter-spacing:-.01em}.info-card p{color:#6b7280;font-size:1rem;line-height:1.6}@media(max-width:1200px){.planner-container{grid-template-columns:1fr;gap:2rem}.planner-sidebar{position:static;max-height:none}}@media(max-width:768px){.planner-container{padding:1.5rem 1rem}.planner-sidebar{padding:1.5rem}.item-grid,.form-row{grid-template-columns:1fr}.canvas-toolbar{flex-direction:column;gap:1rem;align-items:stretch}.view-toggle{justify-content:center}#bath-canvas{height:400px}.info-section h2{font-size:2rem}.modal-content{padding:2rem}.form-actions{flex-direction:column}}