.portal-theme{--portal-surface:#ffffff;--portal-surface-muted:#f8fafc;--portal-surface-subtle:#f1f5f9;--portal-border:#e2e8f0;--portal-border-subtle:#f1f5f9;--portal-text:#0f172a;--portal-text-secondary:#475569;--portal-text-muted:#64748b;--portal-text-faint:#94a3b8;--portal-radius:0.875rem;--portal-radius-lg:1.25rem;--portal-radius-xl:1.5rem;--portal-shadow-sm:0 1px 2px 0 rgb(15 23 42/0.04);--portal-shadow:0 4px 6px -1px rgb(15 23 42/0.06),0 2px 4px -2px rgb(15 23 42/0.04);--portal-shadow-lg:0 20px 25px -5px rgb(15 23 42/0.08),0 8px 10px -6px rgb(15 23 42/0.04);--portal-primary:#0f172a;--portal-primary-hover:#1e293b;--portal-accent:#2563eb;--portal-accent-muted:#eff6ff;--portal-accent-soft:#dbeafe;--portal-sidebar-bg:#ffffff;--portal-sidebar-surface:#f8fafc;--portal-sidebar-border:#e2e8f0;--portal-sidebar-text:#0f172a;--portal-sidebar-muted:#475569;--portal-sidebar-active:var(--portal-accent-muted);--portal-hero-from:#f8fafc;--portal-hero-to:#ffffff;--portal-focus-ring:0 0 0 2px var(--portal-surface),0 0 0 4px var(--portal-accent);--portal-sticky-offset:4.5rem}.portal-theme .portal-sticky-below-topbar{top:var(--portal-sticky-offset)}.portal-theme [data-editor-header],.portal-theme [data-personalization-element]{scroll-margin-top:var(--portal-sticky-offset)}.portal-theme .print3d-rgb-input:focus-visible{outline:2px solid var(--portal-accent);outline-offset:1px;box-shadow:none}.portal-theme .portal-focus-ring:focus-visible{outline:none;box-shadow:var(--portal-focus-ring)}.portal-theme .portal-sidebar{background:var(--portal-sidebar-bg);color:var(--portal-sidebar-text)}.portal-theme .portal-sidebar-nav-active{background:var(--portal-accent-muted);color:var(--portal-text);box-shadow:none}.portal-login-branding{--portal-sidebar-text:#ffffff;--portal-sidebar-muted:rgb(255 255 255/0.55)}.portal-theme .portal-kpi-card{background:var(--portal-surface)}.portal-theme .portal-hero{background:linear-gradient(135deg,var(--portal-hero-from) 0,var(--portal-hero-to) 55%,var(--portal-accent-muted) 100%);border:1px solid var(--portal-border)}.portal-theme .portal-hero.portal-hero-banner{background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--portal-accent) 26%,transparent) 0,transparent 55%),linear-gradient(135deg,var(--portal-navy) 0,var(--portal-navy-deep) 100%);border:0}.portal-theme .portal-quick-action{background:var(--portal-surface);border:1px solid var(--portal-border);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.portal-theme .portal-quick-action:hover{transform:translateY(-1px);box-shadow:var(--portal-shadow);border-color:color-mix(in srgb,var(--portal-accent) 30%,var(--portal-border))}.portal-theme .portal-timeline-line{background:linear-gradient(180deg,var(--portal-accent-soft) 0,var(--portal-border) 100%)}@keyframes portal-progress-current-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--portal-accent) 28%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--portal-accent) 8%,transparent)}}.portal-theme .portal-progress-current-pulse{animation:portal-progress-current-pulse 2.6s ease-in-out infinite}@keyframes print3d-upload-indeterminate{0%{transform:translateX(-120%)}to{transform:translateX(320%)}}.portal-theme .print3d-upload-indeterminate{animation:print3d-upload-indeterminate 1.6s ease-in-out infinite}.portal-theme .print3d-viewer-reveal{animation:print3d-viewer-reveal .55s ease}@keyframes print3d-viewer-reveal{0%{opacity:.72}to{opacity:1}}.portal-theme .print3d-upload-canvas{background-color:var(--portal-surface-subtle);background-image:linear-gradient(90deg,rgb(15 23 42/.045) 1px,transparent 0),linear-gradient(180deg,rgb(15 23 42/.045) 1px,transparent 0);background-size:28px 28px}.portal-theme .print3d-upload-canvas[data-drag-over=true]{background-color:var(--portal-accent-muted);border-color:var(--portal-accent)}.portal-theme .print3d-hero-visual .print3d-hero-cube{transition:transform .22s ease;transform-origin:60px 60px}.portal-theme [data-print3d-presentation=drag] .print3d-hero-cube{transform:translateY(-4px) scale(1.03)}.portal-theme .print3d-hero-face{transition:opacity .32s ease}.portal-theme [data-print3d-presentation=analysis] .print3d-hero-face{opacity:.22}@keyframes print3d-hero-scan{0%{transform:translateY(0);opacity:0}12%{opacity:.9}88%{opacity:.9}to{transform:translateY(48px);opacity:0}}.portal-theme [data-print3d-presentation=analysis] .print3d-hero-scan,.portal-theme [data-print3d-presentation=uploading] .print3d-hero-scan{animation:print3d-hero-scan 1.4s ease-in-out infinite}.portal-theme .print3d-processing-hero{animation:print3d-processing-hero-in .26s ease-out both}@keyframes print3d-processing-hero-in{0%{opacity:.6}to{opacity:1}}.portal-theme .print3d-processing-step-bar{transition:background-color .24s ease}@keyframes print3d-proc-vertex-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes print3d-proc-vertex-breathe{0%,to{opacity:.55}50%{opacity:1}}.portal-theme .print3d-proc-vertex{transform-box:fill-box;transform-origin:center;animation:print3d-proc-vertex-in .42s ease-out both,print3d-proc-vertex-breathe 2.8s ease-in-out infinite;animation-delay:calc(var(--print3d-vertex-index, 0) * 90ms),calc(.6s + var(--print3d-vertex-index, 0) * .16s)}@keyframes print3d-proc-edge-draw{to{stroke-dashoffset:0}}.portal-theme .print3d-proc-edge{opacity:.9;animation:print3d-proc-edge-draw .72s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.36s + var(--print3d-edge-index, 0) * .11s)}@keyframes print3d-proc-scan{0%{transform:translateY(0);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translateY(160px);opacity:0}}.portal-theme [data-print3d-processing-phase=uploading] .print3d-proc-scan{animation:print3d-proc-scan 2.2s ease-in-out infinite}.portal-theme [data-print3d-processing-phase=analysis] .print3d-proc-scan{animation:print3d-proc-scan 2.8s ease-in-out infinite;opacity:.6}@keyframes print3d-proc-layer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:.55;transform:translateY(0)}}.portal-theme [data-print3d-processing-phase=analysis] .print3d-proc-layer,.portal-theme [data-print3d-processing-phase=preview] .print3d-proc-layer{animation:print3d-proc-layer-in .38s ease-out both;animation-delay:calc(var(--print3d-layer-index, 0) * .14s)}.portal-theme .print3d-proc-face{transition:opacity .48s ease}.portal-theme [data-print3d-processing-phase=analysis] .print3d-proc-face{opacity:.14}.portal-theme [data-print3d-processing-phase=preview] .print3d-proc-face{opacity:.22}.portal-theme .print3d-proc-body{transition:transform .42s cubic-bezier(.2,.7,.2,1)}.portal-theme [data-print3d-processing-phase=preview] .print3d-proc-body{transform:translateY(-10px)}.portal-theme [data-print3d-processing-phase=preview] .print3d-proc-vertex{animation:print3d-proc-vertex-in .42s ease-out both}@keyframes print3d-proc-ghost-breathe{0%,to{opacity:.1}50%{opacity:.22}}.portal-theme .print3d-proc-ghost{animation:print3d-proc-ghost-breathe 4.2s ease-in-out infinite}.portal-theme .print3d-proc-ghost[data-print3d-processing-ghost="2"]{animation-delay:1.4s}@keyframes print3d-model-reveal{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}.portal-theme .print3d-model-reveal{animation:print3d-model-reveal .55s cubic-bezier(.2,.7,.2,1) both}@keyframes print3d-workspace-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-theme .print3d-workspace:has([data-print3d-ready-transition=revealing]) [data-print3d-configuration-workspace=true],.portal-theme .print3d-workspace:has([data-print3d-ready-transition=revealing]) [data-print3d-summary-rail=true]{animation:print3d-workspace-settle .4s ease-out both;animation-delay:.12s}@keyframes print3d-reference-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.portal-theme .print3d-reference-card{animation:print3d-reference-reveal .32s ease-out both}@media (max-width:1279px){.portal-theme .cad-request-layout,.portal-theme .print3d-reference-layout,.portal-theme .print3d-reference-type-usage{grid-template-columns:minmax(0,1fr)!important}}.portal-theme main:has([data-print3d-configurator-header=compact]),.portal-theme main:has([data-print3d-configurator-page=true]),.portal-theme main:has([data-print3d-configurator-shell=true]){max-width:none}.portal-theme .print3d-shell{--print3d-grid:color-mix(in srgb,var(--portal-text) 6%,transparent)}.portal-theme .print3d-mobile-bar{bottom:calc(52px + env(safe-area-inset-bottom, 0px))}.portal-theme .print3d-sphere{box-shadow:inset -2px -3px 6px rgb(0 0 0/.18),inset 1px 2px 3px rgb(255 255 255/.25),0 2px 4px rgb(15 23 42/.14);transition:transform .16s ease,box-shadow .16s ease}.portal-theme .print3d-sphere-selected{box-shadow:inset -2px -3px 6px rgb(0 0 0/.18),inset 1px 2px 3px rgb(255 255 255/.25),0 0 0 2px var(--portal-surface),0 0 0 4px var(--portal-accent),0 3px 6px rgb(15 23 42/.16)}@media (hover:hover) and (pointer:fine){.portal-theme button:hover>.print3d-sphere:not(.print3d-sphere-selected){transform:translateY(-1px) scale(1.04)}.portal-theme .print3d-material-card:hover svg[data-print3d-spool]{transform:rotate(8deg)}}.portal-theme .print3d-material-card svg[data-print3d-spool]{transition:transform .22s ease}@media (prefers-reduced-motion:reduce){.portal-theme .print3d-material-card svg[data-print3d-spool],.portal-theme .print3d-sphere{transition:none}}.portal-theme .print3d-workspace{--portal-accent:#16a34a;--portal-accent-muted:#f0fdf4;--print3d-green:#16a34a;--print3d-green-soft:#ecfdf3;--print3d-line:#e5ebe7}.portal-theme .portal-topbar-icon{transition:background-color .18s ease,color .18s ease,transform .18s ease}.portal-theme .portal-topbar-icon:hover{background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-topbar-icon:active{transform:scale(.99)}.portal-theme .portal-topbar-icon:focus-visible{outline:none;box-shadow:var(--portal-focus-ring)}.portal-theme .portal-account-trigger{box-shadow:0 1px 2px rgb(15 23 42/.04);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.portal-theme .portal-account-trigger:hover{box-shadow:0 1px 2px rgb(15 23 42/.04),0 10px 20px -16px rgb(11 35 72/.45)}.portal-theme .portal-account-trigger:hover,.portal-theme .portal-account-trigger[aria-current=page]{border-color:color-mix(in srgb,var(--portal-navy) 40%,var(--portal-workspace-border-strong));background:var(--portal-navy-tint)}.portal-theme .portal-account-chevron{transition:transform .12s ease}.portal-theme .portal-account-trigger:hover .portal-account-chevron{transform:translateX(2px)}.portal-theme .portal-account-trigger:active{transform:scale(.98)}.portal-theme .portal-service-entry{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}@media (hover:hover) and (pointer:fine){.portal-theme .portal-service-entry:hover{background:var(--portal-navy-tint)}.portal-theme .portal-service-entry:hover .portal-service-entry-media img{transform:scale(1.03)}.portal-theme .portal-service-entry:hover .portal-service-entry-cta{text-decoration:underline}.portal-theme .portal-service-entry:hover .portal-service-entry-arrow{transform:translateX(3px)}}.portal-theme .portal-service-soon{cursor:default}.portal-theme .print3d-action,.portal-theme .print3d-drop,.portal-theme .print3d-entry,.portal-theme .print3d-field{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.portal-theme .print3d-entry-arrow,.portal-theme .print3d-entry-cta,.portal-theme .print3d-entry-media img,.portal-theme .print3d-entry-visual{transition:transform .18s ease,background-color .18s ease}.portal-theme .print3d-action:active:not(:disabled){transform:scale(.99)}.portal-theme .print3d-field:hover:not(:disabled){border-color:color-mix(in srgb,var(--portal-accent) 35%,var(--portal-border))}@media (hover:hover) and (pointer:fine){.portal-theme .print3d-entry:hover{transform:translateY(-2px);border-color:color-mix(in srgb,#16a34a 40%,var(--portal-border));box-shadow:var(--portal-shadow)}.portal-theme .print3d-entry:hover .print3d-entry-media img,.portal-theme .print3d-entry:hover .print3d-entry-visual{transform:scale(1.03)}.portal-theme .print3d-entry:hover .print3d-entry-cta{background:#15803d}.portal-theme .print3d-entry:hover .print3d-entry-arrow{transform:translateX(3px)}.portal-theme .print3d-entry:active{transform:scale(.99)}.portal-theme .print3d-drop:hover{border-color:color-mix(in srgb,#16a34a 45%,var(--portal-border));background:color-mix(in srgb,#16a34a 5%,var(--portal-surface))}.portal-theme .print3d-action:hover:not(:disabled){filter:brightness(.97)}}.portal-theme .portal-service-entry:active{transform:scale(.99)}.portal-theme .portal-service-entry-media img{transition:transform .18s ease}.portal-theme .portal-service-entry-cta{transition:background-color .18s ease,transform .18s ease}.portal-theme .portal-service-entry:active .portal-service-entry-cta{transform:scale(.98)}.portal-theme .portal-service-entry-arrow{transition:transform .18s ease}.portal-theme .print3d-press{transition:transform .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.portal-theme .print3d-press:hover:not(:disabled){box-shadow:0 1px 2px rgb(15 23 42/.06)}.portal-theme .print3d-press:active:not(:disabled){transform:scale(.98)}.portal-theme .print3d-swatch{transition:transform .12s ease,box-shadow .12s ease}.portal-theme .print3d-swatch:hover:not(:disabled){transform:translateY(-1px)}.portal-theme .print3d-swatch:active:not(:disabled){transform:scale(.96)}@keyframes print3d-qty{0%{transform:scale(1.08)}to{transform:scale(1)}}.portal-theme .print3d-qty-value{animation:print3d-qty .16s ease}@media (prefers-reduced-motion:reduce){.portal-theme .portal-progress-current-pulse{animation:none}.portal-theme .print3d-upload-indeterminate{animation:none;transform:none;width:100%;opacity:.85}.portal-theme .print3d-viewer-reveal{animation:none}.portal-theme .print3d-model-reveal{animation:none;clip-path:none}.portal-theme .print3d-reference-card{animation:none;opacity:1;transform:none}.portal-theme [data-print3d-presentation=analysis] .print3d-hero-scan,.portal-theme [data-print3d-presentation=uploading] .print3d-hero-scan{animation:none;opacity:0}.portal-theme .print3d-hero-face,.portal-theme .print3d-hero-visual .print3d-hero-cube{transition:none}.portal-theme .print3d-proc-edge,.portal-theme .print3d-proc-ghost,.portal-theme .print3d-proc-layer,.portal-theme .print3d-proc-vertex,.portal-theme .print3d-processing-hero,.portal-theme [data-print3d-processing-phase] .print3d-proc-layer,.portal-theme [data-print3d-processing-phase] .print3d-proc-scan,.portal-theme [data-print3d-processing-phase] .print3d-proc-vertex{animation:none}.portal-theme .print3d-proc-vertex{opacity:1;transform:none}.portal-theme .print3d-proc-edge{stroke-dashoffset:0}.portal-theme [data-print3d-processing-phase] .print3d-proc-layer{opacity:.55;transform:none}.portal-theme [data-print3d-processing-phase] .print3d-proc-scan{opacity:0}.portal-theme .print3d-proc-body,.portal-theme .print3d-proc-face,.portal-theme .print3d-processing-step-bar{transition:none}.portal-theme [data-print3d-processing-phase=preview] .print3d-proc-body{transform:none}.portal-theme .print3d-workspace:has([data-print3d-ready-transition=revealing]) [data-print3d-configuration-workspace=true],.portal-theme .print3d-workspace:has([data-print3d-ready-transition=revealing]) [data-print3d-summary-rail=true]{animation:none;opacity:1;transform:none}.portal-theme .portal-account-action,.portal-theme .portal-account-action:hover .portal-account-chevron,.portal-theme .portal-account-chevron,.portal-theme .portal-account-tab,.portal-theme .portal-account-trigger,.portal-theme .portal-account-trigger:active,.portal-theme .portal-account-trigger:hover .portal-account-chevron,.portal-theme .portal-service-entry,.portal-theme .portal-service-entry-arrow,.portal-theme .portal-service-entry-cta,.portal-theme .portal-service-entry-media img,.portal-theme .portal-service-entry:active,.portal-theme .portal-service-entry:hover,.portal-theme .portal-service-entry:hover .portal-service-entry-arrow,.portal-theme .portal-service-entry:hover .portal-service-entry-media img,.portal-theme .portal-topbar-icon,.portal-theme .portal-topbar-icon:active,.portal-theme .portal-topbar-icon:hover,.portal-theme .print3d-action,.portal-theme .print3d-action:active,.portal-theme .print3d-drop,.portal-theme .print3d-entry,.portal-theme .print3d-entry-arrow,.portal-theme .print3d-entry-cta,.portal-theme .print3d-entry-media img,.portal-theme .print3d-entry-visual,.portal-theme .print3d-entry:active,.portal-theme .print3d-entry:hover,.portal-theme .print3d-entry:hover .print3d-entry-arrow,.portal-theme .print3d-entry:hover .print3d-entry-media img,.portal-theme .print3d-entry:hover .print3d-entry-visual,.portal-theme .print3d-field,.portal-theme .print3d-press,.portal-theme .print3d-qty-value,.portal-theme .print3d-swatch{transition:none;animation:none;transform:none}}.portal-theme .portal-document-card{background:var(--portal-surface);border:1px solid var(--portal-border);transition:transform .15s ease,box-shadow .15s ease}.portal-theme .portal-document-card:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-theme .portal-record-card{background:var(--portal-surface);border:1px solid var(--portal-border);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.portal-theme .portal-record-card:hover{border-color:color-mix(in srgb,var(--portal-accent) 25%,var(--portal-border));box-shadow:var(--portal-shadow);transform:translateY(-1px)}.portal-theme .portal-open-tasks{box-shadow:var(--portal-shadow)}.portal-theme [data-portal-component=document-preview] [data-smart-document-scroll-region]{background:#ffffff;padding:0}.portal-theme .portal-pdf-viewer-shell{position:relative;min-height:200px;max-width:100%;overflow:hidden;z-index:0}.portal-theme .portal-pdf-viewer{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:.25rem 0 1.5rem}.portal-theme .portal-pdf-page-wrap{max-width:100%;background:#ffffff;border:1px solid rgb(15 23 42/.08);border-radius:8px;box-shadow:0 1px 3px rgb(15 23 42/.06),0 16px 40px -12px rgb(15 23 42/.14);overflow:hidden}.portal-theme .portal-pdf-page{display:block;max-width:100%}.portal-theme .portal-pdf-viewer-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1.5rem;text-align:center;font-size:.875rem;color:var(--portal-text-muted)}.portal-theme .portal-pdf-viewer-status--error{min-height:240px}.portal-theme .print3d-action:focus-visible,.portal-theme .print3d-drop:focus-within,.portal-theme .print3d-field:focus-visible,.portal-theme a.print3d-entry:focus-visible{outline:none;box-shadow:var(--portal-focus-ring)!important}.portal-theme.portal-login-page .portal-login-branding{background:#0b2348}.portal-theme .portal-auth-press:hover:not(:disabled){filter:brightness(1.1)}.portal-theme .portal-auth-press:active:not(:disabled){transform:scale(.98)}@keyframes portal-magic-access-mail{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes portal-magic-access-shield{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes portal-magic-access-check{0%{opacity:0;stroke-dashoffset:28}to{opacity:1;stroke-dashoffset:0}}.portal-theme .portal-magic-access-safety-mail{animation:portal-magic-access-mail .42s ease both}.portal-theme .portal-magic-access-safety-shield{animation:portal-magic-access-shield .4s ease .3s both}.portal-theme .portal-magic-access-safety-check{stroke-dasharray:28;stroke-dashoffset:28;opacity:0;animation:portal-magic-access-check .32s ease .72s forwards}@media (prefers-reduced-motion:reduce){.portal-theme .portal-magic-access-safety-check,.portal-theme .portal-magic-access-safety-mail,.portal-theme .portal-magic-access-safety-shield{animation:none;opacity:1;transform:none}.portal-theme .portal-magic-access-safety-check{stroke-dashoffset:0}}.portal-theme{--portal-navy:#0b2348;--portal-navy-deep:color-mix(in srgb,var(--portal-navy) 55%,var(--portal-primary));--portal-navy-tint:#eef3fa;--portal-navy-soft:#e8eef6;--portal-workspace-border:#d5deea;--portal-workspace-border-strong:#c9d6e8;--portal-viewer-shell:#e8ece9}.portal-theme .portal-request-band{background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--portal-accent) 26%,transparent) 0,transparent 55%),linear-gradient(135deg,var(--portal-navy) 0,var(--portal-navy-deep) 100%);color:#ffffff}.portal-theme .portal-request-band-grid{background-image:linear-gradient(90deg,rgb(255 255 255/.05) 1px,transparent 0),linear-gradient(180deg,rgb(255 255 255/.05) 1px,transparent 0);background-size:32px 32px;mask-image:linear-gradient(180deg,rgb(0 0 0/.9),transparent 85%)}.portal-theme .portal-action-surface{background:linear-gradient(135deg,var(--portal-navy-tint) 0,#ffffff 58%,var(--portal-navy-tint) 100%);border:1px solid var(--portal-workspace-border-strong);box-shadow:0 1px 2px rgb(15 23 42/.05),0 18px 36px -24px rgb(11 35 72/.35)}.portal-theme .portal-action-primary{background:var(--portal-navy);box-shadow:0 12px 22px -12px rgb(11 35 72/.7);transition:background-color .14s ease,transform .12s ease,box-shadow .14s ease}.portal-theme .portal-action-primary:hover{background:var(--portal-primary-hover)}.portal-theme .portal-action-primary:active{transform:scale(.99)}.portal-theme .portal-model-surface{background:linear-gradient(to right,rgb(255 255 255/.035) 1px,transparent 1px) 0 0 /28px 28px,linear-gradient(to bottom,rgb(255 255 255/.035) 1px,transparent 1px) 0 0 /28px 28px,linear-gradient(180deg,var(--portal-navy-deep) 0,var(--portal-primary) 100%);color:#ffffff}.portal-theme .portal-model-canvas{background:var(--portal-viewer-shell);box-shadow:inset 0 0 0 1px rgb(255 255 255/.35),0 12px 30px -18px rgb(0 0 0/.6)}.portal-theme .portal-content-section{background:var(--portal-surface);border:1px solid var(--portal-workspace-border);box-shadow:0 1px 2px rgb(15 23 42/.04)}.portal-theme .portal-finance-tab-active{box-shadow:inset 0 -2px 0 0 var(--portal-navy)}.portal-theme .portal-finance-tabs{scrollbar-width:none}.portal-theme .portal-finance-tabs::-webkit-scrollbar{display:none}@keyframes portal-finance-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.portal-theme .portal-finance-skeleton-bar{display:block;background:linear-gradient(90deg,var(--portal-surface-subtle) 25%,var(--portal-navy-soft) 50%,var(--portal-surface-subtle) 75%);background-size:200% 100%;animation:portal-finance-skeleton 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.portal-theme .portal-finance-skeleton-bar{animation:none;background:var(--portal-surface-subtle)}}.portal-theme .portal-rail-panel{background:var(--portal-surface);border:1px solid var(--portal-workspace-border);box-shadow:0 1px 2px rgb(15 23 42/.04),0 14px 28px -24px rgb(11 35 72/.35)}.portal-theme .portal-request-tab{transition:background-color .14s ease,color .14s ease}.portal-theme .portal-home-band-media{mask-image:linear-gradient(90deg,transparent,rgb(0 0 0/.55) 30%,rgb(0 0 0/.92) 55%,#000)}.portal-theme .portal-home-layers{background-image:repeating-linear-gradient(180deg,rgb(255 255 255/.11) 0 1px,transparent 1px 7px);mask-image:linear-gradient(90deg,transparent,rgb(0 0 0/.9) 35%,rgb(0 0 0/.9) 65%,transparent)}.portal-theme .portal-home-stage{background:linear-gradient(to right,rgb(255 255 255/.05) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(to bottom,rgb(255 255 255/.05) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(160deg,var(--portal-navy) 0,var(--portal-navy-deep) 100%)}.portal-theme .portal-home-blueprint{background:linear-gradient(to right,rgb(11 35 72/.06) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(to bottom,rgb(11 35 72/.06) 1px,transparent 1px) 0 0 /24px 24px,var(--portal-navy-tint)}.portal-theme .portal-home-ticks:after,.portal-theme .portal-home-ticks:before{content:"";position:absolute;width:.75rem;height:.75rem;border-color:rgb(255 255 255/.45);border-style:solid;pointer-events:none}.portal-theme .portal-home-ticks:before{top:.5rem;left:.5rem;border-width:1px 0 0 1px}.portal-theme .portal-home-ticks:after{right:.5rem;bottom:.5rem;border-width:0 1px 1px 0}.portal-theme .portal-topbar{background:linear-gradient(180deg,rgb(255 255 255/.94),rgb(238 243 250/.9));border-bottom:1px solid var(--portal-workspace-border-strong);box-shadow:inset 0 1px 0 rgb(255 255 255/.7),0 8px 22px -20px rgb(11 35 72/.5)}.portal-theme .portal-topbar:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(11 35 72/.07) 1px,transparent 0) 0 0 /28px 28px,linear-gradient(180deg,rgb(11 35 72/.07) 1px,transparent 0) 0 0 /28px 28px;mask-image:linear-gradient(90deg,transparent 40%,rgb(0 0 0/.9))}.portal-theme .portal-topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,var(--portal-navy) 0,var(--portal-accent) 28%,transparent 62%)}.portal-theme .portal-topbar-title-mark{background:linear-gradient(180deg,var(--portal-navy) 0,var(--portal-accent) 100%)}@media (min-width:64rem){.portal-theme .portal-account-nav{background:linear-gradient(180deg,var(--portal-navy-tint) 0,#ffffff 100%);border:1px solid var(--portal-workspace-border);box-shadow:0 1px 2px rgb(15 23 42/.04)}}.portal-theme .portal-account-tab{transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.portal-theme .portal-account-tab[aria-current=page]{box-shadow:0 1px 2px rgb(15 23 42/.05)}.portal-theme .portal-account-highlight{background:linear-gradient(to right,rgb(11 35 72/.035) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(to bottom,rgb(11 35 72/.035) 1px,transparent 1px) 0 0 /24px 24px,var(--portal-navy-tint);border:1px solid var(--portal-workspace-border)}.portal-theme .portal-account-action{transition:background-color .14s ease,color .14s ease}.portal-theme .portal-account-action:hover{background:var(--portal-navy-tint)}.portal-theme .portal-account-action:hover .portal-account-chevron{transform:translateX(2px)}.portal-theme .portal-btn-ghost,.portal-theme .portal-btn-primary,.portal-theme .portal-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:0 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;line-height:1.25rem;white-space:nowrap;transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .12s ease}.portal-theme .portal-btn-primary{background:var(--portal-navy);color:#ffffff;box-shadow:0 12px 22px -12px rgb(11 35 72/.7)}.portal-theme .portal-btn-primary:hover:not(:disabled){background:var(--portal-primary-hover)}.portal-theme .portal-btn-primary:active:not(:disabled){transform:scale(.99)}.portal-theme .portal-btn-secondary{background:var(--portal-surface);color:var(--portal-text);border:1px solid var(--portal-workspace-border-strong)}.portal-theme .portal-btn-secondary:hover:not(:disabled){background:var(--portal-navy-tint)}.portal-theme .portal-btn-secondary[aria-expanded=true],.portal-theme .portal-btn-secondary[aria-pressed=true],.portal-theme .portal-btn-secondary[aria-selected=true]{background:var(--portal-navy-tint);border-color:var(--portal-navy);color:var(--portal-navy)}.portal-theme .portal-btn-ghost{background:transparent;color:var(--portal-navy);padding:0 .625rem}.portal-theme .portal-btn-ghost:hover:not(:disabled){background:var(--portal-navy-tint)}.portal-theme .portal-btn-ghost:disabled,.portal-theme .portal-btn-primary:disabled,.portal-theme .portal-btn-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.portal-theme .portal-input{display:block;width:100%;min-height:2.75rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--portal-workspace-border-strong);background:var(--portal-surface);color:var(--portal-text);font-size:.875rem;line-height:1.25rem;transition:border-color .14s ease,box-shadow .14s ease}.portal-theme .portal-input::placeholder{color:var(--portal-text-faint)}.portal-theme .portal-input:focus-visible{outline:none;border-color:var(--portal-navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-navy) 18%,transparent)}.portal-theme .portal-input:disabled{opacity:.6;background:var(--portal-surface-muted)}.portal-theme .portal-chip{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .875rem;border-radius:9999px;border:1px solid var(--portal-workspace-border);background:var(--portal-surface);color:var(--portal-text-secondary);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.portal-theme .portal-chip:hover{background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-chip[aria-current=page],.portal-theme .portal-chip[aria-current=true],.portal-theme .portal-chip[aria-pressed=true]{background:var(--portal-navy);border-color:var(--portal-navy);color:#ffffff;font-weight:600}.portal-theme .portal-choice{display:flex;align-items:flex-start;gap:.75rem;border-radius:.625rem;border:1px solid var(--portal-workspace-border);background:var(--portal-surface);padding:.75rem .875rem;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.portal-theme .portal-choice:hover{border-color:var(--portal-workspace-border-strong);background:var(--portal-navy-tint)}.portal-theme .portal-choice[aria-pressed=true],.portal-theme .portal-choice[data-selected=true]{border-color:var(--portal-navy);box-shadow:inset 0 0 0 1px var(--portal-navy);background:var(--portal-navy-tint)}.portal-theme .portal-choice:disabled,.portal-theme .portal-choice:has(input:disabled){opacity:.55;cursor:not-allowed}.portal-theme .portal-notice{display:grid;gap:.25rem;border-radius:.625rem;border:1px solid var(--portal-workspace-border);background:var(--portal-navy-tint);color:var(--portal-text);padding:.75rem .875rem;font-size:.8125rem;line-height:1.25rem}.portal-theme .portal-notice[data-tone=warning]{background:#fffbeb;border-color:#fde68a;color:#78350f}.portal-theme .portal-notice[data-tone=error]{background:#fef2f2;border-color:#fecaca;color:#991b1b}.portal-theme .portal-notice[data-tone=success]{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.portal-theme .portal-product-card{background:var(--portal-surface);border:1px solid var(--portal-workspace-border);box-shadow:0 1px 2px rgb(15 23 42/.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.portal-theme .portal-product-card:hover{border-color:var(--portal-workspace-border-strong);box-shadow:0 1px 2px rgb(15 23 42/.04),0 18px 32px -24px rgb(11 35 72/.45);transform:translateY(-2px)}.portal-theme .portal-product-media{background:radial-gradient(circle at 50% 38%,#ffffff 0,transparent 42%),linear-gradient(180deg,var(--portal-navy-tint) 0,var(--portal-surface-subtle) 100%)}.portal-theme .portal-editor-canvas{background:radial-gradient(circle at 50% 0,rgb(11 35 72/.05),transparent 65%),var(--portal-surface-subtle);border-top:1px solid var(--portal-workspace-border);border-bottom:1px solid var(--portal-workspace-border)}.portal-theme .portal-editor-stage{background:#f4f5f7;border:1px solid var(--portal-workspace-border)}.portal-theme .portal-editor-stage-mount{aspect-ratio:4/3;min-height:15rem;max-height:min(30rem,58vh);outline:none}.portal-theme .portal-editor-stage-mount:focus-visible{box-shadow:inset 0 0 0 2px var(--portal-accent)}@media (min-width:1024px){.portal-theme .portal-editor-stage-mount{aspect-ratio:16/10;min-height:22rem;max-height:min(36rem,62vh)}}.portal-theme [data-product-preview-stage=model]>canvas{display:block;width:100%!important;height:100%!important}.portal-theme .portal-editor-iconbtn{display:inline-grid;place-items:center;border-radius:.5rem;color:var(--portal-text-secondary);transition:background-color .14s ease,color .14s ease}.portal-theme .portal-editor-iconbtn:hover:not(:disabled){background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-editor-iconbtn:disabled{opacity:.4;cursor:not-allowed}.portal-theme .portal-editor-segment{display:inline-flex;align-items:center;gap:.375rem;padding:0 .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;color:var(--portal-text-secondary);white-space:nowrap;transition:background-color .14s ease,color .14s ease}.portal-theme .portal-editor-segment:hover:not(:disabled){background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-editor-segment[aria-pressed=true]{background:var(--portal-navy);color:#ffffff}.portal-theme .portal-editor-stepper{display:inline-grid;place-items:center;min-height:2.75rem;min-width:2.75rem;border-radius:.5rem;color:var(--portal-navy);font-size:1.125rem;font-weight:600;transition:background-color .14s ease}.portal-theme .portal-editor-stepper:hover:not(:disabled){background:var(--portal-navy-tint)}.portal-theme .portal-editor-stepper:disabled{opacity:.35;cursor:not-allowed}.portal-theme .portal-editor-panel-close{display:inline-grid;place-items:center;border-radius:.5rem;color:var(--portal-text-secondary);transition:background-color .14s ease,color .14s ease}.portal-theme .portal-editor-panel-close:hover{background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-editor-tab{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:var(--portal-text-secondary);white-space:nowrap;transition:background-color .14s ease,color .14s ease}.portal-theme .portal-editor-tab:hover{background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-editor-tab[aria-selected=true]{background:var(--portal-navy);color:#ffffff;font-weight:600}.portal-theme .portal-editor-bleed{background:repeating-linear-gradient(135deg,rgb(11 35 72/.07) 0 6px,transparent 6px 12px),var(--portal-navy-soft)}.portal-theme .portal-editor-trim{background:#ffffff;box-shadow:0 1px 2px rgb(15 23 42/.08),0 18px 40px -22px rgb(11 35 72/.45)}.portal-theme .portal-editor-tool{display:grid;justify-items:center;gap:.25rem;min-height:2.75rem;min-width:2.75rem;padding:.5rem .375rem;border-radius:.625rem;color:var(--portal-text-secondary);font-size:.6875rem;font-weight:600;line-height:1;transition:background-color .14s ease,color .14s ease}.portal-theme .portal-editor-tool:hover:not(:disabled){background:var(--portal-navy-tint);color:var(--portal-navy)}.portal-theme .portal-editor-tool[aria-expanded=true],.portal-theme .portal-editor-tool[aria-pressed=true]{background:var(--portal-navy);color:#ffffff}.portal-theme .portal-editor-tool:disabled{opacity:.4;cursor:not-allowed}.portal-theme .portal-editor-handle{background:#ffffff;border:2px solid var(--portal-navy);box-shadow:0 2px 6px rgb(15 23 42/.25)}