.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Fira Code","Monaco","Consolas",monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-tooltip:400;--z-toast:500}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--app-bg:#F5F5F5;--app-text:#333333}[data-theme=dark]{--app-bg:#0A1929;--app-text:#FAF8F2}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body,html{height:100%;min-height:100%;background-color:var(--app-bg);color:var(--app-text)}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.5}#__next{min-height:100%;height:100%;background-color:var(--app-bg)}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600}p{margin-bottom:1em}p:last-child{margin-bottom:0}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-fast)}button:hover:not(:disabled){opacity:.9}button:disabled{opacity:.6;cursor:not-allowed}button:active:not(:disabled){transform:scale(.98)}input,select,textarea{font-family:inherit;font-size:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}:focus-visible{outline:2px solid #1E73BE;outline-offset:2px;box-shadow:0 0 0 4px rgba(30,115,190,.25)}input:focus,select:focus,textarea:focus{outline:2px solid #1E73BE;outline-offset:2px}[tabindex]:focus:not(:focus-visible),a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;box-shadow:none}::placeholder{opacity:.6}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--autofill-bg,#fff) inset!important;-webkit-text-fill-color:inherit!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}input[type=password]::-ms-clear,input[type=password]::-ms-reveal{display:none}input[type=password]::-webkit-credentials-auto-fill-button,input[type=password]::-webkit-strong-password-auto-fill-button{visibility:hidden;display:none}[role=button],a,button,input,label,select,textarea{touch-action:manipulation}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(136,136,136,.5);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:rgba(85,85,85,.7)}*{scrollbar-width:thin;scrollbar-color:rgba(136,136,136,.5) transparent}img,svg,video{max-width:100%;height:auto;display:block}table{border-collapse:collapse;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.no-scroll{overflow:hidden}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease-out}.animate-fadeInUp{animation:fadeInUp var(--transition-normal) ease-out}.animate-slideInRight{animation:slideInRight var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes aiBubblePulse{0%{box-shadow:0 0 0 0 rgba(88,164,215,.4)}70%{box-shadow:0 0 0 12px rgba(88,164,215,0)}to{box-shadow:0 0 0 0 rgba(88,164,215,0)}}@keyframes aiPanelSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@media (max-width:639px){html{font-size:14px}a,button,input,select,textarea{min-height:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px}}@media (max-width:479px){html{font-size:13px}}@media (min-width:640px) and (max-width:1023px){html{font-size:15px}}@media print{body{background:white!important;color:black!important}.no-print,button,nav{display:none!important}a{text-decoration:underline}@page{margin:2cm}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media (prefers-contrast:high){:focus{outline:3px solid currentColor!important;outline-offset:2px}}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:rgba(200,200,200,.3)}::-webkit-scrollbar-thumb:hover{background:rgba(200,200,200,.5)}*{scrollbar-color:rgba(200,200,200,.3) transparent}}@media (max-width:639px){body.sidebar-open{overflow:hidden!important}table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;white-space:nowrap}tbody,thead,tr{display:revert}td,th{padding:10px 8px!important;font-size:12px!important;white-space:nowrap}div[style*="grid-template-columns: repeat"],div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}h1[style*=fontSize]{font-size:20px!important}h2[style*=fontSize]{font-size:18px!important}div[style*="padding: 32px"],div[style*="padding: 40px"]{padding:16px!important}div[style*="fontSize: 48px"],div[style*="fontSize: 64px"]{font-size:32px!important}div[style*="fontSize: 28px"]{font-size:20px!important}div[style*="fontSize: 36px"]{font-size:22px!important}div[style*="width: 380px"],div[style*="width: 420px"]{width:100%!important;position:static!important;max-height:none!important}div[style*="display: flex"][style*="gap: 12px"],div[style*="display: flex"][style*="gap: 16px"],div[style*="display: flex"][style*="gap: 24px"]{flex-wrap:wrap!important}div[style*="display: flex"][style*="gap: 16px"]>div[style*="flex: 1"],div[style*="display: flex"][style*="gap: 16px"]>div[style*="flex: 1;"]{min-width:100%!important}div[style*="max-width: 600px"],div[style*="max-width: 700px"],div[style*="maxWidth: 600px"],div[style*="maxWidth: 700px"]{max-width:100%!important;width:100%!important;margin:8px!important;border-radius:12px!important}div[style*="marginBottom: 40px"]{margin-bottom:20px!important}div[style*="marginBottom: 32px"]{margin-bottom:16px!important}div[style*="display: flex"][style*="flexWrap: wrap"][style*="gap: 8px"]{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:4px}.dashboard-wrapper{flex-direction:column!important}.dashboard-sidebar-container{width:100%!important;position:static!important;max-height:none!important}div[style*="minmax(400px"]{grid-template-columns:1fr!important}div[style*="padding: 24px"]{padding:12px!important}div[style*="margin: 0 24px"],div[style*="marginLeft: 24px"]{margin-left:8px!important;margin-right:8px!important}::-webkit-scrollbar{width:4px;height:4px}button:active:not(:disabled){transform:none!important}}@media (min-width:640px) and (max-width:1023px){div[style*="grid-template-columns: repeat"]{grid-template-columns:repeat(2,1fr)!important}.dashboard-wrapper{flex-direction:column!important}.dashboard-sidebar-container{width:100%!important;position:static!important;max-height:none!important}table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}tbody,thead,tr{display:revert}td,th{padding:12px 10px!important;font-size:13px!important;white-space:nowrap}div[style*="padding: 40px"]{padding:24px!important}div[style*="minmax(400px"]{grid-template-columns:1fr!important}}.fp-root{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--font);font-size:var(--text-md);--bg:#f3f1ec;--surface:#ffffff;--surface-2:#f7f4f0;--surface-3:#f4f1ec;--card:var(--surface);--ink:#2b2d33;--ink-2:#4a4e57;--muted:#8a8f98;--line:#ece8e1;--line-strong:#d8d2c8;--accent:#f26b1d;--accent-hover:#e05e12;--accent-soft:#fff1e8;--accent-ink:#b4581a;--danger:#d9412b;--danger-soft:#fdf0ee;--ok:#2f9e5b;--ok-soft:#eaf6ef;--warn:#d98a1d;--warn-soft:#fff4e2;--radius-xs:6px;--radius-sm:9px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 3px rgba(40,30,20,0.12);--shadow:0 1px 2px rgba(40,30,20,0.06),0 8px 24px rgba(40,30,20,0.08);--shadow-lg:0 2px 4px rgba(40,30,20,0.06),0 16px 40px rgba(40,30,20,0.14);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--text-xs:11px;--text-sm:12.5px;--text-md:14px;--text-lg:17px;--text-xl:22px;--control-h-sm:28px;--control-h:32px;--control-h-lg:38px;--header-h:52px;--header-top:10px;--chrome-top:calc(var(--header-top) + var(--header-h) + var(--space-3));--ruler:24px;--z-chrome:5;--z-popover:20;color-scheme:light;font:var(--text-md) /1.4 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.fp-root .card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.fp-root .card--padded{padding:var(--space-4)}.fp-root .eyebrow{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.fp-root .muted{color:var(--muted);font-size:13px}.fp-root .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fp-root .panel{display:flex;flex-direction:column;min-height:0}.fp-root .panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2)}.fp-root .panel__title{font-size:var(--text-lg);font-weight:650}.fp-root .panel__actions{display:flex;gap:var(--space-1)}.fp-root .panel__body{flex:1 1;min-height:0;overflow:auto;padding:var(--space-2) var(--space-4) var(--space-4)}.fp-root .panel__foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.fp-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:550;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.fp-root .btn--sm{height:var(--control-h-sm);padding:0 10px;font-size:12.5px}.fp-root .btn--pressed,.fp-root .btn:hover:not(:disabled){border-color:var(--line-strong);background:#faf8f5}.fp-root .btn:disabled{opacity:.45;cursor:default}.fp-root .btn--primary,.fp-root .btn--primary:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:#fff}.fp-root .btn--primary:hover:not(:disabled){background:var(--accent-hover)}.fp-root .btn--ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.fp-root .btn--ghost:hover:not(:disabled){border-color:transparent;background:var(--surface-2)}.fp-root .btn--danger{color:var(--danger)}.fp-root .btn--danger:hover:not(:disabled){border-color:#f3c9c2;background:var(--danger-soft)}.fp-root .btn__icon{display:inline-flex}.fp-root .icon-btn{display:inline-grid;place-items:center;width:var(--control-h);height:var(--control-h);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s}.fp-root .icon-btn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.fp-root .icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.fp-root .icon-btn--active,.fp-root .icon-btn--active:hover:not(:disabled){background:var(--accent);color:#fff}.fp-root .icon-btn:disabled{opacity:.4;cursor:default}.fp-root .icon-btn svg{width:18px;height:18px}.fp-root .segmented{display:inline-flex;flex:none;gap:2px;height:36px;padding:3px;border-radius:10px;background:var(--surface-3)}.fp-root .segmented--sm{height:30px}.fp-root .segmented__item{display:inline-flex;align-items:center;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.fp-root .segmented--sm .segmented__item{padding:0 9px;font-size:12px}.fp-root .segmented__item:hover{color:var(--ink);text-decoration:none}.fp-root .segmented__item--active,.fp-root .segmented__item--active:hover{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.fp-root .badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--ink-2);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.fp-root .badge--accent{background:var(--accent-soft);color:var(--accent)}.fp-root .badge--ok{background:var(--ok-soft);color:var(--ok)}.fp-root .badge--warn{background:var(--warn-soft);color:var(--accent-ink)}.fp-root .badge--danger{background:var(--danger-soft);color:var(--danger)}.fp-root .field{display:inline-flex;flex-direction:column;gap:4px}.fp-root .field__label{color:var(--muted);font-size:12px}.fp-root .input{display:inline-flex;align-items:center;height:var(--control-h);padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}.fp-root .input--sm{height:var(--control-h-sm);border-radius:var(--radius-xs)}.fp-root .input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.fp-root .input--invalid{border-color:var(--danger)}.fp-root .input__control{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .input__suffix{flex:none;margin-left:4px;color:var(--muted);font-size:12px}.fp-root .checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fp-root .checkbox__control{position:absolute;opacity:0;pointer-events:none}.fp-root .checkbox__box{width:16px;height:16px;flex:none;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--surface);transition:background .15s,border-color .15s}.fp-root .checkbox__control:checked+.checkbox__box{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /14px no-repeat}.fp-root .checkbox__control:focus-visible+.checkbox__box{box-shadow:0 0 0 3px var(--accent-soft)}.fp-root .table-wrap{overflow:auto}.fp-root .table{width:100%;border-collapse:collapse;font-size:13px}.fp-root .table th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.fp-root .table td,.fp-root .table th{padding:8px 10px;border-bottom:1px solid var(--line)}.fp-root .table td{vertical-align:middle}.fp-root .table--dense td,.fp-root .table--dense th{padding:5px 8px}.fp-root .table tbody tr:hover td{background:#fcfbf9}.fp-root .table__row--muted td{color:var(--muted)}.fp-root .table th.num{text-align:right}.fp-root .canvas-toolbar{position:absolute;display:flex;align-items:center;gap:4px;padding:6px;border-radius:14px;z-index:var(--z-chrome)}.fp-root .canvas-toolbar--column{flex-direction:column}.fp-root .canvas-toolbar--top-left{top:var(--chrome-top);left:var(--chrome-left,12px)}.fp-root .canvas-toolbar--top-right{top:var(--chrome-top);right:12px}.fp-root .canvas-toolbar--top-center{top:var(--chrome-top);left:50%;transform:translateX(-50%)}.fp-root .canvas-toolbar--bottom-left{bottom:12px;left:var(--chrome-left,12px)}.fp-root .canvas-toolbar--bottom-right{right:12px;bottom:12px}.fp-root .canvas-toolbar--bottom-center{bottom:12px;left:50%;transform:translateX(-50%)}.fp-root .canvas-toolbar__sep{align-self:stretch;width:1px;margin:4px 2px;background:var(--line)}.fp-root .canvas-toolbar--column .canvas-toolbar__sep{width:auto;height:1px;margin:2px 4px}.fp-root .menu{position:relative}.fp-root .menu__panel{position:absolute;top:calc(100% + 8px);max-height:70vh;overflow:auto;padding:6px;box-shadow:var(--shadow-lg);z-index:var(--z-popover)}.fp-root .menu__panel--right{right:0}.fp-root .menu__panel--left{left:0}.fp-root .menu__section+.menu__section{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}.fp-root .menu__title{padding:6px 8px 4px}.fp-root .menu__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.fp-root .menu__item:hover:not(:disabled){background:var(--surface-2)}.fp-root .menu__item:disabled{color:var(--muted);cursor:default}.fp-root .menu__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.fp-root .menu__hint{flex:none;color:var(--muted);font-size:12px}.fp-root .menu__scroll{max-height:320px;overflow:auto}.fp-root .menu__note{padding:6px 8px;color:var(--muted);font-size:12.5px}.fp-root .menu__note--error{color:var(--danger)}.fp-root .is-demo{--demo-h:24px}.fp-root .is-demo #root{height:calc(100% - var(--demo-h));margin-top:var(--demo-h)}.fp-root .demo-banner{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--demo-h,24px);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;background:var(--accent-soft);color:var(--accent-ink);border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.fp-root .demo-banner__text{min-width:0;overflow:hidden;text-overflow:ellipsis}.fp-root .demo-banner__text--short{display:none}@media (max-width:760px){.fp-root .demo-banner__text--long{display:none}.fp-root .demo-banner__text--short{display:inline}}.fp-root .demo-banner__link{flex:none;color:var(--accent-ink);font-weight:600}.fp-root *{box-sizing:border-box}.fp-root{overscroll-behavior:none;margin:0;height:100%;overflow:hidden;background:var(--bg)}.fp-root button,.fp-root input,.fp-root select{font:inherit;color:inherit}.fp-root a{color:var(--accent);text-decoration:none}.fp-root a:hover{text-decoration:underline}.fp-root .app{position:relative;width:100%;height:100%}.fp-root .plan-canvas{position:absolute;inset:0;touch-action:none;cursor:-webkit-grab;cursor:grab}.fp-root .plan-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.fp-root .plan-canvas--door,.fp-root .plan-canvas--door:active,.fp-root .plan-canvas--measure,.fp-root .plan-canvas--measure:active,.fp-root .plan-canvas--wall,.fp-root .plan-canvas--wall:active,.fp-root .plan-canvas--window,.fp-root .plan-canvas--window:active,.fp-root .plan-canvas--zone,.fp-root .plan-canvas--zone:active{cursor:crosshair}.fp-root .plan-canvas--dragging,.fp-root .plan-canvas--dragging:active{cursor:move}.fp-root .overlay{position:absolute;inset:0;pointer-events:none}.fp-root .overlay>*{pointer-events:auto}.fp-root .header{position:absolute;top:var(--header-top);left:10px;right:10px;height:var(--header-h);display:flex;align-items:center;gap:12px;padding:0 8px 0 12px;border-radius:14px;z-index:5}.fp-root .app--plan{--header-top:calc(var(--ruler) + 8px);--chrome-left:calc(var(--ruler) + 8px);--chrome-top:calc(var(--header-top) + var(--header-h) + 8px)}.fp-root .app--plan .header{left:var(--chrome-left)}.fp-root .header__logo{width:22px;height:22px;flex:none;border-radius:7px;background:var(--accent);box-shadow:inset 0 -5px 0 rgba(0,0,0,.12)}.fp-root .header__text{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fp-root .header__title{font-size:14px;font-weight:650}.fp-root .header__meta{margin-left:10px;color:var(--muted);font-size:12.5px}.fp-root .header__actions{display:flex;flex:none;gap:4px}.fp-root .save{display:inline-flex;flex:none;align-items:center;gap:6px;max-width:260px;height:26px;padding:0 10px;border-radius:999px;background:#f6f4f0;color:var(--muted);font-size:12px;white-space:nowrap}.fp-root a.save:hover{text-decoration:none;background:var(--accent-soft)}.fp-root .save__text{overflow:hidden;text-overflow:ellipsis}.fp-root .save__dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--ok)}.fp-root .save--warn{background:var(--accent-soft);color:#b4581a}.fp-root .save--warn .save__dot{background:var(--warn)}.fp-root .save--err{background:#fdf0ee;color:var(--danger)}.fp-root .save--err .save__dot{background:var(--danger)}.fp-root .save--busy .save__dot{background:var(--warn);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.fp-root .page{position:absolute;inset:0;overflow:auto;padding:calc(var(--header-h) + 22px) 16px 24px}.fp-root .page--full{touch-action:none;overflow:hidden;padding:0}.fp-root .page__loading{display:grid;place-items:center;height:100%;min-height:200px;color:var(--muted)}.fp-root .toolbar.canvas-toolbar{width:80px;max-height:calc(100% - var(--chrome-top) - 56px);align-items:stretch;padding:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.fp-root .toolbar.canvas-toolbar>*{flex:none}.fp-root .toolbar.canvas-toolbar::-webkit-scrollbar{width:4px}.fp-root .toolbar.canvas-toolbar::-webkit-scrollbar-thumb{border-radius:2px;background:var(--line-strong)}.fp-root .toolbar .tool{width:100%}.fp-root .toolbar.canvas-toolbar--column .canvas-toolbar__sep{margin:2px 0}.fp-root .toolbar__history{position:-webkit-sticky;position:sticky;top:-6px;z-index:1;margin:-6px -6px 0;padding:6px 6px 2px;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px}.fp-root .toolbar .tool--mini{width:auto;padding:6px 0}.fp-root .tool:disabled{opacity:.35;cursor:default;background:transparent}.fp-root .tool--on{color:var(--accent);background:var(--accent-soft)}.fp-root .toolbar__opacity{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .toolbar__opacity input{width:56px;accent-color:var(--accent)}.fp-root .tool{display:flex;flex-direction:column;align-items:center;gap:2px;width:66px;padding:7px 2px 5px;border:0;border-radius:11px;background:transparent;cursor:pointer;color:var(--ink)}.fp-root .tool:hover{background:#f7f4f0}.fp-root .tool--active,.fp-root .tool--active:hover{background:var(--accent);color:#fff}.fp-root .tool__icon{width:20px;height:20px;fill:currentColor}.fp-root .tool__icon--line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fp-root .tool__label{font-size:11px;font-weight:600}.fp-root .toolbar__material{position:absolute;top:6px;left:calc(100% + 10px);display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--card);box-shadow:var(--shadow);white-space:nowrap}.fp-root .select{height:30px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--card)}.fp-root .swatch{display:inline-block;width:12px;height:12px;flex:none;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.fp-root .swatch--lg{width:28px;height:28px;border-radius:8px}.fp-root .inspector{position:absolute;top:var(--chrome-top);right:12px;width:310px;max-height:calc(100% - var(--chrome-top) - 60px);overflow:auto;padding:16px}.fp-root .inspector__head{position:relative;margin-bottom:12px}.fp-root .eyebrow--lock{display:inline-flex;align-items:center;gap:5px}.fp-root .inspector__tabs{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:12px}.fp-root .inspector__sheet-close,.fp-root .tool--narrow{display:none}.fp-root .inspector__close{position:absolute;top:-4px;right:-6px}.fp-root .inspector__title{font-size:17px;font-weight:650}.fp-root .inspector__section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.fp-root .props{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 12px;gap:6px 12px;margin:0}.fp-root .props dt{color:var(--muted)}.fp-root .props dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .chip{display:inline-flex;align-items:center;gap:6px}.fp-root .row{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.fp-root .row--center{align-items:center}.fp-root .total{margin-top:4px;font-size:15px}.fp-root .furniture-panel{position:absolute;top:var(--chrome-top);left:calc(var(--chrome-left, 12px) + 88px);width:300px;max-height:calc(100% - var(--chrome-top) - 60px)}.fp-root .furniture-panel__group+.furniture-panel__group{margin-top:14px}.fp-root .furniture-panel__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;margin-top:6px}.fp-root .furniture-panel__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);cursor:-webkit-grab;cursor:grab}.fp-root .furniture-panel__item:hover{border-color:var(--line);background:var(--surface-2)}.fp-root .furniture-panel__name{font-size:11px;line-height:1.2;text-align:center}.fp-root .gate{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:var(--bg)}.fp-root .gate__card{display:flex;flex-direction:column;gap:12px;width:min(340px,100%);padding:24px}.fp-root .gate__card .input{width:100%;height:var(--control-h-lg)}.fp-root .gate__title{font-size:var(--text-lg);font-weight:650}.fp-root .gate__error{color:var(--danger);font-size:13px}.fp-root button.save{border:0;font:inherit;font-size:12px;cursor:pointer}.fp-root .preview-bar{position:absolute;top:calc(var(--chrome-top) + 4px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 24px);padding:8px 10px 8px 16px;border-left:3px solid var(--accent);z-index:var(--z-popover)}.fp-root .preview-bar__actions{display:flex;flex:none;gap:6px}.fp-root .versions__head{padding:4px 4px 8px}.fp-root .versions__save{display:flex;gap:6px;padding:4px}.fp-root .versions__save .input{flex:1 1}.fp-root .versions__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;border-radius:8px}.fp-root .versions__row:hover{background:var(--surface-2)}.fp-root .versions__info{min-width:0}.fp-root .versions__name{overflow:hidden;font-size:13px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.fp-root .versions__actions{display:flex;flex:none;gap:4px}.fp-root .toast{position:absolute;top:calc(var(--chrome-top) + 4px);left:50%;transform:translateX(-50%);padding:10px 16px;border-left:3px solid var(--ok);font-weight:600;z-index:var(--z-popover);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.fp-root .align-controls{position:absolute;top:var(--chrome-top);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:6px;padding:10px 14px;z-index:var(--z-chrome)}.fp-root .align-controls__head{display:flex;gap:10px;align-items:baseline}.fp-root .ctx-menu{position:absolute;min-width:190px;padding:4px;box-shadow:var(--shadow-lg);z-index:var(--z-popover)}.fp-root .measure-hint{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);padding:8px 14px;color:var(--ink-2);font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;z-index:var(--z-chrome)}.fp-root .room-edit__input{width:140px;text-align:center}.fp-root .view-controls{bottom:12px}.fp-root .compass svg{width:20px;height:20px;transition:transform .2s}.fp-root .form{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.fp-root .form__row{display:grid;grid-template-columns:96px 1fr;align-items:center;grid-gap:8px;gap:8px;color:var(--muted);font-size:13px}.fp-root .form__row .input,.fp-root .form__select{width:100%;color:var(--ink)}.fp-root .form__color{width:44px;height:28px;padding:0;border:1px solid var(--line);border-radius:var(--radius-xs);background:none}.fp-root .props--compact{font-size:13px}.fp-root .layout-hint{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:12.5px;line-height:1.5}.fp-root .layout-hint--warn{background:var(--warn-soft)}.fp-root .layout-hint__actions{display:flex;gap:4px;margin-top:6px}.fp-root .row--link{width:100%;border:0;border-radius:var(--radius-xs);background:transparent;text-align:left;cursor:pointer}.fp-root .row--link:hover{background:var(--surface-2)}.fp-root .inspector__actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.fp-root .waste{width:72px}.fp-root .inspector__delete{width:100%;margin-top:16px}.fp-root .material{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.fp-root .material+.material{border-top:1px solid var(--line)}.fp-root .material--unused{opacity:.6}.fp-root .material__body{flex:1 1;min-width:0}.fp-root .material__name{font-weight:600}.fp-root .material__calc{line-height:1.5}.fp-root .material__calc,.fp-root .material__price{margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .material__price{display:flex;justify-content:space-between;gap:8px}.fp-root .material__source{margin-top:2px;font-size:12px}.fp-root .hint{margin:12px 0 0;color:var(--muted);font-size:12px}.fp-root .grid-legend{display:inline-flex;align-items:center;gap:6px}.fp-root .grid-legend__cell{width:10px;height:10px;border:1px solid #d9d3c9;background:#ffffff;box-shadow:inset 0 0 0 .5px #ece8e1}.fp-root .status{position:absolute;left:var(--chrome-left,12px);bottom:12px;display:flex;gap:16px;padding:8px 14px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .alert{top:var(--chrome-top);max-width:520px;padding:12px 16px;color:var(--danger);white-space:pre-wrap}.fp-root .alert,.fp-root .notice{position:absolute;left:50%;transform:translateX(-50%)}.fp-root .notice{bottom:60px;display:flex;align-items:center;gap:16px;max-width:calc(100% - 24px);padding:12px 14px 12px 16px;border-left:3px solid var(--accent);z-index:6}.fp-root .notice__title{font-weight:650}.fp-root .notice__actions{display:flex;flex:none;gap:6px}.fp-root .length-edit{position:absolute;display:flex;align-items:center;gap:4px;padding:3px 8px 3px 3px;border-radius:9px;background:var(--card);box-shadow:0 0 0 2px var(--accent),var(--shadow);transform:translate(-50%,-50%)}.fp-root .length-edit__input{width:72px;height:26px;padding:0 6px;border:0;outline:0;font-weight:600;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .length-edit__unit{color:var(--muted);font-size:12px}@media (max-width:1100px){.fp-root .header__meta{display:none}}@media (max-width:760px){.fp-root{--header-top:6px}.fp-root .app--plan{--header-top:calc(var(--ruler) + 6px);--chrome-left:8px;--chrome-top:calc(var(--header-top) + var(--header-h) + 8px)}.fp-root .app--plan .header{left:6px}.fp-root .header{left:6px;right:6px;gap:6px;padding:0 4px 0 8px}.fp-root .header .segmented{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.fp-root .header__text,.fp-root .save__text{display:none}.fp-root .header .segmented__item{padding:0 8px}.fp-root .toolbar.canvas-toolbar{top:auto;right:8px;bottom:8px;left:8px;width:auto;flex-direction:row;overflow-x:auto;scrollbar-width:none}.fp-root .toolbar .tool{flex:none;width:64px}.fp-root .toolbar__history{flex:none;width:72px}.fp-root .toolbar .tool--mini{width:auto}.fp-root .toolbar__opacity{width:64px}.fp-root .toolbar .canvas-toolbar__sep{width:1px;height:auto;margin:4px 2px}.fp-root .toolbar__material{position:fixed;top:auto;bottom:86px;left:8px}.fp-root .toolbar__opacity{flex:none}.fp-root .inspector{position:fixed;top:auto;right:0;bottom:0;left:0;width:auto;max-height:55vh;border-radius:16px 16px 0 0;box-shadow:var(--shadow-lg);z-index:15}.fp-root .inspector--summary{display:none}.fp-root .inspector--summary.inspector--open{display:block}.fp-root .inspector__sheet-close,.fp-root .toolbar .tool--narrow{display:flex}.fp-root .furniture-panel{position:fixed;top:auto;right:0;bottom:0;left:0;width:auto;max-height:60vh;border-radius:16px 16px 0 0;z-index:15}.fp-root .status{display:none}.fp-root .view-controls.canvas-toolbar{top:var(--chrome-top);right:8px;bottom:auto}.fp-root .align-controls{left:8px;right:8px;transform:none}.fp-root .align-controls__head .muted{display:none}.fp-root .measure-hint{bottom:84px;max-width:calc(100% - 16px);white-space:normal;text-align:center}.fp-root .notice{flex-direction:column;align-items:stretch;bottom:120px}}.fp-root .marquee{position:absolute;border:1px dashed var(--accent);background:rgba(242,107,29,.08);pointer-events:none;z-index:2}.fp-root .group-delta{position:absolute;padding:3px 8px;border-radius:var(--radius-sm);background:var(--card);box-shadow:0 0 0 1.5px var(--accent),var(--shadow);color:var(--ink);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;transform:translate(-50%,-100%);pointer-events:none;z-index:3}.fp-root .group-delta--guide{padding:1px 6px;font-size:11px;color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent);transform:translate(-50%,-50%)}.fp-root .plan-stats{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;font-size:var(--text-md)}.fp-root .plan-stats__title{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.fp-root .plan-stats__list{margin:0}.fp-root .plan-stats__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:7px 0;border-bottom:1px solid var(--line)}.fp-root .plan-stats__row:last-child{border-bottom:0}.fp-root .plan-stats__row dt{min-width:0;color:var(--ink-2)}.fp-root .plan-stats__row dd{margin:0;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.fp-root .plan-stats__bad{display:block;color:var(--danger);font-size:var(--text-xs)}.fp-root .plan-stats__empty{margin:0;color:var(--muted)}.fp-root .scan-compare__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.fp-root .scan-compare__head .plan-stats__title{margin-bottom:0}.fp-root .scan-compare__row dd{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.fp-root .scan-compare__plan-name,.fp-root .scan-compare__vs{color:var(--muted);font-size:var(--text-xs)}.fp-root .scan-compare__badge{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fp-root .scan-compare__total dd,.fp-root .scan-compare__total dt{font-weight:600}.fp-root .scan-compare__foot{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-xs)}.fp-root .scan-compare__actions{display:inline-flex;align-items:center;gap:var(--space-2)}.fp-root .scan-compare__edit{color:var(--accent);font-size:var(--text-xs);font-weight:600;text-decoration:none}.fp-root .scan-compare__edit:focus-visible,.fp-root .scan-compare__edit:hover{text-decoration:underline}.fp-root .scan-draw__intro{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-xs)}.fp-root .scan-draw__stats{margin:0;font-size:var(--text-sm)}.fp-root .scan-draw__note{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.fp-root .scan-draw__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.fp-root .scan-draw__error{margin:var(--space-2) 0 0;color:var(--danger);font-size:var(--text-xs)}.fp-root .view3d{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg)}.fp-root .view3d canvas{display:block;touch-action:none}.fp-root .view3d__label{padding:0 var(--space-1) 0 var(--space-2);color:var(--muted);font-size:var(--text-sm)}.fp-root .view3d__error{position:absolute;inset:0;display:grid;place-items:center;padding:var(--space-5);background:var(--bg)}.fp-root .view3d__error-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);max-width:420px;font-size:var(--text-md);color:var(--ink)}.fp-root .view3d__error-card p{margin:0}.fp-root .view3d__bar{max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}.fp-root .view3d__bar::-webkit-scrollbar{display:none}.fp-root .view3d__bar>*{flex-shrink:0}@media (max-width:900px){.fp-root .view3d__finish{top:calc(var(--chrome-top) + 52px);right:auto;left:var(--chrome-left,12px)}}.fp-root .view3d__colors{top:calc(var(--chrome-top) + 52px)}.fp-root .view3d__swatch{display:inline-block;flex-shrink:0;border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--line-strong)}.fp-root .view3d__swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px;gap:2px}.fp-root .view3d__swatch-item .menu__label{display:flex;align-items:center;gap:var(--space-2)}.fp-root .view3d__swatch-item--active{background:var(--accent-soft)}.fp-root .view3d__swatch-name{overflow:hidden;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.fp-root .view3d__preset{display:inline-flex;gap:3px}@media (max-width:900px){.fp-root .view3d__colors{top:calc(var(--chrome-top) + 104px);right:auto;left:var(--chrome-left,12px)}}.fp-root .net-layers{position:fixed;z-index:var(--z-popover);display:flex;flex-direction:column;gap:var(--space-2);min-width:220px;max-width:280px;max-height:calc(100vh - 16px);overflow:auto;padding:10px 12px;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.fp-root .net-layers__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-h-sm)}.fp-root .net-layers__actions{display:inline-flex;align-items:center;gap:2px}.fp-root .net-layers__lock{color:var(--muted)}.fp-root .net-layers__edit--on,.fp-root .net-layers__lock--on{color:var(--accent);background:var(--accent-soft)}.fp-root .net-layers__note{font-size:var(--text-xs)}.fp-root .net-editbar{position:fixed;top:calc(var(--chrome-top) + var(--ruler));left:124px;z-index:var(--z-popover);display:flex;align-items:center;gap:var(--space-3);max-width:calc(100vw - 124px - 340px);padding:6px 8px 6px 14px;border-radius:var(--radius);box-shadow:var(--shadow-lg);white-space:nowrap}.fp-root .net-editbar__title{font-weight:650}.fp-root .net-editbar__hint{font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis}.fp-root .net-props__pair{display:contents}.fp-root .net-items{display:flex;flex-direction:column;gap:2px}.fp-root .net-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:baseline;padding:6px 0;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.fp-root .net-item__name a{color:inherit}.fp-root .net-item__from{font-size:var(--text-xs)}.fp-root .net-item__qty,.fp-root .net-item__sum{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fp-root .net-item__sum{min-width:76px}.fp-root .net-warnings{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2)}.fp-root .net-warnings .layout-hint{margin-top:0}.fp-root .net-warning{width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.fp-root .tool[aria-disabled=true]{opacity:.35;cursor:not-allowed}.fp-root .tool[aria-disabled=true]:hover{background:transparent}.fp-root .inspector__tabs .segmented{flex:0 1 auto;flex-wrap:wrap;height:auto;min-width:0}.fp-root .inspector__tabs .segmented__item{min-height:24px;white-space:nowrap}.fp-root .el-tool{z-index:var(--z-popover);flex-wrap:wrap;max-width:460px}.fp-root .el-form{display:flex;flex-direction:column;gap:var(--space-1)}.fp-root .el-field>span:first-child{color:var(--muted);white-space:nowrap}.fp-root .el-field .select{max-width:170px}.fp-root .el-num{width:110px}.fp-root .el-text{width:170px}.fp-root .el-pair{display:inline-flex;gap:var(--space-1)}.fp-root .el-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.fp-root .el-table td{vertical-align:top}.fp-root .el-row{cursor:pointer}.fp-root .el-row--active,.fp-root .el-row:hover{background:var(--surface-2)}.fp-root .el-dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:var(--radius-pill);vertical-align:1px}.fp-root .el-sub{font-size:var(--text-xs)}.fp-root .el-edit{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2)}.fp-root .el-edit,.fp-root .el-edit .inspector__actions{margin-top:var(--space-2)}.fp-root .el-add{gap:var(--space-2)}.fp-root .el-add,.fp-root .el-items{display:flex;margin-top:var(--space-2)}.fp-root .el-items{flex-direction:column}.fp-root .el-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:baseline;padding:6px 0;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.fp-root .el-item__name a{color:inherit}.fp-root .el-item__qty,.fp-root .el-item__sum{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fp-root .el-item__sum{min-width:72px}.fp-root .el-warnings{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2)}.fp-root .el-warning{width:100%;padding:8px 10px;border:0;border-radius:var(--radius-xs);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.fp-root .el-warning--error{background:var(--danger-soft)}.fp-root .el-warning--warn{background:var(--warn-soft)}.fp-root .el-warning--info{background:var(--surface-2);color:var(--ink-2)}.fp-root .el-howto summary{font-weight:600;cursor:pointer}.fp-root .el-howto ol{margin:var(--space-2) 0;padding-left:18px;font-size:var(--text-sm);line-height:1.45}.fp-root .el-howto li+li{margin-top:4px}.fp-root .el-howto .muted{font-size:var(--text-xs);line-height:1.45}@media (max-width:760px){.fp-root .el-tool{max-width:calc(100vw - 16px)}}.fp-root .el-group-select{max-width:160px}.fp-root .hp-summary .props{margin-bottom:var(--space-2)}.fp-root .hp-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.fp-root .hp-form{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.fp-root .hp-field{justify-content:space-between;gap:var(--space-2)}.fp-root .hp-field>span:first-child{color:var(--muted);white-space:nowrap}.fp-root .hp-field .select{max-width:170px}.fp-root .hp-pair{display:inline-flex;align-items:center;gap:var(--space-1)}.fp-root .hp-num{width:80px}.fp-root .hp-text{width:150px}.fp-root .hp-table{margin-top:var(--space-2)}.fp-root .hp-table td{vertical-align:top}.fp-root .hp-row{cursor:pointer}.fp-root .hp-row--active,.fp-root .hp-row:hover{background:var(--surface-2)}.fp-root .hp-row--off{opacity:.5}.fp-root .hp-total td{font-weight:600;border-top:1px solid var(--line)}.fp-root .hp-sub{font-size:var(--text-xs)}.fp-root .hp-bad{color:var(--danger);font-weight:600}.fp-root .hp-ok{color:var(--ink)}.fp-root .hp-items{display:flex;flex-direction:column;margin-top:var(--space-2)}.fp-root .hp-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:baseline;padding:6px 0;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.fp-root .hp-item__name a{color:inherit}.fp-root .hp-item__qty,.fp-root .hp-item__sum{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fp-root .hp-item__sum{min-width:72px}.fp-root .hp-warnings{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2)}.fp-root .hp-warning{width:100%;padding:8px 10px;border:0;border-radius:var(--radius-xs);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.fp-root .hp-warning--error{background:var(--danger-soft)}.fp-root .hp-warning--warn{background:var(--warn-soft)}.fp-root .hp-warning--info{background:var(--surface-2);color:var(--ink-2)}.fp-root .hp-howto summary{font-weight:600;cursor:pointer}.fp-root .hp-howto ol{margin:var(--space-2) 0;padding-left:18px;font-size:var(--text-sm);line-height:1.45}.fp-root .hp-howto li+li{margin-top:4px}.fp-root .hp-howto .muted{font-size:var(--text-xs);line-height:1.45}.fp-root .underlay-align{display:flex;flex-direction:column;gap:var(--space-1)}.fp-root .underlay-align__buttons{display:flex;flex-wrap:wrap;gap:var(--space-1)}.fp-root .underlay-align__geo{font:var(--text-xs) /1.3 var(--font-mono)}.fp-root .laser{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0 var(--space-2);border-top:1px solid var(--line);margin-top:var(--space-2)}.fp-root .laser__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.fp-root .laser__head .eyebrow{margin:0}.fp-root .laser__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.fp-root .laser__reading{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);min-height:44px;justify-content:center}.fp-root .laser__label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.fp-root .laser__value{font-size:var(--text-lg);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.fp-root .laser__unit{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.fp-root .laser__manual{display:flex;align-items:flex-end;gap:var(--space-2)}.fp-root .laser__manual .field{flex:1 1 auto;min-width:0}.fp-root .laser__error{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm)}.fp-root .laser__notice{color:var(--ok)}.fp-root .laser__hint,.fp-root .laser__notice{margin:0;font-size:var(--text-sm)}.fp-root .laser__sim{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding-top:var(--space-1);border-top:1px dashed var(--line);font-size:var(--text-xs)}.fp-root .laser__blocked{flex-basis:100%;font-size:var(--text-sm);color:var(--warn)}.fp-root .measured-badge{margin-left:6px;padding:0 6px;font-size:var(--text-xs);vertical-align:middle;cursor:help}.fp-root .measure-report__list{margin:var(--space-2) 0 0;padding:0;list-style:none}.fp-root .measure-report__item{display:flex;width:100%;justify-content:space-between;gap:var(--space-2);padding:5px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink-2);font:inherit;font-size:var(--text-sm,12px);text-align:left;cursor:pointer}.fp-root .measure-report__item:focus-visible,.fp-root .measure-report__item:hover{color:var(--accent)}.fp-root .measure-report__value{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fp-root .measure-report__delta{color:var(--muted)}.fp-root .measure-report__more{padding-top:5px;color:var(--muted);font-size:var(--text-xs)}