*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg{max-width:100%;display:block}button,input,select{font:inherit}:root{--color-navy:#163163;--color-steel-1:#a0acc0;--color-steel-2:#7283a1;--color-steel-3:#445a82;--color-ok:#39c270;--color-bad:#d13a3a;--color-white:#fff;--color-black:#000;--color-gap:#00000040;--font-family-base:Montserrat, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-size-100:12px;--font-size-200:14px;--font-size-300:16px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--header-height:48px;--sidebar-width:20%;--sidebar-min-width:500px;--grid-gutter:.25in;--grid-cell-px:10px;--grid-line-color:#bfc8d1;--item-wall:.5cm;--item-wall-half:.25cm;--radius-100:3px;--radius-200:6px;--space-100:.2rem;--space-200:.3rem;--space-300:.5rem;--space-400:.8rem;--z-header:1000;--z-menu:10000;--z-axes:200;--z-items:100;--z-preview:1000}html{font-family:var(--font-family-base)}#app{background:#f8fafc;min-height:100vh}#app:empty{background:#0f2745}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-loading-screen{z-index:999999;opacity:0;pointer-events:auto;visibility:hidden;background:#0f2745b8;place-items:center;padding:24px;transition:opacity .22s,visibility .22s;display:grid;position:fixed;inset:0}.app-loading-screen[hidden]{display:none}.app-loading-screen.is-visible{opacity:1;visibility:visible}.app-loading-screen--blocking{background:linear-gradient(135deg,#0b1e37fa,#163163fa),#163163}.app-loading-panel{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px;width:min(360px,100vw - 48px);padding:18px;display:grid;box-shadow:0 18px 50px #00000047}.app-loading-logo{background:#fff;border-radius:8px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.app-loading-logo img{object-fit:contain;width:36px;height:36px}.app-loading-copy{min-width:0}.app-loading-kicker{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.app-loading-label{color:#fff;font-size:15px;font-weight:700;line-height:1.25}.app-loading-track{background:#ffffff29;border-radius:999px;grid-column:1/-1;height:3px;position:relative;overflow:hidden}.app-loading-track span{border-radius:inherit;background:#fff;width:42%;animation:1.15s ease-in-out infinite artik-loading-track;position:absolute;inset:0 auto 0 0}@keyframes artik-loading-track{0%{transform:translate(-110%)}55%{transform:translate(105%)}to{transform:translate(230%)}}.template-image,.card-preview,.project-flow-item-preview{contain:paint;position:relative;overflow:hidden}.project-flow-card{min-height:72px}.intro-cta-card{min-height:132px}.projects-item-card,.intro-recent-item{min-height:76px}.intro-recent-list{min-height:88px}.intro-recent-skeleton{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:9px;min-height:76px;padding:14px;display:grid}.loading-skeleton-line{background:linear-gradient(90deg,#e5e7eb 0%,#f8fafc 48%,#e5e7eb 100%) 0 0/220% 100%;border-radius:999px;width:min(100%,360px);height:12px;animation:1.25s ease-in-out infinite artik-skeleton-pulse;display:block;overflow:hidden}.loading-skeleton-line--title{width:min(62%,260px);height:16px}.template-image{min-height:150px}.card-preview{min-height:116px}.template-image img,.layout-card-image{transition:opacity .18s}.template-grid.is-updating .template-card,#laysList.is-updating .card{cursor:progress}.template-grid.is-updating .template-image:before,#laysList.is-updating .card-preview:before,.project-flow-items-grid.is-loading .project-flow-item-preview:before{content:"";z-index:1;background:#f8fafcad;position:absolute;inset:0}.template-grid.is-updating .template-image:after,#laysList.is-updating .card-preview:after,.project-flow-items-grid.is-loading .project-flow-item-preview:after{content:"";z-index:2;border:3px solid #1631632e;border-top-color:#163163;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;animation:.7s linear infinite artik-image-spinner;position:absolute;top:50%;left:50%}.asset-swap-fading{opacity:.42}@keyframes artik-image-spinner{to{transform:rotate(360deg)}}@keyframes artik-skeleton-pulse{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){.app-loading-screen,.template-image img,.layout-card-image{transition:none}.app-loading-track span,.loading-skeleton-line,.template-grid.is-updating .template-image:after,#laysList.is-updating .card-preview:after,.project-flow-items-grid.is-loading .project-flow-item-preview:after{animation:none}}.drawer-planner{grid-template:"h h" var(--header-height) "content content" 1fr / var(--sidebar-width) 1fr;background:var(--color-white);border:1px solid var(--color-steel-1);height:100vh;display:grid}button{text-align:center}.app-btn,.btn,.wizard-btn,.settings-btn,.custom-alert-btn{cursor:pointer;text-align:center;color:#1f2937;box-shadow:none;background:#fff;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s,opacity .2s;display:inline-flex;transform:none}.app-btn:hover,.btn:hover,.wizard-btn:hover,.settings-btn:hover,.custom-alert-btn:hover{box-shadow:none!important;transform:none!important}.app-btn:disabled,.btn:disabled,.wizard-btn:disabled,.settings-btn:disabled,.custom-alert-btn:disabled{opacity:.55;cursor:not-allowed}.app-btn--primary,.btn-primary,.wizard-btn-primary,.settings-btn-primary,.custom-alert-btn-primary{color:#fff;background:#1f4fb3;border-color:#1f4fb3}.app-btn--primary:hover,.btn-primary:hover,.wizard-btn-primary:hover,.settings-btn-primary:hover,.custom-alert-btn-primary:hover{color:#f8fafc;background:#163163;border-color:#163163}.app-btn--primary-outline,.btn-primary-outline{color:#1f4fb3;background:#fff;border-color:#1f4fb3}.app-btn--primary-outline:hover,.btn-primary-outline:hover{color:#163163;background:#eff6ff;border-color:#163163}.app-btn--secondary,.btn-secondary-fill{color:#fff;background:#334155;border-color:#334155}.app-btn--secondary:hover,.btn-secondary-fill:hover{color:#f8fafc;background:#1f2937;border-color:#1f2937}.app-btn--secondary-outline,.btn-secondary,.wizard-btn-secondary,.settings-btn-secondary,.custom-alert-btn-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.app-btn--secondary-outline:hover,.btn-secondary:hover,.wizard-btn-secondary:hover,.settings-btn-secondary:hover,.custom-alert-btn-secondary:hover{color:#1f2937;background:#f8fafc;border-color:#94a3b8}.app-btn--danger-outline,.btn-danger-outline{color:#dc2626;background:#fff;border-color:#ef4444}.app-btn--danger-outline:hover,.btn-danger-outline:hover{color:#b91c1c;background:#fef2f2;border-color:#dc2626}.export{position:relative}.menu{background:var(--color-white);border:1px solid var(--color-steel-1);z-index:var(--z-menu);display:none;position:absolute;top:100%;right:0}.export.open .menu{display:block}.menu button{background:var(--color-white);text-align:left;cursor:pointer;border:none;width:100%;padding:.4rem .8rem;display:block}.menu button:hover{background:var(--color-steel-1)}.canvas-ctn{grid-area:content;grid-template-columns:minmax(var(--sidebar-min-width), var(--sidebar-width)) minmax(0, 1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid}@media (width<=1024px){.drawer-planner{grid-template:"h" var(--header-height) "content" 1fr / 1fr}.canvas-ctn{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{z-index:1000;border-top:2px solid var(--color-steel-1);width:100%;min-width:auto;height:auto;max-height:50vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;inset:auto 0 0;transform:translateY(calc(100% - 60px));box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f}.sidebar.mobile-open{transform:translateY(0)}.sidebar:before{content:"";background:var(--color-steel-1);cursor:pointer;border-radius:2px;width:40px;height:4px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.list{max-height:calc(50vh - 120px)}.canvas-wrapper{height:calc(100vh - var(--header-height) - 60px)}}.header{padding:0 var(--space-400);background:var(--color-navy);color:var(--color-white);font-size:var(--font-size-200);z-index:var(--z-header);justify-content:space-between;align-items:center;gap:var(--space-300);flex-wrap:wrap;grid-area:h;display:flex}.header-left{align-items:center;gap:var(--space-300);display:flex}.header-right{align-items:center;gap:var(--space-200);background-color:var(--color-navy);flex:1;display:flex}.logo{font-weight:var(--font-weight-bold)}.size-form{gap:var(--space-300);align-items:center;display:flex}.size-form input{width:3.5rem;padding:var(--space-100)}.btn-back,.btn-save,.btn-logout{cursor:pointer;color:var(--color-white);background:#ffffff1a;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:inline-flex}.btn-back:hover,.btn-save:hover{background:#fff3;border-color:#ffffff4d}.btn-back svg,.btn-logout svg{display:block}.btn-save{font-size:18px}.user-badge{background:#ffffff26;border:1px solid #fff3;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.user-icon{font-size:16px}.user-name{color:var(--color-white);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600;overflow:hidden}html,body{height:100%;overflow:hidden}body.modal-open{overflow:hidden}.drawer-planner{flex-direction:column;height:100vh;display:flex;overflow:hidden}.top-nav{color:#fff;z-index:100;background:linear-gradient(135deg,#163163 0%,#1f4fb3 55%,#3b82f6 100%);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:62px;padding:0 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 6px 14px #0f172a33}.nav-section{align-items:center;gap:1rem;display:flex}.nav-brand{flex:auto;gap:.75rem;min-width:0}.logo{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.nav-actions{flex:0 auto;justify-content:flex-start;gap:.5rem}.btn-icon{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff3;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon:hover:not(:disabled){background:#ffffff40;border-color:#ffffff4d}.btn-icon:active:not(:disabled){background:#ffffff4d}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon svg{flex-shrink:0}.btn-label{white-space:nowrap}.btn-back{justify-content:center;width:36px;height:36px;padding:.5rem}.btn-logout:hover{color:#ef4444;background:#fee2e2;border-color:#ef4444}.btn-3d{background:#8b5cf64d;border-color:#8b5cf666}.btn-3d:hover{background:#8b5cf666}.export-group{position:relative}.btn-export{gap:.375rem}.icon-dropdown{opacity:.7;transition:transform .2s}.export-group.open .icon-dropdown{transform:rotate(180deg)}.dropdown-menu{opacity:0;visibility:hidden;z-index:1000;background:#fff;border-radius:8px;min-width:180px;transition:all .2s;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;transform:translateY(-10px);box-shadow:0 10px 25px #00000026}.export-group.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{color:#1f2937;text-align:left;cursor:pointer;background:#fff;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.dropdown-item:hover{background:#f3f4f6}.item-icon{font-size:1.125rem}.nav-user{flex:none;gap:.75rem}.project-title-quick{border-left:1px solid #ffffff40;max-width:320px;margin-left:.375rem;padding-left:.875rem}.user-badge{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff3;border-radius:8px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;transition:all .2s;display:flex}.user-badge:hover{background:#ffffff40;border-color:#ffffff4d}.user-badge:active{background:#ffffff4d}.user-avatar{font-size:1.125rem}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:600;overflow:hidden}.project-title-container{flex-direction:column;gap:4px;display:flex}.project-title-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.project-title-input-wrapper{align-items:center;display:flex;position:relative}.project-title-input{color:#fff;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;width:100%;min-width:240px;padding:6px 32px 6px 12px;font-size:14px;font-weight:600;transition:all .2s}.project-title-input::placeholder{color:#ffffff80}.project-title-input:hover{background:#ffffff26;border-color:#fff6}.project-title-input:focus{background:#fff3;border-color:#fff;outline:none;box-shadow:0 0 0 3px #ffffff1a}.project-title-edit-icon{color:#ffffff80;pointer-events:none;transition:color .2s;position:absolute;right:10px}.project-title-input:focus~.project-title-edit-icon,.project-title-input:hover~.project-title-edit-icon{color:#fffc}.toolbar{box-sizing:border-box;background:linear-gradient(#fbfdff 0%,#f3f6fb 100%);border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:1rem 1.5rem;width:100%;padding:.875rem 1.25rem 1rem;display:flex;overflow-x:auto;box-shadow:inset 0 -1px #94a3b826}.toolbar-section{flex:none;align-items:flex-end;gap:1rem;display:flex}.toolbar-section:first-of-type{flex:auto;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;min-width:0;display:grid}.toolbar-section:first-of-type .section-label{grid-row:1/span 2;align-self:start;padding-top:2px}.toolbar-section:first-of-type .size-form{grid-column:2}.section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-self:center;font-size:.75rem;font-weight:600}.toolbar-helper{color:#475569;white-space:nowrap;text-overflow:ellipsis;font-size:.775rem;line-height:1.3;overflow:hidden}.size-form,.materials-group{align-items:flex-end;gap:.75rem;display:flex}.input-group{flex-direction:row;align-items:center;gap:.25rem;display:flex}.input-group label{color:#6b7280;font-size:.75rem;font-weight:500}.input-group input,.input-group select,.unit-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:all .15s}.input-group input:focus,.input-group select:focus,.unit-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.input-group input{width:80px}.input-group input[type=number]{appearance:textfield}.input-group input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.input-group input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.btn-apply{color:#fff;cursor:pointer;background:#1f4fb3;border:none;border-radius:6px;align-self:flex-end;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.btn-apply:hover{background:#163163}.btn-apply:active{background:#14305c}.toolbar-divider{background:#d1d5db;width:1px;height:40px}.dimensions-modal{z-index:10020;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.dimensions-modal.active{display:flex}.dimensions-modal-backdrop{background:#0f172a73;position:absolute;inset:0}.dimensions-modal-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;width:min(460px,100% - 20px);padding:14px;position:relative}.dimensions-modal-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.dimensions-modal-header h3{color:#0f172a;margin:0;font-size:18px}.dimensions-modal-helper{color:#475569;margin:8px 0 12px;font-size:13px}.size-form-modal{gap:12px;display:grid}.size-form-modal .input-group{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.size-form-modal .input-group label{color:#475569;font-size:13px}.size-form-modal .input-group input{width:100%}.dimensions-modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.main-content{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:320px;transition:margin-left .3s;display:flex;position:relative;overflow:hidden}.sidebar-toggle{cursor:pointer;z-index:100;background:#fff;border:1px solid #e5e7eb;border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:32px;height:64px;transition:all .2s;display:flex;position:absolute;top:50%;right:-32px;transform:translateY(-50%)}.sidebar-toggle:hover{background:#f9fafb}.sidebar-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:12px;padding:1rem 1rem .875rem;display:flex}.sidebar-header-main{gap:6px;min-width:0;display:grid}.sidebar-title{color:#111827;margin:0;font-size:1rem;font-weight:700}.sidebar-dimension-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sidebar-dimension-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.sidebar-dimension-value{color:#163163;background:#fff;border:1px solid #dbe3ef;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.sidebar-dimension-edit{min-width:82px}.tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex}.tab{color:#6b7280;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.875rem .5rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex;position:relative}.tab:after{content:"";background:0 0;height:2px;transition:background .2s;position:absolute;bottom:-2px;left:0;right:0}.tab.active{color:#3b82f6;font-weight:600}.tab.active:after{background:#3b82f6}.tab-icon{opacity:.7;transition:opacity .2s}.tab.active .tab-icon,.tab:hover .tab-icon{opacity:1}.tab-label{letter-spacing:.01em}.panel-content{min-height:min-content;padding:1rem 1rem 6rem}.panel-content .card{cursor:grab;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.panel-content .card:hover{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 6px -1px #3b82f626,0 2px 4px -1px #3b82f61a}.panel-content .card:active{cursor:grabbing;transform:scale(.98)}.panel-content .card-title{color:#111827;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.panel-content .card-meta{color:#6b7280;font-size:.75rem}.panel-content .card.exact-match{background:#f0fdf4;border-color:#10b981}.panel-content .card-preview{background:#f9fafb;border-radius:4px;justify-content:center;margin-bottom:.5rem;padding:.5rem;display:flex}.panel-content .layout-card-image{object-fit:contain;width:100%;max-height:120px}.empty-state-icon{opacity:.5;margin-bottom:.75rem;font-size:3rem}.canvas-container{background:#f3f4f6;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.canvas{flex-direction:column;flex:1;align-items:stretch;min-height:0;padding:0;display:flex;overflow:auto}.canvas .grid-stack{flex:none;align-self:flex-start;min-height:auto;margin:0}@media (width<=1024px){.top-nav{padding:0 .75rem}.project-title-quick,.btn-label{display:none}.btn-icon{justify-content:center;width:36px;height:36px;padding:.5rem}.nav-actions{gap:.25rem}.user-name{display:none}}@media (width<=768px){.sidebar{z-index:90;height:calc(100vh - 62px);transition:left .3s;position:fixed;top:62px;left:-320px;box-shadow:2px 0 8px #0000001a}.sidebar.open{left:0}.main-content{width:100%}.toolbar{padding:.75rem 1rem;overflow-x:auto}.toolbar-section:first-of-type{align-items:flex-end;display:flex}.toolbar-section:first-of-type .section-label{grid-row:auto;align-self:center;padding-top:0}.toolbar-section:first-of-type .size-form{grid-column:auto}.toolbar-helper{display:none}.section-label{font-size:.7rem}.sidebar-header{flex-direction:column;align-items:stretch}.sidebar-dimension-edit{width:100%}}.sidebar{color:#1f2937;min-width:var(--sidebar-min-width);height:calc(100vh - var(--header-height));background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;grid-column:1;padding:0;transition:margin-left .3s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{margin-left:calc(-1 * var(--sidebar-min-width))}.sidebar-toggle{cursor:pointer;z-index:100;background:#fff;border:1px solid #e5e7eb;border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:32px;height:64px;transition:all .2s;display:flex;position:absolute;top:50%;right:-32px;transform:translateY(-50%);box-shadow:2px 0 4px #0000000d}.sidebar-toggle:hover{background:#f9fafb;box-shadow:2px 0 8px #0000001a}.sidebar-toggle:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.sidebar-toggle svg{color:#6b7280;width:16px;height:16px;transition:transform .3s}.sidebar-toggle-grip,.sidebar-toggle-text{display:none}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-header-wrapper{border-bottom:1px solid #e5e7eb;flex-shrink:0}.sidebar-content-wrapper{background:#fff;flex:1;position:relative;overflow:hidden auto}.sidebar-content{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.sidebar-quick-add{background:#fff;padding:0 16px}.sidebar-quick-add-label{color:#475569;margin-bottom:8px;font-size:13px;line-height:1.4}.sidebar-quick-add-meta{color:#64748b;margin-bottom:12px;font-size:12px;line-height:1.45}.sidebar-quick-add-button{width:auto;min-width:172px;padding-inline:18px}.sidebar-section-divider{background:linear-gradient(90deg,#94a3b800,#94a3b8a6,#94a3b800);height:1px;margin:18px 16px}.sidebar-rules{padding:16px 16px 0}.sidebar-rules-card{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #dbe3ef;border-radius:12px;padding:12px 14px}.sidebar-rules-title{color:#163163;letter-spacing:.01em;margin-bottom:8px;font-size:13px;font-weight:700}.sidebar-rules-list{color:#475569;gap:6px;margin:0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.sidebar-layouts-heading{color:#64748b;text-transform:uppercase;letter-spacing:.08em;padding:0 16px 8px;font-size:11px;font-weight:700}.sidebar-color-section{padding:0 16px}.sidebar-color-title{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:700}.sidebar-color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sidebar-color-option{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 8px;font-size:12px;font-weight:700;transition:border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.sidebar-color-option:hover{color:#163163;border-color:#3b82f6}.sidebar-color-option.selected{color:#163163;border-color:#163163;box-shadow:0 0 0 3px #1631631f}.sidebar-color-swatch{border:1px solid #cbd5e1;border-radius:50%;flex:0 0 15px;width:15px;height:15px;box-shadow:inset 0 0 0 1px #ffffff73}#laysList.panel-content{padding-top:4px}.list{padding:var(--space-400) var(--space-300);background:#fff;min-height:100%}.tab{text-align:center;cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;flex:1;padding:.6rem 0;font-size:.85rem;transition:all .2s}.tab:hover{color:#374151;background:#e5e7eb}.tab.active{color:#1f2937;font-weight:var(--font-weight-bold);background:#fff;border-bottom:2px solid #3b82f6}.card{padding:var(--space-300);margin-bottom:var(--space-300);cursor:grab;-webkit-user-select:none;user-select:none;color:#1f2937;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid #e5e7eb;border-radius:8px;font-size:.85rem;transition:all .2s;box-shadow:0 1px 2px #0000000d}.card:hover{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 6px -1px #3b82f626,0 2px 4px -1px #3b82f61a}.card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.card:active{cursor:grabbing;transform:scale(.98)}#laysList .card{cursor:pointer}.module-card-row{align-items:center;gap:12px;display:flex}.module-preview{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;flex:none;justify-content:center;align-items:center;width:72px;height:56px;display:flex}.module-preview-box{box-sizing:border-box;background:#3b82f640;border:1px solid #3b82f6;border-radius:4px}.module-info{flex-direction:column;gap:4px;min-width:0;display:flex}.module-title{color:#111827;font-size:.9rem;font-weight:600}.module-meta{color:#6b7280;font-size:12px}.sidebar-manual-tools[hidden]{display:none}.sidebar-rules-card--standard{padding:16px}.sidebar-active-model-name{color:#17213a;margin-bottom:12px;font-size:16px;font-weight:800}.sidebar-layout-lock{color:#163163;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.sidebar-layout-lock-icon{width:16px;height:16px;display:inline-flex}.sidebar-layout-lock-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:100%;height:100%}.sidebar-layout-hint{color:#475569;margin:0;font-size:13px;line-height:1.5}.canvas{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;grid-column:2;justify-content:center;align-items:flex-start;gap:16px;width:100%;min-width:0;height:100%;padding:86px 20px 20px;display:flex;position:relative;overflow:hidden}.planner-grid-toolbar{z-index:30;color:#1e293b;background:#fffffffa;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:8px 10px;display:flex;position:absolute;inset:14px 20px auto;box-shadow:0 8px 24px #0f172a1a}.planner-grid-toolbar[hidden]{display:none}.planner-grid-toolbar__title{white-space:nowrap;color:#0f172a}.planner-grid-toolbar__group{border-left:1px solid #dbe3ef;align-items:center;gap:4px;padding-left:12px;display:inline-flex}.planner-grid-toolbar__group>span{margin-right:4px;font-size:.78rem;font-weight:700}.planner-grid-toolbar button{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;min-width:34px;min-height:34px;padding:5px 8px;font-weight:700}.planner-grid-toolbar button:hover{background:#dbeafe;border-color:#60a5fa}.planner-grid-toolbar button:focus-visible{outline-offset:2px;outline:3px solid #1d4ed8}.planner-grid-toolbar .planner-grid-toolbar__delete{color:#b91c1c;background:#fff;border-color:#fca5a5;margin-left:auto}.grid-stack{margin-left:var(--grid-gutter);margin-top:var(--grid-gutter);box-sizing:border-box;max-width:100%;position:relative;margin-bottom:0!important;margin-right:0!important;padding:0!important;overflow:hidden!important}.grid-legend,.grid-legend .gl-title{display:none!important}.grid-stack{background-color:#fafafa;background-size:var(--grid-cell-px) var(--grid-cell-px);background-image:linear-gradient(#fff0 0 0),linear-gradient(#bfc8d14d 1px,#0000 1px),linear-gradient(90deg,#bfc8d14d 1px,#0000 1px);resize:none!important;box-sizing:border-box!important;margin-bottom:0!important;margin-right:0!important;padding:0!important;overflow:hidden!important}.grid-stack-item{z-index:var(--z-items)}.grid-stack-item.ui-draggable-dragging{z-index:calc(var(--z-items) + 100)}.grid-stack>.grid-stack-item>.grid-stack-item-content{isolation:isolate;box-sizing:border-box;padding:var(--item-wall-half);color:#1e293b;-webkit-user-select:none;user-select:none;cursor:move;background:0 0;border:3px solid #64748bbf;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.8rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 2px 4px #0000001f,0 4px 8px #00000014,inset 0 1px #fff9;overflow:hidden!important}.grid-stack-item-content:hover{background:0 0;border-color:#475569bf;transform:translateY(-1px);box-shadow:0 4px 6px -1px #00000026,0 2px 4px -1px #0000001a,0 8px 12px -2px #00000014,inset 0 1px #fff9}.grid-stack-item:focus-visible{outline-offset:3px;z-index:25;outline:4px solid #1d4ed8}.grid-stack-item.grid-stack-item--selected .grid-stack-item-content{background:#dbeafe61;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb4d}.grid-stack-item:focus-within .remove-btn,.grid-stack-item.grid-stack-item--selected .remove-btn{opacity:1;transform:scale(1)}.grid-stack-item.ui-draggable-dragging .grid-stack-item-content{opacity:.95;border-color:#3b82f6;transform:scale(1.03);box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000001a}.grid-stack-item.ok .grid-stack-item-content{color:#065f46;background:0 0;border-color:#10b981bf}.grid-stack-item.bad .grid-stack-item-content{color:#991b1b;background:0 0;border-color:#ef4444bf}.grid-stack-item .label{text-align:center;color:#0f172a;z-index:2;-webkit-line-clamp:5;overflow-wrap:normal;word-break:normal;background:#fffffff0;border:1px solid #64748b38;border-radius:6px;-webkit-box-orient:vertical;max-width:calc(100% - 12px);max-height:calc(100% - 12px);padding:3px 4px;font-size:.75rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden;box-shadow:0 1px 4px #0f172a1f}.grid-stack-item .remove-btn{color:#6b7280;cursor:pointer;z-index:10;opacity:0;background:#fffffff2;border:1px solid #e5e7eb;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;font-weight:500;line-height:1;transition:all .15s;display:flex;position:absolute;top:6px;right:6px;transform:scale(.9);box-shadow:0 1px 2px #0000000d}.grid-stack-item .remove-btn svg{color:currentColor;pointer-events:none;width:15px;height:15px;display:block}.grid-stack-item .remove-btn svg path{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round}.grid-stack-item-content:hover .remove-btn{opacity:1;transform:scale(1)}.grid-stack-item .remove-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5;transform:scale(1.05);box-shadow:0 2px 4px #dc262633}.grid-stack-item .remove-btn:active{transform:scale(.95)}.grid-stack-item-content:before{content:"";opacity:.4;z-index:0;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:8px}.grid-stack-item .ui-resizable-handle{z-index:15;transition:all .2s;position:absolute}.grid-stack-item .ui-resizable-n{cursor:n-resize;width:100%;height:4px;top:0;left:0}.grid-stack-item .ui-resizable-s{cursor:s-resize;width:100%;height:4px;bottom:0;left:0}.grid-stack-item .ui-resizable-e{cursor:e-resize;width:4px;height:100%;top:0;right:0}.grid-stack-item .ui-resizable-w{cursor:w-resize;width:4px;height:100%;top:0;left:0}.grid-stack-item .ui-resizable-ne{cursor:ne-resize;width:10px;height:10px;top:0;right:0}.grid-stack-item .ui-resizable-nw{cursor:nw-resize;width:10px;height:10px;top:0;left:0}.grid-stack-item .ui-resizable-se{cursor:se-resize;width:10px;height:10px;bottom:0;right:0}.grid-stack-item .ui-resizable-sw{cursor:sw-resize;width:10px;height:10px;bottom:0;left:0}.grid-stack-item:hover .ui-resizable-handle{background:#3b82f61a}.grid-stack-item .ui-resizable-handle:hover{background:#3b82f64d}.grid-stack-item.ui-resizable-resizing .ui-resizable-handle{background:#3b82f666}.grid-stack-item .label.label--compact{white-space:nowrap;flex-direction:column;align-items:center;gap:1px;max-width:calc(100% - 8px);padding:4px 3px;font-size:.68rem;line-height:1.1;display:flex}.label-compact-size,.label-compact-unit{display:block}.grid-stack[data-editing-mode=standard] .remove-btn,.grid-stack[data-editing-mode=standard] .ui-resizable-handle{display:none!important}.grid-stack[data-editing-mode=standard] .grid-stack-item-content{cursor:default}.grid-stack[data-editing-mode=standard] .grid-stack-item-content:hover{box-shadow:none;transform:none}.grid-preview{z-index:var(--z-preview);pointer-events:none;background:#3b82f614;border:2px dashed #3b82f6;animation:1.5s ease-in-out infinite pulse-preview;position:absolute;box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -1px #3b82f60f,inset 0 0 0 1px #3b82f61a}@keyframes pulse-preview{0%,to{opacity:.8}50%{opacity:1}}.grid-preview.blocked{background:#ef444414;border-color:#ef4444;box-shadow:0 4px 6px -1px #ef44441a,0 2px 4px -1px #ef44440f,inset 0 0 0 1px #ef44441a}.grid-preview .cell{border:1px dotted #0000001a}.grid-preview .cell.free{background:#10b9811f}.grid-preview .cell.blocked{background:#ef444433}.layout-hover-tooltip{pointer-events:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-width:300px;padding:12px;animation:.2s ease-out tooltipFadeIn;box-shadow:0 4px 12px #00000026}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.layout-hover-tooltip .tooltip-title{color:#111827;margin-bottom:8px;font-size:14px;font-weight:600}.layout-hover-tooltip .tooltip-desc{color:#4b5563;margin-top:-4px;margin-bottom:6px;font-size:12px}.layout-hover-tooltip .tooltip-preview{justify-content:center;align-items:center;display:flex}.layout-hover-tooltip .tooltip-info{color:#6b7280;text-align:center;margin-top:8px;font-size:12px}.card{cursor:pointer;flex-direction:column;gap:8px;transition:all .2s;display:flex}.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.card.exact-match{background:#f0fdf4;border-left:3px solid #10b981}.card-preview{background:#f9fafb;border-radius:6px;justify-content:center;align-items:center;padding:8px;display:flex}.card-preview svg{max-width:100%;height:auto}.card-preview .layout-card-image{object-fit:contain;width:100%;max-height:120px}.card .card-title{margin-bottom:4px;font-weight:500}.card .card-meta{color:#6b7280;font-size:12px}.empty-state{text-align:center;color:#6b7280;padding:24px;font-size:14px}.card.dimmed{opacity:.6}.card.dimmed:hover{opacity:1}.builder-panel{padding:0;overflow-y:auto}.builder-content{flex-direction:column;gap:1.25rem;padding:1rem;display:flex}.builder-title{color:#111827;margin:0;font-size:1rem;font-weight:700}.builder-intro{color:#6b7280;margin:0;font-size:.875rem;line-height:1.5}.builder-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.builder-label{color:#374151;margin-bottom:12px;font-size:14px;font-weight:600;display:block}.builder-items{flex-direction:column;gap:12px;display:flex}.builder-item{color:#1f2937;justify-content:space-between;align-items:center;font-size:14px;display:flex}.builder-input{text-align:center;border:2px solid #e5e7eb;border-radius:6px;width:70px;padding:6px 10px;font-size:14px;transition:border-color .2s}.builder-input:focus{border-color:#163163;outline:none}.builder-select{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.builder-select:focus{border-color:#163163;outline:none}.btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#163163 0% 100%);border:none;border-radius:8px;width:100%;margin-top:8px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-generate:active{transform:translateY(0)}.builder-result{background:#f0fdf4;border:2px solid #10b981;border-radius:8px;padding:16px}.result-header{color:#1f2937;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;display:flex}.result-score{color:#fff;background:#10b981;border-radius:12px;padding:4px 12px;font-size:13px;font-weight:600}.result-description{color:#374151;margin:0 0 16px;font-size:14px;line-height:1.5}.btn-apply{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.btn-apply:hover{background:#059669;transform:translateY(-1px)}.btn-apply:active{transform:translateY(0)}.order-panel{z-index:10000;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .3s;position:fixed;top:0;left:0}.order-panel.active{pointer-events:all;opacity:1}.order-panel-overlay{opacity:0;background:#00000080;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.order-panel.active .order-panel-overlay{opacity:1}.order-panel-content{background:#fff;flex-direction:column;width:100%;min-width:0;max-width:500px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.order-panel.active .order-panel-content{transform:translate(0)}.order-panel-header{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.order-panel-title{margin:0;font-size:1.5rem;font-weight:700}.btn-close-panel{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.btn-close-panel:hover{background:#ffffff4d}.order-form{flex:1;min-width:0;padding:2rem;overflow-y:auto}.order-form-section{min-width:0;margin-bottom:2rem}.form-section-title{color:#111827;border-bottom:2px solid #e5e7eb;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}.form-group{margin-bottom:1.25rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group textarea{color:#111827;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:.9375rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.config-summary{overflow-wrap:anywhere;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:1rem}.summary-grid{gap:.75rem;display:grid}.summary-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:.5rem 0;display:flex}.summary-item:last-child{border-bottom:none}.summary-label{color:#6b7280;overflow-wrap:anywhere;min-width:0;font-size:.875rem;font-weight:500}.summary-value{color:#111827;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:.875rem;font-weight:600}.project-items-list{gap:12px;display:grid}.project-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:12px}.project-item-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:8px;display:flex}.project-item-title{color:#111827;overflow-wrap:anywhere;min-width:0;font-weight:700}.project-item-meta{color:#4b5563;overflow-wrap:anywhere;font-size:.875rem}.project-item-remove{color:#dc2626;cursor:pointer;white-space:normal;background:#fff;border:1px solid #dc2626;border-radius:6px;flex:0 auto;max-width:100%;padding:6px 10px;font-size:.8125rem;font-weight:600}.project-item-remove:hover{background:#fef2f2}.project-items-empty{color:#6b7280;text-align:center;border:1px dashed #d1d5db;border-radius:8px;padding:16px;font-size:.9rem}.order-form-actions{background:#f9fafb;border:1px solid #e5e7eb;flex-shrink:0;gap:1rem;min-width:0;max-width:100%;padding:1.5rem;display:flex}.btn{white-space:normal;flex:1 1 0;min-width:0;max-width:100%;min-height:44px}.btn-order{background:linear-gradient(135deg,#059669 0%,#10b981 100%)}.btn-order:hover{background:linear-gradient(135deg,#047857 0%,#059669 100%)}@media (width<=768px){.order-panel-content{max-width:100%}.order-form{padding:1.5rem}.order-form-actions{flex-direction:column}.btn{width:100%}}.form-group label:has(+input[required]):after{content:" *";color:#ef4444}.form-group label:has(+textarea[required]):after{content:" *";color:#ef4444}.dp-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99998;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.dp-modal.active,.dp-modal[style*="display: flex"]{display:flex}.dp-modal-box{background:#fff;border-radius:16px;flex-direction:column;max-width:95vw;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.dp-modal-box.modern-3d{width:1400px;max-width:95vw;height:85vh}.modal-header{background:linear-gradient(#fff,#f9fafb);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:#111827;align-items:center;gap:12px;font-size:20px;font-weight:600;display:flex}.modal-title svg{color:#3b82f6}.btn-close-modal{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-close-modal:hover{color:#111827;background:#f3f4f6}.modal-body-3d{flex:1;grid-template-columns:1fr 320px;gap:0;display:grid;overflow:hidden}.dp3d-stage{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);position:relative;overflow:hidden}.controls-panel{background:#f9fafb;border-left:1px solid #e5e7eb;flex-direction:column;gap:24px;padding:24px;display:flex;overflow-y:auto}.control-section{flex-direction:column;gap:16px;display:flex}.control-section h3{color:#374151;border-bottom:2px solid #e5e7eb;align-items:center;gap:8px;margin:0;padding-bottom:12px;font-size:14px;font-weight:600;display:flex}.control-section h3 svg{color:#3b82f6}.control-group{flex-direction:column;gap:8px;display:flex}.control-group label{color:#4b5563;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.value-display{color:#3b82f6;background:#eff6ff;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.control-group select{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:13px;transition:all .2s}.control-group select:hover{border-color:#3b82f6}.control-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.checkbox-label{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.checkbox-label:hover{background:#f9fafb;border-color:#3b82f6}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:18px;height:18px}.checkbox-label span{color:#4b5563;flex:1;font-size:13px;font-weight:500}.slider{appearance:none;cursor:pointer;background:#e5e7eb;border-radius:3px;outline:none;width:100%;height:6px}.slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:18px;height:18px;transition:all .2s;box-shadow:0 2px 4px #0003}.slider::-webkit-slider-thumb:hover{background:#2563eb;transform:scale(1.1)}.slider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:18px;height:18px;transition:all .2s;box-shadow:0 2px 4px #0003}.slider::-moz-range-thumb:hover{background:#2563eb;transform:scale(1.1)}.dp-modal .actions{background:#f9fafb;border-top:1px solid #e5e7eb;gap:12px;padding:16px 24px;display:flex}.dp-modal .actions .btn{cursor:pointer;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.controls-panel::-webkit-scrollbar{width:6px}.controls-panel::-webkit-scrollbar-track{background:0 0}.controls-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.controls-panel::-webkit-scrollbar-thumb:hover{background:#9ca3af}.controls-panel--simple{padding:32px 24px}.control-section--color{gap:12px}.control-section--color h3{color:#1f2937;border-bottom:0;padding-bottom:0;font-size:16px}.dp3d-color-hint{color:#64748b;margin:0 0 8px;font-size:13px;line-height:1.5}.dp3d-color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dp3d-color-choice{color:#334155;cursor:pointer;font:inherit;background:#fff;border:1px solid #d7dee9;border-radius:10px;flex-direction:column;align-items:center;gap:10px;min-height:108px;padding:16px 8px;font-size:13px;font-weight:600;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.dp3d-color-choice:hover{border-color:#7aa7f8;transform:translateY(-1px)}.dp3d-color-choice:focus-visible{outline-offset:2px;outline:3px solid #2563eb40}.dp3d-color-choice[aria-pressed=true]{color:#172554;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.dp3d-color-swatch{border:1px solid #0f172a2e;border-radius:50%;width:36px;height:36px;display:block;box-shadow:inset 0 1px 1px #ffffff59}.dp3d-color-swatch--black{background:#1a1a1a}.dp3d-color-swatch--gray{background:#50535a}.dp3d-color-swatch--white{background:#fafafa;border-color:#94a3b8}body:has(.access-page){padding:0}.access-page{background:#163163;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.access-card{background:#fff;border:1px solid #ffffff73;border-radius:12px;width:min(100%,460px);padding:34px 36px 30px;box-shadow:0 24px 70px #04122d52}.access-brand{text-align:center}.access-brand h1{color:#111827;margin:0;font-size:32px;font-weight:800;line-height:1.1}.access-brand p{color:#64748b;margin:8px 0 0;font-size:15px}.access-shield{color:#2563eb;width:56px;height:56px;margin:24px auto 14px}.access-shield svg,.access-trust-note svg{width:100%;height:100%;display:block}.access-heading{text-align:center;margin-bottom:22px}.access-heading h2{color:#172033;margin:0;font-size:23px;font-weight:800;line-height:1.2}.access-heading p{color:#526176;margin:8px 0 0;font-size:15px;line-height:1.45}.access-form label{color:#172033;margin-bottom:8px;font-size:14px;font-weight:800;display:block}.access-password-control{position:relative}.access-password-control input{color:#172033;width:100%;min-height:54px;font:inherit;background:#fff;border:1px solid #b8c5d8;border-radius:8px;padding:13px 52px 13px 14px;font-size:16px;transition:border-color .16s,box-shadow .16s}.access-password-control input::placeholder{color:#7a8798}.access-password-control input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb2e}.access-password-control input[aria-invalid=true]{border-color:#c2413b}.access-password-toggle{color:#183b70;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.access-password-toggle svg{width:23px;height:23px}.access-password-toggle:hover{background:#eff6ff}.access-password-toggle:focus-visible,.access-submit:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.access-message{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin:10px 0 0;padding:10px 12px;font-size:14px;line-height:1.4}.access-message[hidden]{display:none}.access-submit{color:#fff;cursor:pointer;background:#163163;border:1px solid #163163;border-radius:8px;width:100%;min-height:54px;margin-top:14px;padding:13px 16px;font-size:16px;font-weight:800;transition:background-color .16s,box-shadow .16s,transform .16s}.access-submit:hover:not(:disabled){background:#1d427e;transform:translateY(-1px);box-shadow:0 10px 22px #16316338}.access-submit:disabled{cursor:wait;opacity:.7}.access-trust-note{color:#5b6b80;justify-content:center;align-items:center;gap:8px;margin:20px 0 0;font-size:14px;line-height:1.4;display:flex}.access-trust-note>span{color:#5175aa;width:19px;height:19px}.access-trust-note rect,.access-trust-note circle{display:none}@media (width<=520px){.access-page{align-items:stretch;padding:16px}.access-card{align-self:center;padding:28px 22px 26px}.access-brand h1{font-size:28px}.access-shield{margin-top:20px}}.auth-page{background:#163163;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#fff;border:1px solid #ffffff73;border-radius:10px;width:min(100%,450px);padding:38px 36px 34px;box-shadow:0 24px 70px #04122d52}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand h1{color:#111827;margin:0;font-size:32px;font-weight:800;line-height:1.1}.auth-brand p{color:#64748b;margin:8px 0 0;font-size:15px}.auth-message{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px;line-height:1.4}.auth-message[hidden]{display:none}.auth-google-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px;font-size:16px;font-weight:800;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.auth-google-btn:hover:not(:disabled){border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 22px #1d4ed81f}.auth-google-btn:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.auth-google-btn:disabled{cursor:not-allowed;opacity:.68}.auth-dev-btn{color:#1e3a5f;cursor:pointer;background:#f8fbff;border:1px solid #dbe3ee;border-radius:8px;width:100%;margin-top:10px;padding:12px 14px;font-size:14px;font-weight:800;transition:border-color .16s,background-color .16s,box-shadow .16s}.auth-dev-btn:hover:not(:disabled){background:#eff6ff;border-color:#1d4ed8;box-shadow:0 8px 18px #1d4ed81a}.auth-dev-btn:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.auth-dev-btn:disabled{cursor:not-allowed;opacity:.68}.auth-google-mark{color:#4285f4;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:900;display:inline-flex}.auth-support-copy{color:#475569;text-align:center;margin:18px 0 0;font-size:14px;line-height:1.45}@media (width<=520px){.auth-page{align-items:stretch;padding:16px}.auth-card{align-self:center;padding:30px 22px 26px}.auth-brand h1{font-size:28px}}.project-wizard-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;opacity:0;background:linear-gradient(135deg,#163163fa 0% 100%);justify-content:center;align-items:center;padding:20px;animation:.4s forwards fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{to{opacity:1}}.wizard-container{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;animation:.4s .1s forwards scaleIn;display:flex;overflow:hidden;transform:scale(.9);box-shadow:0 25px 50px -12px #00000040}@keyframes scaleIn{to{transform:scale(1)}}.wizard-header{color:#fff;text-align:center;background:linear-gradient(135deg,#1f3a7a 0%,#24418a 100%);border-bottom:1px solid #ffffff2e;padding:32px 40px;box-shadow:0 10px 24px #0a143c40}.wizard-header h1{letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:700}.wizard-header p{opacity:.95;margin:0;font-size:15px;font-weight:400}.wizard-progress{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:24px 40px 16px}.progress-steps{justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;display:flex;position:relative}.progress-line{z-index:0;background:#e5e7eb;height:3px;position:absolute;top:16px;left:21px;right:21px}.progress-line-fill{background:linear-gradient(90deg,#3b82f6 0%,#163163 100%);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.progress-step{z-index:1;cursor:default;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:flex;position:relative}.progress-step:focus-visible{outline-offset:5px;border-radius:8px;outline:3px solid #1d4ed8}.step-circle{color:#9ca3af;background:#fff;border:3px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.progress-step.active .step-circle{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.progress-step.completed{cursor:pointer}.progress-step.completed .step-circle{color:#fff;background:#10b981;border-color:#10b981}.progress-step.completed:hover .step-circle{transform:scale(1.1);box-shadow:0 0 0 4px #10b98126}.progress-step.completed:hover .step-label{color:#059669;font-weight:600}.progress-step.reachable{cursor:pointer}.progress-step.reachable .step-circle{color:#3b82f6;background:#fff;border-color:#60a5fa}.progress-step.reachable:hover .step-circle{background:#eff6ff;transform:scale(1.1);box-shadow:0 0 0 4px #3b82f626}.progress-step.reachable:hover .step-label{color:#2563eb;font-weight:600}.progress-step:not(.completed):not(.active):not(.reachable){cursor:not-allowed;opacity:1}.progress-step:not(.completed):not(.active) .step-circle{cursor:not-allowed}.step-label{color:#6b7280;text-align:center;font-size:12px;font-weight:500;transition:color .3s,font-weight .3s}.progress-step.active .step-label{color:#3b82f6;font-weight:600}.progress-step.completed .step-label{color:#10b981;transition:color .3s,font-weight .3s}.wizard-content{flex:1;min-height:400px;padding:40px;overflow-y:auto}.wizard-step{animation:.4s slideIn;display:none}.wizard-step.active{display:block}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-title{color:#111827;margin:0 0 8px;font-size:24px;font-weight:700}.step-description{color:#6b7280;margin:0 0 32px;font-size:15px;line-height:1.6}.size-selection-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:32px;display:grid}.size-card{cursor:pointer;text-align:center;background:linear-gradient(135deg,#fff 0%,#f9fafb 100%);border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.size-card:hover{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#3b82f6;transform:translateY(-4px);box-shadow:0 8px 20px #3b82f626}.size-card.selected{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.size-card.selected:after{content:"✓";color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.size-card-badge{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;animation:.3s cubic-bezier(.68,-.55,.265,1.55) badgePopIn;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #10b9814d}@keyframes badgePopIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.size-card-icon{font-size:40px}.size-card-label{color:#111827;font-size:15px;font-weight:600}.size-card-dims{color:#6b7280;font-family:Courier New,monospace;font-size:13px}.size-category-title{color:#111827;align-items:center;gap:8px;margin:32px 0 16px;font-size:18px;font-weight:600;display:flex}.size-category-title:first-of-type{margin-top:0}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.material-card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:12px;padding:20px;transition:all .2s;display:flex}.material-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.material-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.material-preview{color:#fff;text-shadow:0 1px 2px #0003;border-radius:8px;justify-content:center;align-items:center;width:100%;height:80px;font-size:14px;font-weight:500;display:flex}.material-name{color:#111827;text-align:center;font-size:14px;font-weight:600}.custom-size-form{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;margin-top:24px;padding:32px}.custom-size-inputs{grid-template-columns:1fr 1fr auto;align-items:start;gap:16px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:#374151;font-size:13px;font-weight:600}.form-field input,.form-field select{border:1px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:15px;transition:all .2s}.form-field input:focus,.form-field select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.unit-locked-hint{color:#6b7280;margin-top:6px;font-size:12px}.template-color-picker{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 18px;padding:14px;display:flex}.template-color-picker-label{color:#111827;font-size:14px;font-weight:700}.template-color-options{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.template-color-option{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:700;transition:border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.template-color-option:hover{color:#163163;border-color:#3b82f6}.template-color-option.selected{color:#163163;border-color:#163163;box-shadow:0 0 0 3px #1631631f}.template-color-swatch,.summary-color-swatch{border:1px solid #cbd5e1;border-radius:50%;flex:0 0 18px;width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffff73}.summary-color-swatch{flex-basis:42px;align-self:center;width:42px;height:42px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.template-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e5e7eb;border-radius:14px;flex-direction:column;gap:12px;padding:16px;transition:all .2s;display:flex}.template-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.template-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.template-image{aspect-ratio:4/3;background:#f3f4f6;border-radius:10px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.template-image img{object-fit:contain;width:100%;height:100%}.template-name{color:#111827;margin-bottom:4px;font-size:14px;font-weight:700}.template-info{color:#6b7280;font-size:12px;line-height:1.4}.template-code{color:#94a3b8;letter-spacing:.4px;margin-top:6px;font-size:11px;font-weight:600}.template-code--primary{color:#163163;letter-spacing:0;margin:0 0 6px;font-size:13px;font-weight:800}.summary-grid{gap:20px;margin-bottom:32px;display:grid}.summary-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;align-items:start;gap:16px;padding:24px;display:flex}.summary-icon{background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.summary-content{flex:1}.summary-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:600}.summary-value{color:#111827;font-size:20px;font-weight:700}.summary-subtext{color:#6b7280;margin-top:4px;font-size:13px}.wizard-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:24px 40px;display:flex}.wizard-btn{min-height:44px;padding:12px 24px;font-size:15px}.wizard-btn svg{width:18px;height:18px}@media (width<=768px){.wizard-container{border-radius:0;max-width:100%;max-height:100vh}.wizard-header{padding:24px 20px}.wizard-header h1{font-size:22px}.wizard-content{padding:24px 20px}.template-color-picker{flex-direction:column;align-items:stretch}.template-color-options{justify-content:flex-start}.wizard-footer{flex-direction:column-reverse;padding:16px 20px}.wizard-btn{justify-content:center;width:100%}.size-selection-grid,.custom-size-inputs{grid-template-columns:1fr}.progress-steps{gap:8px}.step-circle{width:32px;height:32px;font-size:12px}.step-label{font-size:10px}}.template-card--disabled{cursor:not-allowed;opacity:.55}.wizard-dimension-range{color:#6b7280;font-size:12px;line-height:1.4}.wizard-dimension-error{color:#b91c1c;font-size:12px;font-weight:600;line-height:1.4}.wizard-dimension-error[hidden]{display:none}.form-field input.wizard-dimension-input--error{background:#fff7f7;border-color:#dc2626}.form-field input.wizard-dimension-input--error:focus{border-color:#b91c1c;box-shadow:0 0 0 3px #dc26261a}.template-card--disabled:hover{transform:none}.template-unavailable{color:#b42318;margin-top:6px;font-size:.75rem;font-weight:700}.custom-size-form{background:#fff;border:2px solid #e5e7eb;padding:24px}.custom-size-form.selected-form{background:#f8fbff;border-color:#163163}.custom-size-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.custom-size-heading h3{color:#1f2937;margin:0;font-size:18px}.custom-size-icon{font-size:24px}.wizard-unit-choice{border:0;margin:0 0 20px;padding:0}.wizard-unit-choice legend{color:#374151;margin-bottom:7px;font-size:13px;font-weight:700}.wizard-unit-segment{background:#eef2f7;border:1px solid #d8dee8;border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:inline-grid}.wizard-unit-option{cursor:pointer;position:relative}.wizard-unit-option input{opacity:0;width:1px;height:1px;position:absolute}.wizard-unit-option span{color:#5b6472;text-align:center;border-radius:7px;padding:9px 18px;font-size:14px;font-weight:700;display:block}.wizard-unit-option input:checked+span{color:#fff;background:#163163;box-shadow:0 1px 3px #16316340}.wizard-unit-option input:focus-visible+span{outline-offset:2px;outline:3px solid #3b82f659}.custom-size-inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wizard-inch-input{grid-template-columns:minmax(0,1fr) 104px;gap:8px;display:grid}.wizard-inch-input select{background-color:#fff}.wizard-manufacturing-note{color:#23466f;background:#edf6ff;border:1px solid #c8e2fb;border-radius:9px;margin-top:18px;padding:11px 13px;font-size:13px;line-height:1.5}.wizard-size-confirmation{color:#087443;background:#fff;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.form-field select.wizard-dimension-input--error{background:#fff7f7;border-color:#dc2626}@media (width<=768px){.wizard-unit-segment{width:100%;display:grid}.wizard-unit-option span{padding-inline:10px}.wizard-inch-input{grid-template-columns:minmax(0,1fr) 96px}}.project-wizard-overlay .wizard-header{flex-shrink:0;padding:18px 40px}.project-wizard-overlay .wizard-progress{flex-shrink:0;padding:12px 40px 8px}.project-wizard-overlay .wizard-content{min-height:0;padding:22px 40px}.project-wizard-overlay .wizard-footer{flex-shrink:0;padding:12px 40px}@media (width<=768px){.project-wizard-overlay .wizard-header{padding:20px}.project-wizard-overlay .wizard-progress{padding:14px 20px 10px}.project-wizard-overlay .wizard-content{padding:20px}.project-wizard-overlay .wizard-footer{padding:14px 20px}.custom-size-form{padding:18px}}.project-wizard-overlay .step-description{margin-bottom:20px}.custom-size-form{margin-top:0;padding:16px}.custom-size-heading{margin-bottom:10px}.wizard-unit-choice{margin-bottom:12px}.wizard-unit-option span{padding:7px 16px}.wizard-manufacturing-note{margin-top:12px;padding:8px 11px}.project-wizard-overlay .template-card{position:relative}.project-wizard-overlay .template-card.selected:after{color:#fff;content:"✓";z-index:2;background:#2457bd;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex;position:absolute;top:10px;right:10px}.project-wizard-overlay .template-code--primary{color:#17213a;font-size:14px}.project-wizard-overlay .summary-grid{gap:14px;margin-bottom:18px}.project-wizard-overlay .summary-card{padding:18px}.project-wizard-overlay .summary-template-image{background:#fff;border:1px solid #dbe3ef;border-radius:10px;flex:0 0 76px;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden}.project-wizard-overlay .summary-template-image img{object-fit:contain;width:100%;height:100%}@media (width<=768px){.project-wizard-overlay .summary-template-image{flex-basis:64px;width:64px;height:64px}}.project-flow-page{box-sizing:border-box;background:linear-gradient(135deg,#163163fa 0% 100%);justify-content:center;align-items:flex-start;height:100dvh;padding:24px 24px 84px;display:flex;overflow:hidden}.project-flow-shell{width:100%;max-width:1100px;height:100%;min-height:0;max-height:100%}.project-flow-shell .wizard-content{min-height:0;padding-bottom:24px;overflow-y:auto}.project-flow-shell .progress-line{left:30px;right:21px}.project-flow-header{text-align:left}.project-flow-content{flex-direction:column;gap:16px;display:flex}.project-flow-content>*{flex-shrink:0}.project-flow-top-actions{flex-wrap:wrap;gap:10px;display:flex}.project-flow-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:14px}.project-flow-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.project-flow-meta{color:#111827;overflow-wrap:anywhere;min-width:0;font-size:14px}.project-flow-rename-row,.project-flow-switch-row{flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;margin-top:12px;display:flex}.project-flow-input,.project-flow-select,.project-flow-field input,.project-flow-field textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px}.project-flow-input{flex:220px;min-width:min(260px,100%)}.project-flow-identity-field{flex:360px;gap:6px;min-width:min(360px,100%);display:grid}.project-flow-identity-field label{color:#111827;font-size:14px;font-weight:700}.project-flow-identity-field .project-flow-input{width:100%}.project-flow-field-help{color:#6b7280;font-size:12px;line-height:1.4}.project-flow-select{flex:220px;min-width:min(220px,100%);max-width:100%}.project-flow-rename-row .app-btn,.project-flow-switch-row .app-btn{white-space:normal;flex:0 auto;max-width:100%}.project-flow-items-grid{gap:12px;display:grid}.project-flow-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:minmax(180px,230px) minmax(0,1fr) minmax(110px,auto);align-items:center;gap:14px;padding:12px;display:grid}.project-flow-item-preview{object-fit:cover;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;width:230px;height:150px}.project-flow-item-main{min-width:0}.project-flow-item-title{color:#111827;overflow-wrap:anywhere;margin-bottom:6px;font-size:16px;font-weight:700}.project-flow-item-meta{color:#4b5563;overflow-wrap:anywhere;margin-bottom:3px;font-size:13px}.project-flow-item-actions{flex-direction:column;gap:8px;min-width:0;max-width:100%;display:flex}.btn-summary-edit-item,.btn-summary-remove-item{min-width:min(110px,100%)}.project-flow-empty{color:#6b7280;text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:24px}.project-flow-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px}.project-flow-action{justify-content:flex-end;align-items:center;max-width:min(100%,260px);display:inline-flex;position:relative}.project-flow-action--has-dialog{outline:none}.project-flow-action--has-dialog:focus-visible{border-radius:8px;box-shadow:0 0 0 3px #3b82f63d}.project-flow-action-dialog{z-index:20;color:#1e293b;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border:1px solid #c7d2fe;border-radius:8px;width:max-content;max-width:min(280px,100vw - 48px);padding:10px 12px;font-size:12px;font-weight:600;line-height:1.35;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + 12px);right:0;transform:translateY(4px);box-shadow:0 12px 28px #0f172a29}.project-flow-action-dialog:after{content:"";background:#fff;border-bottom:1px solid #c7d2fe;border-right:1px solid #c7d2fe;width:10px;height:10px;position:absolute;bottom:-6px;right:22px;transform:rotate(45deg)}.project-flow-action--has-dialog:hover .project-flow-action-dialog,.project-flow-action--has-dialog:focus-within .project-flow-action-dialog{opacity:1;visibility:visible;transform:translateY(0)}.project-flow-footer .app-btn{white-space:normal;max-width:100%}.project-flow-form{gap:12px;display:grid;position:relative}.project-flow-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.project-flow-field{color:#374151;gap:6px;font-size:13px;display:grid}.project-flow-form-actions{justify-content:flex-end;align-items:center;gap:10px;padding-bottom:24px;display:flex}@media (width<=820px){.project-flow-form-actions{padding-bottom:36px}}.submission-contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.submission-reception-section{border:0;gap:10px;min-width:0;margin:2px 0 0;padding:0;display:grid}.submission-reception-section legend{color:#172033;margin-bottom:8px;padding:0;font-size:14px;font-weight:800}.submission-reception-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.submission-reception-option{color:#172033;cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:10px;align-items:flex-start;gap:10px;min-width:0;padding:13px 14px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex}.submission-reception-option:hover{background:#f8fbff;border-color:#8cb0f5}.submission-reception-option:focus-within{outline-offset:2px;outline:3px solid #2563eb38}.submission-reception-option.is-selected{background:#f2f7ff;border-color:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f61f}.submission-reception-option input{accent-color:#2563eb;flex:0 0 18px;width:18px;height:18px;margin:1px 0 0}.submission-reception-option span{gap:3px;min-width:0;display:grid}.submission-reception-option strong{font-size:14px}.submission-reception-option small{color:#64748b;font-size:12px;line-height:1.35}.submission-delivery-address{margin-top:2px}.submission-delivery-address[hidden]{display:none!important}.submission-order-details-grid{grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr);gap:12px;display:grid}.submission-order-details-grid textarea{resize:vertical}@media (width<=960px){.submission-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.submission-contact-grid,.submission-reception-options,.submission-order-details-grid{grid-template-columns:minmax(0,1fr)}}.submission-quantity-section,.submission-review-panel,.submission-empty-state{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:14px}.submission-quantity-section{gap:12px;display:grid}.submission-quantity-section h3,.submission-empty-state h3,.submission-review-heading h3{color:#163163;margin:0;font-size:16px;font-weight:800;line-height:1.25}.submission-quantity-list{gap:10px;display:grid}.submission-quantity-row{background:#f8fbff;border:1px solid #d9e2f2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.submission-quantity-name{color:#0f172a;overflow-wrap:anywhere;min-width:0;font-weight:700}.submission-quantity-row input{text-align:center;flex:0 0 96px;width:96px}.submission-empty-state{background:#f8fbff;border-style:dashed;justify-content:space-between;align-items:center;gap:16px;display:flex}.submission-empty-state p{color:#64748b;margin:6px 0 0;line-height:1.45}.submission-review-panel{background:#fff;border-color:#dbeafe;gap:12px;display:grid}.submission-review-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.submission-review-heading span{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.submission-review-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}.submission-review-grid div{min-width:0}.submission-review-grid dt{color:#64748b;margin:0 0 3px;font-size:12px;font-weight:700}.submission-review-grid dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700}.submission-submit-disabled{max-width:min(100%,320px)}.submission-busy-overlay{z-index:1000;cursor:progress;background:#0f172a6b;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.project-flow-form.is-submitting .submission-busy-overlay{display:flex}.submission-busy-dialog{color:#0f172a;background:#fff;border:1px solid #dbeafe;border-radius:10px;align-items:center;gap:12px;max-width:min(360px,100%);min-height:56px;padding:14px 18px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 18px 45px #0f172a38}.submission-busy-spinner{border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;flex:0 0 20px;width:20px;height:20px;animation:.8s linear infinite submission-spin}@keyframes submission-spin{to{transform:rotate(360deg)}}@media (width<=560px){.submission-empty-state,.submission-review-heading,.submission-quantity-row{flex-direction:column;align-items:stretch}.submission-empty-state .app-btn,.submission-quantity-row input,.project-flow-form-actions .app-btn,.submission-submit-disabled,.submission-test-send-action{width:100%;max-width:100%}.submission-quantity-row input{flex-basis:auto}.submission-review-heading span{align-self:flex-start}.project-flow-form-actions{flex-direction:column-reverse;justify-content:stretch;align-items:stretch;padding-bottom:44px}}body.submission-confirmation-open{overflow:hidden}.submission-confirmation-backdrop{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1f43b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.submission-confirmation-backdrop[hidden]{display:none}.submission-confirmation-dialog{color:#0f172a;background:#fff;border:1px solid #bfdbfee6;border-radius:18px;flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 48px);animation:.18s ease-out submission-confirmation-enter;display:flex;overflow:hidden;box-shadow:0 32px 90px #04153357}.submission-confirmation-header{background:linear-gradient(145deg,#fff 0%,#f4f8ff 100%);border-bottom:1px solid #e2e8f0;align-items:center;gap:16px;padding:26px 28px 22px;display:flex}.submission-confirmation-icon{color:#1d4ed8;background:#eaf2ff;border:1px solid #bfdbfe;border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.submission-confirmation-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;width:28px;height:28px}.submission-confirmation-header h2{color:#102b57;margin:0;font-size:clamp(22px,3vw,28px);line-height:1.15}.submission-confirmation-header p{color:#64748b;margin:6px 0 0;font-size:14px;line-height:1.45}.submission-confirmation-body{gap:20px;padding:22px 28px;display:grid;overflow-y:auto}.submission-confirmation-identity,.submission-confirmation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:0;display:grid}.submission-confirmation-identity div,.submission-confirmation-details div{min-width:0}.submission-confirmation-identity dt,.submission-confirmation-details dt{color:#64748b;letter-spacing:.035em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.submission-confirmation-identity dd,.submission-confirmation-details dd{color:#102b57;overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:800;line-height:1.4}.submission-confirmation-section{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;gap:10px;padding:18px 0;display:grid}.submission-confirmation-section h3{color:#102b57;margin:0;font-size:15px;font-weight:800}.submission-confirmation-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.submission-confirmation-items li{background:#f8fbff;border:1px solid #dbe6f5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.submission-confirmation-items li span{overflow-wrap:anywhere;min-width:0}.submission-confirmation-items li strong{color:#1d4ed8;white-space:nowrap;background:#eaf2ff;border-radius:999px;flex:none;padding:4px 9px;font-size:12px}.submission-confirmation-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:18px 28px 22px;display:flex}.submission-confirmation-actions .app-btn{min-width:170px}@keyframes submission-confirmation-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.submission-confirmation-backdrop{align-items:flex-end;padding:12px}.submission-confirmation-dialog{border-radius:16px;max-height:calc(100vh - 24px)}.submission-confirmation-header{align-items:flex-start;padding:20px}.submission-confirmation-body{gap:16px;padding:18px 20px}.submission-confirmation-identity,.submission-confirmation-details{grid-template-columns:minmax(0,1fr)}.submission-confirmation-actions{flex-direction:column-reverse;padding:16px 20px 20px}.submission-confirmation-actions .app-btn{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.submission-confirmation-dialog{animation:none}}.projects-list{gap:10px;display:grid}.projects-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.projects-item-main{min-width:260px;max-width:100%}.projects-item-title{color:#111827;overflow-wrap:anywhere;font-size:16px;font-weight:700}.projects-item-meta{color:#6b7280;overflow-wrap:anywhere;margin-top:4px;font-size:13px}.projects-item-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.intro-flow-shell{max-width:1140px}.intro-flow-content{gap:18px}.intro-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.intro-brand{color:#0f172a;font-size:18px;font-weight:700}.intro-topbar-actions{flex-wrap:wrap;gap:8px;display:flex}.intro-cta-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.intro-cta-card{appearance:none;text-align:center;cursor:pointer;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%);border:1px solid #dbe3ef;border-radius:12px;padding:20px;transition:border-color .2s,background-color .2s}.intro-cta-card:hover{background:linear-gradient(160deg,#fff 0%,#edf4ff 100%);border-color:#1f4fb3}.intro-cta-title{color:#111827;font-size:20px;font-weight:700}.intro-cta-copy{color:#4b5563;margin-top:8px;font-size:14px;line-height:1.5}.intro-recent-list{gap:10px;margin-top:10px;display:grid}.intro-recent-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.intro-recent-main{min-width:240px;max-width:100%}.intro-recent-title{color:#111827;overflow-wrap:anywhere;font-size:15px;font-weight:700}.intro-recent-meta{color:#6b7280;overflow-wrap:anywhere;margin-top:3px;font-size:13px}.intro-recent-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.intro-empty-icon{opacity:.7;margin-bottom:10px;font-size:48px}@media (width<=980px){.project-flow-rename-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.project-flow-switch-row{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.project-flow-switch-row label{width:auto}.project-flow-rename-row .project-flow-input,.project-flow-switch-row .project-flow-select,.project-flow-rename-row .app-btn{width:100%;min-width:0}.project-flow-rename-row .app-btn{justify-self:end;width:auto}.project-flow-item-card{grid-template-columns:minmax(150px,190px) minmax(0,1fr) minmax(100px,112px)}.project-flow-item-preview{aspect-ratio:23/15;width:100%;height:auto}.project-flow-item-actions{flex-direction:column;justify-content:flex-end}}@media (width<=700px){.project-flow-rename-row,.project-flow-switch-row{grid-template-columns:1fr;align-items:stretch}.project-flow-switch-row label{width:100%}.project-flow-rename-row .app-btn{justify-self:stretch;width:100%}.project-flow-item-card{grid-template-columns:1fr}.project-flow-item-actions{flex-flow:wrap;grid-column:1/-1;width:100%}.project-flow-action{width:100%;max-width:100%}.project-flow-action .app-btn{width:100%}.project-flow-action-dialog{max-width:100%;left:0;right:auto}.project-flow-action-dialog:after{left:22px;right:auto}.projects-item-actions,.intro-recent-actions,.intro-topbar-actions{justify-content:flex-end;width:100%}}.settings-panel{z-index:99997;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.settings-panel.active{pointer-events:all}.settings-panel-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#00000080;transition:opacity .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.settings-panel.active .settings-panel-overlay{opacity:1}.settings-panel-content{background:#fff;flex-direction:column;width:min(600px,90vw);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.settings-panel.active .settings-panel-content{transform:translate(0)}.settings-panel-header{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.settings-panel-title{align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;display:flex}.btn-close-settings{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.btn-close-settings:hover{background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.settings-panel-body{flex:1;min-height:0;padding:32px;overflow-y:auto}.settings-section{margin-bottom:40px}.settings-section:last-child{margin-bottom:0}.settings-section-title{color:#111827;align-items:center;gap:10px;margin:0 0 16px;font-size:18px;font-weight:700;display:flex}.settings-section-title:before{content:"";background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);border-radius:2px;width:4px;height:24px}.settings-section-description{color:#6b7280;margin:0 0 20px;font-size:14px;line-height:1.6}.setting-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px;transition:all .2s}.setting-item:hover{background:#f3f4f6;border-color:#d1d5db}.setting-item-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px;display:flex}.setting-item-info{flex:1}.setting-item-label{color:#111827;margin:0 0 4px;font-size:15px;font-weight:600}.setting-item-description{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.setting-item-control{flex-shrink:0}.toggle-switch{cursor:pointer;background:#d1d5db;border-radius:14px;width:52px;height:28px;transition:all .3s;position:relative}.toggle-switch.active{background:linear-gradient(135deg,#3b82f6 0%,#163163 100%)}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-switch.active:after{left:27px}.radio-group{flex-direction:column;gap:12px;display:flex}.radio-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.radio-option:hover{background:#eff6ff;border-color:#3b82f6}.radio-option.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.radio-option input[type=radio]{cursor:pointer;width:20px;height:20px;margin:0}.radio-option-label{color:#111827;cursor:pointer;flex:1;font-size:14px;font-weight:500}.radio-option-description{color:#6b7280;margin-top:2px;font-size:12px}.setting-select{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;font-weight:500;transition:all .2s}.setting-select:hover{border-color:#d1d5db}.setting-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.setting-input{border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.setting-input:hover{border-color:#d1d5db}.setting-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.user-profile-card{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:2px solid #3b82f6;border-radius:16px;align-items:center;gap:20px;margin-bottom:24px;padding:24px;display:flex}.user-avatar-large{background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;display:flex;box-shadow:0 4px 12px #3b82f64d}.user-profile-info{flex:1}.user-profile-name{color:#1e40af;margin:0 0 4px;font-size:20px;font-weight:700}.user-profile-email{color:#3b82f6;margin:0;font-size:14px}.settings-panel-footer{box-sizing:border-box;background:#f9fafb;border-top:2px solid #e5e7eb;flex-shrink:0;gap:12px;width:100%;padding:24px 32px;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;outline:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:#6b7280;background:#fff;border:2px solid #e5e7eb}.btn-secondary:hover{color:#374151;background:#f9fafb;border-color:#d1d5db}.btn-secondary:active{background:#f3f4f6}.settings-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.settings-btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#163163 100%);box-shadow:0 4px 12px #3b82f64d}.settings-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.settings-btn-secondary{color:#6b7280;background:#fff;border:2px solid #e5e7eb}.settings-btn-secondary:hover{color:#374151;background:#f9fafb;border-color:#d1d5db}.btn-back-settings{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-back-settings:hover{background:#fff3;border-color:#ffffff4d;transform:translate(-2px)}.btn-back-settings:focus-visible{outline-offset:2px;outline:3px solid #ffffff80}.powered-by-link{color:#3b82f6;align-items:center;gap:8px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.powered-by-logo{width:auto;height:20px;transition:transform .2s}.powered-by-link:hover .powered-by-logo{transform:scale(1.05)}.info-badge{color:#1e40af;background:#eff6ff;border:1px solid #3b82f6;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}@media (width<=768px){.settings-panel-content{width:100vw}.settings-panel-header,.settings-panel-body,.settings-panel-footer{padding:20px}.user-profile-card{text-align:center;flex-direction:column}.settings-panel-footer{flex-direction:column}}.profile-sidenav{z-index:10000;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .3s;position:fixed;top:0;left:0}.profile-sidenav.active{pointer-events:all;opacity:1}.profile-sidenav-overlay{opacity:0;background:#00000080;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.profile-sidenav.active .profile-sidenav-overlay{opacity:1}.profile-sidenav-content{background:#fff;flex-direction:column;width:100%;max-width:400px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.profile-sidenav.active .profile-sidenav-content{transform:translate(0)}.profile-sidenav-header{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:24px;display:flex}.profile-sidenav-title{align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;display:flex}.btn-close-profile{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-close-profile:hover{background:#ffffff4d;transform:scale(1.05)}.btn-close-profile:active{transform:scale(.95)}.profile-sidenav-body{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.profile-card{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #3b82f6;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.profile-avatar{flex-shrink:0}.avatar-circle{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;display:flex;box-shadow:0 2px 8px #3b82f633}.profile-info{flex:1;min-width:0}.profile-name{color:#1e40af;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:18px;font-weight:700;overflow:hidden}.profile-email{color:#3b82f6;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.profile-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-item{text-align:center;cursor:default;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.stat-icon{flex-shrink:0;font-size:32px;line-height:1}.stat-info{flex-direction:column;align-items:center;gap:4px;display:flex}.stat-value{color:#1f2937;font-size:28px;font-weight:700;line-height:1}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:600}.profile-actions{flex-direction:column;gap:12px;display:flex}.profile-section-title{color:#1f2937;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:14px;font-weight:700}.profile-action-btn{color:#1f2937;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.profile-action-btn:hover{background:#f0f9ff;border-color:#3b82f6;transform:translate(4px)}.profile-action-btn:active{transform:translate(4px)scale(.98)}.profile-action-btn svg{color:#6b7280;flex-shrink:0;transition:color .2s}.profile-action-btn:hover svg{color:#3b82f6}.profile-action-btn span{flex:1}.profile-edit-btn,.profile-form-btn{transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s}.profile-edit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb3d;background:#2563eb!important}.profile-edit-btn:active{transform:translateY(0)scale(.98)}.profile-form-btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14;color:#1f2937!important;background:#f8fafc!important;border-color:#cbd5e1!important}.profile-form-btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px #05966938;background:#059669!important}.profile-form-btn:active{transform:translateY(0)scale(.98)}.profile-action-btn-danger{color:#dc2626;border-color:#fecaca}.profile-action-btn-danger:hover{background:#fef2f2;border-color:#ef4444}.profile-action-btn-danger svg{color:#ef4444}.profile-action-btn-danger:hover svg{color:#dc2626}.profile-action-btn:focus-visible,.profile-edit-btn:focus-visible,.profile-form-btn:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.btn-close-profile:focus-visible{outline-offset:2px;outline:3px solid #ffffff80}.powered-by-footer{text-align:center;color:#6b7280;box-sizing:border-box;background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0;width:100%;padding:16px 24px;font-size:12px}.powered-by-link{color:#6b7280;align-items:center;gap:6px;text-decoration:none;transition:all .2s;display:inline-flex}.powered-by-link strong{color:#3b82f6;font-weight:600}.powered-by-link:hover{color:#3b82f6;transform:translateY(-1px)}.powered-by-link:hover strong{color:#2563eb}.powered-by-link:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #93c5fd}.powered-by-icon{color:#3b82f6;flex-shrink:0;transition:transform .2s}.powered-by-link:hover .powered-by-icon{transform:scale(1.1)}@media (width<=480px){.profile-sidenav-content{max-width:100%}.profile-header{padding:20px 16px}.profile-name{font-size:20px}.profile-email{font-size:13px}.profile-content{padding:16px}.profile-section-title{font-size:13px}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-item{padding:14px}.stat-value{font-size:24px}.stat-label{font-size:12px}.profile-actions{gap:10px}.profile-action-btn{padding:12px 18px;font-size:14px}.user-profile-card{padding:14px}.profile-form-field label{font-size:12px}.profile-form-field input{padding:10px;font-size:14px}.btn-close-profile{width:32px;height:32px}.btn-close-profile svg{width:18px;height:18px}}@media (hover:none) and (pointer:coarse){.stat-item,.profile-action-btn{min-height:44px}.btn-close-profile{min-width:44px;min-height:44px}.profile-content{-webkit-overflow-scrolling:touch}}.profile-sidenav [hidden]{display:none!important}.profile-sidenav-content{max-width:430px}.profile-sidenav-body{gap:18px;padding:22px}.profile-identity-card{background:linear-gradient(135deg,#f4f9ff 0%,#eaf4ff 100%);border-color:#8db8ff;min-height:112px;padding:18px;box-shadow:0 10px 28px #1e40af14}.profile-avatar--business{color:#1d4ed8;background:#fff;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 8px 20px #2563eb29}.profile-avatar--business svg{width:30px;height:30px}.profile-identity-card .profile-name{white-space:normal;margin-bottom:6px;font-size:19px;line-height:1.25}.profile-contact-line{color:#334155;margin:0 0 6px;font-size:13px;line-height:1.35}.profile-identity-card .profile-email{color:#2563eb}.profile-project-section,.profile-details-card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:18px;box-shadow:0 8px 24px #0f172a0d}.profile-project-section label,.profile-field label{color:#334155;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.profile-project-section input,.profile-field input{box-sizing:border-box;color:#0f172a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;font-size:14px}.profile-project-section input:focus,.profile-field input:focus{border-color:#2563eb;outline:3px solid #3b82f633}.profile-field input[aria-invalid=true]{border-color:#dc2626;outline-color:#dc262629}.profile-field-help{color:#64748b;margin-top:6px;font-size:12px}.profile-stats{gap:10px}.profile-stats .stat-item{background:#fbfdff;border:1px solid #dbe3ef;min-height:92px;padding:14px 12px}.profile-stats .stat-icon{color:#2563eb;width:34px;height:34px;font-size:inherit;background:#eaf2ff;border-radius:10px;place-items:center;display:grid}.profile-stats .stat-icon svg{width:21px;height:21px}.profile-stats .stat-value{font-size:25px}.profile-stats .stat-label{color:#475569;white-space:normal;max-width:120px;font-size:10px;line-height:1.3}.profile-details-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-details-header h3{color:#172033;margin:0;font-size:16px;line-height:1.3}.profile-edit-btn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.profile-edit-btn svg{width:15px;height:15px}.profile-detail-list{display:grid}.profile-detail-row{border-bottom:1px solid #edf1f7;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:11px 0;display:grid}.profile-detail-row:last-child{border-bottom:0}.profile-detail-icon{color:#2563eb;background:#edf5ff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.profile-detail-icon svg{width:17px;height:17px}.profile-detail-label{color:#475569;margin-bottom:2px;font-size:12px;font-weight:700}.profile-detail-value{overflow-wrap:anywhere;color:#1e293b;font-size:13px;line-height:1.4}.profile-edit-grid{gap:12px;display:grid}.profile-field-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;display:grid}.profile-inline-error{color:#991b1b;background:#fef2f2;border-radius:8px;margin:12px 0 0;padding:9px 11px;font-size:12px;font-weight:600}.profile-form-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.profile-form-btn{cursor:pointer;border-radius:8px;min-height:42px;padding:9px 12px;font-size:13px;font-weight:700}.profile-form-btn-secondary{color:#334155;background:#fff;border:1px solid #cbd5e1}.profile-form-btn-primary{color:#fff;background:#2563eb;border:1px solid #1d4ed8}.profile-actions{gap:10px}.profile-section-title{margin-bottom:2px}.profile-action-btn{border-width:1px;min-height:50px;padding:12px 14px;box-shadow:0 4px 14px #0f172a08}.profile-action-btn>svg:last-child{width:16px;height:16px;margin-left:auto}@media (width<=480px){.profile-sidenav-header{padding:20px}.profile-sidenav-body{padding:18px}.profile-identity-card{align-items:flex-start}.profile-avatar--business{width:54px;height:54px}.profile-details-header{align-items:flex-start}.profile-field-row{grid-template-columns:1fr}}.modal-close-btn{color:#6b7280;cursor:pointer;z-index:10;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close-btn:hover{color:#1f2937;background:#e5e7eb;transform:scale(1.1)}.modal-close-btn:active{transform:scale(.95)}.u-hidden{display:none!important}.u-scroll-y{overflow-y:auto!important}.u-center{place-items:center;display:grid}.u-click{cursor:pointer}.u-nowrap{white-space:nowrap}.input-error{animation:.3s ease-in-out shakeError;background-color:#fef2f2!important;border-color:#ef4444!important}.input-error:focus{border-color:#dc2626!important;outline-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.field-error-message{color:#dc2626;background:#fef2f2;border-left:3px solid #ef4444;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4;animation:.2s ease-out slideDown;display:flex}.field-error-message:before{content:"⚠️";flex-shrink:0;font-size:14px}.input-valid{background-color:#f0fdf4!important;border-color:#10b981!important}.input-valid:focus{border-color:#059669!important;outline-color:#10b981!important;box-shadow:0 0 0 3px #10b9811a!important}.field-success-message{color:#059669;background:#f0fdf4;border-left:3px solid #10b981;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4;animation:.2s ease-out slideDown;display:flex}.field-success-message:before{content:"✓";flex-shrink:0;font-size:14px;font-weight:700}.input-warning{background-color:#fffbeb!important;border-color:#f59e0b!important}.field-warning-message{color:#d97706;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4;animation:.2s ease-out slideDown;display:flex}.field-warning-message:before{content:"ℹ";flex-shrink:0;font-size:14px}.form-group.has-error label{color:#dc2626}.form-group.has-success label{color:#059669}@keyframes shakeError{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.validation-summary{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;margin-bottom:24px;padding:16px;animation:.3s ease-out slideDown}.validation-summary-title{color:#dc2626;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.validation-summary-title:before{content:"⚠️";font-size:18px}.validation-summary-list{color:#dc2626;margin:0;padding-left:24px;font-size:13px;line-height:1.6}.validation-summary-list li{margin-bottom:4px}.field-inline-indicator{pointer-events:none;font-size:18px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field-inline-indicator.error{color:#ef4444}.field-inline-indicator.success{color:#10b981}.field-required{color:#ef4444;margin-left:4px;font-weight:700}.field-help-tooltip{color:#fff;cursor:help;background:#d1d5db;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:6px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.field-help-tooltip:hover{background:#6b7280;transform:scale(1.1)}.input-validating{background-image:linear-gradient(90deg,#0000 0% 25%,#3b82f61a 50%,#0000 75% 100%);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.field-error-message,.field-success-message,.field-warning-message{padding:6px 10px;font-size:12px}.validation-summary{margin-bottom:16px;padding:12px}.validation-summary-title{font-size:14px}.validation-summary-list{font-size:12px}}.field-error-message:focus,.field-success-message:focus,.field-warning-message:focus{outline-offset:2px;outline:2px solid #3b82f6}@media (prefers-color-scheme:dark){.input-error{background-color:#ef44441a!important}.field-error-message{color:#fca5a5;background:#ef444426}.input-valid{background-color:#10b9811a!important}.field-success-message{color:#6ee7b7;background:#10b98126}}.custom-alert-container{pointer-events:none;z-index:200000;width:100%;height:100%;position:fixed;top:0;left:0}.custom-alert{pointer-events:all;opacity:0;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.custom-alert-show{opacity:1}.custom-alert-show .custom-alert-content{opacity:1;transform:scale(1)}.custom-alert-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1;background:#00000080;width:100%;height:100%;position:fixed;top:0;left:0}.custom-alert-content{opacity:0;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;transform:scale(.95);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.custom-alert-header{border-bottom:2px solid #e5e7eb;flex-shrink:0;align-items:center;gap:12px;padding:24px;display:flex}.custom-alert-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.custom-alert-info .custom-alert-icon{color:#1e40af;background:#dbeafe}.custom-alert-success .custom-alert-icon{color:#065f46;background:#d1fae5}.custom-alert-warning .custom-alert-icon{color:#92400e;background:#fed7aa}.custom-alert-error .custom-alert-icon{color:#991b1b;background:#fee2e2}.custom-alert-title{color:#1f2937;flex:1;margin:0;font-size:20px;font-weight:700}.custom-alert-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.custom-alert-close:hover{color:#1f2937;background:#f3f4f6}.custom-alert-close:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.custom-alert-message{white-space:pre-line;color:#4b5563;flex:1;padding:24px;font-size:16px;line-height:1.6;overflow-y:auto}.custom-alert-actions{border-top:2px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;gap:12px;padding:24px;display:flex}.custom-alert-btn{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.custom-alert-btn-primary{color:#fff;background:#3b82f6}.custom-alert-btn-primary:hover{color:#f8fafc;background:#2563eb}.custom-alert-btn-primary:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.custom-alert-btn-secondary{color:#1f2937;background:#f3f4f6}.custom-alert-btn-secondary:hover{color:#111827;background:#e5e7eb}.custom-alert-btn-secondary:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.custom-alert-info .custom-alert-header{border-bottom-color:#bfdbfe}.custom-alert-success .custom-alert-header{border-bottom-color:#a7f3d0}.custom-alert-warning .custom-alert-header{border-bottom-color:#fcd34d}.custom-alert-error .custom-alert-header{border-bottom-color:#fca5a5}@media (width<=640px){.custom-alert{padding:12px}.custom-alert-content{border-radius:12px;max-height:95vh}.custom-alert-header,.custom-alert-message,.custom-alert-actions{padding:16px}.custom-alert-title{font-size:18px}.custom-alert-message{font-size:14px}.custom-alert-actions{flex-direction:column-reverse}.custom-alert-btn{width:100%;min-width:auto}}@media (width<=1024px){.drawer-planner .canvas{padding-top:132px}.planner-grid-toolbar{flex-wrap:wrap;align-items:flex-start;gap:6px}.planner-grid-toolbar__title{width:100%}.planner-grid-toolbar__group{border-left:0;padding-left:0}.planner-grid-toolbar__group>span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar{flex-wrap:wrap;gap:8px;min-height:auto;padding:8px 12px}.toolbar-section{flex-wrap:wrap;gap:6px}.section-label{font-size:11px}.size-form{gap:6px}.size-form input{width:3rem;padding:4px;font-size:13px}.unit-select{padding:4px 6px;font-size:13px}.btn-apply{padding:4px 10px;font-size:13px}.drawer-planner .sidebar{z-index:1000;border-top:1px solid #dbe3ef;border-right:0;border-radius:16px 16px 0 0;width:100%;min-width:0;height:auto;max-height:min(74vh,620px);margin-left:0;transition:transform .24s cubic-bezier(.4,0,.2,1);position:fixed;inset:auto 0 0;overflow:hidden;transform:translateY(calc(100% - 72px));box-shadow:0 -18px 42px #0f172a2e}.drawer-planner .sidebar.collapsed{margin-left:0}.drawer-planner .sidebar.mobile-open{transform:translateY(0)}.drawer-planner .sidebar:before{content:none;display:none}.drawer-planner .sidebar-toggle{color:#163163;background:#fff;border:1px solid #dbe3ef;border-radius:999px;gap:8px;width:min(280px,100% - 32px);height:38px;min-height:38px;padding:0 14px;top:10px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 8px 18px #0f172a29}.drawer-planner .sidebar-toggle:hover{background:#f8fafc;box-shadow:0 10px 22px #0f172a2e}.drawer-planner .sidebar-toggle-grip{background:#94a3b8;border-radius:999px;flex:none;width:28px;height:4px;display:block}.drawer-planner .sidebar-toggle-text{white-space:nowrap;font-size:12px;font-weight:700;line-height:1;display:inline}.drawer-planner .sidebar-toggle svg{color:currentColor;width:14px;height:14px;transform:rotate(90deg)}.drawer-planner .sidebar.mobile-open .sidebar-toggle svg{transform:rotate(-90deg)}.drawer-planner .sidebar-header{align-items:flex-start;gap:10px;padding:56px 16px 12px}.drawer-planner .sidebar-header-main{min-width:0}.drawer-planner .sidebar-title{font-size:.95rem}.drawer-planner .sidebar-dimension-info{align-items:flex-start;gap:6px;min-width:0}.drawer-planner .sidebar-dimension-label{flex:none}.drawer-planner .sidebar-dimension-value{white-space:normal;overflow-wrap:anywhere;border-radius:8px;min-width:0;max-width:100%;line-height:1.35}.drawer-planner .sidebar-dimension-edit{flex:none;width:auto;min-width:78px;padding:9px 12px}.drawer-planner .sidebar-content{max-height:calc(74vh - 118px);overflow-y:auto}.drawer-planner .panel-content{padding:.75rem .75rem 2rem}}@media (width<=768px){.top-nav{flex-wrap:wrap;min-height:auto;padding:8px 12px}.nav-section{gap:8px}.nav-brand h1{font-size:16px}.btn-icon{padding:8px}.btn-label{display:none!important}.icon-dropdown{display:none}.user-badge{min-width:auto;padding:6px}.user-name{display:none}.toolbar{flex-direction:column;align-items:stretch}.toolbar-section{justify-content:space-between;width:100%}.toolbar-divider{width:100%;height:1px;margin:4px 0}.wizard-container{border-radius:12px;max-width:100%;margin:0}.wizard-header{padding:20px 16px}.wizard-header h1{font-size:22px}.wizard-header p{font-size:13px}.wizard-progress{padding:16px}.progress-steps{max-width:100%}.progress-step{flex:none}.step-circle{width:32px;height:32px;font-size:13px}.step-label{font-size:10px}.wizard-content{min-height:300px;padding:20px 16px}.step-title{font-size:20px}.step-description{font-size:13px}.wizard-footer{flex-wrap:wrap;padding:16px}.wizard-btn{padding:10px 16px;font-size:14px}.size-grid{grid-template-columns:1fr;gap:12px}.size-card{padding:12px}.canvas-wrapper{min-height:300px}.grid-stack-item{min-width:40px;min-height:40px}.viewer3d-overlay{padding:12px}.viewer3d-container{border-radius:12px}.viewer3d-header{padding:12px 16px}.viewer3d-header h2{font-size:18px}.viewer3d-content{height:50vh;min-height:300px}.viewer3d-controls{flex-wrap:wrap;gap:8px;padding:12px}.control-group{gap:6px}.control-group label{font-size:11px}.settings-panel{width:100%;max-width:100%}.settings-content,.settings-section{padding:16px}.settings-title{font-size:18px}.profile-sidenav{width:100%;max-width:100%}.profile-content{padding:16px}.profile-header{padding:20px 16px}.profile-name{font-size:20px}.order-panel{width:100%;max-width:100%}.order-content{padding:16px}.builder-content{padding:12px}.builder-items{gap:8px}.builder-item{padding:8px}.builder-input{padding:6px;font-size:14px}}@media (width<=480px){body{padding:12px}.header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.logo{font-size:20px}.user-info{justify-content:space-between;width:100%}.container{border-radius:12px;padding:16px}.welcome h1{font-size:24px}.welcome p{font-size:14px}.cta-buttons{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{justify-content:center;width:100%;padding:14px 20px}.projects-grid,.quotes-grid{grid-template-columns:1fr}.project-card,.quote-card{padding:12px}.top-nav{gap:4px;padding:6px 8px}.nav-brand{flex:1}.nav-brand h1{font-size:14px}.btn-icon{min-width:32px;min-height:32px;padding:6px}.btn-icon svg{width:16px;height:16px}.user-avatar{font-size:16px}.toolbar{padding:6px 8px}.materials-group{flex-wrap:wrap;width:100%}.input-group{flex:auto;min-width:0}.input-group label{font-size:10px}.input-group input,.input-group select{padding:4px;font-size:12px}.wizard-header{padding:16px 12px}.wizard-header h1{font-size:20px}.wizard-progress{padding:12px}.progress-steps{gap:8px}.step-circle{width:28px;height:28px;font-size:12px}.step-label{max-width:50px;font-size:9px}.wizard-content{padding:16px 12px}.step-title{font-size:18px}.option-card{padding:12px}.option-title{font-size:14px}.option-description,.form-field label{font-size:12px}.form-field input,.form-field select,.form-field textarea{padding:10px;font-size:14px}.summary-grid{grid-template-columns:1fr;gap:12px}.summary-card{padding:12px}.summary-icon{font-size:24px}.summary-label{font-size:11px}.summary-value{font-size:14px}.size-grid{gap:10px}.size-card-badge{padding:3px 8px;font-size:10px}.canvas{min-width:0}.grid-stack{min-height:250px}.tooltip{max-width:200px;padding:6px 10px;font-size:11px}.custom-alert-content{border-radius:12px;max-width:100%;margin:0}.custom-alert-header{padding:16px}.custom-alert-title{font-size:16px}.custom-alert-message{padding:16px;font-size:14px}.custom-alert-actions{padding:16px}.custom-alert-btn{padding:10px 18px;font-size:14px}.dropdown-menu{min-width:180px;left:auto;right:0}.dropdown-item{padding:10px 14px;font-size:13px}.client-card{padding:12px}.client-name{font-size:14px}.client-email{font-size:12px}.client-actions{gap:6px}.client-actions button{padding:4px 10px;font-size:11px}}@media (width<=360px){.logo{font-size:16px}.nav-actions{gap:2px}.btn-icon{min-width:28px;min-height:28px;padding:4px}.btn-icon svg{width:14px;height:14px}.wizard-header h1{font-size:18px}.step-circle{width:24px;height:24px;font-size:11px}.step-label{max-width:40px;font-size:8px}.wizard-btn{padding:8px 12px;font-size:13px}}@media (hover:none) and (pointer:coarse){button,.btn,.tab,.card,.option-card,.size-card{min-height:44px}:hover{transition:none}.layout-hover-tooltip{display:none!important}.grid-stack-item{touch-action:none;cursor:move}input,select,textarea{font-size:16px}button:active,.btn:active,.card:active,.option-card:active{transition:transform .1s;transform:scale(.95)}.card:active{background:#e0e7ff}.wizard-content,.sidebar,.list{-webkit-overflow-scrolling:touch}}@media (width<=768px) and (orientation:landscape){.wizard-container{max-height:90vh;overflow-y:auto}.wizard-content{max-height:calc(90vh - 250px);overflow-y:auto}.viewer3d-content{height:60vh}.sidebar{max-height:40vh}.canvas-wrapper{height:calc(100vh - var(--header-height) - 40px)}}@media print{.top-nav,.toolbar,.sidebar,.btn,button{display:none!important}.canvas-wrapper{width:100%;max-width:100%}.canvas{border:1px solid #000}}.csp-style-0376f3aca4cf{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:12px;font-size:13px}.csp-style-063ecbd130fa{background:#f3f4f6;border-radius:8px;padding:12px;font-size:14px}.csp-style-0a695b58ed4c{color:#6b7280;font-size:13px}.csp-style-102b0ba216a4{color:#6b7280;font-size:11px;font-weight:400}.csp-style-1116b679f1d0{color:#6b7280;margin-top:8px;font-size:12px}.csp-style-11d314ea0d0e{color:#1f2937;margin-bottom:4px;font-size:15px;font-weight:700}.csp-style-1a00f53b091b{align-items:center;gap:12px;display:flex}.csp-style-2091aeebea15{gap:12px;display:grid}.csp-style-27d0a56986da{margin-bottom:16px;font-size:48px}.csp-style-2acb4dcf1f7f{color:#9ca3af;font-family:monospace;font-size:11px}.csp-style-2cc9e42b8deb{align-items:start;gap:8px;margin-bottom:8px;display:flex}.csp-style-3a7409f96253{width:0%}.csp-style-3c520304c99e{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:12px;font-size:14px}.csp-style-42335f5bbbc3{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px;font-size:13px}.csp-style-4636770b4968{margin-bottom:12px}.csp-style-4c8abb6ca842{color:#92400e;margin:8px 0 0;padding-left:20px}.csp-style-4d874891efd7{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600}.csp-style-54232d7ba8ba{background:#e0f2fe;border-radius:8px;max-height:200px;padding:12px;font-size:13px;overflow-y:auto}.csp-style-5505e8fed61a{color:#111827;margin-bottom:4px;font-weight:600}.csp-style-5e6df36acc23{color:#92400e;margin-left:28px;font-size:13px}.csp-style-6253876a649a{flex:1}.csp-style-66bf370f9482{opacity:.95;margin:0;font-size:12px;line-height:1.5}.csp-style-68443324e11c{align-items:center;gap:8px;display:flex}.csp-style-695296fc9a22{gap:12px;display:flex}.csp-style-7bff0152f690{align-items:start;gap:8px;display:flex}.csp-style-813c11308e51{margin:32px 0 12px;font-size:16px;font-weight:600}.csp-style-8703c9c35ed0{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600}.csp-style-8f3343f43b05{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.csp-style-90445a4fddb4{opacity:.7}.csp-style-905228b6d52d{font-size:14px}.csp-style-9899475605ba{text-align:center;color:#6b7280;padding:40px}.csp-style-9b050972ef83{color:#1f2937;margin-bottom:8px;font-size:16px;font-weight:600}.csp-style-9ccc4ca9d661{width:100%}.csp-style-a560b3a8e9e4{justify-content:space-between;align-items:start;margin-bottom:8px;display:flex}.csp-style-a57457675798{color:#1e40af;flex:1;font-size:14px}.csp-style-a97b2445c0c6{color:#6b7280;margin-bottom:6px;font-size:12px;display:block}.csp-style-abd137b89b7a{margin-bottom:6px}.csp-style-b0b916aac8a0{margin:24px 0 12px;font-size:16px;font-weight:600}.csp-style-b6d781cbbc10{margin-top:12px}.csp-style-b858afb8f518{text-align:center;color:#6b7280;padding:12px;font-size:13px}.csp-style-b89524c9e474{align-items:center;gap:10px;margin-bottom:8px;display:flex}.csp-style-baef6b6d6e7d{color:#6b7280;margin-top:2px;font-size:13px}.csp-style-bb98c21d8608{background:#f9fafb;border:1px solid #d1d5db;border-radius:4px}.csp-style-bf9d57d795a3{font-size:20px}.csp-style-c8ff91a7de94{background:#f3f4f6;border-radius:4px;width:100px;height:60px}.csp-style-d0466aa33fa8{display:none}.csp-style-d12c8211ea25{color:#92400e;margin:4px 0 0}.csp-style-d6241da47c04{gap:8px;display:flex}.csp-style-d64c8cb3359e{font-size:18px}.csp-style-d6c638d6081a{margin-top:8px;font-size:13px}.csp-style-d8637289d010{background:#fff;border:2px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.csp-style-db982e9983bd{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:1s linear infinite spin}.csp-style-dffb1a74798f{color:#92400e}.csp-style-e4155275a50c{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.csp-style-e5153fdfafea{border-top:1px solid #f59e0b;margin-top:12px;padding-top:12px}.csp-style-e53d246fc659{color:#fff;background:linear-gradient(135deg,#163163 0% 100%);border-radius:12px;margin-top:20px;padding:16px}.csp-style-ed6e7690b140{margin-bottom:8px;font-weight:600;display:block}.csp-style-f1dc5e6bed1a{text-align:center;background:#fff;border-radius:12px;max-width:400px;padding:32px 48px;box-shadow:0 10px 40px #0000004d}.csp-style-f4942fe3cba1{margin-left:20px}.csp-style-f82c8235425d{background:#f0f9ff;border:2px solid #3b82f6;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.csp-style-fb92203d19f8{text-align:center;margin-bottom:8px}.csp-style-fbdce96a1a34{text-align:center;color:#6b7280;background:#f9fafb;border-radius:12px;padding:40px}.csp-runtime-sheet-marker{--csp-runtime-sheet:1}.csp-swatch--black,.csp-material--black{background:#1a1a1a}.csp-swatch--gray,.csp-material--gray{background:#50535a}.csp-swatch--white,.csp-material--white{color:#111;background:#fafafa}.csp-material--walnut{background:#7b5e57}.csp-material--oak{background:#caa472}.csp-material--birch{background:#e3cfb6}.csp-swatch--unknown,.csp-material--unknown{background:repeating-linear-gradient(135deg,#e5e7eb 0 6px,#f8fafc 6px 12px)}.name-prompt-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px}.name-prompt-input--read-only{background:#f3f4f6}.quote-status{border:1px solid;border-radius:12px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.quote-status--sent{color:#087a58;background:#e7f8f1}.quote-status--failed,.quote-status--cancelled{color:#b42318;background:#fff0ee}.quote-status--downloaded{color:#1d4ed8;background:#eff6ff}.quote-status--unknown{color:#9a5b00;background:#fff7e6}.ai-loader-overlay{z-index:10001;opacity:0;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.grid-legend{color:#1f2937;z-index:10;background:linear-gradient(135deg,#f9fafb 0%,#fff 100%);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;padding:.75rem 1rem;font-size:.8125rem;display:flex;box-shadow:0 1px 3px #0000000d}.grid-legend .gl-title{color:#111827;white-space:nowrap;margin:0;font-size:.875rem;font-weight:700}.grid-legend .gl-dimensions{color:#374151;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;display:flex}.gl-dimensions-icon{color:#3b82f6}#planner-modal{z-index:100001;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#planner-modal.show{display:flex}.pm-backdrop{background:#00000059;position:absolute;inset:0}.pm-card{background:#fff;border-radius:12px;width:calc(100% - 2rem);max-width:520px;padding:16px;position:relative;box-shadow:0 10px 30px #00000040}.pm-body{white-space:pre-line;margin:8px 0 16px;line-height:1.4}.pm-actions{justify-content:flex-end;gap:8px;display:flex}.pm-btn{cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:8px;padding:.5rem .9rem}.pm-secondary{background:#fff}
