body{color:var(--ink);background:var(--paper);font-size:13px}.primary,.secondary{border-radius:var(--r-pill);gap:8px;height:40px;padding:0 16px;font-size:13px;font-weight:600}.primary{background:var(--ink);color:#fff}.primary:hover:not(:disabled){background:#2f3b40}.primary.dark{background:var(--ink)}.primary.accent{background:var(--orange)}.primary.accent:hover:not(:disabled){background:#e64d30}.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.secondary:hover:not(:disabled){background:var(--cream)}.text-button{color:var(--muted-2);font-size:12px;font-weight:500}.text-button:hover{color:var(--ink)}.icon-button{color:var(--muted-2);border-radius:18px}.icon-button:hover{background:var(--rule);color:var(--ink)}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px;font-size:13px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ink);outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.eyebrow{letter-spacing:1.6px;color:var(--faint);font-size:9px;font-weight:700}.muted,.hint{color:var(--muted);font-size:12px;line-height:1.6}.section-label{letter-spacing:1px;color:var(--muted);margin:20px 0 10px;font-size:9px;font-weight:600;line-height:12px}.count{background:var(--rule);color:var(--muted-2);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.field{color:var(--muted-2);font-size:12px}.field input,.field select{font-size:13px}.check-row{color:var(--ink);cursor:pointer;gap:10px;margin:0;padding:6px 0;font-size:14px;font-weight:500;line-height:20px}.check-row input{appearance:none;border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;flex:0 0 18px;place-items:center;width:18px;height:18px;margin:0;padding:0;transition:background .15s,border-color .15s;display:grid}.check-row input:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4.5 8.5L6.83333 10.8333L11.5 5.83333' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--ink)}.check-row input:disabled{opacity:.5;cursor:not-allowed}.inspector-title{color:var(--ink)}.inspector-title h3{font-size:18px;font-weight:600;line-height:24px}.inspector-rule{border-top:1px solid var(--rule);margin:14px 0}.setting-group{flex-direction:column;gap:4px;display:flex}.setting-group .section-label{margin:0}h2{letter-spacing:-.4px;font-size:24px;font-weight:600}.status-dot{background:#4caf50}.error{background:var(--orange-soft);color:#b5391f;border:1px solid #f5c2b4;border-radius:12px}.notice{color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px}.busy-indicator{left:50%;bottom:calc(var(--dock-h) + var(--gutter) * 2 + 8px);height:32px;color:var(--ink);border-radius:var(--r-pill);box-shadow:var(--shadow);white-space:nowrap;z-index:36;pointer-events:none;background:#fff;gap:8px;padding:0 14px 0 12px;font-size:12px;font-weight:500;position:absolute;transform:translate(-50%)}.busy-indicator svg{color:var(--muted-2)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#3e4c5166}.modal{border-radius:var(--r-panel);background:#fff;width:440px;max-width:calc(100vw - 32px);padding:28px;box-shadow:0 24px 64px #3e4c5133}.modal.wide{width:860px}.modal h2{margin:8px 0 16px;font-size:22px}.modal.narrow{width:380px}.modal .confirm{text-align:center;flex-direction:column;align-items:center;padding-top:8px;display:flex}.modal .confirm-icon{color:#b2412b;background:#fbeae6;border-radius:24px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid}.modal .confirm h2{margin:0;font-size:18px;font-weight:600;line-height:1.35}.modal .confirm p{color:var(--muted);margin:8px 0 24px;font-size:13px;line-height:1.5}.modal .confirm-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.modal .confirm-actions button{justify-content:center;width:100%}.modal .confirm-actions .primary.danger{color:#fff;background:#b2412b;border-color:#b2412b}.modal .confirm-actions .primary.danger:hover:not(:disabled){background:#9a3824}.modal .confirm .job-error{margin-top:12px}dialog.modal,dialog.pmodal{border:0;margin:auto}dialog.pmodal:not([open]){display:none}dialog.modal::backdrop,dialog.pmodal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#3e4c5166}.shell{background:var(--paper);--top:88px;--gutter:16px;--left-w:264px;--right-w:320px;--dock-h:52px;height:100dvh;position:fixed;inset:0;overflow:hidden}.canvas-stage{position:absolute;inset:0;overflow:hidden}.canvas-stage .model-stage{position:absolute;inset:0}.canvas-stage .canvas-wrap,.canvas-stage .empty-view{height:auto;min-height:0;position:absolute;inset:0}.canvas-stage .plan-wrap svg{background:var(--paper)}.canvas-stage .loading{height:100%}.canvas-stage .walkthrough-wrap{min-height:0;position:absolute;inset:0}.canvas-stage .empty-view{padding:var(--top) calc(var(--right-w) + var(--gutter) * 2) 96px calc(var(--left-w) + var(--gutter) * 2)}.canvas-stage .empty-view h2{font-size:28px}.canvas-stage .comment-mode-hint,.canvas-stage .comment-preview-banner{top:calc(var(--top) + 8px);left:calc(var(--left-w) + var(--gutter) * 2);right:calc(var(--right-w) + var(--gutter) * 2);border-radius:var(--r-pill);border-color:var(--line);background:#fff}.canvas-stage .comment-mode-hint{left:calc(50% + (var(--left-w) - var(--right-w)) / 2);width:max-content;max-width:calc(100% - var(--left-w) - var(--right-w) - var(--gutter) * 4);height:36px;box-shadow:var(--shadow);color:var(--ink);white-space:nowrap;border:0;flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding:0 4px 0 14px;font-size:12px;font-weight:500;right:auto;transform:translate(-50%)}.canvas-stage .comment-mode-hint svg{color:var(--orange);flex-shrink:0}.canvas-stage .comment-preview-banner{left:calc(50% + (var(--left-w) - var(--right-w)) / 2);width:max-content;max-width:calc(100% - var(--left-w) - var(--right-w) - var(--gutter) * 4);min-height:44px;box-shadow:var(--shadow);color:var(--ink);background:#fff;border:0;flex-wrap:nowrap;justify-content:flex-start;gap:10px;padding:4px 4px 4px 14px;right:auto;transform:translate(-50%)}.canvas-stage .comment-preview-banner>svg{color:var(--orange);flex-shrink:0}.canvas-stage .comment-preview-banner.loading>svg{color:var(--muted)}.canvas-stage .comment-preview-banner>span{flex-direction:column;min-width:0;display:flex}.canvas-stage .comment-preview-banner strong{font-size:12px;font-weight:600;line-height:16px}.canvas-stage .comment-preview-banner small{color:var(--muted);font-size:11px;line-height:14px}.canvas-stage .comment-preview-exit{border-radius:var(--r-pill);background:var(--ink);color:#fff;flex-shrink:0;height:36px;margin-left:6px;padding:0 14px;font-size:12px;font-weight:600}.canvas-stage .comment-preview-exit:hover{background:#303a3e}.canvas-stage .comment-mode-hint span{text-overflow:ellipsis;overflow:hidden}.canvas-stage .comment-mode-hint .comment-mode-done{border-radius:var(--r-pill);background:var(--ink);color:#fff;flex-shrink:0;height:28px;margin-left:4px;padding:0 12px;font-size:12px;font-weight:600}.canvas-stage .walk-start{bottom:calc(var(--dock-h) + 28px)}.shell.left-hidden{--left-w:0px}.shell.right-hidden{--right-w:0px}.shell-top{top:var(--gutter);left:var(--gutter);right:var(--gutter);z-index:30;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;height:56px;display:flex;position:absolute}.shell-top>*{pointer-events:auto}.top-left{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:56px;box-shadow:var(--shadow);background:linear-gradient(#ffffff1a,#ffffff1a),linear-gradient(#3e4c5112,#3e4c511a);align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.top-left .brand img{width:21px;height:36px;display:block}.top-left .divider{border-left:1px solid var(--line);height:24px}.crumbs{align-items:center;gap:8px;min-width:0;font-size:14px;line-height:20px;display:flex}.crumbs a{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:500;overflow:hidden}.crumbs a:hover{color:var(--ink)}.crumbs svg{color:var(--faint);flex-shrink:0}.floor-picker{color:var(--ink);white-space:nowrap;align-items:center;gap:12px;font-weight:600;display:flex;position:relative}.floor-picker svg{color:var(--muted-2)}.floor-picker select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.top-center{border-radius:var(--r-pill);box-shadow:var(--shadow);background:#fff;gap:2px;padding:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.top-center-thumb{border-radius:var(--r-pill);background:var(--ink);will-change:transform,width;pointer-events:none;height:34px;transition:transform .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;left:0}.top-center button{border-radius:var(--r-pill);height:34px;color:var(--muted-2);background:0 0;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:color .22s,background-color .22s;display:flex;position:relative}.top-center button:hover:not(.selected){color:var(--ink)}.top-center button:active:not(.selected){transform:scale(.97)}.top-center button.selected{background:var(--ink);color:#fff}.top-center.has-thumb button.selected{background:0 0}.top-right{align-items:center;gap:12px;display:flex}.fab{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:18px;place-items:center;padding:0;display:grid}.fab:hover:not(:disabled){background:var(--cream)}.fab.selected,.fab.selected:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}.fab.badge{position:relative}.fab.badge span{background:var(--orange);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.avatar{background:var(--rule);border:1px solid var(--line);width:36px;height:36px;color:var(--ink);border-radius:18px;place-items:center;font-size:12px;font-weight:700;display:grid}.top-right .local-badge{color:var(--muted);font-size:11px}.panel{background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow);z-index:25;flex-direction:column;min-height:0;display:flex;position:absolute}.panel-left{top:var(--top);left:var(--gutter);width:var(--left-w);bottom:var(--gutter);overscroll-behavior:contain;padding:16px;overflow:auto}.panel-right{top:var(--top);right:var(--gutter);width:var(--right-w);bottom:var(--gutter);overflow:hidden}.panel-head{justify-content:space-between;align-items:center;height:28px;margin-bottom:8px;display:flex}.panel-head h3{color:var(--ink);font-size:14px;font-weight:600}.panel-head .actions{gap:4px;display:flex}.panel-rule{border-top:1px solid var(--rule);margin:12px 0}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:20px;overflow:auto}.panel-right .panel-body,.plan-panel-body{scrollbar-width:none}.panel-right .panel-body::-webkit-scrollbar{display:none}.plan-panel-body::-webkit-scrollbar{display:none}.panel-footer{border-top:1px solid var(--rule);border-radius:0 0 var(--r-panel) var(--r-panel);background:#fff;flex-direction:column;gap:8px;padding:16px 20px;display:flex}.panel-footer .primary,.panel-footer .secondary{width:100%;font-size:14px}.panel-footer .generation-status{color:var(--muted);font-size:12px;line-height:1.5}.panel-footer .generation-status strong{color:var(--ink);margin-bottom:2px;font-weight:600;display:block}.panel-left nav{flex-direction:column;gap:4px;display:flex}.floor-row{margin:0}.floor-button{border-radius:var(--r-row);height:40px;color:var(--ink);gap:10px;margin:0;padding:0 12px;font-size:14px;font-weight:500}.floor-button.active{background:var(--rule);color:var(--ink)}.floor-button small{display:none}.floor-button .floor-number{color:var(--faint);letter-spacing:.5px;font-size:8px;font-weight:700}.building-button{border-radius:var(--r-row);height:40px;color:var(--ink);gap:10px;width:100%;margin:4px 0 0;padding:0 12px;font-size:14px;font-weight:500}.building-button.active{background:var(--rule)}.building-button{color:var(--muted-2)}.building-button svg:last-child{color:var(--muted)}.removed-floors,.removed-projects{font-size:12px}.upload-area{border:1px dashed var(--line);color:var(--ink);background:#fafafa;border-radius:16px;gap:8px;padding:24px 16px}.upload-area.compact{gap:2px;padding:14px 16px}.upload-area.drop-active{border-color:var(--orange);background:var(--orange-soft);border-style:solid}.upload-icon{background:#ffefec;border-radius:20px;place-items:center;width:36px;height:36px;display:grid}.upload-icon img{width:20px;height:20px;display:block}.upload-area strong{color:var(--ink);font-size:13px;font-weight:600}.upload-area small{color:var(--muted);font-size:11px;line-height:15px}.reference-list{max-height:none;margin:8px 0 0;overflow:visible}.reference{min-width:0;color:var(--ink);border-radius:10px;flex:1;gap:10px;padding:6px 8px}.reference:hover{background:var(--cream)}.reference .reference-thumb{background:var(--rule);width:36px;height:28px;color:var(--muted-2);border:1px solid var(--rule);border-radius:6px;flex:0 0 36px;place-items:center;display:grid;overflow:hidden}.reference .reference-thumb img{object-fit:cover;width:100%;height:100%;display:block}.reference .reference-text{min-width:0;color:var(--ink);flex-direction:column;flex:1;gap:1px;font-size:14px;font-weight:500;line-height:20px;display:flex}.reference .reference-text>span{text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:14px;overflow:hidden}.reference small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:400;line-height:16px;display:block;overflow:hidden}.reference .reference-source{color:var(--orange);letter-spacing:.2px;background:#ffefec;border-radius:32px;flex:none;padding:2px 6px;font-size:9px;font-weight:600;line-height:12px;overflow:visible}.reference-remove{display:none}.reference-row:hover .reference-remove,.reference-row:focus-within .reference-remove{display:flex}.reference-row{align-items:center;gap:4px;display:flex}.reference-row.removed{opacity:.4}.reference-row.removed .reference-remove{display:none}.rail{top:var(--top);left:var(--gutter);border-radius:var(--r-panel);width:56px;box-shadow:var(--shadow);z-index:25;background:#fff;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;display:flex;position:absolute}.rail .fab{color:var(--muted-2);background:0 0;border:0;border-radius:10px}.rail .fab:hover:not(:disabled){background:var(--cream);color:var(--ink)}.rail .fab.selected,.rail .fab.selected:hover:not(:disabled){background:var(--rule);color:var(--ink)}.rail .fab.badge span{right:-6px}.rail-right .fab.badge span{min-width:14px;height:14px;font-size:9px;font-weight:600;top:2px;right:0}.rail .fab.rail-floors span{color:var(--ink);border:1px solid var(--line);letter-spacing:.5px;background:#fff;font-size:8px}.rail .rail-rule{border-top:1px solid var(--rule);width:24px;margin:0}.inspector-tabs{border-bottom:1px solid var(--rule);flex-shrink:0;align-items:flex-start;height:61px;margin:0;padding:20px 16px 0 8px;display:flex;position:relative}.inspector-tabs .inspector-tabs-thumb{background:var(--orange);will-change:transform,width;pointer-events:none;border-radius:1px;height:2px;margin:0;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:10px;left:0}.inspector-tabs button{height:30px;color:var(--muted);background:0 0;flex:none;align-items:flex-start;padding:0 8px;font-size:13px;font-weight:600;line-height:20px;transition:color .22s;display:flex;position:relative}.inspector-tabs button:hover:not(.selected){color:var(--muted-2)}.inspector-tabs button.selected{color:var(--ink)}.inspector-tabs button.selected:after{content:"";border-bottom:2px solid var(--orange);position:absolute;bottom:0;left:8px;right:8px}.inspector-tabs:has(.inspector-tabs-thumb) button.selected:after{display:none}.panel-tab{animation:.26s cubic-bezier(.2,.7,.2,1) both panel-tab-in}@keyframes panel-tab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.inspector-tabs button .tab-label{font-size:inherit;font-weight:inherit;white-space:nowrap;margin:0}.inspector-tabs button span.tab-dot{background:var(--orange);color:#0000;pointer-events:none;border-radius:50%;width:7px;height:7px;padding:0;font-size:0;line-height:0;position:absolute;top:1px;left:calc(100% - 12px);overflow:hidden;box-shadow:0 0 0 2px #fff}.inspector-tabs .tabs-spacer{flex:1}.inspector-tabs .fab{width:28px;height:28px;color:var(--muted-2);border:0;flex:0 0 28px;place-items:center;margin:-4px 0 0 auto;padding:0;display:grid;position:static}.next-steps{color:var(--ink);flex-direction:column;gap:14px;margin-top:16px;display:flex}.next-steps h3{font-size:16px;font-weight:600;line-height:1.5}.next-steps p{color:var(--muted-2);font-size:13px;line-height:1.5}.next-steps ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.next-steps li{align-items:center;gap:12px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.next-steps li span{width:24px;height:24px;color:var(--muted-2);background:#f6f7f7;border-radius:12px;flex-shrink:0;place-items:center;font-size:12px;display:grid}.next-steps .tip{color:var(--muted-2);background:#f6f7f7;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.next-steps .tip strong{color:var(--ink);font-weight:600}.panel-body .inspector-title{margin:16px 0 8px}.inspector-stack{flex-direction:column;gap:14px;display:flex}.inspector-stack>*,.inspector-stack .inspector-title{margin:0}.panel-body .muted{margin-bottom:12px}.panel-body .selection-tip{color:var(--muted);text-align:left;background:#f6f7f7;border:0;border-radius:12px;align-items:center;gap:10px;margin:0;padding:12px;display:flex}.panel-body .selection-tip svg{flex-shrink:0}.panel-body .selection-tip p{color:var(--muted-2);margin:0;font-size:12px;line-height:16px}.layout-card{color:var(--ink);background:#f3fbf3;border-radius:12px;align-items:center;gap:10px;margin:0;padding:10px 12px;display:flex}.layout-card>svg{color:#61995c;flex-shrink:0}.layout-card-text{white-space:nowrap;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;overflow:hidden}.layout-card-text strong{text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.layout-card-text span{color:var(--muted-2);font-size:12px;line-height:16px}.layout-card-button{border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink);background:#fff;flex-shrink:0;align-items:center;gap:4px;padding:5px 8px 5px 10px;font-size:12px;font-weight:600;line-height:20px;display:inline-flex}.layout-card-button:hover:not(:disabled){background:var(--cream)}.panel-body .evidence{border-color:var(--rule);border-radius:12px}.panel-body .element-type{background:var(--rule);color:var(--muted-2);border-radius:6px;font-size:10px;font-weight:600}.panel-body .source-tag{background:var(--rule);color:var(--muted-2)}.panel-body .source-tag.estimate{color:#9a6b12;background:#fff0d6}.panel-body .proposal{background:var(--cream);border-radius:12px}.panel-body .revision strong{font-size:13px}.panel-body textarea,.panel-body .comment-composer,.panel-body .comment-card{border-radius:12px}.panel-body .comment-card.active{border-color:var(--ink);box-shadow:0 0 0 1px #3e4c5120}.panel-body .comment-number,.model-comment-pin{background:var(--orange)}.model-comment-pin.resolved{background:var(--faint)}.comparison-warning,.generation-bar{display:none}.panel-body .warning-card{background:var(--orange-soft);color:#7a3a28;border:1px solid #f5c2b4;border-radius:12px;align-items:flex-start;gap:10px;margin:12px 0;padding:12px;font-size:12px;line-height:1.5;display:flex}.panel-body .warning-card strong{color:var(--ink);margin-bottom:2px;display:block}.panel-body .warning-card svg{color:var(--orange);flex-shrink:0;margin-top:2px}.panel-body .warning-card .text-button{margin-top:6px;padding:0}.panel-body .model-actions details{border-color:var(--rule);border-radius:12px}.panel-body .example-note{background:var(--cream);border-radius:12px;flex-direction:column;gap:8px;margin:12px 0;padding:12px;font-size:12px;display:flex}.element-inspector{flex-direction:column;gap:12px;display:flex}.element-inspector>*{margin:0}.element-inspector .rule{border-top:1px solid var(--rule)}.inspector-section{flex-direction:column;gap:8px;display:flex}.section-head{align-items:center;gap:8px;min-height:24px;display:flex}.section-head .section-label{text-transform:uppercase;flex:1;min-width:0;margin:0}.type-chip{background:var(--rule);color:var(--muted-2);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;line-height:13px}.section-head .icon-button{width:24px;height:24px;color:var(--muted-2);border-radius:12px;padding:0}.section-head .icon-button.element-delete{color:#c83c28}.section-head .icon-button.element-delete:hover:not(:disabled){background:var(--orange-soft)}.element-name{width:calc(100% + 12px);color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;margin:0 -6px;padding:2px 6px;font-size:16px;font-weight:600;line-height:20px}.element-name:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--line)}.element-name:focus-visible{box-shadow:inset 0 0 0 1px var(--ink);background:#fff;outline:none}.element-name:disabled{opacity:1;color:var(--muted-2)}.element-inspector .hint{margin:0;line-height:16px}.side-switch{background:var(--rule);border-radius:999px;gap:4px;padding:3px;display:flex}.side-switch button{min-width:0;color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;flex:1;padding:5px 8px;font-size:12px;font-weight:600;line-height:15px;transition:background .15s,color .15s;overflow:hidden}.side-switch button.selected{background:var(--ink);color:#fff}.side-switch button:hover:not(:disabled):not(.selected){color:var(--ink)}.finish-row{background:#f6f7f7;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.finish-swatch{border:1px solid #dcdfe0;border-radius:4px;flex-shrink:0;width:18px;height:18px}.finish-text{white-space:nowrap;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.finish-text strong{color:var(--ink);text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:15px;overflow:hidden}.finish-text small{color:var(--muted);text-overflow:ellipsis;font-size:11px;line-height:14px;overflow:hidden}.finish-action{color:var(--muted-2);background:0 0;flex-shrink:0;padding:0;font-size:11px;font-weight:500;line-height:14px}.finish-action:hover:not(:disabled){color:var(--ink)}.add-finish{border:1px solid var(--line);width:100%;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:20px;padding:8px 12px;font-size:12px;font-weight:600;line-height:15px;overflow:hidden}.add-finish:hover:not(:disabled){background:var(--cream)}.element-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.element-inspector .field{min-width:0;color:var(--muted-2);flex-direction:column;gap:4px;margin:0;font-size:12px;line-height:16px;display:flex}.element-inspector .field input{border-radius:var(--r-pill);width:100%;height:28px;color:var(--ink);padding:0 12px;font-size:12px;font-weight:500}.element-inspector .field input[type=number]{appearance:textfield}.element-inspector .field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.element-inspector .field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-pair{gap:4px;display:flex}.field-pair input{min-width:0;padding:0 10px}.element-inspector .room-finish-controls,.element-inspector .door-controls{margin:0}.element-inspector .room-finish-controls>.field,.element-inspector .room-finish-controls .dimension-fields{margin-top:8px}.element-inspector .dimension-fields{gap:8px}.element-inspector .element-fields>.field>:last-child,.element-inspector .dimension-fields>.field>:last-child{margin-top:auto}.evidence-row{align-items:flex-start;gap:10px;display:flex}.evidence-tag{text-align:center;background:var(--rule);width:74px;color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:600;line-height:11px;overflow:hidden}.evidence-tag.plan{color:#2e5c96;background:#e8f0fa}.evidence-tag.photo{color:#2e7d32;background:#e8f5e9}.evidence-tag.estimate{color:#9e6b14;background:#fef2e0}.evidence-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.evidence-text strong{color:var(--ink);font-size:12px;font-weight:600;line-height:15px}.evidence-text span{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:14px}.dimension-label{background:var(--orange);color:#fff;white-space:nowrap;box-shadow:var(--shadow);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;line-height:20px;display:inline-block}.status-pill{top:var(--top);right:calc(var(--right-w) + var(--gutter) * 2);border-radius:var(--r-pill);height:32px;box-shadow:var(--shadow);color:var(--ink);z-index:20;white-space:nowrap;background:#fff;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:500;display:flex;position:absolute}.status-pill.left{right:auto;left:calc(var(--left-w) + var(--gutter) * 2)}.status-pill .status-dot{margin:0}.shell:has(.mouse-locked) .canvas-hint{display:none}.canvas-hint{top:calc(var(--top) + 8px);left:calc(var(--left-w) + var(--gutter) * 2 + 4px);color:var(--muted);z-index:20;pointer-events:none;font-size:12px;position:absolute}.shell-notices{left:50%;bottom:calc(var(--dock-h) + var(--gutter) + 12px);z-index:35;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(620px,100vw - 32px);display:flex;position:absolute;transform:translate(-50%)}.shell-notices>*{pointer-events:auto}.shell-notices .error,.shell-notices .notice,.shell-notices .upload-alert{box-shadow:var(--shadow);box-sizing:border-box;width:100%;max-width:560px;margin:0}.shell-notices .toast,.shell-notices .canvas-generation,.shell-notices .canvas-failure{max-width:100%;position:static;transform:none}.shell-notices .canvas-generation{pointer-events:none}.guided-plan .shell-notices,.shell.is-layout>.shell-notices{left:calc(50% + (var(--left-w) - var(--right-w)) / 2)}.plan-canvas .plan-editor-error{align-self:center}.dock{bottom:var(--gutter);height:var(--dock-h);border-radius:var(--r-pill);box-shadow:var(--shadow);z-index:30;background:#fff;align-items:center;gap:6px;max-width:calc(100vw - 32px);padding:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dock .tools{align-items:center;gap:6px;display:flex}.dock .divider{border-left:1px solid var(--line);height:24px;margin:0 2px}.dock .toggle{border-radius:var(--r-pill);height:32px;color:var(--muted-2);white-space:nowrap;gap:8px;padding:0 12px 0 10px;font-size:12px;font-weight:600}.dock .toggle span{background:var(--line);border-radius:8px;flex-shrink:0;width:28px;height:16px}.dock .toggle span:after{width:12px;height:12px}.dock .toggle.on span{background:var(--ink)}.dock .toggle.on span:after{left:14px}.dock .toggle:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.dock .unit-switch{color:var(--ink);font-size:12px}.dock .unit-switch select{border-radius:var(--r-pill);border-color:var(--line);background:#fff;padding:6px 10px;font-size:12px}.dock .dock-cta{display:none}.dock .secondary.tool-text{height:36px;padding:0 12px;font-size:12px}.scrim{z-index:24;background:#1f262966;position:absolute;inset:0}.review-banner{top:calc(var(--top) - 4px);left:var(--gutter);right:var(--gutter);background:var(--orange-soft);z-index:20;border:1px solid #fa5b3d59;border-radius:12px;align-items:center;gap:8px;height:33px;padding:0 12px;font-size:12px;display:none;position:absolute}.review-banner b{color:#9a3416;font-weight:600}.review-banner .dot{background:var(--orange);border-radius:3px;width:6px;height:6px}.review-banner span{color:var(--muted)}.guided-plan{margin:0;position:absolute;inset:0}.plan-steps{top:var(--gutter);border-radius:var(--r-pill);box-shadow:var(--shadow);z-index:31;background:#fff;gap:4px;padding:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.plan-steps button{border-radius:var(--r-pill);height:32px;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:0 12px 0 4px;font-size:13px;font-weight:600;display:flex}.plan-steps button span{background:var(--rule);width:24px;height:24px;color:var(--muted-2);border-radius:12px;grid-row:auto;place-items:center;font-size:12px;font-weight:700;display:grid}.plan-steps button strong{font-weight:600}.plan-steps button small{display:none}.plan-steps button.current{background:var(--ink);color:#fff}.plan-steps button.current span{color:var(--ink);background:#fff}.plan-steps button.confirmed span{color:#2e7d32;background:#e6f4ea}.plan-canvas{position:absolute;inset:0}.plan-start-stage{padding:var(--top) calc(var(--right-w) + var(--gutter)*2) var(--gutter) calc(var(--left-w) + var(--gutter)*2);z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.plan-start-card{border-radius:var(--r-panel);width:min(360px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;flex-direction:column;align-items:center;margin:auto;padding:32px 28px 24px;display:flex}.plan-start-icon{width:48px;height:48px;color:var(--ink);background:#f6f7f7;border-radius:24px;place-items:center;margin-bottom:16px;display:grid}.plan-start-card h2{font-size:18px;font-weight:600;line-height:1.35}.plan-start-card p{color:var(--muted);margin:6px 0 24px;font-size:13px;line-height:1.5}.plan-start-extras,.plan-start-extras .button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 16px;margin:0;display:flex}.plan-start-extras{margin-top:12px}.plan-start-extras button,.plan-start-extras .secondary{box-shadow:none;height:auto;min-height:0;color:var(--muted-2);background:0 0;border:0;padding:6px 4px;font-size:12px;font-weight:500}.plan-start-extras button:hover:not(:disabled){color:var(--ink);text-decoration:underline}.plan-canvas .plan-shell{border:0;border-radius:0;height:auto;margin:0;position:absolute;inset:0}.plan-canvas .plan-shell .canvas-wrap{height:auto;min-height:0;position:absolute;inset:0}.plan-panel{top:var(--top);right:var(--gutter);bottom:var(--gutter);width:var(--right-w);border-radius:var(--r-panel);box-shadow:var(--shadow);z-index:25;background:#fff;flex-direction:column;display:flex;position:absolute;overflow:hidden}.plan-panel-head{border-bottom:1px solid var(--rule);padding:16px 20px 12px}.plan-panel-head h3{font-size:18px;font-weight:600}.plan-panel-head p{color:var(--muted);margin-top:4px;font-size:12px}.plan-panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 20px 20px;overflow:auto}.plan-panel-body>*{margin-top:16px}.plan-panel-body .plan-start,.plan-panel-body .plan-check,.plan-panel-body .plan-sources,.plan-panel-body .plan-comments,.plan-panel-body .plan-history{background:0 0;border:0;margin:16px 0 0;padding:0}.plan-panel-body .plan-check h3,.plan-panel-body .plan-comments h3,.plan-panel-body .plan-start h3{font-size:14px;font-weight:600}.plan-panel-body .plan-check strong{color:var(--muted-2);margin:6px 0;font-size:12px;display:block}.plan-panel-body details summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:600}.plan-panel-body .plan-source-fields{flex-direction:column;gap:10px}.plan-panel-body .plan-source-fields label{color:var(--muted-2);font-size:12px}.plan-panel-body .plan-source-fields select{max-width:100%}.plan-panel-body .plan-actions,.plan-panel-body .plan-confirm{margin:12px 0 0}.plan-panel-body .plan-actions .hint{width:100%;margin-left:0}.plan-panel-body .plan-comment,.plan-panel-body .proposal{border:1px solid var(--rule);border-radius:12px;margin:10px 0;padding:12px;font-size:12px}.plan-panel-body .plan-comment.active{border-color:var(--ink)}.plan-panel-body .plan-comment-images img{object-fit:cover;border-radius:8px;width:56px;height:56px;margin:6px 6px 0 0}.plan-panel-body .plan-comment-compose{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:12px}.plan-panel-body .plan-comments{flex-direction:column;gap:12px;display:flex}.plan-panel-body .plan-comments>*,.plan-panel-body .comments-toolbar{margin:0}.plan-panel-body .comments-toolbar .primary,.plan-panel-body .comments-toolbar .secondary{height:32px;font-size:12px}.plan-panel-body .plan-comment-compose{border:1px solid var(--orange);background:#fff;border-radius:12px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.plan-compose-head{color:var(--ink);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.plan-compose-head strong{overflow-wrap:anywhere;flex:1;font-weight:600}.plan-panel-body .plan-comments .comment-number{background:var(--orange);flex-shrink:0;width:20px;min-width:20px;height:20px;font-size:11px;font-weight:600}.plan-panel-body .plan-comments .comment-number.resolved{background:var(--faint)}.plan-panel-body .plan-comment-compose textarea{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:56px;margin:0;padding:8px 10px;font-size:12px;line-height:1.4}.plan-panel-body .plan-comment-compose textarea::placeholder{color:var(--faint)}.plan-compose-photos{color:var(--muted);align-items:center;gap:10px;font-size:11px;line-height:1.35;display:flex}.plan-compose-photos span{flex:1;min-width:0}.plan-compose-photos .comment-photo{border:0;border-radius:8px;flex-shrink:0;width:44px;height:44px;margin:0}.plan-add-photo{border:1px dashed var(--line);width:44px;height:44px;color:var(--muted-2);background:#fafafa;border-radius:8px;flex-shrink:0;place-items:center;padding:0;font-size:18px;font-weight:500;display:grid}.plan-add-photo:hover:not(:disabled){background:var(--cream);color:var(--ink)}.plan-compose-actions{align-items:center;gap:8px;display:flex}.plan-compose-actions .primary{flex:1;height:32px;font-size:12px}.plan-compose-actions .text-button{color:var(--muted);padding:8px 12px;font-size:12px;font-weight:600}.plan-panel-body .plan-proposal{color:var(--ink);background:#f6f7f7;border:0;border-radius:12px;flex-direction:column;gap:8px;margin:0;padding:12px;font-size:12px;line-height:1.4;display:flex}.plan-proposal .proposal-title{font-weight:600}.plan-proposal .proposal-diff{color:var(--muted);font-size:11px}.plan-proposal .proposal-preview{color:var(--ink);padding:2px 0;font-size:12px;font-weight:600}.plan-proposal .proposal-preview.on{color:var(--orange)}.plan-proposal .primary.full{height:34px;font-size:13px}.plan-proposal .proposal-actions{margin:0;padding-top:2px}.plan-proposal .proposal-actions .text-button{font-weight:600}.plan-panel-body .comments-filter{margin:4px 0 0}.plan-panel-body .comments-filter .text-button{color:var(--muted);font-size:11px;font-weight:500}.plan-panel-body .comments-filter .text-button:hover{color:var(--ink)}.plan-panel-body .comment-batch-selection{margin:0}.plan-panel-body .plan-comment{border:0;border-radius:8px;margin:0;padding:6px 0;font-size:12px;transition:background .15s}.plan-panel-body .plan-comment.active{background:var(--orange-soft);border:0;margin:0 -8px;padding:6px 8px}.plan-comment-row{align-items:flex-start;gap:8px;display:flex}.plan-comment-row input{appearance:none;border:1.25px solid var(--ink);cursor:pointer;background:#fff;border-radius:3px;flex:0 0 14px;width:14px;height:14px;margin:3px 0 0;padding:0}.plan-comment-row input:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4.5 8.5L6.83333 10.8333L11.5 5.83333' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}.plan-comment-row input:disabled{opacity:.35;cursor:not-allowed}.plan-comment-text{text-align:left;min-width:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;flex:1;padding:1px 0;font-size:12px;line-height:1.45}.plan-comment.resolved .plan-comment-text{color:var(--muted)}.plan-comment-detail{flex-direction:column;gap:6px;padding:6px 0 0 50px;display:flex}.plan-comment-detail .comment-photos{margin:0}.plan-comment-detail .comment-photo{border:0;border-radius:6px;width:44px;height:44px;display:block}.plan-comment-detail .hint{margin:0}.plan-comment-detail .button-row{gap:12px;margin:0}.plan-comment-detail .text-button{padding:2px 0;font-size:11px;font-weight:600}.plan-panel-body .comment-undo{font-size:12px}.plan-panel-body .plan-failure{border:1px solid var(--line);background:var(--orange-soft);border-color:#f5c2b4;border-radius:12px;padding:12px;font-size:12px}.plan-panel-body .plan-history .hint{color:var(--muted);border:0;margin:6px 0;padding:0;font-size:12px}.plan-panel-body .plan-history .revisions-label{margin-top:0}.plan-panel-body .error,.plan-panel-body .notice{margin:12px 0 0}.plan-panel-footer{border-top:1px solid var(--rule);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.plan-panel-footer .primary,.plan-panel-footer .secondary{width:100%}.plan-panel-footer p{color:var(--muted);font-size:12px;line-height:1.5}.plan-canvas .plan-author{padding:calc(var(--top) + 8px) calc(var(--right-w) + var(--gutter) * 2) var(--gutter) calc(var(--left-w) + var(--gutter) * 2);pointer-events:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;inset:0}.plan-canvas .plan-author>*{pointer-events:auto}.plan-canvas .plan-drawing{z-index:0;pointer-events:auto;height:auto;min-height:0;position:absolute;inset:0}.plan-canvas .plan-drawing svg{background:var(--paper)}.plan-canvas .plan-tools{z-index:5;height:var(--dock-h);border-radius:var(--r-pill);box-shadow:var(--shadow);background:#fff;border:0;flex-wrap:nowrap;order:10;align-self:center;gap:6px;margin-top:auto;padding:8px;position:relative}.plan-canvas .plan-tools button{border:1px solid var(--line);height:36px;color:var(--ink);background:#fff;border-radius:18px;padding:0 12px;font-size:12px;font-weight:500}.plan-canvas .plan-tools button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.plan-canvas .plan-tools label{color:var(--ink);margin-left:4px;font-size:12px}.plan-canvas .plan-tools select{border-radius:18px;padding:6px 10px}.plan-canvas .plan-picture-controls,.plan-canvas .plan-editor-error{z-index:5;box-shadow:var(--shadow);background:#fff;border:0;border-radius:16px;max-width:360px;position:relative}.plan-canvas .plan-hint{z-index:5;height:auto;min-height:0;color:var(--muted);background:0 0;max-width:520px;padding:0 4px;font-size:12px;position:relative}.plan-canvas .plan-properties{z-index:5;box-shadow:var(--shadow);background:#fff;border:0;border-radius:16px;flex-wrap:wrap;order:9;gap:10px;max-width:380px;max-height:44vh;padding:14px;font-size:12px;display:flex;position:relative;overflow:auto}.plan-canvas .plan-properties legend{padding:0 4px;font-weight:600}.plan-canvas .plan-cursor-status{left:calc(var(--left-w) + var(--gutter) * 2);right:auto;bottom:var(--gutter)}.plan-canvas .plan-cursor-status>span,.plan-canvas .plan-cursor-status .unit-switch{border-radius:var(--r-pill);border-color:var(--line)}.plan-canvas .plan-reset{border-radius:var(--r-pill)}@media (max-width:1199px){.shell{--left-w:56px}.panel-left{display:none}.shell.left-open .panel-left{z-index:40;display:flex}.shell.left-open .rail{display:none}.crumbs a{max-width:140px}}@media (min-width:1200px){.rail{display:none}}@media (max-width:999px){.shell{--right-w:0px}.panel-right,.plan-panel{width:320px;right:var(--gutter);z-index:45;display:none}.shell.inspector-open .panel-right,.shell.inspector-open .plan-panel{display:flex}.shell:not(.inspector-open) .scrim{display:none}.dock .dock-cta{height:36px;padding:0 14px;font-size:12px;display:inline-flex}.panel-footer .primary.cta-main,.plan-steps button:not(.current) strong{display:none}.plan-steps button:not(.current){padding-right:4px}.top-center button span{display:none}.top-center button{padding:0 10px}.crumbs .crumb-project,.crumbs .crumb-sep,.top-right .btn-label{display:none}.top-right .primary{border-radius:18px;width:36px;height:36px;padding:0}.status-pill{right:var(--gutter)}.canvas-hint{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 260px);overflow:hidden}.dock{gap:4px}.dock .toggle{gap:0;padding:0 6px;font-size:0}.dock .unit-switch,.top-right .local-badge{display:none}}@media (max-width:819px){.shell{--left-w:0px;--right-w:0px}.rail,.panel-left,.dock .tools,.dock .divider,.dock .dock-cta,.canvas-hint,.plan-steps,.top-center .switch-walk{display:none}.review-banner{top:calc(var(--gutter) + 64px);white-space:nowrap;width:max-content;max-width:calc(100% - 32px);height:32px;display:flex;left:50%;right:auto;transform:translate(-50%)}.canvas-stage .comment-mode-hint{top:calc(var(--top) + 44px)}.top-center{top:0}.dock{left:var(--gutter);right:var(--gutter);justify-content:space-between;max-width:none;transform:none}.dock .review-tools{gap:6px;display:flex}.panel-right{border-radius:var(--r-panel) var(--r-panel) 0 0;z-index:45;width:auto;max-height:56vh;inset:auto 0 0}.shell.inspector-open .scrim{display:none}.panel-right .grabber{background:0 0;border:0;flex-shrink:0;width:100%;height:20px;padding:8px 0 0;display:block}.panel-right .grabber span{background:var(--line);border-radius:2px;width:36px;height:4px;margin:0 auto;display:block}.inspector-tabs{height:48px;padding-top:14px}.inspector-tabs .inspector-tabs-thumb{bottom:4px}.inspector-tabs .fab{margin-top:-6px}.panel-footer{display:none}.review-only-hide{display:none!important}.canvas-stage .empty-view{padding:calc(var(--top) + 40px) 16px var(--gutter);overscroll-behavior:contain;justify-content:flex-start;overflow-y:auto}.canvas-stage .empty-view>*{flex-shrink:0}.canvas-stage .empty-view .drop-card{margin:auto 0}.canvas-stage .empty-view>.empty-icon{margin-top:auto}.canvas-stage .empty-view>:last-child{margin-bottom:auto}.plan-panel{border-radius:var(--r-panel) var(--r-panel) 0 0;width:auto;max-height:56vh;display:flex;inset:auto 0 0}.plan-canvas .plan-author{padding:calc(var(--top) + 8px) 16px 60vh 16px}.plan-canvas .plan-shell .plan-tools{bottom:60vh;left:50%}.shell-notices{bottom:auto;top:calc(var(--top) + 40px)}}@media (pointer:coarse){.floor-more,.reference-remove{display:flex}.fab,.tool,.dock .toggle{min-width:40px;min-height:40px}}.plan-dock-cta{right:var(--gutter);bottom:var(--gutter);z-index:31;align-items:center;gap:8px;display:none;position:absolute}.plan-dock-cta .primary{height:44px;padding:0 18px}.plan-scrim{display:none}@media (max-width:999px){.plan-dock-cta{display:flex}.shell.inspector-open .plan-scrim{display:block}.plan-panel .plan-panel-footer .cta-main{display:none}}@media (max-width:819px){.plan-dock-cta{display:none}.plan-scrim{display:none!important}}.assembly-shell .assembly-main{top:calc(var(--top) + 8px);left:calc(var(--left-w) + var(--gutter) * 2);right:calc(var(--right-w) + var(--gutter) * 2);bottom:calc(var(--dock-h) + var(--gutter) * 2);pointer-events:none;z-index:20;flex-direction:column;gap:8px;padding:0;display:flex;position:absolute}.assembly-shell .assembly-main>*{pointer-events:auto;max-width:440px}.assembly-shell .assembly-editor{display:contents}.assembly-shell .assembly-canvas,.assembly-shell .assembly-walk{z-index:0;pointer-events:auto;max-width:none;height:auto;position:fixed;inset:0}.assembly-shell .assembly-canvas.loading{color:var(--muted);place-items:center;display:grid}.assembly-shell .top-center button svg{color:var(--muted-2)}.assembly-shell .top-center button.selected svg{color:#fff}.assembly-shell .assembly-dock{left:calc(50% + (var(--left-w) - var(--right-w)) / 2);white-space:nowrap;max-width:none;position:fixed}.assembly-shell .assembly-dock>*{flex-shrink:0}.assembly-shell .assembly-dock .toggle{height:32px;padding:0 10px 0 8px}.assembly-shell .assembly-dock .unit-switch>span{display:none}.assembly-shell .assembly-status{top:var(--top);right:calc(var(--right-w) + var(--gutter) * 2);border-radius:var(--r-pill);height:32px;box-shadow:var(--shadow);color:var(--muted);z-index:20;background:#fff;align-items:center;gap:10px;max-width:none;padding:0 6px;font-size:12px;display:flex;position:fixed}.assembly-shell .assembly-status [role=status]{color:var(--ink);font-weight:500}.assembly-shell .assembly-status .text-button{padding:0 6px;font-size:12px}.assembly-shell .assembly-preview-note,.assembly-shell .assembly-warning,.assembly-shell .assembly-warnings{box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.assembly-shell .assembly-main>.error,.assembly-shell .assembly-main>.notice{margin:0}.shell.assembly-shell .assembly-library{top:var(--top);left:var(--gutter);width:var(--left-w);bottom:var(--gutter);border:0;gap:8px;height:auto;max-height:none;padding:16px;position:absolute}.assembly-back{border-radius:var(--r-row);height:40px;color:var(--muted-2);background:0 0;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.assembly-back:hover:not(:disabled){background:var(--cream);color:var(--ink)}.assembly-shell .assembly-library .panel-head{margin:0;padding:0 4px 0 12px}.assembly-shell .assembly-library .panel-head .actions{align-items:center;gap:6px;display:flex}.assembly-shell .assembly-library .panel-head .icon-button{place-items:center;width:28px;height:28px;padding:0;display:grid}.assembly-shell .assembly-library>.hint{margin:0}.assembly-sources{flex-direction:column;gap:8px;display:flex}.assembly-source{border-radius:var(--r-row);text-align:left;width:100%;color:var(--ink);background:#fafafa;border:0;align-items:center;gap:10px;padding:8px;transition:background .15s;display:flex}.assembly-source[draggable=true]{cursor:grab}.assembly-source:hover:not(.active){background:var(--cream)}.assembly-source.active{background:var(--rule)}.assembly-source.dragging{opacity:.45;background:var(--rule)}.assembly-library:has(.assembly-source.dragging) .secondary.full{opacity:.45}.assembly-drag-ghost{border:1.5px solid var(--orange);opacity:.85;pointer-events:none;background:#fff;border-radius:12px;width:232px;padding:10px 8px;position:fixed;top:-1000px;left:-1000px;box-shadow:0 8px 24px #0000002e}.assembly-drag-ghost .assembly-source{background:0 0;padding:0}.assembly-thumb{width:40px;height:32px;color:var(--ink);background:#fff;border:1px solid #dcdfe0;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.assembly-source-text{flex:1;min-width:0}.assembly-source strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:18px;display:block;overflow:hidden}.assembly-source small{color:var(--muted);margin-top:1px;font-size:12px;line-height:16px;display:block}.assembly-placement{color:var(--muted);align-items:center;gap:8px;padding:0 4px 0 12px;font-size:12px;display:flex}.assembly-placement>span{flex:1}.assembly-shell .assembly-placement .select-trigger{border-radius:var(--r-pill);width:auto;height:32px;font-size:12px;font-weight:600}.assembly-shell .assembly-library .secondary.full{border-radius:20px;gap:6px;height:36px;padding:0 12px;font-size:13px}.assembly-shell .assembly-library .secondary.full .btn-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assembly-shell .assembly-library .panel-rule{margin:0}.shell.assembly-shell .assembly-inspector{top:var(--top);right:var(--gutter);left:auto;bottom:var(--gutter);width:var(--right-w);border:0;flex-direction:column;height:auto;max-height:none;padding:0;display:flex;position:absolute;overflow:hidden}.assembly-shell .assembly-inspector .panel-body{flex-direction:column;gap:14px;padding:20px;display:flex}.assembly-shell .assembly-inspector .panel-rule{margin:0}.assembly-shell .assembly-inspector .assembly-history{gap:10px}.assembly-shell .assembly-history .revisions-label{margin:0}.assembly-shell .assembly-inspector .panel-body{scrollbar-width:none}.assembly-shell .assembly-inspector .panel-body::-webkit-scrollbar{display:none}.assembly-section{flex-direction:column;gap:8px;display:flex}.assembly-section-head{align-items:center;min-height:24px;display:flex}.assembly-section-head .section-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;flex:1;margin:0;font-weight:600}.assembly-section-head .icon-button{place-items:center;width:28px;height:28px;padding:0;display:grid}.assembly-section-head .icon-button.collapse{border-radius:12px;width:24px;height:24px}.assembly-section .field{color:var(--muted-2);gap:4px;margin:0;font-size:12px}.assembly-section .field input{border-radius:var(--r-pill);width:100%;height:28px;padding:0 12px;font-size:12px;font-weight:500}.assembly-section .field input::placeholder{color:var(--faint)}.assembly-shell .assembly-section .field .select-trigger{border-radius:var(--r-pill);height:28px;font-size:12px}.assembly-section form{flex-direction:column;gap:8px;display:flex}.assembly-name{border-radius:var(--r-row);width:100%;height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);caret-color:var(--ink);text-overflow:ellipsis;background:#fff;border:0;padding:0 12px;font-size:14px;font-weight:600;line-height:20px}.assembly-name:hover{box-shadow:inset 0 0 0 1px var(--muted-2)}.assembly-name:focus-visible{box-shadow:inset 0 0 0 1px var(--ink);outline:none}.assembly-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assembly-fields .field{min-width:0}.assembly-section .secondary{border-radius:20px;gap:6px;width:100%;height:36px;margin-top:4px;font-size:13px}.assembly-section .hint{margin:0;font-size:11px}.assembly-section .muted{margin:0}.assembly-levels{flex-direction:column;display:flex}.assembly-level{border-radius:8px;align-items:center;gap:10px;height:30px;padding:0 2px 0 8px;transition:background .15s;display:flex}.assembly-level.selected{background:#ffefec}.assembly-level.hidden .assembly-level-name,.assembly-level.hidden>small{opacity:.5}.assembly-level input{appearance:none;box-sizing:border-box;border:1px solid var(--line);cursor:pointer;background:#fff 50%/10px no-repeat;border-radius:3px;flex-shrink:0;width:14px;height:14px;margin:0;padding:0}.assembly-level input:checked{border:1.25px solid var(--ink);background-image:url(/ui/check.svg)}.assembly-level input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.assembly-level-name{text-align:left;min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;flex:1;padding:0;font-size:13px;font-weight:500;overflow:hidden}.assembly-level.selected .assembly-level-name{font-weight:600}.assembly-level>small{color:var(--muted);white-space:nowrap;font-size:12px}.assembly-level.selected>small{color:var(--orange)}.assembly-level.preview{border:1px dashed var(--orange);color:var(--orange);background:#fa5b3d0d;padding-left:32px}.assembly-level.preview .assembly-level-name,.assembly-level.preview>small{color:var(--orange)}.assembly-level .icon-button{width:24px;height:24px;color:var(--muted-2);place-items:center;padding:0;display:grid}.assembly-shell .assembly-inspector .panel-footer .primary{width:100%}.assembly-selection-label{background:var(--orange);color:#fff;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;line-height:20px;display:inline-block;transform:translate(10px,-50%)}.shell.assembly-shell .assembly-canvas canvas{width:100%!important;height:100%!important}.shell.assembly-shell .assembly-canvas-hint{top:calc(var(--top) + 8px);left:calc(var(--left-w) + var(--gutter) * 2 + 4px);color:var(--muted);max-width:calc(100vw - var(--left-w) - var(--right-w) - 470px);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:0;font-size:12px;bottom:auto;right:auto;overflow:hidden}.shell.assembly-shell .assembly-empty{top:var(--top);bottom:var(--top);left:calc(var(--left-w) + var(--gutter) * 2);right:calc(var(--right-w) + var(--gutter) * 2);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;transition:left .22s cubic-bezier(.2,.7,.2,1),right .22s cubic-bezier(.2,.7,.2,1);display:flex}@media (prefers-reduced-motion:reduce){.shell.assembly-shell .assembly-empty{transition:none}}.shell.assembly-shell .assembly-empty strong{letter-spacing:-.4px;font-size:24px;font-weight:600}.shell.assembly-shell .assembly-empty p{color:var(--muted);font-size:12px}.shell.assembly-shell .assembly-snap-guide{top:calc(var(--top) + 36px);left:calc(var(--left-w) + var(--gutter) * 2 + 4px);border-radius:var(--r-pill);box-shadow:var(--shadow);color:var(--ink);background:#fff;border:0;padding:6px 12px;font-size:12px;font-weight:500}.shell.assembly-shell .assembly-marquee{border:1px solid var(--ink);background:#3e4c5114}.shell.assembly-shell .assembly-marquee.crossing{border-style:dashed;border-color:var(--muted-2)}.shell.assembly-shell .assembly-marquee span{box-shadow:var(--shadow);color:var(--ink);background:#fff;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:500}.shell.assembly-shell .assembly-level-label{color:var(--muted);background:0 0;padding:0 4px;font-size:11px;font-weight:500}.shell.assembly-shell .assembly-level-label.selected{color:var(--orange)}.shell.assembly-shell .assembly-dimension-label{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink);background:#fff;padding:4px 10px;font-size:12px;font-weight:500}.shell.assembly-shell .assembly-dimension-label:hover{border-color:var(--ink);background:var(--cream)}.shell.assembly-shell .assembly-dimension-edit input{border-radius:var(--r-pill);border:1px solid var(--line);width:7em;height:28px;color:var(--ink);background:#fff;padding:0 10px;font-size:12px}.shell.assembly-shell .assembly-dimension-edit input:focus-visible{border-color:var(--ink);outline:none}@media (max-width:1199px){.assembly-shell .assembly-library,.assembly-shell .rail:not(.rail-right){display:none}.shell.assembly-shell,.shell.assembly-shell.left-collapsed{--left-w:0px}}@media (max-width:999px){.assembly-shell .assembly-inspector,.assembly-shell .rail-right{display:none}.shell.assembly-shell,.shell.assembly-shell.right-collapsed{--right-w:0px}}@media (max-width:819px){.status-pill{display:none}.top-center{position:relative;left:auto;transform:none}.shell-top,.top-right{gap:8px}.top-left{gap:8px;padding-left:8px}.top-right .fab.badge{display:none}.dock{z-index:46}.panel-right{padding-bottom:calc(var(--dock-h) + var(--gutter) * 2)}.panel-right .panel-body{padding-bottom:8px}}.plan-canvas .plan-tools{height:auto;min-height:var(--dock-h);border-radius:24px;flex-wrap:wrap;justify-content:center;row-gap:6px;max-width:100%}@media (max-width:1199px){.top-center button span{display:none}.top-center button{padding:0 10px}.crumbs a{max-width:120px}}.page-logo{width:28px;height:48px;display:block;position:absolute;top:32px;left:32px}.page-logo img{width:28px;height:48px;display:block}.page-account{z-index:5;position:absolute;top:32px;right:32px}.page-avatar{background:0 0;width:36px;height:36px;padding:0;display:block}.cmenu.account-menu{top:44px;right:0}.page-avatar img{width:36px;height:36px;display:block}.signin{background:#fff;justify-content:center;align-items:center;min-height:100dvh;padding:96px 24px;display:flex;position:relative}.signin-card{flex-direction:column;align-items:center;gap:72px;width:320px;max-width:100%;display:flex}.signin-card h1{color:#323d41;text-align:center;width:100%;font-size:24px;font-weight:700;line-height:32px}.signin-form{flex-direction:column;gap:32px;width:100%;display:flex}.signin-fields{flex-direction:column;align-items:flex-end;gap:8px;width:100%;display:flex}.signin-fields .input{width:100%;position:relative}.signin-fields input{color:#323d41;background:#fff;border:1px solid #c3c8c9;border-radius:32px;width:100%;height:40px;padding:0 16px;font-size:14px;font-weight:600;line-height:20px}.signin-fields .input.with-icon input{padding-right:48px}.signin-fields input::placeholder{color:#657074;font-style:italic;font-weight:600}.signin-fields input:focus-visible{border-color:var(--ink);outline:none}.signin-fields .input button{background:0 0;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:8px;right:12px}.signin-fields .input button img{width:24px;height:24px;display:block}.link-text{text-underline-position:from-font;color:#323d41;background:0 0;justify-content:center;align-items:center;height:32px;padding:0;font-size:12px;font-style:italic;line-height:20px;text-decoration:underline;display:inline-flex}.signin-actions{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.signin-buttons{flex-direction:column;gap:8px;width:100%;display:flex}.btn{white-space:nowrap;border-radius:32px;justify-content:center;align-items:center;gap:8px;height:40px;padding:8px 16px;font-size:14px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.signin-buttons .btn{width:100%}.btn img{width:24px;height:24px;display:block}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover:not(:disabled){background:#e64d30}.btn-outline{color:#323d41;background:#fff;border:1px solid #c3c8c9}.btn-outline:hover:not(:disabled){background:#fafafa}.signin-foot{color:#323d41;align-items:center;gap:8px;font-size:12px;line-height:16px;display:flex}.signin-note{color:#657074;text-align:center;width:100%;font-size:12px;line-height:16px}.signin-note.alert{color:#b2412b}.signin-card.register-card{gap:48px}.register-card h1{letter-spacing:0}.register-form,.register-groups{flex-direction:column;gap:48px;width:100%;display:flex}.register-group,.register-field{flex-direction:column;gap:8px;width:100%;display:flex}.register-field>label{color:#323d41;font-size:12px;line-height:16px}.register-field.invalid input,.register-field.invalid input:focus-visible{border-color:#b2412b}.register-error{color:#b2412b;padding-left:16px;font-size:12px;line-height:16px;display:block}.register-check-row{flex-direction:column;gap:4px;display:flex}.register-check-row .register-error{padding-left:32px}.register-check.invalid .box{border-color:#b2412b}.register-field .with-icon{display:block;position:relative}.register-field input{color:#323d41;background:#fff;border:1px solid #c3c8c9;border-radius:32px;width:100%;height:40px;padding:0 16px;font-size:14px;font-weight:500;line-height:20px}.register-field .with-icon input{padding-right:48px}.register-field input::placeholder{color:#657074;font-style:italic;font-weight:600}.register-field input:focus-visible{border-color:var(--ink);outline:none}.register-field .with-icon button{background:0 0;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:8px;right:12px}.register-field .with-icon button img{width:24px;height:24px;display:block}.register-actions{flex-direction:column;align-items:center;gap:32px;width:100%;display:flex}.register-actions .btn{width:100%}.register-actions .signin-foot{margin-top:-8px}.register-checks{flex-direction:column;gap:8px;width:100%;display:flex}.register-check{cursor:pointer;color:#3e4c51;align-items:center;gap:8px;font-size:12px;line-height:16px;display:flex;position:relative}.register-check input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.register-check .box{background:#fff;border:2px solid #323d41;border-radius:8px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.register-check.checked .box{background:#323d41;border:0}.register-check .box img{width:16px;height:16px;display:block}.register-check:has(input:focus-visible) .box{outline-offset:2px;outline:2px solid #6b8189}.register-check .text{flex-wrap:wrap;align-items:center;gap:12px 4px;display:flex}@media (max-width:599px){.signin{padding:80px 24px}.signin-card{gap:48px}.register-form,.register-groups{gap:32px}}.dash{background:#fff;min-height:100dvh;padding:140px 32px 48px 306px;position:relative}.dash-nav{flex-direction:column;width:242px;display:flex;position:absolute;top:144px;left:32px}.dash-nav button{color:#657074;text-align:left;background:0 0;border-bottom:1px solid #c3c8c9;border-radius:0;align-items:center;gap:12px;width:100%;padding:22px 12px 22px 16px;font-size:14px;font-weight:600;line-height:20px;display:flex}.dash-nav button.selected{color:#3e4c51}.dash-nav button img{width:20px;height:20px}.dash-header{align-items:center;gap:16px;height:48px;margin-bottom:24px;display:flex}.dash-header h1{letter-spacing:-1px;color:#3e4c51;flex:1;min-width:0;font-size:32px;font-weight:700;line-height:40px}.dash-search{background:#fff;border:1px solid #c3c8c9;border-radius:32px;align-items:center;gap:8px;width:240px;height:40px;padding:0 16px;display:flex}.dash-search img{width:24px;height:24px}.dash-search input{color:#3e4c51;background:0 0;border:0;flex:1;min-width:0;padding:0;font-size:14px;font-weight:600;line-height:20px}.dash-search input::placeholder{color:#657074;font-style:italic;font-weight:600}.dash-search input:focus-visible{outline:none}.dash-search:focus-within{border-color:var(--ink)}.dash-grid{grid-template-columns:repeat(auto-fill,250px);align-items:start;gap:32px 34px;display:grid}.pcard{flex-direction:column;gap:12px;width:250px;display:flex;position:relative}.pcard .thumb{cursor:pointer;background:#f3f4f4;border:1px solid #c3c8c9;border-radius:16px;width:100%;height:166px;padding:0;display:block;position:relative;overflow:hidden}.pcard .thumb>img{width:150px;height:110px;position:absolute;top:27px;left:49px}.pcard .info{align-items:center;gap:12px;width:100%;padding:0 2px;display:flex;overflow:hidden}.pcard .type{background:#fff;border:1px solid #c3c8c9;border-radius:18px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.pcard .type img{width:18px;height:18px}.pcard .text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pcard .text strong{color:#3e4c51;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.pcard .text small{color:#7e878a;white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:16px;overflow:hidden}.pcard .more{z-index:2;background:#fff;border:1px solid #c3c8c9;border-radius:18px;place-items:center;width:36px;height:36px;padding:0;display:none;position:absolute;top:11px;right:12px}.pcard .more img{width:24px;height:24px}.pcard:hover .more,.pcard:focus-within .more,.pcard.menu-open .more{display:grid}.pcard .more:hover{background:#fafafa}.pcard.new .drop{cursor:pointer;background:#fafafa;border:1px dashed #c3c8c9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:166px;padding:0;display:flex}.pcard.new .drop:hover{background:#f3f4f4}.pcard.new .plus{background:#ffefec;border-radius:22px;place-items:center;width:42px;height:42px;display:grid}.pcard.new .plus img{width:22px;height:22px}.pcard.new .drop strong{color:#3e4c51;font-size:14px;font-weight:600;line-height:20px}.pcard.new .drop small{color:#7e878a;font-size:12px;line-height:16px}.pcard.new .info{height:40px;padding-top:8px}.pcard.deleted .thumb{cursor:default;background:#fff4f1;border-color:#0000;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.pcard.deleted .thumb>img{width:24px;height:24px;position:static}.pcard.deleted .undo{background:var(--orange);color:#fff;border-radius:32px;height:36px;padding:0 24px;font-size:14px;font-weight:600}.pcard.deleted .undo:hover{background:#e64d30}.cmenu{z-index:10;background:#fff;border-radius:16px;flex-direction:column;gap:2px;width:196px;padding:8px;display:flex;position:absolute;top:44px;right:12px;box-shadow:0 6px 20px #3e4c5124}.cmenu button{color:#3e4c51;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px 16px 8px 12px;font-size:14px;font-weight:500;line-height:20px;display:flex}.cmenu button img{width:18px;height:18px}.cmenu button:hover:not(:disabled){background:#f3f4f4}.cmenu button.danger{color:#b2412b}.dash-empty{color:#7e878a;grid-column:1/-1;padding:8px 0;font-size:13px}.dash-error{max-width:640px;margin-bottom:16px}.pmodal{background:#fff;border-radius:16px;flex-direction:column;gap:20px;width:440px;max-width:calc(100vw - 32px);padding:32px 32px 28px;display:flex;box-shadow:0 24px 64px #3e4c5133}.pmodal h2{color:#3e4c51;margin:0 0 6px;font-size:24px;font-weight:700;line-height:36px}.pmodal .sub{color:#657074;margin:0;font-size:13px;line-height:1.5}.pmodal .body{color:#3e4c51;margin:0;font-size:13px;line-height:1.5}.pmodal label{color:#3e4c51;flex-direction:column;gap:8px;font-size:12px;font-weight:600;line-height:18px;display:flex}.pmodal input{color:#3e4c51;background:#fbfbfa;border:1px solid #c3c8c9;border-radius:10px;height:48px;padding:12px 14px;font-size:14px;font-weight:500;line-height:21px}.pmodal input:focus-visible{border-color:var(--ink);outline:none}.pmodal .row{justify-content:flex-end;align-items:center;gap:12px;margin:0;display:flex}.pmodal .cancel{color:#657074;background:0 0;border-radius:999px;height:41px;padding:10px 14px;font-size:14px;font-weight:600;line-height:21px}.pmodal .cancel:hover:not(:disabled){background:#f3f4f4}.pmodal .create{background:var(--orange);color:#fff;border-radius:999px;height:41px;padding:10px 22px;font-size:14px;font-weight:600;line-height:21px}.pmodal .create:hover:not(:disabled){background:#e64d30}.pmodal .job-error{margin:0}.pmodal .export-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.pmodal .export-label{color:#657074;font-size:12px;font-weight:500;line-height:normal}.export-segmented{background:#ecedee;border-radius:999px;gap:4px;padding:3px;display:flex}.export-segmented button{color:#657074;white-space:nowrap;background:0 0;border-radius:999px;flex:1;min-width:0;padding:6px 4px;font-size:12px;font-weight:600;line-height:normal}.export-segmented button:hover:not(.selected){background:#e2e4e5}.export-segmented button.selected{color:#fff;background:#3e4c51}.export-checks{flex-wrap:wrap;gap:6px 8px;display:flex}.pmodal label.export-check{color:#3e4c51;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f6f7f7;border-radius:999px;flex-direction:row;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:500;line-height:normal;transition:background .15s;position:relative}.pmodal label.export-check:hover{background:#ecedee}.pmodal label.export-check.checked{background:#ffefec}.pmodal label.export-check:has(input:focus-visible){outline-offset:2px;outline:2px solid #6b8189}.pmodal .export-check input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.export-check .box{color:#3e4c51;background:#fff;border:1px solid #c3c8c9;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;display:flex}.export-check.checked .box{border:1.25px solid #3e4c51}.pmodal .pmodal-form{flex-direction:column;gap:20px;margin:0;display:flex}.pmodal .pmodal-body{flex-direction:column;gap:12px;display:flex}.pmodal .fields{align-items:flex-start;gap:12px;display:flex}.pmodal .fields label{flex:1;min-width:0}.pmodal .fields input{border-width:1.5px;width:100%;padding:12px 14px}.pmodal .fields input[aria-invalid=true]{border-color:#bf3b22}.pmodal .preview{background:#f6f7f7;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.pmodal .preview strong{color:#3e4c51;font-size:13px;font-weight:600;line-height:normal}.pmodal .preview p{color:#657074;margin:0;font-size:12px;line-height:normal}@media (max-width:999px){.dash{padding:128px 32px 48px}.dash-nav{flex-direction:row;gap:8px;width:auto;margin-bottom:24px;position:static}.dash-nav button{border:0;border-radius:32px;width:auto;height:36px;padding:0 12px}.dash-nav button.selected{background:#f3f4f4}.dash-header{margin-bottom:8px}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.pcard{width:auto}.pcard .thumb>img{top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:599px){.dash{padding:92px 16px 32px}.page-logo{top:18px;left:16px}.page-account{top:24px;right:16px}.dash-header{flex-direction:column;align-items:stretch;gap:12px;height:auto}.dash-header h1{font-size:28px}.dash-search,.dash-header .btn{width:100%}.dash-grid{grid-template-columns:1fr;gap:16px}.pcard .more{display:grid}}@media (pointer:coarse){.pcard .more{display:grid}}@media (max-width:999px){.dash{flex-direction:column;display:flex}.dash-header{order:1;margin-bottom:20px}.dash-nav{order:2;margin-bottom:24px}.dash-grid,.dash-error,.dash-empty{order:3}}.pcard .thumb .thumb-plan{width:150px;height:110px;position:absolute;top:27px;left:49px}.pcard .thumb .thumb-empty{color:#a6adaf;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}@media (max-width:999px){.pcard .thumb .thumb-plan{top:50%;left:50%;transform:translate(-50%,-50%)}}.rail.rail-right{left:auto;right:var(--gutter)}.shell.left-collapsed{--left-w:56px}.shell.left-collapsed .panel-left{display:none}.shell.left-collapsed .rail:not(.rail-right){display:flex}.shell.right-collapsed{--right-w:56px}.shell.right-collapsed .panel-right,.rail-right{display:none}.shell.right-collapsed .rail-right{display:flex}.rail .rail-expand{color:var(--muted);border-radius:12px}.rail .rail-expand .flip{transform:rotate(180deg)}@media (max-width:1199px){.shell.left-collapsed.left-open .panel-left{display:flex}.shell.left-collapsed.left-open .rail:not(.rail-right){display:none}}@media (max-width:999px){.rail-right,.shell.right-collapsed .rail-right{display:none}.shell.right-collapsed{--right-w:0px}.shell.right-collapsed.inspector-open .panel-right{display:flex}}.toast{left:50%;bottom:calc(var(--dock-h) + var(--gutter) * 2 + 8px);width:max-content;max-width:min(620px,100vw - 32px);min-height:60px;box-shadow:var(--shadow);z-index:36;background:#fff;border-radius:20px;align-items:center;gap:14px;padding:12px 12px 12px 16px;display:flex;position:absolute;transform:translate(-50%)}.toast-icon{background:var(--rule);width:36px;height:36px;color:var(--ink);border-radius:20px;flex-shrink:0;place-items:center;display:grid}.toast-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.toast-copy strong{color:var(--ink);font-size:13px;font-weight:600;line-height:16px}.toast-copy span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:14px;overflow:hidden}.toast-undo{border:1px solid var(--line);height:32px;color:var(--ink);background:#fff;border-radius:32px;flex-shrink:0;padding:0 12px;font-size:12px;font-weight:600}.toast-undo:hover:not(:disabled){background:var(--cream)}.toast-dismiss{width:28px;height:28px;color:var(--muted);background:0 0;border-radius:16px;flex-shrink:0;place-items:center;padding:0;display:grid}.toast-dismiss:hover{background:var(--rule);color:var(--ink)}@media (max-width:819px){.shell-notices{bottom:auto;top:calc(var(--top) + 40px)}.shell-notices .toast{width:100%}}.floor-row{position:relative}.floor-more{width:24px;height:24px;color:var(--ink);background:0 0;border-radius:12px;place-items:center;padding:0;display:none;position:absolute;top:8px;right:8px}.floor-more:hover{background:#fff}.floor-row:hover .floor-more,.floor-row:focus-within .floor-more,.floor-row.menu-open .floor-more{display:grid}.floor-row:hover .floor-number,.floor-row:focus-within .floor-number,.floor-row.menu-open .floor-number{visibility:hidden}.floor-row.menu-open .floor-button{background:var(--rule)}.cmenu.floor-menu{top:44px;left:auto;right:-8px}.cmenu.floor-menu button img,.cmenu.floor-menu button svg{color:inherit}.floor-row .floor-button.renaming{box-shadow:inset 0 0 0 1px var(--ink);color:var(--muted);cursor:text;background:#fff;align-items:center;gap:12px;padding:0 12px;display:flex}.floor-row.renaming .floor-number,.floor-row.renaming:hover .floor-number{visibility:visible}.floor-row.renaming .floor-more{display:none}.floor-rename{min-width:0;height:20px;color:var(--ink);caret-color:var(--ink);background:0 0;border:0;border-radius:0;flex:1;padding:0;font-size:14px;font-weight:600;line-height:20px}.floor-rename:focus-visible{outline:none}.floor-row.removed{border-radius:var(--r-row);height:58px;color:var(--muted-2);background:#fef4f1;align-items:center;gap:10px;padding:0 8px 0 12px;display:flex}.floor-row.removed .floor-icon{color:var(--orange);place-items:center;display:grid}.floor-row.removed .floor-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.floor-row.removed .floor-text span{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.floor-row.removed .floor-text small{font-size:12px}.floor-undo{background:var(--orange);color:#fff;border-radius:999px;height:28px;padding:0 12px;font-size:12px;font-weight:600}.floor-undo:hover:not(:disabled){background:#e64d30}.floor-error{color:#b2412b;padding:4px 12px 6px;font-size:11px;line-height:1.5}.floor-row .floor-button{touch-action:pan-y;-webkit-user-select:none;user-select:none}.floor-row.shifting{transition:transform .15s}.floor-row.dragging{pointer-events:none;transition:none}.floor-row.dragging .floor-button{background:var(--panel);box-shadow:var(--shadow);cursor:grabbing}.floor-row.dragging .floor-more,.floor-row.dragging .floor-number,nav.reordering .floor-more{display:none}@media (pointer:coarse){.floor-more{display:grid}.floor-number{visibility:hidden}}.floor-row .floor-button{flex:none;width:100%;height:40px}.panel-left nav .floor-row{margin:0 0 4px}@keyframes rail-in{0%{opacity:0;transform:translateX(var(--rail-from,-8px)) scale(.96)}to{opacity:1;transform:none}}@media (min-width:1200px){.panel-left{transition:opacity .2s,transform .22s cubic-bezier(.2,.7,.2,1),visibility linear}.shell.left-collapsed .panel-left{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,transform .18s,visibility 0s linear .18s;display:flex;transform:translate(-14px)scale(.985)}.shell.left-collapsed .rail:not(.rail-right){animation:.22s cubic-bezier(.2,.7,.2,1) both rail-in}}@media (min-width:1000px){.panel-right{transition:opacity .2s,transform .22s cubic-bezier(.2,.7,.2,1),visibility linear}.shell.right-collapsed .panel-right{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,transform .18s,visibility 0s linear .18s;display:flex;transform:translate(14px)scale(.985)}.shell.right-collapsed .rail-right{--rail-from:8px;animation:.22s cubic-bezier(.2,.7,.2,1) both rail-in}}.status-pill,.canvas-hint,.comment-mode-hint,.comment-preview-banner,.canvas-stage .empty-view,.assembly-canvas-hint,.assembly-shell .assembly-status{transition:left .22s cubic-bezier(.2,.7,.2,1),right .22s cubic-bezier(.2,.7,.2,1),padding .22s cubic-bezier(.2,.7,.2,1)}.rail .fab{transition:background .15s,color .15s,transform .15s}.rail .fab:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.top-center-thumb,.top-center button,.inspector-tabs-thumb,.inspector-tabs button{transition:none}.panel-tab{animation:none}.panel-left,.panel-right,.status-pill,.canvas-hint,.comment-mode-hint,.comment-preview-banner,.canvas-stage .empty-view,.assembly-canvas-hint,.assembly-shell .assembly-status{transition:none}.rail,.rail-right{animation:none!important}}.unit-switch{color:var(--ink);align-items:center;gap:6px;font-size:12px;display:inline-flex;position:relative}.unit-trigger{border:1px solid var(--line);height:34px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:32px;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:12px;font-weight:600;display:inline-flex}.unit-trigger svg{color:var(--muted-2)}.unit-trigger:hover{background:var(--cream)}.unit-trigger[aria-expanded=true]{border-color:var(--ink)}.unit-trigger:disabled{background:var(--line);border-color:var(--line);color:var(--muted);cursor:not-allowed}.unit-trigger:disabled svg{color:var(--muted)}.unit-menu{border:1px solid var(--rule);z-index:50;background:#fff;border-radius:12px;flex-direction:column;gap:2px;width:224px;padding:6px;animation:.16s unit-menu-in;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 6px 20px #00000024}@keyframes unit-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.unit-menu button{height:30px;color:var(--ink);text-align:left;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.unit-menu button:hover{background:var(--cream)}.unit-menu button.selected{background:#f6f7f7;font-weight:600}.unit-menu button span{color:var(--orange);font-size:12px;font-weight:600}.unit-menu p{color:var(--muted);margin:2px 4px 0;font-size:11px;line-height:14px}:is(.plan-canvas .plan-tools,.dock) :is(.unit-menu,.select-menu,.tool-menu) button{height:30px;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:500}:is(.plan-canvas .plan-tools,.dock) :is(.unit-menu,.select-menu,.tool-menu) button:hover:not(:disabled){background:var(--cream)}:is(.plan-canvas .plan-tools,.dock) :is(.unit-menu,.select-menu,.tool-menu) button.selected{color:var(--ink);background:#f6f7f7;font-weight:600}.dock .unit-switch select,.plan-canvas .plan-cursor-status .unit-switch select{display:none}.plan-canvas .plan-cursor-status .unit-switch{background:0 0;padding:0}.dock .unit-switch>span{display:none}.inspector-tabs{padding-right:12px;overflow:hidden}.inspector-tabs .fab{flex-shrink:0}.unit-menu{white-space:normal}.unit-menu p{white-space:normal;overflow-wrap:anywhere}.select-trigger{border:1px solid var(--line);height:36px;color:var(--ink);white-space:nowrap;text-align:left;background:#fff;border-radius:32px;justify-content:space-between;align-items:center;gap:8px;max-width:100%;padding:0 10px 0 12px;font-size:13px;font-weight:500;display:inline-flex}.select-trigger .select-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.select-trigger svg{color:var(--muted-2);flex-shrink:0}.select-trigger:hover:not(:disabled){background:var(--cream)}.select-trigger[aria-expanded=true]{border-color:var(--ink)}.select-trigger:disabled{opacity:.5;cursor:not-allowed}.select-trigger.ghost{background:0 0;border:0;gap:6px;height:auto;padding:0;font-size:14px;font-weight:600}.select-trigger.ghost:hover:not(:disabled){color:var(--muted-2);background:0 0}.select-trigger.ghost:disabled{opacity:1;color:var(--ink);cursor:default}.select-trigger.ghost:disabled svg{visibility:hidden}.field .select-trigger,.plan-source-fields .select-trigger,.pmodal .select-trigger,.modal .select-trigger,.assembly-library .select-trigger,.door-controls .select-trigger,.room-finish-controls .select-trigger,.plan-properties .select-trigger,.glazing-controls .select-trigger{border-radius:12px;width:100%;height:40px}.plan-tools .select-trigger,.plan-picture-controls .select-trigger,.dock .select-trigger{height:32px;font-size:12px}.select-menu{z-index:1000;border:1px solid var(--rule);white-space:normal;background:#fff;border-radius:12px;outline:none;flex-direction:column;gap:2px;max-height:320px;padding:6px;animation:.16s unit-menu-in;display:flex;position:fixed;overflow:auto;box-shadow:0 6px 20px #00000024}.select-menu.up{transform:translateY(-100%)}.select-menu button{min-height:30px;color:var(--ink);text-align:left;white-space:nowrap;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.select-menu button.active,.select-menu button:hover:not(:disabled){background:var(--cream)}.select-menu button.selected{background:#f6f7f7;font-weight:600}.select-menu button:disabled{opacity:.45;cursor:not-allowed}.select-menu button span{color:var(--orange);font-size:12px;font-weight:600}.floor-picker{white-space:nowrap}.top-center.disabled{opacity:.4}.top-center button:disabled{cursor:not-allowed;opacity:1}.building-button:disabled{opacity:.4;cursor:not-allowed}.floor-row .floor-button{padding-right:12px}.floor-more{right:6px}.upload-alert{z-index:1;color:#b2412b;text-align:left;background:#faebe5;border-radius:12px;align-items:flex-start;gap:14px;width:616px;max-width:calc(100% - 32px);margin-bottom:16px;padding:14px 12px 14px 16px;display:flex;position:relative}.upload-alert-icon{width:36px;height:36px;color:var(--orange);background:#fff;border-radius:18px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;line-height:1;display:grid}.upload-alert-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-alert .upload-alert-text strong{color:#b2412b;overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5}.upload-alert .upload-alert-text p{color:#b2412b;margin:0;font-size:13px;line-height:1.5}.upload-alert-actions{gap:16px;padding-top:6px;display:flex}.upload-alert-actions button{color:#b2412b;background:0 0;padding:0;font-size:13px;font-weight:600;line-height:1.5}.upload-alert-actions button:hover{text-decoration:underline}.upload-alert-close{color:#b2412b;background:0 0;flex-shrink:0;padding:0 6px;font-size:18px;font-weight:500;line-height:27px}.shell-notices .upload-alert{width:auto;max-width:none;box-shadow:var(--shadow);margin:0}.drop-card{z-index:1;border:1px dashed var(--line);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:20px;width:616px;max-width:calc(100% - 32px);padding:40px 48px;transition:border-color .15s,background .15s;display:flex;position:relative}.drop-card.over{border-color:var(--orange);background:#fffaf8}.drop-icon{width:72px;height:72px;color:var(--orange);background:#feece7;border-radius:36px;place-items:center;display:grid}.drop-card h2{color:var(--ink);letter-spacing:0;font-size:20px;font-weight:600;line-height:30px}.drop-card p{color:var(--muted-2);max-width:520px;margin:0;font-size:14px;line-height:21px}.drop-card .primary{height:41px;padding:0 20px}.drop-card .secondary{height:43px;padding:0 17px;font-size:14px}.drop-or{color:var(--muted-2);align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.drop-or i{border-top:1px solid #e2e3dc;width:48px}.drop-card small{color:var(--muted-2);font-size:12px;line-height:18px}.canvas-stage .empty-view:has(.drop-card){justify-content:center;align-items:center;display:flex}@media (max-width:819px){.drop-card{gap:16px;padding:28px 20px}.drop-card h2{font-size:18px;line-height:26px}}.panel-left nav .floor-row.removed{border-radius:var(--r-row);background:#fef4f1;flex-direction:row;align-items:center;gap:10px;height:58px;margin:0 0 4px;padding:0 8px 0 12px;display:flex}.floor-row.removed .floor-icon{width:20px;color:var(--orange);flex-shrink:0;place-items:center;display:grid}.floor-row.removed .floor-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.floor-row.removed .floor-text span{color:var(--muted-2);font-size:14px;font-weight:600;line-height:20px}.floor-row.removed .floor-text small{color:var(--muted-2);font-size:12px;line-height:16px}.floor-row.removed .floor-number{color:var(--faint);margin-right:4px;font-size:8px;font-weight:700}.floor-undo{background:var(--orange);color:#fff;border-radius:999px;flex-shrink:0;height:28px;padding:0 12px;font-size:12px;font-weight:600}.revisions-label{letter-spacing:1px;color:var(--muted);margin:16px 0 10px;font-size:9px;font-weight:600}.revisions{flex-direction:column;display:flex}.panel-body .revision,.plan-panel-body .revision{border:0;border-radius:10px;align-items:flex-start;gap:10px;padding:8px;display:flex}.panel-body .revision.current,.plan-panel-body .revision.current{background:#f6f7f7}.panel-body .revision .status-dot,.plan-panel-body .revision .status-dot{background:#c6d0bb;border-radius:4px;flex-shrink:0;width:8px;height:8px;margin:4px 0 0}.panel-body .revision.current .status-dot,.plan-panel-body .revision.current .status-dot{background:var(--orange)}.revision-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.revision-line{white-space:nowrap;align-items:center;gap:6px;display:flex}.panel-body .revision strong,.plan-panel-body .revision strong{color:var(--ink);font-size:12px;font-weight:600}.revision-line time{color:var(--muted);font-size:11px}.revision-text>span{color:var(--ink);font-size:12px;font-weight:500;line-height:1.3}.panel-body .revision .text-button{color:var(--muted-2);flex-shrink:0;padding:0;font-size:11px;font-weight:500}.panel-body .revision .text-button:hover{color:var(--ink)}.chip-current{color:var(--orange);background:#ffefec;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.removed-floors-section{margin-top:10px}.removed-floor{border-top:1px solid var(--rule);align-items:center;gap:10px;padding:8px 0;display:flex}.removed-floor:last-of-type{border-bottom:1px solid var(--rule)}.removed-floor-icon{background:var(--rule);width:32px;height:32px;color:var(--muted-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.removed-floor-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.removed-floor-text span{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.removed-floor-text small{color:var(--muted);font-size:11px}.removed-floor .secondary{flex-shrink:0;height:32px;padding:0 12px;font-size:12px}.review-tab .section-label{margin:16px 0 8px}.review-anchor{color:var(--muted-2);margin:0 0 8px;font-size:12px}.review-box{resize:none;height:48px;min-height:48px;margin-bottom:8px;padding:10px 12px;font-size:12px;line-height:16px}.review-box::placeholder{color:var(--faint)}.review-tab .primary.full{background:var(--ink)}.report-head{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.report-head .section-label{margin:0}.chip{background:var(--rule);height:20px;color:var(--muted-2);white-space:nowrap;border-radius:10px;align-items:center;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.chip.green{color:#2e7d32;background:#e6f4ea}.chip.amber{color:#9a6b12;background:#fff0d6}.review-tab .reference-analysis,.review-tab .model-review{margin:0}.review-tab details{border:0;margin:0;padding:0}.review-tab details>summary{min-height:40px;color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:13px;font-weight:500;list-style:none;display:flex}.review-tab details>summary::-webkit-details-marker{display:none}.review-tab details>summary>span{flex:1;min-width:0}.review-tab details>summary:after{content:"";border-right:1.5px solid var(--muted-2);border-bottom:1.5px solid var(--muted-2);flex-shrink:0;width:6px;height:6px;margin:0 6px 0 2px;transition:transform .15s;transform:rotate(-45deg)}.review-tab details[open]>summary{background:var(--cream)}.review-tab details[open]>summary:after{margin-top:-3px;transform:rotate(45deg)}.acc-count{background:var(--rule);min-width:20px;height:20px;color:var(--muted-2);border-radius:10px;place-items:center;padding:0 6px;font-size:11px;font-style:normal;font-weight:600;display:inline-grid}.review-tab details>summary:hover{background:var(--cream)}.review-tab details>:not(summary){margin:8px 0}.review-tab details .annotation-note{border:1px solid var(--rule);color:var(--muted-2);border-radius:12px;margin:6px 0;padding:10px 12px;font-size:12px;line-height:1.5}.review-tab details .annotation-note strong{color:var(--ink);margin:0 0 2px;font-weight:600;display:block}.review-tab details .annotation-note>span{display:block}.review-tab details .annotation-note .text-button{padding:4px 0 0;font-size:12px}.review-tab details .hint,.review-tab details p.hint{padding:0 10px}.review-tab details.found>summary{letter-spacing:1.4px;color:var(--faint);text-transform:uppercase;padding-left:10px;font-size:9px;font-weight:700}.review-tab .model-review .section-label{margin-top:16px}.review-tab .model-review details>div{padding:0 10px}.review-tab .model-review details strong{letter-spacing:1px;text-transform:uppercase;color:var(--faint);margin:10px 0 4px;font-size:11px;display:block}.review-tab .model-review .model-note{color:var(--ink);padding:6px 0}.review-tab .issue{border-radius:12px}.review-tab .construction-status{color:var(--muted-2);margin:8px 0;padding:0 10px;font-size:12px}.review-tab .construction-status strong{color:var(--ink);margin-bottom:4px;display:block}.review-tab .optional-measurements{border-radius:12px;font-size:12px}.review-tab .proposal{margin-top:16px}.comments-toolbar{gap:8px;margin:12px 0 16px;display:flex}.comments-toolbar .primary,.comments-toolbar .secondary{white-space:nowrap;flex:1;height:36px;padding:0 12px;font-size:12px}.comments-toolbar .primary{background:var(--ink)}.comments-filter{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.comments-filter .section-label{margin:0}.comments-filter .text-button{padding:0;font-size:12px}.comment-batch-selection{background:var(--cream);color:var(--muted-2);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:12px;display:flex}.comment-batch-selection span{flex:1}.comment-batch-selection .secondary{height:28px;padding:0 10px;font-size:11px}.panel-body .comment-card{background:var(--cream);border:0;border-radius:12px;margin:0 0 12px;padding:12px}.panel-body .comment-card.active{box-shadow:none;outline:1px solid var(--ink)}.panel-body .comment-card.resolved{background:#f6f7f7}.comment-card-top,.comment-heading{gap:8px}.comment-heading>span:nth-child(2){color:var(--ink);font-size:13px;font-weight:600}.comment-heading .chip{flex-shrink:0;margin-left:auto}.comment-number{background:var(--orange);min-width:22px;height:22px;font-size:11px}.comment-note{color:var(--ink);margin:8px 0;font-size:13px;line-height:1.5}.comment-card time{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.comment-photo{border:0;border-radius:6px;width:44px;height:44px}.panel-body .comment-proposal{border:1px solid var(--rule);background:#fff;border-radius:12px;margin-top:10px;padding:12px}.proposal-head{color:var(--muted-2);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;display:flex}.proposal-head strong{color:var(--muted-2);font-weight:600}.panel-body .comment-proposal>p{color:var(--ink);margin:0 0 10px;font-size:12px;line-height:1.5}.proposal-preview{color:var(--ink);align-items:center;gap:6px;padding:0 0 10px;font-size:12px;display:inline-flex}.panel-body .comment-proposal .primary.full{background:var(--ink);height:36px;font-size:13px}.proposal-actions{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.proposal-actions .text-button{padding:4px 0;font-size:12px}.proposal-actions i{background:var(--line);width:1px;height:12px}.panel-body .comment-card{border:1px solid #0000;transition:border-color .15s,background .15s}.panel-body .comment-card:hover{border-color:var(--rule)}.panel-body .comment-card.active{border-color:var(--line);box-shadow:var(--shadow);background:#fff;outline:0}.comment-card-top{align-items:flex-start}.comment-card-top>input{margin:4px 0 0 auto}.comment-heading{align-items:flex-start}.comment-number{flex-shrink:0;font-weight:600}.panel-body .comment-number.resolved{background:var(--faint)}.comment-heading .comment-title{min-width:0;color:var(--ink);flex:1;font-size:13px;font-weight:600;line-height:22px}.comment-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px;display:flex}.comment-meta time{color:var(--muted);margin:0;font-size:11px;font-weight:400;line-height:14px;display:block}.comment-meta .chip{border-radius:9px;height:18px;margin:0;padding:0 7px;font-size:10px;font-weight:600}.chip.live{background:var(--orange-soft);color:var(--orange)}.chip.live:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.6s ease-in-out infinite generation-pulse}.comment-body{padding-left:30px}.panel-body .comment-body .comment-note{color:var(--ink);margin:4px 0 0;font-size:13px;line-height:1.5}.panel-body .comment-ai-status{background:var(--cream);border:1px solid var(--rule);color:var(--muted-2);border-radius:12px;flex-direction:column;gap:8px;margin:12px 0 0;padding:12px;font-size:12px;line-height:1.5;display:flex}.panel-body .comment-card.active .comment-ai-status{background:var(--cream)}.comment-ai-head{align-items:center;gap:8px;display:flex}.comment-ai-spinner{width:24px;height:24px;color:var(--orange);background:#ffefec;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.comment-ai-spinner svg{animation:1.6s ease-in-out infinite generation-pulse}.comment-ai-head strong{color:var(--ink);flex:1;font-size:12px;font-weight:600}.comment-ai-head .elapsed-time{color:var(--muted);font-size:11px}.comment-ai-status>p{overflow-wrap:anywhere;margin:0}.comment-ai-status .generation-progress{height:3px}.panel-body .comment-ai-status .secondary.full{border-color:var(--line);height:32px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px;font-size:12px}.panel-body .comment-ai-status .secondary.full:hover:not(:disabled){border-color:var(--ink)}.panel-body .comment-ai-failed{background:var(--orange-soft);color:var(--muted-2);border:1px solid #f5d3c9;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;margin:12px 0 0;padding:12px;font-size:12px;line-height:1.5;display:flex}.comment-ai-failed .comment-ai-head{align-self:stretch}.comment-ai-icon{width:24px;height:24px;color:var(--orange);background:#ffe3dc;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.comment-ai-icon svg{width:14px;height:14px}.comment-ai-failed>p{margin:0 0 0 32px}.comment-ai-failed .failure-link{text-underline-offset:2px;margin-left:32px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.chip.live:before,.comment-ai-spinner svg{animation:none}}.panel-body .comment-card>.primary.full{background:var(--ink);border-radius:8px;height:36px;margin-top:12px;font-size:12px}.panel-body .comment-bottom{border-top:1px solid var(--rule);margin-top:12px;padding-top:10px}.panel-body .comment-bottom .text-button{gap:6px;padding:4px 0;font-size:12px}.panel-body .comment-bottom .text-button.danger:hover:not(:disabled){color:#c2331c}.panel-body .comment-delete{border-top:1px solid var(--rule);color:var(--muted-2);background:0 0;border-radius:0;margin-top:12px;padding:12px 0 0;font-size:12px;line-height:1.5}.comment-delete>strong{color:var(--ink);font-size:13px;font-weight:600;display:block}.comment-delete>p{margin:2px 0 0}.comment-delete-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.panel-body .comment-delete-actions button{border-radius:8px;height:34px;padding:0 12px;font-size:12px;font-weight:600}.panel-body .comment-delete-actions .secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.panel-body .comment-delete-actions .secondary:hover:not(:disabled){border-color:var(--ink)}.comment-delete-actions .danger{color:#fff;background:#d63a1f;justify-content:center;align-items:center;gap:6px;display:inline-flex}.comment-delete-actions .danger:hover:not(:disabled){background:#b52f18}.panel-body{padding:20px}.panel-body>:first-child,.panel-body>div:first-child>:first-child{margin-top:0}.panel-body>.muted:first-child{margin:0 0 12px}.comments-toolbar{margin:0 0 16px}.comments-toolbar:empty{display:none}.review-tab .section-label:first-child,.panel-body .inspector-title:first-child,.next-steps{margin-top:0}.plan-canvas .plan-tools .tool{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:18px;place-items:center;padding:0;display:grid}.plan-canvas .plan-tools .tool:hover:not(:disabled){background:var(--cream)}.plan-canvas .plan-tools .tool.selected,.plan-canvas .plan-tools .tool.selected:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}.plan-canvas .plan-tools .tool:disabled{opacity:1;background:var(--line);border-color:var(--line);color:var(--muted)}.plan-canvas .plan-tools .tool-divider{background:var(--line);flex-shrink:0;width:1px;height:24px;margin:0 2px}.plan-canvas .plan-tools .preview-toggle{align-items:center;gap:2px;display:flex}.plan-canvas .plan-tools .preview-toggle button{border-radius:var(--r-pill);height:32px;color:var(--muted-2);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;line-height:20px;transition:color .22s,background-color .22s;display:inline-flex}.plan-canvas .plan-tools .preview-toggle button:hover:not(:disabled):not(.selected){color:var(--ink)}.plan-canvas .plan-tools .preview-toggle button.selected{background:var(--ink);color:#fff}.plan-canvas .plan-tools .preview-toggle button:disabled{color:var(--muted);cursor:not-allowed;background:0 0}.plan-canvas .plan-shell .plan-tools{left:calc(50% + (var(--left-w) - var(--right-w)) / 2);bottom:var(--gutter);align-items:center;margin:0;display:flex;position:absolute;transform:translate(-50%)}:is(.plan-canvas .plan-tools,.dock) .tool-popover-anchor{align-items:center;gap:2px;display:flex;position:relative}.plan-canvas .plan-tools .tool-switch{height:32px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:0;padding:0 4px 0 10px;font-size:12px;font-weight:600;display:flex}.plan-canvas .plan-tools .tool-switch input{opacity:0;width:0;height:0;position:absolute}:is(.plan-canvas .plan-tools,.dock) .switch-track{background:var(--line);border-radius:8px;flex-shrink:0;width:28px;height:16px;transition:background .15s;position:relative}:is(.plan-canvas .plan-tools,.dock) .switch-track:after{content:"";background:#fff;border-radius:6px;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.plan-canvas .plan-tools .tool-switch input:checked+.switch-track{background:var(--ink)}.plan-canvas .plan-tools .tool-switch input:checked+.switch-track:after{transform:translate(12px)}.plan-canvas .plan-tools .tool-switch input:disabled+.switch-track{opacity:.4}.plan-canvas .plan-tools .tool-switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #6b8189}.plan-canvas .plan-tools .tool-more{width:24px;height:24px;color:var(--muted-2);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.plan-canvas .plan-tools .tool-more:hover,.plan-canvas .plan-tools .tool-more[aria-expanded=true]{background:var(--rule);color:var(--ink)}:is(.plan-canvas .plan-tools,.dock) .tool-pill{border-radius:var(--r-pill);border:1px solid var(--line);height:34px;color:var(--ink);white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}:is(.plan-canvas .plan-tools,.dock) .tool-pill svg{color:var(--muted-2)}:is(.plan-canvas .plan-tools,.dock) .tool-pill[aria-expanded=true]{border-color:var(--ink)}:is(.plan-canvas .plan-tools,.dock) .tool-pill:disabled{background:var(--line);border-color:var(--line);color:var(--muted);cursor:not-allowed}:is(.plan-canvas .plan-tools,.dock) .tool-pill:disabled svg{color:var(--muted)}:is(.plan-canvas .plan-tools,.dock) .tool-popover{width:300px;box-shadow:var(--shadow);color:var(--ink);cursor:default;text-align:left;background:#fff;border-radius:16px;flex-direction:column;align-items:stretch;gap:10px;padding:14px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 12px);left:0}.plan-canvas .plan-tools .tool-popover label{align-items:flex-start}.plan-canvas .plan-tools .plan-canvas .plan-tools .plan-canvas .plan-tools .plan-canvas .plan-tools .tool-popover label{color:var(--muted-2);flex-direction:column;gap:4px;margin:0;font-size:12px;display:flex}.plan-canvas .plan-tools .tool-popover label.check-row{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.plan-canvas .plan-tools .tool-popover select,.plan-canvas .plan-tools .tool-popover input[type=range]{width:100%}.plan-canvas .plan-tools .plan-canvas .plan-tools .plan-canvas .plan-tools .tool-popover .hint{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.plan-canvas .plan-tools .tool-popover .secondary{height:32px;font-size:12px}:is(.plan-canvas .plan-tools,.dock) .tool-menu{border:1px solid var(--rule);border-radius:12px;gap:2px;width:224px;padding:6px;animation:.16s unit-menu-in;box-shadow:0 6px 20px #00000024}.tool-menu .menu-label{color:var(--muted);margin:4px 10px 2px;font-size:11px;font-weight:600}.tool-menu [role=radiogroup]{flex-direction:column;gap:2px;display:flex}.tool-menu hr{border:0;border-top:1px solid var(--rule);margin:4px 0}:is(.plan-canvas .plan-tools,.dock) .tool-menu button{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}:is(.plan-canvas .plan-tools,.dock) .tool-menu button span{color:var(--orange);font-size:12px;font-weight:600}:is(.plan-canvas .plan-tools,.dock) .tool-menu button:disabled{opacity:.45;color:var(--ink);cursor:not-allowed;background:0 0}:is(.plan-canvas .plan-tools,.dock) .tool-menu .menu-action{justify-content:flex-start}.tool-menu .menu-action svg{color:var(--muted-2)}:is(.plan-canvas .plan-tools,.dock) .tool-menu .menu-switch{height:30px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.tool-menu .menu-switch:hover{background:var(--cream)}.tool-menu .menu-switch input{opacity:0;width:0;height:0;position:absolute}.tool-menu .menu-switch input:checked+.switch-track{background:var(--ink)}.tool-menu .menu-switch input:checked+.switch-track:after{transform:translate(12px)}.tool-menu .menu-switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #6b8189}:is(.plan-canvas .plan-tools,.dock) .tool-menu .hint{margin:4px 10px 6px}.plan-canvas .plan-tools .picture-menu{width:240px}.plan-canvas .plan-tools .view-menu{width:260px;left:auto;right:0}.plan-canvas .plan-tools .view-menu .menu-tabs{background:var(--rule);border-radius:999px;gap:4px;margin:0 0 4px;padding:3px;display:flex}.plan-canvas .plan-tools .view-menu .menu-tabs button{white-space:nowrap;height:26px;color:var(--muted-2);background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;padding:0 4px;font-size:12px;font-weight:600}.plan-canvas .plan-tools .view-menu .menu-tabs button:hover:not(.selected){color:var(--ink)}.plan-canvas .plan-tools .view-menu .menu-tabs button.selected{background:var(--ink);color:#fff}.tool-menu button em{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.tool-menu .menu-chips{flex-wrap:wrap;gap:4px;padding:0 6px 4px;display:flex}.plan-canvas .plan-tools .tool-menu .menu-chips button{border:1px solid var(--line);border-radius:8px;justify-content:center;width:28px;height:26px;padding:0;font-size:12px}.plan-canvas .plan-tools .tool-menu .menu-chips button.selected{border-color:var(--ink);background:var(--ink);color:#fff}.plan-canvas .plan-tools .tool-menu .menu-range{color:var(--ink);flex-direction:column;gap:6px;margin:0;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.tool-menu .menu-range>span{justify-content:space-between;align-items:center;display:flex}.tool-menu .menu-range output{color:var(--muted-2);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.plan-canvas .plan-tools .tool-menu .menu-range input[type=range]{width:100%;accent-color:var(--ink);margin:0}.tool-menu .menu-range input[type=range]:disabled{opacity:.4}.plan-canvas .plan-tools .unit-switch>span{display:none}.plan-canvas .plan-tools .unit-menu{top:auto;bottom:calc(100% + 12px)}.plan-canvas .plan-topline{z-index:5;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex;position:relative}.plan-canvas .plan-topline .plan-hint{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;max-width:none;display:flex}.plan-canvas .plan-topline .plan-hint button{border:1px solid var(--line);height:24px;color:var(--ink);background:#fff;border-radius:12px;padding:0 10px;font-size:11px;font-weight:600}.plan-canvas .plan-status-chip{border-radius:var(--r-pill);height:32px;box-shadow:var(--shadow);color:var(--ink);white-space:nowrap;background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:12px;font-weight:500;display:inline-flex}.plan-canvas .plan-status-chip i{background:#2e9e5b;border-radius:3px;width:6px;height:6px}.plan-panel .inspector-tabs{padding-right:12px}.plan-panel .plan-title{margin-top:16px;font-size:18px;font-weight:600;line-height:24px}.plan-panel .plan-desc{color:var(--muted-2);margin-top:12px;font-size:12px;line-height:16px}.plan-panel .plan-status{flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px;font-size:12px;line-height:1.5;display:flex}.plan-panel .plan-counts{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;font-weight:500;display:flex}.plan-panel .plan-counts .plan-dot{color:var(--muted-2)}.plan-panel .plan-counts .warn{color:#9e6b14}.plan-panel .plan-counts .ok{color:#2e7d32}.plan-panel .plan-notes-toggle{color:#9e6b14;background:0 0;padding:0;font-size:12px;font-weight:600;line-height:1.5}.plan-panel .plan-notes{color:var(--muted-2);margin:4px 0 0;padding-left:16px}.plan-panel .plan-notes li{margin:2px 0}.plan-panel .plan-rule{border:0;border-top:1px solid var(--rule);margin:12px 0 0}.plan-panel .plan-sources-row{align-items:center;gap:8px;margin-top:12px;font-size:12px;line-height:1.5;display:flex}.plan-panel .plan-sources-label{color:var(--muted-2);flex-shrink:0}.plan-panel .plan-sources-value{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.plan-panel .text-link{color:var(--orange);background:0 0;flex-shrink:0;padding:0;font-size:12px;font-weight:600}.plan-panel .text-link:hover{text-decoration:underline}.plan-panel-body .plan-sources{border:1px solid var(--rule);border-radius:12px;margin:12px 0 0;padding:12px}.plan-panel-body .plan-sources>.hint{margin:0 0 10px}.plan-panel-body .plan-source-photos{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.plan-panel-body .plan-source-photos label{color:var(--muted-2);align-items:center;gap:6px;font-size:11px;display:flex}.plan-panel-body .plan-source-photos img{object-fit:cover;border-radius:6px;width:32px;height:32px}.plan-panel .plan-group{flex-direction:column;gap:8px;margin-top:12px;display:flex}.plan-panel .plan-group+.plan-group{border-top:1px solid var(--rule);margin-top:12px;padding-top:12px}.plan-panel .plan-group .plan-source-fields{flex-direction:row;gap:12px;margin:0}.plan-panel .plan-group .plan-source-fields label{flex:1;min-width:0}.plan-panel .plan-group .plan-source-fields input,.plan-panel .plan-group .plan-field input{width:100%}.plan-panel .plan-group-head{align-items:center;gap:8px;display:flex}.plan-panel .plan-group-head h4{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:20px}.plan-panel .plan-swatch{background:#3b82c4;border-radius:2px;flex-shrink:0;width:10px;height:10px}.plan-panel .plan-selection .plan-group-head h4{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-panel .plan-selection .plan-source-fields{gap:8px}.plan-panel .plan-selection .plan-source-fields label{line-height:16px}.plan-panel .plan-selection .plan-source-fields input{border-radius:var(--r-pill);height:28px;color:var(--ink);padding:0 12px;font-size:12px;font-weight:500;line-height:20px}.plan-panel .plan-pair{gap:4px;display:flex}.plan-panel .plan-selection .plan-source-fields .select-trigger{border-radius:var(--r-pill);height:28px;padding:0 12px;font-size:12px;font-weight:500}.plan-panel .plan-selection .plan-field .plan-pair input{border-radius:var(--r-pill);height:28px;color:var(--ink);padding:0 10px;font-size:12px;font-weight:500;line-height:20px}.plan-panel .plan-pair input{min-width:0;padding:0 10px}.plan-panel .plan-selection .door-controls{border-radius:12px;gap:8px 12px;width:100%;margin:0;padding:12px}.plan-panel .plan-selection .door-controls label{flex:calc(50% - 6px)}.plan-panel .plan-selection .door-controls input:not([type=checkbox]),.plan-panel .plan-selection .door-controls .select-trigger{border-radius:var(--r-pill);height:28px;padding:0 12px;font-size:12px;font-weight:500}.plan-panel .plan-selection .plan-source-fields>.plan-est{min-width:0;color:var(--muted-2);flex-direction:column;flex:1;gap:4px;font-size:12px;line-height:16px;display:flex}.plan-panel .plan-est .plan-label-row{justify-content:space-between;align-items:center;gap:6px;min-height:16px;display:flex}.plan-panel .plan-est .plan-label-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-panel .est-toggle{background:var(--rule);height:16px;color:var(--muted-2);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:0 6px;font-size:10px;font-weight:600;line-height:16px}.plan-panel .est-toggle:hover:not(:disabled){color:var(--ink)}.plan-panel .est-toggle[aria-pressed=true]{color:#9a6b12;background:#fff0d6}.plan-panel .est-toggle:disabled{opacity:.5;cursor:not-allowed}.plan-panel .plan-disclosure{border:1px solid var(--rule);border-radius:12px;overflow:hidden}.plan-panel .plan-disclosure>summary{min-height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 12px 0 10px;font-size:12px;font-weight:600;list-style:none;display:flex}.plan-panel .plan-disclosure>summary::-webkit-details-marker{display:none}.plan-panel .plan-disclosure>summary svg{color:var(--muted);flex-shrink:0;transition:transform .15s}.plan-panel .plan-disclosure[open]>summary svg{transform:rotate(90deg)}.plan-panel .plan-disclosure>summary .chip{margin-left:auto}.plan-panel .plan-selection .plan-disclosure .door-controls{border:0;border-top:1px solid var(--rule);border-radius:0}.glazing-controls{flex-direction:column;gap:10px;display:flex}.glazing-controls .gc-full,.glazing-controls .gc-row{flex:none;width:100%}.glazing-controls .gc-row{grid-template-columns:1fr 1fr;align-items:end;gap:10px 12px;display:grid}.door-controls.glazing-controls label{flex:none;min-width:0}.glazing-controls label .gc-label-row{justify-content:space-between;align-items:baseline;gap:6px;min-width:0;display:flex}.glazing-controls label .gc-label-row>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.glazing-controls .gc-note{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.door-controls.glazing-controls .check-row{flex-direction:row;align-items:center;gap:10px;padding:6px 0;font-size:14px}.plan-panel .plan-group .door-controls.glazing-controls .check-row{gap:10px}.glazing-controls>.hint{margin:0}.plan-panel .plan-calibrate{border:1px solid var(--orange);background:#fff;border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.plan-panel .plan-calibrate h4{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:normal}.plan-panel .plan-calibrate .plan-calibrate-note{color:var(--muted);margin:0;font-size:11px;line-height:normal}.plan-panel .plan-calibrate .plan-field{color:var(--muted-2);flex-direction:column;gap:4px;font-size:12px;line-height:16px;display:flex}.plan-panel .plan-calibrate .plan-field input{border-radius:var(--r-pill);width:100%;height:28px;color:var(--ink);background:#fff;padding:0 12px;font-size:12px;font-weight:500;line-height:20px}.plan-panel .plan-calibrate-actions{align-items:center;gap:8px;display:flex}.plan-panel .plan-calibrate-actions .primary{border-radius:20px;flex:1;height:auto;padding:8px 12px;font-size:12px;line-height:normal}.plan-panel .plan-calibrate-actions .text-button{color:var(--muted);padding:8px 12px;font-size:12px;font-weight:600;line-height:normal}.plan-panel .plan-group .plan-field,.plan-panel .plan-group .plan-source-fields label{color:var(--muted-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.plan-panel .plan-group .hint,.plan-panel-body>.hint{color:var(--muted);margin:0;font-size:12px;line-height:16px}.plan-panel .plan-group .button-row{gap:8px;display:flex}.plan-panel .plan-group .check-row{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.plan-panel .plan-heights{flex-direction:column;gap:12px;margin-top:12px;display:flex}.plan-panel .plan-heights .plan-field{color:var(--muted-2);flex-direction:column;gap:6px;font-size:12px;line-height:16px;display:flex}.plan-panel .plan-heights .plan-field+.plan-field{padding-top:4px}.plan-panel .plan-heights .plan-field input{border-radius:var(--r-pill);width:100%;height:36px;color:var(--ink);background:#fff;padding:0 12px;font-size:12px;font-weight:500;line-height:20px}.plan-panel .plan-heights .plan-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-panel .plan-heights .est-toggle{border-radius:999px;height:auto;padding:2px 8px;font-size:11px;line-height:1.5}.plan-panel .plan-heights .plan-field-help{color:var(--muted-2);margin:0;font-size:11px;line-height:1.5}.plan-panel .plan-heights .hint{color:var(--muted);margin:0;font-size:12px;line-height:16px}.plan-panel .plan-heights .check-row{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:12px}.plan-panel .plan-heights .error{margin:0;font-size:12px}.plan-panel .plan-history .secondary{margin-top:12px}.plan-panel-footer .primary,.plan-panel-footer .secondary{justify-content:center;align-items:center;gap:8px;height:40px;display:inline-flex}.plan-panel-footer .secondary svg{color:var(--ink)}@media (min-width:1000px){.shell.right-collapsed .plan-panel{display:none}}.plan-start-pick{text-align:left;border:0;width:100%;margin:0 0 20px;padding:0}.plan-start-pick legend{color:var(--ink);margin-bottom:8px;padding:0;font-size:12px;font-weight:600}.plan-start-pick-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:236px;padding:2px;display:grid;overflow:auto}.plan-start-pick-grid label{border:1px solid var(--rule);cursor:pointer;color:var(--muted-2);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:4px;font-size:10px;display:flex;position:relative}.plan-start-pick-grid label.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange);color:var(--ink)}.plan-start-pick-grid label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.plan-start-pick-grid input{opacity:0;pointer-events:none;position:absolute}.plan-start-pick-grid img{aspect-ratio:4/3;object-fit:cover;background:var(--cream);border-radius:6px;width:100%}.plan-start-pick-grid span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-start-pick-none{color:var(--muted-2);cursor:pointer;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.plan-start-card p.plan-start-note{color:var(--muted-2);text-align:left;margin:0 0 10px;font-size:11px;line-height:1.45}.plan-start-pick .plan-start-note:last-child{margin:10px 0 0}.plan-start-page{color:var(--muted-2);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.plan-panel .plan-ai-toggle{color:var(--ink);background:0 0;align-items:center;gap:6px;margin-top:4px;padding:0;font-size:12px;font-weight:600;line-height:1.5;display:flex}.plan-panel .plan-ai-count{color:#9e6b14;background:#fdf3e1;border-radius:8px;padding:0 6px;font-size:10px;font-weight:600}.plan-panel .plan-ai-notes{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.plan-panel .plan-ai-notes li{color:var(--muted-2);gap:6px;font-size:12px;line-height:1.45;display:flex}.plan-panel .plan-ai-notes li:before{content:"·";text-align:center;flex:none;width:12px}.plan-panel .plan-ai-notes li.caution{color:#7a5310}.plan-panel .plan-ai-notes li.caution:before{content:none}.plan-panel .plan-ai-notes li.caution svg{color:#c7861a;flex:none;margin-top:2px}.hint .hint-link{height:auto;color:var(--orange);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline}.canvas-failure .failure-row{align-items:flex-start}.canvas-failure .failure-copy{padding-top:1px}.canvas-failure .failure-copy p{color:var(--muted-2);font-size:12px;line-height:1.45}.failure-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-left:50px;display:flex}.canvas-failure .failure-secondary{border-radius:20px;height:auto;padding:6px 14px;font-size:12px;line-height:normal}.canvas-failure .failure-secondary[aria-pressed=true]{background:var(--rule)}.failure-actions .failure-details-toggle{margin-left:auto;padding:4px 6px}.failure-review-hint{background:var(--cream);color:var(--ink);border-radius:12px;margin:0 0 0 50px;padding:8px 12px;font-size:12px;line-height:1.45}@media (max-width:600px){.failure-actions,.failure-review-hint{margin-left:0;padding-left:0}}.canvas-failure .failure-details{color:var(--muted-2);font-size:12px;line-height:1.5}.canvas-failure .failure-details p{color:inherit;margin:0 0 6px;font-family:inherit;font-size:12px;line-height:1.5}.canvas-failure .failure-details .failure-copy-support{color:var(--muted);font-size:11px}.canvas-failure .failure-details .failure-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.inspector-tabs button:not(.fab){padding:0 9px;font-size:12px}.inspector-tabs button.selected:after{left:9px;right:9px}
