.pergola-app{width:100%;margin:0 auto;padding:8px 12px 56px;color:#0f172a;box-sizing:border-box;overflow-x:hidden}.pergola-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:12px 16px;margin-bottom:14px;box-shadow:0 2px 8px #0f172a0a;position:sticky;top:8px;z-index:20;min-width:0}.pergola-topbar__left{flex-shrink:0;min-width:0}.pergola-topbar__metrics{display:flex;align-items:center;gap:20px;flex:1;justify-content:center;min-width:0;overflow:hidden}.pergola-topbar__actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.pergola-brand{display:flex;align-items:center;gap:10px}.pergola-brand__icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#fb923c,#f97316);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pergola-brand strong{display:block;font-size:.95rem;font-weight:800;color:#0f172a;line-height:1.2;white-space:nowrap}.pergola-brand small{display:block;font-size:.68rem;color:#94a3b8;font-weight:600;white-space:nowrap}.pergola-metric{text-align:center}.pergola-metric span{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.pergola-metric strong{display:block;font-size:.9rem;font-weight:800;color:#0f172a;margin-top:1px}.pga-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:background .15s;white-space:nowrap}.pga-btn--primary{background:#f97316;color:#fff}.pga-btn--primary:hover{background:#ea6c10}.pga-btn--ghost{background:#f1f5f9;color:#475569;padding:8px 10px}.pga-btn--ghost:hover{background:#e2e8f0}.pergola-layout{display:grid;grid-template-columns:1fr 340px;gap:14px;align-items:start;min-width:0}.pergola-layout--collapsed{grid-template-columns:1fr auto}.pergola-canvas-wrap{display:flex;flex-direction:column;gap:10px;min-width:0}.pergola-dim-row{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:10px 14px;box-shadow:0 1px 4px #0f172a0a;align-items:center}.pergola-dim-field{display:flex;align-items:center;gap:5px;flex:1;min-width:110px}.pergola-dim-fact{display:flex;align-items:center;gap:5px;padding-left:10px;border-left:1px solid #e2e8f0}.pergola-dim-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;white-space:nowrap}.pergola-dim-input{width:56px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:5px 8px;font-size:.88rem;font-weight:700;color:#0f172a;text-align:right;outline:none;transition:border-color .15s}.pergola-dim-input:focus{border-color:#f97316;background:#fff}.pergola-dim-unit{font-size:.7rem;font-weight:600;color:#94a3b8}.pergola-dim-fact strong{font-size:.9rem;font-weight:800;color:#0f172a}.pergola-canvas{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;overflow:hidden;height:520px;position:relative;box-shadow:0 2px 8px #0f172a0d}.pergola-viewer-toolbar{position:absolute;top:12px;left:12px;z-index:8;display:flex;gap:6px;align-items:center;pointer-events:none}.pergola-viewer-toolbar>*{pointer-events:auto}.pergola-view-toggle{display:flex;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:10px;padding:3px;gap:2px;backdrop-filter:blur(4px);box-shadow:0 1px 4px #0f172a1f}.pergola-view-toggle button{display:flex;align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:700;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:7px;transition:all .15s}.pergola-view-toggle button.active{background:#0f172a;color:#fff;box-shadow:0 1px 3px #0f172a40}.pergola-trinn-btn{display:flex;align-items:center;gap:5px;padding:6px 11px;font-size:.75rem;font-weight:700;border:1px solid #e2e8f0;background:#ffffffeb;backdrop-filter:blur(4px);color:#64748b;cursor:pointer;border-radius:10px;box-shadow:0 1px 4px #0f172a1a;transition:all .15s}.pergola-trinn-btn:hover{background:#fff;color:#0f172a}.pergola-trinn-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.pergola-buildsteps{position:absolute;top:54px;left:12px;z-index:8;display:flex;gap:4px;align-items:center;background:#ffffffeb;backdrop-filter:blur(4px);border:1px solid #e2e8f0;border-radius:10px;padding:5px 10px;box-shadow:0 1px 4px #0f172a1a;flex-wrap:wrap}.pergola-buildsteps__label{font-size:.68rem;font-weight:700;color:#64748b;display:flex;align-items:center;gap:4px;margin-right:2px}.pergola-buildsteps button{font-size:.68rem;padding:2px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-weight:600;cursor:pointer;transition:all .12s}.pergola-buildsteps button.active{border-color:#f97316;background:#fff7ed;color:#c2410c;font-weight:700}.three-preview-card{position:absolute;inset:0;display:flex;flex-direction:column}.three-preview-header{position:absolute;top:12px;right:12px;z-index:6;display:flex;align-items:center;gap:6px}.three-preview-header h3,.three-preview-header p{display:none}.three-preview-host{flex:1;position:absolute;inset:0}.three-preview-host canvas{display:block;width:100%!important;height:100%!important}.three-preview-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f1f5f9;z-index:1}.three-preview-error{position:absolute;bottom:60px;left:12px;right:12px;padding:10px 12px;font-size:.82rem;color:#dc2626;background:#fef2f2f2;border-radius:10px;z-index:5}.three-layer-toggles{position:absolute;bottom:10px;left:12px;display:flex;flex-wrap:wrap;gap:5px;z-index:6}.three-layer-toggles button{padding:4px 8px;border:1px solid rgba(255,255,255,.5);border-radius:8px;background:#ffffffd9;color:#334155;font-size:.68rem;font-weight:700;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 1px 3px #0f172a1a}.three-layer-toggles button.active{background:#f97316e6;border-color:transparent;color:#fff}.three-camera-buttons{display:flex;gap:5px;flex-wrap:wrap}.three-camera-buttons button{padding:5px 9px;border:1px solid rgba(255,255,255,.5);border-radius:8px;background:#ffffffd9;color:#334155;font-size:.72rem;font-weight:700;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 1px 3px #0f172a1a}.three-camera-buttons button:hover{background:#fff}.pergola-2d-overlay{position:absolute;z-index:10;background:#fffffff5;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 20px #0f172a26;display:flex;flex-direction:column;overflow:hidden;min-width:180px;min-height:140px;backdrop-filter:blur(8px)}.pergola-2d-overlay__header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f8fafc;border-bottom:1px solid #e2e8f0;cursor:grab;font-size:.72rem;font-weight:700;color:#334155;user-select:none}.pergola-2d-overlay__header:active{cursor:grabbing}.pergola-2d-overlay__close{margin-left:auto;border:none;background:transparent;color:#94a3b8;cursor:pointer;padding:1px 3px;border-radius:4px;font-size:.75rem}.pergola-2d-overlay__close:hover{color:#ef4444}.pergola-2d-overlay__canvas{flex:1;min-height:0;position:relative;overflow:hidden}.pergola-2d-overlay__resize{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:se-resize;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-top:1px solid #e2e8f0;border-left:1px solid #e2e8f0;border-bottom-right-radius:14px}.pergola-panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:14px;box-shadow:0 2px 8px #0f172a0a;max-height:calc(100vh - 130px);overflow-y:auto;overflow-x:hidden;position:sticky;top:76px;min-width:0}.pergola-panel__scroll{overflow-y:auto;overflow-x:hidden}.pergola-sidebar-tab{display:flex;align-items:center;justify-content:center;width:28px;height:60px;background:#fff;border:1px solid #e2e8f0;border-radius:0 12px 12px 0;cursor:pointer;color:#94a3b8;box-shadow:2px 0 6px #0f172a0f;align-self:flex-start;margin-top:20px;font-size:.8rem}.pergola-sidebar-tab:hover{color:#f97316;background:#fff7ed}.pergola-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;position:sticky;top:0;z-index:4;background:#fff;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.pergola-steps button{padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#334155;font-weight:700;cursor:pointer;font-size:.78rem}.pergola-steps button.active{background:#f97316;border-color:#f97316;color:#fff}.pergola-section{border:1px solid #e2e8f0;border-radius:14px;margin-bottom:8px;overflow:hidden}.pergola-section__header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border:none;cursor:pointer;font-size:.85rem;font-weight:700;color:#0f172a;text-align:left}.pergola-section__icon{font-size:.9rem;color:#d97706;width:16px;text-align:center}.pergola-section__title{flex:1}.pergola-section__toggle-icon{font-size:.65rem;color:#94a3b8}.pergola-section__body{padding:10px 12px;border-top:1px solid #e2e8f0}.pergola-preset-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pergola-preset-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1.5px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;color:#64748b}.pergola-preset-option:hover{border-color:#fdba74;background:#fff7ed;color:#c2410c}.pergola-preset-option.active{border-color:#f97316;background:#fff7ed;color:#c2410c;box-shadow:0 0 0 2px #f9731626}.pergola-preset-option span{font-size:.65rem;font-weight:700}.pergola-roof-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pergola-roof-option{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border:1.5px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer;color:#64748b;transition:border-color .15s,background .15s,box-shadow .15s}.pergola-roof-option:hover{border-color:#fdba74;background:#fff7ed;color:#c2410c}.pergola-roof-option.active{border-color:#f97316;background:#fff7ed;color:#c2410c;box-shadow:0 0 0 2px #f9731626}.pergola-roof-option__label{font-size:.68rem;font-weight:700;text-align:center}.pergola-field{display:block;margin-bottom:10px}.pergola-field__label{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:4px}.pergola-select-wrap{display:block;margin-bottom:8px}.pergola-select-wrap:last-child{margin-bottom:0}.pergola-select{width:100%;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:8px 10px;font-size:.85rem;font-weight:700;color:#0f172a;outline:none}.pergola-select:focus{border-color:#f97316;background:#fff}.pergola-toggle{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer;font-size:.85rem;font-weight:600;color:#334155}.pergola-toggle input{accent-color:#f97316}.pergola-total-bar{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:14px;background:linear-gradient(135deg,#f0fdf4,#fffbeb);border:1px solid #dcfce7;margin-bottom:10px}.pergola-total-bar span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.pergola-total-bar strong{font-size:1.3rem;font-weight:800;color:#166534}.pergola-meta{font-size:.73rem;color:#94a3b8;margin-bottom:12px}.pergola-panel .flex{display:flex}.pergola-panel .items-center{align-items:center}.pergola-panel .gap-2{gap:8px}.pergola-panel .gap-3{gap:12px}.pergola-panel .space-y-2>*+*{margin-top:8px}.pergola-panel .space-y-3>*+*{margin-top:12px}.pergola-panel .space-y-4>*+*{margin-top:16px}.pergola-panel .grid{display:grid}.pergola-panel .grid-cols-2{grid-template-columns:repeat(2,1fr)}.pergola-panel .p-3{padding:12px}.pergola-panel .p-4{padding:16px}.pergola-panel .px-1{padding-left:4px;padding-right:4px}.pergola-panel .pb-2{padding-bottom:8px}.pergola-panel .mb-2{margin-bottom:8px}.pergola-panel .mt-0\.5{margin-top:2px}.pergola-panel .mt-1{margin-top:4px}.pergola-panel .ml-auto{margin-left:auto}.pergola-panel .rounded-xl{border-radius:12px}.pergola-panel .rounded-full{border-radius:999px}.pergola-panel .bg-white{background:#fff}.pergola-panel .bg-gray-50{background:#f8fafc}.pergola-panel .bg-green-50{background:#f0fdf4}.pergola-panel .bg-red-50{background:#fef2f2}.pergola-panel .bg-blue-50{background:#eff6ff}.pergola-panel .bg-amber-50{background:#fffbeb}.pergola-panel .bg-orange-50{background:#fff7ed}.pergola-panel .border{border:1px solid #e2e8f0}.pergola-panel .border-gray-100{border-color:#f1f5f9}.pergola-panel .border-red-200{border-color:#fecaca}.pergola-panel .border-blue-200{border-color:#bfdbfe}.pergola-panel .border-amber-200{border-color:#fde68a}.pergola-panel .text-center{text-align:center}.pergola-panel .text-right{text-align:right}.pergola-panel .text-xs{font-size:.75rem}.pergola-panel .text-sm{font-size:.875rem}.pergola-panel .text-lg{font-size:1.125rem}.pergola-panel .text-xl{font-size:1.25rem}.pergola-panel .font-semibold{font-weight:600}.pergola-panel .font-bold{font-weight:700}.pergola-panel .font-extrabold{font-weight:800}.pergola-panel .font-black{font-weight:900}.pergola-panel .uppercase{text-transform:uppercase}.pergola-panel .tracking-wider{letter-spacing:.05em}.pergola-panel .text-gray-400{color:#94a3b8}.pergola-panel .text-gray-500{color:#64748b}.pergola-panel .text-gray-700{color:#334155}.pergola-panel .text-gray-900{color:#0f172a}.pergola-panel .text-green-700{color:#15803d}.pergola-panel .text-red-500{color:#ef4444}.pergola-panel .text-red-600{color:#dc2626}.pergola-panel .text-red-700{color:#b91c1c}.pergola-panel .text-red-800{color:#991b1b}.pergola-panel .text-blue-400{color:#60a5fa}.pergola-panel .text-blue-700{color:#1d4ed8}.pergola-panel .text-blue-800{color:#1e40af}.pergola-panel .text-amber-700{color:#b45309}.pergola-panel .text-amber-800{color:#92400e}.pergola-panel .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pergola-panel .shrink-0{flex-shrink:0}.pergola-panel .whitespace-nowrap{white-space:nowrap}.pergola-panel .min-w-0{min-width:0}.pergola-panel .flex-wrap{flex-wrap:wrap}.pergola-panel .inline-flex{display:inline-flex}.pergola-panel .gap-x-3{column-gap:12px}.pergola-panel .gap-y-1{row-gap:4px}@media (max-width: 1024px){.pergola-layout,.pergola-layout--collapsed{grid-template-columns:1fr}.pergola-panel{position:static;max-height:none;order:2}.pergola-canvas-wrap{order:1}.pergola-topbar__metrics{gap:12px}.pergola-sidebar-tab{display:none}}@media (max-width: 700px){.pergola-app{padding:10px 8px 40px}.pergola-topbar{flex-wrap:wrap;padding:10px 12px}.pergola-topbar__metrics{display:none}.pergola-canvas{height:360px}.pergola-dim-row{gap:6px}.pergola-dim-field{min-width:90px}.pergola-preset-picker{grid-template-columns:repeat(2,1fr)}.pergola-steps button{font-size:.72rem;flex-direction:column;gap:3px}}.builder-drawer-body .pergola-app{padding:6px 8px 24px!important}.builder-drawer-body .pergola-topbar{position:static!important;top:auto!important;border-radius:12px!important;padding:8px 10px!important;flex-wrap:wrap!important;gap:6px!important}.builder-drawer-body .pergola-topbar__metrics{display:none!important}.builder-drawer-body .pergola-layout,.builder-drawer-body .pergola-layout--collapsed{grid-template-columns:1fr!important}.builder-drawer-body .pergola-panel{position:static!important;max-height:none!important;order:2!important}.builder-drawer-body .pergola-canvas-wrap{order:1!important}.builder-drawer-body .pergola-canvas{height:300px!important}.builder-drawer-body .pergola-sidebar-tab{display:none!important}.builder-drawer-body .pergola-brand strong{font-size:.82rem!important}.builder-drawer-body .pergola-brand small{display:none!important}
