/* One full-screen workspace: workflow, tool ribbon, model and contextual inspector. */
.ifc-phone-notice{box-sizing:border-box;margin:0 0 16px;padding:12px 16px;border:1px solid #d5e0ea;border-left:4px solid #3d7aad;border-radius:10px;background:#edf3f8;color:#183e46;font-size:.85rem;line-height:1.5}
.ifc-phone-notice strong{display:block;font-size:inherit}.ifc-phone-notice p{margin:4px 0 0;font-size:inherit;line-height:inherit;color:#425e70}
.prep-dialog>.ifc-phone-notice{flex:none;margin:0;padding:8px 12px;border-width:0 0 1px 4px;border-radius:0;font-size:.72rem}
.prep-drawing{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:#e6ecec;overflow:hidden}.prep-drawing[hidden]{display:none}
.prep-drawing-active #prep-canvas,.prep-drawing-active .prep-view-controls,.prep-drawing-active .prep-canvas-caption{display:none}.prep-drawing-active .prep-stage{background:#e6ecec}
.prep-drawing-info{position:absolute;top:52px;left:16px;z-index:1;border:1px solid #c6d5d4;background:#ffffffed;border-radius:5px;padding:6px 10px;font-size:.67rem;color:#4c676c;pointer-events:none}
.prep-drawing-views{display:flex;flex:none;gap:6px;overflow:auto;padding:6px 12px;background:#f7fafa;border-bottom:1px solid #d4dfde}.prep-dialog .prep-drawing-views button{min-height:30px;white-space:nowrap;padding:5px 10px;font-size:.7rem}.prep-dialog .prep-drawing-views [aria-selected=true]{background:#216e70;color:#fff;border-color:#216e70}
.prep-dialog .prep-drawing-canvas{display:block;flex:1;width:100%;height:100%;min-height:120px;touch-action:none;user-select:none;background:#e6ecec;stroke:none;stroke-width:0}
.prep-drawing-canvas:focus-visible{outline:2px solid #2c7b7e;outline-offset:-3px}.prep-drawing-canvas [data-annotation]{cursor:move}.prep-drawing-message{margin:0!important;flex:none;min-height:34px;padding:10px 14px;font-size:.69rem!important;line-height:1.45;background:#f7fafa;border-top:1px solid #d4dfde;color:#466970}
#prep-properties .prep-drawing-annotations button{display:block}.prep-drawing-active .prep-stage .prep-viewbar{padding-top:8px;padding-bottom:8px}
@media(max-width:720px){.prep-drawing-info{top:49px;left:8px;font-size:.58rem;padding:3px 7px}.prep-drawing-message{font-size:.62rem!important;min-height:25px;padding:7px 10px}.prep-drawing-active .prep-workspace{grid-template-rows:minmax(240px,55%) minmax(0,1fr)}}
dialog.prep-dialog{--prep-ink:#183e46;--prep-muted:#6c8085;--prep-line:#dfe7e7;--prep-accent:#216e70;--prep-tint:#eaf4f2;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f3f6f6;color:var(--prep-ink);overflow:hidden;box-shadow:none;font-family:inherit}
.prep-dialog[open]{display:flex;flex-direction:column}.prep-dialog *{box-sizing:border-box}.prep-dialog [hidden]{display:none!important}
body:has(.prep-dialog[open]){overflow:hidden}
.prep-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:9px 12px;min-height:40px;min-width:0;width:auto;border:1px solid var(--prep-line);border-radius:7px;background:#fff;color:var(--prep-ink);font:inherit;font-size:.76rem;font-weight:550;line-height:1.3;box-shadow:none;cursor:pointer}
.prep-dialog button:hover:not(:disabled){background:#f0f6f5;border-color:#a6c6c4}.prep-dialog button:disabled{cursor:default;opacity:.42}.prep-dialog button[aria-pressed=true]{color:#155d60;background:var(--prep-tint);border-color:#a1c7c2}
.prep-dialog :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #54a3a0;outline-offset:3px}
.prep-dialog button svg,.prep-brand-icon svg{width:19px;height:19px;flex:none}.prep-dialog button span:empty{display:none}
.prep-dialog :is(h2,h3,h4,p){line-height:1.5}.prep-dialog h2{font-size:1.1rem;line-height:1.2;margin:1px 0 3px;font-weight:650;letter-spacing:-.02em}.prep-dialog h3{font-size:1rem;margin:0 0 15px}.prep-dialog h4{font-size:.8rem;margin:14px 0 10px}.prep-dialog p{font-size:.78rem;margin:0 0 12px}
.prep-context-menu{position:absolute;z-index:30;width:260px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:auto;padding:8px;border:1px solid var(--prep-line);border-radius:10px;background:#fff;box-shadow:0 10px 35px #163b4733}
.prep-context-menu>strong{display:block;padding:6px 9px;font-size:.78rem;overflow-wrap:anywhere}.prep-context-menu>p{margin:0;padding:2px 9px 8px;font-size:.7rem;color:var(--prep-muted)}
.prep-dialog .prep-context-menu>button{display:flex;width:100%;justify-content:flex-start;min-height:34px;border:0;padding:8px 9px;font-size:.76rem}.prep-dialog .prep-context-menu>button:focus-visible{outline-offset:-2px;background:var(--prep-tint)}
.prep-dialog .eyebrow{font-size:.57rem;font-weight:650;letter-spacing:.12em;color:var(--prep-muted)}
.prep-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--prep-line);z-index:6}
.prep-brand{display:flex;align-items:center;gap:12px;min-width:0}.prep-brand>div{min-width:0}.prep-brand-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--prep-ink);color:#fff;border-radius:10px;flex:none}.prep-brand-icon svg{width:24px;height:24px}
.prep-header p{margin:0;color:var(--prep-muted);font-size:.67rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prep-header-actions{display:flex;align-items:center;gap:8px;flex:none}
.prep-header #prep-close{border:0;padding:10px;margin-left:5px}.prep-badge{font-size:.66rem;white-space:nowrap;color:#557874;background:#eff5f2;border-radius:30px;padding:6px 10px}
.prep-menu{position:relative;font-size:.74rem}.prep-menu>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:10px 12px;min-height:40px;border:1px solid var(--prep-line);border-radius:7px;cursor:pointer;color:var(--prep-ink);background:#fff}
.prep-menu>summary::-webkit-details-marker{display:none}.prep-menu>summary:after{content:'⌄';color:var(--prep-muted)}.prep-menu[open]>summary{background:var(--prep-tint);border-color:#a1c7c2}
.prep-menu>div{position:absolute;right:0;top:calc(100% + 8px);width:285px;border:1px solid var(--prep-line);border-radius:10px;padding:12px;background:#fff;box-shadow:0 10px 35px #163b4720;z-index:10}
.prep-transfer{display:flex;flex-direction:column;gap:4px}.prep-transfer button{font-size:.72rem;text-align:left;justify-content:flex-start;border:0;min-height:36px}.prep-transfer p{padding:0 12px}.prep-transfer p:last-child{margin:0}
.prep-workflow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 22px;background:#fff;border-bottom:1px solid var(--prep-line);flex:none}
#prep-tabs{display:flex;gap:6px;min-width:0}.prep-dialog .prep-step{gap:10px;padding:9px 14px;border:1px solid transparent;min-height:44px;font-size:.78rem;color:var(--prep-muted);white-space:nowrap;background:transparent}
.prep-step-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eff3f3;color:#697d81;font-size:.72rem;font-variant-numeric:tabular-nums}
.prep-step,.prep-step-number{flex-shrink:0}.prep-brand h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prep-dialog .prep-step[aria-current=step]{color:var(--prep-accent);background:var(--prep-tint);border-color:#d6e8e4}.prep-step[aria-current=step] .prep-step-number{background:var(--prep-accent);color:#fff}
#prep-step-note{margin:0;font-size:.72rem;color:var(--prep-muted);text-align:right}
.prep-commandbar{display:flex;align-items:center;gap:10px;flex:none;padding:8px 22px;background:#fafcfc;border-bottom:1px solid var(--prep-line);overflow-x:auto;scrollbar-width:thin;min-height:66px}
.prep-commandbar>div{display:flex;align-items:center;gap:4px;flex:none}.prep-commandbar>div+div:not(:empty){padding-left:10px;border-left:1px solid var(--prep-line)}
.prep-commandbar button{border-color:transparent;background:transparent;min-height:48px;flex-direction:column;gap:4px;padding:5px 10px;white-space:nowrap;font-size:.67rem;line-height:1.2}
.prep-commandbar button svg{width:19px;height:19px}.prep-commandbar #prep-undo,.prep-commandbar #prep-redo{padding:10px 7px;min-width:34px}
.prep-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 344px;flex:1;min-height:0;min-width:0}
.prep-rooms{position:absolute;top:12px;left:16px;width:285px;max-height:calc(100% - 24px);padding:18px;background:#fff;border:1px solid var(--prep-line);border-radius:12px;overflow:auto;box-shadow:0 12px 45px #183e4629;z-index:8}
.prep-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:14px}.prep-drawer-heading h3{font-size:.85rem;margin:0}.prep-drawer-heading button{border:0;padding:8px}
.prep-search{display:block;font-size:.7rem;color:var(--prep-muted);margin-bottom:14px}
.prep-dialog input,.prep-dialog textarea,.prep-dialog select{display:block;min-width:0;width:100%;font:inherit;font-size:.78rem;line-height:1.4;background:#fff;border:1px solid #ccdada;border-radius:6px;color:var(--prep-ink);padding:9px 10px;min-height:39px;box-shadow:none;margin:5px 0 0}
.prep-dialog textarea{resize:vertical}.prep-dialog input:disabled,.prep-dialog select:disabled{background:#f5f7f7}
.prep-dialog input[type=checkbox]{accent-color:var(--prep-accent)}.prep-dialog input[type=color]{height:40px;padding:4px}
.prep-room{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px!important;text-align:left;width:100%!important;margin:0 0 7px!important;padding:12px!important;border-color:transparent!important;background:#f5f8f7!important}
.prep-room strong{font-size:.8rem;font-weight:600;overflow-wrap:anywhere}.prep-room span{font-size:.69rem;color:var(--prep-muted)}.prep-room small{font-size:.63rem;color:#54826e;margin-top:4px}.prep-room[aria-current=true]{background:var(--prep-tint)!important;border-color:#9bc2bc!important}
.prep-note{font-size:.72rem!important;color:var(--prep-muted);line-height:1.65!important}.prep-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(ellipse at center,#fff 0,#edf2f3 100%)}
.prep-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;z-index:5}.prep-room-switch{max-width:45%;text-align:left;justify-content:flex-start!important;box-shadow:0 2px 5px #183e4605!important}.prep-room-switch span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.prep-view-controls{display:flex;gap:8px;align-items:center}.prep-view-controls>label{display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--prep-muted)}.prep-view-controls select{margin:0;min-width:85px}
.prep-view-options>label{display:flex;align-items:center;gap:8px;font-size:.73rem;padding:8px 2px}.prep-dialog .prep-view-options input{width:16px;height:16px;min-height:16px;margin:0;flex:none}
.prep-canvas{position:relative;isolation:isolate;flex:1;min-height:150px;overflow:hidden}.prep-canvas canvas{display:block;touch-action:none}.prep-canvas-caption{flex:none;padding:6px 16px 10px;pointer-events:none}.prep-help{font-size:.62rem!important;text-align:center;margin:0!important;color:var(--prep-muted)}
.prep-stage #prep-view-status{font-size:.72rem;text-align:center;margin:0 0 4px;color:#436971;min-height:0}.prep-stage #prep-view-status:empty{display:none}
.prep-inspector{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--prep-line);background:#fff;overflow:hidden}
.prep-inspector-heading{padding:20px 22px 16px;border-bottom:1px solid var(--prep-line);flex:none}.prep-inspector-heading h3{margin:5px 0 4px;font-size:1.04rem;letter-spacing:-.02em}.prep-inspector-heading p{font-size:.72rem;color:var(--prep-muted);margin:0;overflow-wrap:anywhere}
#prep-properties{padding:20px 22px;overflow:auto;flex:1;min-height:0;scrollbar-width:thin;overscroll-behavior:contain}
#prep-properties>h3{display:none}.prep-field{display:flex;flex-direction:column;gap:2px;font-size:.7rem;font-weight:500;margin:0 0 15px;color:#516a6f}.prep-check{flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:9px;min-height:30px}.prep-check input{width:16px;min-height:16px;height:16px;margin:0;flex:none}
.prep-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.prep-dialog fieldset{padding:0;border:0;margin:0;min-width:0}
.prep-dialog .prep-primary,#prep-step-next{color:#fff;background:var(--prep-accent);border-color:var(--prep-accent)}.prep-dialog .prep-primary:hover:not(:disabled),#prep-step-next:hover:not(:disabled){background:#195759;border-color:#195759}
.prep-danger{color:#a2554b!important;margin-top:10px!important}.prep-meta{font-size:.65rem;background:#f5f8f7;padding:12px;border-radius:7px;margin:0 0 18px}.prep-meta dt{color:var(--prep-muted);margin-bottom:3px}.prep-meta dd{margin:0 0 8px;overflow-wrap:anywhere}
.prep-choice-card{padding:14px 0;border:0;border-bottom:1px solid var(--prep-line);margin-bottom:16px}.prep-choice-card strong{font-size:.82rem}.prep-choice-card p{margin:8px 0 0}
.prep-object-list{display:flex;flex-direction:column;gap:5px;margin:14px 0}.prep-object-row{display:flex;align-items:center;gap:8px}.prep-dialog .prep-object-row input{width:17px;height:17px;min-height:17px;flex:none;margin:0}.prep-object-row button{flex:1;text-align:left;justify-content:flex-start;overflow-wrap:anywhere;font-size:.72rem}
.prep-action-grid,.prep-quick-add{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px}.prep-action-grid button{margin:0!important}.prep-quick-add button{min-height:68px;align-items:flex-start;flex-direction:column;gap:8px;padding:12px;background:#f7faf9}.prep-quick-add button svg{color:var(--prep-accent)}
#prep-properties :is(section,fieldset)>button,#prep-properties>button{margin:0 4px 8px 0;max-width:100%}
.prep-detail-section{border-top:1px solid var(--prep-line);margin-top:18px;padding-top:16px}.prep-inspector details>summary{font-size:.77rem;font-weight:600;cursor:pointer;margin-bottom:14px}.prep-detail-section button{margin:3px 0 10px}
.prep-panel-section{margin-top:0;padding-top:0;border:0}.prep-panel-section>summary{display:none}.prep-panel-section+ .prep-panel-section{margin-top:18px}.prep-dimension-summary{padding:10px;border-radius:7px;background:var(--prep-tint);font-variant-numeric:tabular-nums;font-weight:650}
.prep-product-reference{padding:9px;border-left:3px solid #80aaa5;background:#f2f7f5;font-size:.71rem!important;overflow-wrap:anywhere}
.prep-review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid var(--prep-line)}.prep-review-summary>div{display:flex;flex-direction:column;gap:4px}.prep-review-summary strong{font-size:1.6rem;font-weight:550;color:var(--prep-accent)}.prep-review-summary span{font-size:.65rem;color:var(--prep-muted)}.prep-review-warning{margin:0 0 16px}
.prep-empty{padding:20px 0;color:var(--prep-muted);line-height:1.8!important}.prep-placement-warning{padding:9px 11px;background:#fff4e2;border-left:3px solid #d59a34;color:#704d19!important;border-radius:3px}
.prep-footer{display:flex;gap:14px;align-items:center;padding:12px 22px;border-top:1px solid var(--prep-line);background:#fff;flex:none;z-index:5}.prep-footer-status{flex:1;min-width:0}.prep-footer-status>span{font-size:.68rem;font-weight:650;color:var(--prep-accent)}.prep-footer p{font-size:.67rem;margin:3px 0 0;color:var(--prep-muted);max-width:650px}.prep-footer #prep-status:empty{display:none}.prep-footer>#prep-step-actions,.prep-footer>#prep-save-actions{display:flex;gap:7px;flex:none}.prep-footer #prep-save-actions{padding-left:14px;border-left:1px solid var(--prep-line)}.prep-footer #prep-unpublish{font-size:.65rem;border:0;color:var(--prep-muted)}#prep-step-back svg{transform:rotate(180deg)}
.is-error{color:#a44242!important}.prep-confirm{position:absolute;inset:0;background:#f7f9fcf7;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px}.prep-confirm p{max-width:450px;text-align:center;font-size:1rem}.prep-confirm>div{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;gap:12px;margin-top:15px}.prep-resident-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.prep-library{position:absolute;inset:18px;z-index:12;background:#f7f9f8;border:1px solid var(--prep-line);border-radius:12px;display:flex;flex-direction:column;padding:24px;box-shadow:0 20px 60px #20344e35;overflow:hidden}.prep-library>header{display:flex;justify-content:space-between;align-items:start;gap:12px}.prep-library h3{font-size:1.2rem;margin:6px 0 20px}.prep-library>form{display:flex;gap:10px;align-items:end;margin-bottom:15px}.prep-library>form label{flex:1;font-size:.75rem}.prep-library>form #prep-library-brand-label{flex:0 1 240px;min-width:160px}.prep-library>footer{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px;font-size:.75rem}
#prep-library-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;overflow:auto;min-height:0;align-content:start;flex:1}.prep-library-card{border:1px solid var(--prep-line);border-radius:10px;background:#fff;padding:18px;overflow-wrap:anywhere}.prep-library-card h4{font-size:.9rem}.prep-library-card button{margin:4px 6px 4px 0}.prep-library-card .prep-note{margin:7px 0}.prep-library-card p{color:var(--prep-muted)}.prep-library [inert]{opacity:.6}
.prep-tile-visual{height:130px;border-radius:8px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;color:var(--prep-ink);font-size:.8rem;text-align:center;overflow:hidden}.prep-tile-visual img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.prep-contour-editor{width:100%;aspect-ratio:1;background:#f4f7f6;border:1px solid #b7cdc7;border-radius:8px;touch-action:none;cursor:crosshair}.prep-cut-plan svg{width:100%;max-height:340px;border:1px solid #b7cdc7;background:#fff;margin-top:8px}.prep-contour-editor+textarea{width:100%;box-sizing:border-box;min-height:100px}
.home-prepared{padding:28px;margin:22px 0}.home-prepared h2{font-size:1.3rem;margin:0 0 8px}.home-prepared>p{color:var(--muted);font-size:.85rem}.home-prepared-list{display:flex;gap:12px;flex-wrap:wrap}.home-prepared-list button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fff;border:1px solid #ccdae6;border-radius:12px;padding:16px 22px;color:#335976;font:inherit;font-size:.87rem}.home-prepared-list small{font-size:.73rem;color:#8194a4}.ifc-version-actions .ifc-preparation{font-size:.73rem;padding:8px 12px;white-space:nowrap}
@media(max-width:1200px){#prep-step-note{display:none}.prep-workspace{grid-template-columns:minmax(0,1fr) 320px}.prep-header,.prep-workflow,.prep-commandbar{padding-left:16px;padding-right:16px}.prep-footer{padding:10px 16px;gap:10px}.prep-badge{font-size:.62rem}.prep-footer-status>span{display:none}.prep-footer p{font-size:.64rem}}
@media(max-width:900px){.prep-badge{display:none}.prep-header-actions{gap:5px}.prep-dialog .prep-step{padding:7px 10px}.prep-footer button{font-size:.7rem;padding:9px}.prep-inspector-heading,#prep-properties{padding:16px}.prep-workspace{grid-template-columns:minmax(0,1fr) 300px}.prep-view-controls>label{font-size:0;gap:0}.prep-footer-status{max-width:200px}}
@media(max-width:700px){.prep-header{padding:9px 12px;gap:8px}.prep-brand{gap:8px}.prep-brand-icon{width:32px;height:32px}.prep-header h2{font-size:.94rem}.prep-header .eyebrow{display:none}.prep-header p{font-size:.6rem;max-width:170px}.prep-header #prep-preview{font-size:.62rem;min-height:36px;padding:8px}.prep-header #prep-preview svg{display:none}.prep-header-actions #prep-close{margin:0;padding:7px}.prep-header .prep-menu>summary{font-size:.62rem;padding:8px;min-height:36px;gap:4px}
.prep-workflow{padding:7px 10px;overflow-x:auto;scrollbar-width:thin}.prep-dialog .prep-step{padding:6px 9px;gap:6px;min-height:40px;font-size:.68rem}.prep-step-number{width:21px;height:21px;font-size:.64rem}#prep-tabs{gap:2px}
.prep-commandbar{padding:6px 10px;min-height:60px;gap:6px}.prep-commandbar button{padding:5px 8px;font-size:.63rem}.prep-commandbar>div+div:not(:empty){padding-left:6px}
.prep-workspace{grid-template-columns:1fr;grid-template-rows:minmax(170px,44%) minmax(0,1fr)}.prep-viewbar{padding:8px 12px}.prep-viewbar button,.prep-viewbar summary{min-height:34px;font-size:.65rem;padding:7px 9px}.prep-view-controls select{min-height:34px;padding:6px;font-size:.7rem}.prep-room-switch{max-width:48%}.prep-view-controls{gap:5px}.prep-canvas{min-height:80px}.prep-canvas-caption{padding:2px 10px 5px}.prep-help{display:none}.prep-stage #prep-view-status{font-size:.62rem}
.prep-inspector{border-left:0;border-top:1px solid var(--prep-line)}.prep-inspector-heading{padding:10px 16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.prep-inspector-heading h3{font-size:.88rem;margin:0}.prep-inspector-heading .eyebrow{display:none}.prep-inspector-heading p{font-size:.66rem}#prep-properties{padding:14px 16px}.prep-dialog input,.prep-dialog select,.prep-dialog textarea{min-height:40px}.prep-dialog .prep-check input{min-height:16px}
.prep-footer{display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px 12px}.prep-footer-status{grid-column:1/-1;max-width:none}.prep-footer-status p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.62rem;margin:0}.prep-footer>#prep-step-actions{gap:5px}.prep-footer>#prep-save-actions{padding:0;border:0;justify-content:flex-end;gap:5px}.prep-footer button{min-height:40px;padding:8px;font-size:.66rem}.prep-footer button svg{width:16px;height:16px}.prep-footer #prep-save svg,.prep-footer #prep-step-back svg{display:none}.prep-footer #prep-step-back{font-size:0;padding:8px}.prep-footer #prep-step-back svg{display:block}.prep-footer #prep-unpublish{display:none}
.prep-rooms{inset:8px auto auto 8px;max-height:calc(100% - 16px);width:min(300px,calc(100% - 16px))}.prep-confirm{padding:22px}.prep-library{position:fixed;inset:8px;padding:16px}.prep-library>form{align-items:stretch;flex-direction:column}.prep-library>form #prep-library-brand-label{flex:auto;min-width:0;width:100%}#prep-library-results{grid-template-columns:1fr}.prep-library>footer{gap:10px}.prep-readonly .prep-workspace{grid-template-rows:minmax(180px,60%) minmax(0,1fr)}.ifc-model-row,.ifc-version-actions{flex-wrap:wrap}.ifc-version-actions{margin-left:auto}}
@media(max-height:650px) and (min-width:701px){.prep-header{padding-top:8px;padding-bottom:8px}.prep-workflow{padding-top:5px;padding-bottom:5px}.prep-commandbar{padding-top:5px;padding-bottom:5px;min-height:58px}.prep-inspector-heading{padding-top:12px;padding-bottom:12px}.prep-viewbar{padding-top:9px;padding-bottom:9px}.prep-footer{padding-top:8px;padding-bottom:8px}}
@media(max-width:700px){.prep-footer{grid-template-columns:auto minmax(0,1fr)}.prep-footer>#prep-save-actions{flex-wrap:wrap}.prep-footer #prep-unpublish{display:inline-flex}}

/* Adaptive shell: keep the model and the inspector usable at every width. */
.prep-shell-ready{--prep-inspector-width:344px}
.prep-shell-ready .prep-header{padding:9px 18px;gap:14px}
.prep-shell-ready .prep-workflow{padding:7px 18px;gap:12px}
.prep-shell-ready .prep-step{padding:7px 11px;min-height:40px;gap:8px}
.prep-shell-ready .prep-commandbar{padding:6px 18px;min-height:54px;overflow-x:visible;flex-wrap:wrap;gap:5px 8px}
.prep-shell-ready .prep-commandbar>div{flex-wrap:wrap;gap:3px;max-width:100%}
.prep-shell-ready .prep-commandbar button{flex-direction:row;min-height:36px;padding:7px 8px;font-size:.73rem;gap:6px}
.prep-shell-ready .prep-commandbar button svg{width:17px;height:17px}
.prep-shell-ready .prep-commandbar #prep-undo,.prep-shell-ready .prep-commandbar #prep-redo{padding:7px;min-height:36px}
.prep-shell-ready .prep-workspace{grid-template-columns:minmax(0,1fr) var(--prep-inspector-width);grid-template-rows:minmax(0,1fr)}
.prep-shell-ready.prep-inspector-collapsed .prep-workspace{grid-template-columns:minmax(0,1fr)}
.prep-shell-ready.prep-inspector-collapsed .prep-inspector{display:none}
.prep-shell-ready .prep-viewbar{padding:10px 14px;gap:8px;flex-wrap:wrap}
.prep-shell-ready .prep-room-switch{max-width:min(45%,340px);margin-right:auto}
.prep-shell-ready .prep-view-controls{margin-left:auto;gap:6px}
.prep-shell-ready .prep-inspector-toggle{min-height:38px;padding:8px 10px;flex:none}
.prep-shell-ready .prep-inspector-heading{padding:15px 18px 12px}
.prep-shell-ready #prep-properties{padding:17px 18px}
.prep-shell-ready .prep-field{font-size:.77rem;line-height:1.5}
.prep-shell-ready .prep-note{font-size:.76rem!important}
.prep-shell-ready .prep-inspector p{font-size:.79rem}
.prep-shell-ready .prep-inspector input,.prep-shell-ready .prep-inspector select,.prep-shell-ready .prep-inspector textarea{font-size:.82rem}
.prep-shell-ready .prep-inspector-heading p{font-size:.75rem}
.prep-shell-ready .prep-inspector-heading h3{font-size:1rem}
.prep-shell-ready .prep-inspector details>summary{font-size:.81rem}
.prep-shell-ready .prep-inspector .prep-object-row button{font-size:.77rem}
.prep-shell-ready .prep-inspector-resizer{position:absolute;right:calc(var(--prep-inspector-width) - 5px);top:0;bottom:0;width:10px;z-index:7;cursor:col-resize;touch-action:none;outline-offset:-3px}
.prep-shell-ready .prep-inspector-resizer:after{content:'';position:absolute;top:50%;left:3px;width:4px;height:38px;transform:translateY(-50%);border-radius:3px;background:#adc5c3;transition:background .15s}
.prep-shell-ready .prep-inspector-resizer:hover:after,.prep-shell-ready .prep-inspector-resizer:focus-visible:after{background:var(--prep-accent)}
.prep-shell-ready .prep-inspector-resizer:focus-visible{outline:2px solid #54a3a0}
.prep-shell-ready.prep-resizing,.prep-shell-ready.prep-resizing *{cursor:col-resize!important;user-select:none!important}
.prep-shell-ready .prep-compact-step,.prep-shell-ready .prep-surface-switch{display:none}
.prep-shell-ready .prep-canvas-caption{pointer-events:auto;padding:7px 14px 9px;border-top:1px solid #dfe7e780;background:#ffffffa6}
.prep-shell-ready .prep-selection-context{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:32px}
.prep-shell-ready .prep-selection-context button{min-height:32px;font-size:.7rem;padding:5px 8px}
.prep-shell-ready .prep-selection-context button svg{width:16px;height:16px}
.prep-shell-ready .prep-home-button{border-color:transparent;background:transparent}
.prep-shell-ready .prep-selection-path{display:flex;align-items:center;gap:7px;min-width:0;flex:1;font-size:.74rem;color:#557176}
.prep-shell-ready .prep-selection-path>span:first-child,.prep-shell-ready .prep-selection-path>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}
.prep-shell-ready .prep-selection-path>strong{font-weight:600;color:var(--prep-ink)}
.prep-shell-ready .prep-selection-kind{flex:none;color:#657d7e;font-size:.64rem;font-weight:500;padding:3px 6px;background:#eef3f2;border-radius:4px;white-space:nowrap}
.prep-shell-ready .prep-path-arrow{color:#809794;flex:none}
.prep-shell-ready .prep-active-tool{font-size:.7rem;color:#335d5e;background:var(--prep-tint);border-radius:20px;padding:5px 9px}
.prep-shell-ready .prep-stop-tool{color:#87532c;background:#fff8ee;border-color:#ead4b5}
.prep-shell-ready .prep-comparison-badge{font-size:.7rem;font-weight:650;padding:5px 9px;border-radius:20px;background:#e6eff9;color:#2e557e}
.prep-shell-ready .prep-return-concept{color:#2e557e;border-color:#b8cce1;background:#f3f7fc}
.prep-shell-ready .prep-help{margin:5px 0 0!important;font-size:.65rem!important}
.prep-shell-ready #prep-view-status{margin:5px 0 0;font-size:.73rem;text-align:left;line-height:1.4}
.prep-shell-ready.prep-drawing-active .prep-canvas-caption{display:block}
.prep-shell-ready.prep-drawing-active .prep-canvas-caption>.prep-help{display:none}
.prep-shell-ready .prep-view-options{width:320px;max-width:calc(100vw - 28px);max-height:min(620px,var(--prep-view-options-height,calc(100dvh - 320px)));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;text-align:left}
.prep-shell-ready .prep-view-options>label{font-size:.78rem;line-height:1.45;padding:8px 2px}
.prep-shell-ready .prep-view-enhancements{border-top:1px solid var(--prep-line);margin-top:8px;padding-top:12px}
.prep-shell-ready .prep-view-enhancements>button{width:100%;justify-content:flex-start;font-size:.79rem}
.prep-shell-ready .prep-view-enhancements p{margin:7px 0 12px;font-size:.73rem!important;line-height:1.5!important}
.prep-shell-ready .prep-view-enhancements h4{margin:15px 0 9px;font-size:.82rem}
.prep-shell-ready .prep-guide-toggle{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:.78rem;line-height:1.4;cursor:pointer}
.prep-shell-ready .prep-guide-legend{padding-left:10px;border-left:3px solid #d59a34}
.prep-shell-ready .prep-favorite-create{display:flex;gap:7px;align-items:flex-end}
.prep-shell-ready .prep-favorite-create label{display:block;min-width:0;flex:1;font-size:.73rem}
.prep-shell-ready .prep-favorite-create input{width:100%;height:auto;min-height:38px;margin:5px 0 0;padding:8px;font-size:.78rem}
.prep-shell-ready .prep-favorite-create>button{min-height:38px;padding:8px;font-size:.72rem;flex:none}
.prep-shell-ready .prep-favorite-create>button svg{width:16px;height:16px}
.prep-shell-ready .prep-favorite-views{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.prep-shell-ready .prep-favorite-view{display:flex;gap:5px;min-width:0}
.prep-shell-ready .prep-favorite-view>button{min-height:36px;padding:7px 9px;font-size:.74rem}
.prep-shell-ready .prep-favorite-view>button:first-child{justify-content:flex-start;flex:1;min-width:0}
.prep-shell-ready .prep-favorite-view>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prep-shell-ready .prep-favorite-view>button:last-child{flex:none;color:#87534b}
.prep-shell-ready .prep-favorite-view svg{width:16px;height:16px}
.prep-shell-ready .prep-footer{padding:10px 18px}
.prep-shell-ready .prep-footer-status>span{display:block}
.prep-shell-ready .prep-footer p{font-size:.72rem;line-height:1.4}
@media(max-width:1200px){.prep-shell-ready .prep-step{padding:7px 8px;font-size:.74rem;gap:6px}.prep-shell-ready .prep-home-button span{display:none}.prep-shell-ready .prep-header,.prep-shell-ready .prep-workflow,.prep-shell-ready .prep-commandbar{padding-left:12px;padding-right:12px}}
@media(max-width:1000px){.prep-shell-ready #prep-tabs{display:none}.prep-shell-ready .prep-compact-step{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--prep-muted);width:min(100%,380px)}.prep-shell-ready .prep-compact-step select{margin:0;font-size:.8rem;min-height:38px;flex:1}.prep-shell-ready .prep-inspector-toggle span{display:none}.prep-shell-ready .prep-room-switch{max-width:42%}.prep-shell-ready .prep-selection-path>span:first-child,.prep-shell-ready .prep-selection-path>strong{max-width:150px}.prep-shell-ready .prep-footer-status>span{display:none}.prep-shell-ready .prep-footer-status{max-width:none}.prep-shell-ready .prep-commandbar>div+div:not(:empty){padding-left:7px}}
@media(max-width:700px){
  .prep-shell-ready .prep-header{flex-wrap:wrap;gap:6px 8px;padding:7px 10px}
  .prep-shell-ready .prep-brand{flex:1;min-width:0}.prep-shell-ready .prep-brand-icon{display:none}
  .prep-shell-ready .prep-header h2{font-size:.88rem}.prep-shell-ready .prep-header p{font-size:.65rem;max-width:100%}
  .prep-shell-ready .prep-header-actions{gap:4px}.prep-shell-ready .prep-header #prep-preview{font-size:.66rem;padding:7px;min-height:34px}
  .prep-shell-ready .prep-header .prep-menu>summary{font-size:.68rem;min-height:34px;padding:7px}
  .prep-shell-ready .prep-header-actions #prep-close{padding:7px;min-height:34px}
  .prep-shell-ready .prep-surface-switch{display:flex;flex:1 0 100%;gap:3px;padding:3px;border:1px solid var(--prep-line);border-radius:8px;background:#f0f5f4}
  .prep-shell-ready .prep-surface-switch button{flex:1;min-height:33px;border-color:transparent;background:transparent;font-size:.77rem;padding:5px 8px;border-radius:5px}
  .prep-shell-ready .prep-surface-switch button[aria-pressed=true]{background:#fff;color:var(--prep-accent);border-color:#c6dcd7;box-shadow:0 1px 3px #183e4610}
  .prep-shell-ready .prep-surface-switch button svg{width:17px;height:17px}
  .prep-shell-ready .prep-workflow{padding:6px 10px;overflow:visible}.prep-shell-ready .prep-compact-step{width:100%;font-size:.76rem}.prep-shell-ready .prep-compact-step select{min-height:36px;padding:6px 9px;font-size:.79rem}
  .prep-shell-ready .prep-commandbar{padding:4px 8px;gap:3px;min-height:44px;max-height:108px;overflow-y:auto;overscroll-behavior:contain}
  .prep-shell-ready .prep-commandbar>div{gap:2px}.prep-shell-ready .prep-commandbar>div+div:not(:empty){padding-left:4px}.prep-shell-ready .prep-commandbar button{min-height:34px;padding:6px;font-size:.72rem;gap:4px}
  .prep-shell-ready .prep-workspace,.prep-shell-ready.prep-drawing-active .prep-workspace,.prep-shell-ready.prep-readonly .prep-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .prep-shell-ready[data-prep-surface=model] .prep-inspector,.prep-shell-ready[data-prep-surface=settings] .prep-stage{display:none}
  .prep-shell-ready .prep-inspector{border-top:0}.prep-shell-ready .prep-inspector-toggle,.prep-shell-ready .prep-inspector-resizer{display:none}
  .prep-shell-ready .prep-inspector-heading{padding:11px 14px;gap:4px 9px}.prep-shell-ready .prep-inspector-heading h3{font-size:.95rem}.prep-shell-ready .prep-inspector-heading p{font-size:.75rem}
  .prep-shell-ready #prep-properties{padding:15px}.prep-shell-ready .prep-field{font-size:.8rem}
  .prep-shell-ready .prep-viewbar{padding:7px 9px;gap:6px;flex-wrap:nowrap}.prep-shell-ready .prep-room-switch{max-width:44%;min-height:36px;font-size:.75rem;padding:7px}
  .prep-shell-ready .prep-view-controls{gap:5px;min-width:0}.prep-shell-ready .prep-view-controls select{min-width:64px;min-height:36px;font-size:.75rem}.prep-shell-ready .prep-view-controls summary{font-size:.72rem;min-height:36px;padding:7px}
  .prep-shell-ready .prep-view-options{position:fixed;right:9px;top:145px;max-height:var(--prep-view-options-height,calc(100dvh - 235px));width:320px;max-width:calc(100vw - 18px)}
  .prep-shell-ready.prep-readonly .prep-view-options{top:130px;max-height:var(--prep-view-options-height,calc(100dvh - 175px))}
  .prep-shell-ready .prep-canvas-caption{padding:5px 9px}.prep-shell-ready .prep-selection-context{gap:5px;min-height:32px}.prep-shell-ready .prep-selection-path{font-size:.74rem}.prep-shell-ready .prep-selection-path>span:first-child,.prep-shell-ready .prep-selection-path>strong{max-width:140px}
  .prep-shell-ready .prep-selection-context button{font-size:.7rem}.prep-shell-ready .prep-active-tool{font-size:.7rem;padding:5px 8px}.prep-shell-ready #prep-view-status{font-size:.73rem;line-height:1.45}
  .prep-shell-ready .prep-footer{padding:7px 10px;gap:6px}.prep-shell-ready .prep-footer p{font-size:.7rem;white-space:normal;overflow:visible;text-overflow:clip;max-height:2.8em;overflow-y:auto}.prep-shell-ready .prep-footer button{font-size:.71rem;min-height:38px;padding:7px}
  .prep-shell-ready .prep-footer #prep-step-back{font-size:0}.prep-shell-ready .prep-footer>#prep-save-actions{gap:4px}.prep-shell-ready .prep-footer>#prep-step-actions{min-width:0}.prep-shell-ready #prep-step-next span{white-space:normal;text-align:left}
  .prep-shell-ready .prep-library{padding:14px}.prep-shell-ready .prep-library h3{font-size:1.08rem;margin:4px 0 14px}
  .prep-shell-ready .prep-library>form{gap:8px}.prep-shell-ready .prep-library>form label{font-size:.78rem}.prep-shell-ready .prep-library-card{padding:14px}
}
@media(max-width:380px){.prep-shell-ready .prep-header #prep-preview{max-width:100px;font-size:.61rem}.prep-shell-ready .prep-header h2{font-size:.79rem}.prep-shell-ready .prep-header p{font-size:.59rem}.prep-shell-ready .prep-commandbar button{font-size:.68rem}.prep-shell-ready .prep-footer button{font-size:.67rem}.prep-shell-ready .prep-selection-path>span:first-child,.prep-shell-ready .prep-selection-path>strong{max-width:105px}}

/* Readable settings groups with native keyboard-operable disclosures. */
.prep-shell-ready .prep-inspector{container-type:inline-size;background:#f5f8f7}
.prep-shell-ready .prep-inspector-heading{background:#fff}
.prep-shell-ready .prep-inspector-heading p{color:#3f6568;line-height:1.5}
.prep-shell-ready .prep-settings-group{background:#fff;border:1px solid #d7e3e0;border-radius:10px;padding:0 12px 12px;margin:0 0 12px;min-width:0}
.prep-shell-ready .prep-settings-group:not([open]){padding-bottom:0}
.prep-shell-ready .prep-settings-group>summary{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;list-style:none;min-height:46px;margin:0 -12px;padding:12px 32px 12px 12px;color:var(--prep-ink);line-height:1.4;border-radius:10px}
.prep-shell-ready .prep-settings-group>summary::-webkit-details-marker{display:none}
.prep-shell-ready .prep-settings-group>summary:after{content:'';position:absolute;right:15px;top:18px;width:6px;height:6px;border-right:1.5px solid #507677;border-bottom:1.5px solid #507677;transform:rotate(-45deg)}
.prep-shell-ready .prep-settings-group[open]>summary:after{transform:rotate(45deg)}
.prep-shell-ready .prep-settings-group>summary:hover{background:#edf5f2}
.prep-shell-ready .prep-settings-group>summary:focus-visible{outline:2px solid var(--prep-accent);outline-offset:2px}
.prep-shell-ready .prep-settings-group[open]>summary{margin-bottom:12px;border-bottom:1px solid #e8eeeb;border-radius:10px 10px 0 0}
.prep-shell-ready .prep-group-value{display:block;flex-basis:100%;font-size:.7rem;font-weight:400;color:#60777a;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.prep-shell-ready .prep-settings-group>.prep-field:last-child,.prep-shell-ready .prep-settings-group>.prep-note:last-child{margin-bottom:0}
.prep-shell-ready #prep-properties .prep-settings-group>button{display:flex;width:100%;margin:0 0 8px;min-height:40px;text-align:left;white-space:normal}
.prep-shell-ready .prep-field{min-width:0;gap:4px;color:#405e62}
.prep-shell-ready .prep-field-label{line-height:1.45}
.prep-shell-ready .prep-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.prep-shell-ready .prep-input-wrap{position:relative;display:block;min-width:0}
.prep-shell-ready .prep-input-wrap input{margin:0;padding-right:48px;font-variant-numeric:tabular-nums}
.prep-shell-ready .prep-input-unit{position:absolute;right:26px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:500;color:#67817f;pointer-events:none}
.prep-shell-ready .prep-field>input,.prep-shell-ready .prep-field>select,.prep-shell-ready .prep-field>textarea{margin-top:0}
.prep-shell-ready .prep-field-hint,.prep-shell-ready .prep-field-error{display:block;font-size:.72rem;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.prep-shell-ready .prep-field-hint{color:#667b7d}
.prep-shell-ready .prep-field-error{color:#a3352d}
.prep-shell-ready .prep-field [aria-invalid=true]{border-color:#b54d40;background:#fff7f5;outline-color:#b54d40}
.prep-shell-ready .prep-field:focus-within>.prep-field-label{color:#1f6865}
.prep-shell-ready .prep-check{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:9px;row-gap:3px;align-items:center;min-height:36px;cursor:pointer}
.prep-shell-ready .prep-check>.prep-field-label{grid-column:2;grid-row:1}
.prep-shell-ready .prep-check>input{grid-column:1;grid-row:1;width:18px;height:18px;min-height:18px;margin:0}
.prep-shell-ready .prep-check>.prep-field-hint,.prep-shell-ready .prep-check>.prep-field-error{grid-column:2}
@container (max-width:310px){.prep-shell-ready .prep-settings-group .prep-field-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.prep-shell-ready .prep-inspector-heading{display:block}.prep-shell-ready .prep-inspector input,.prep-shell-ready .prep-inspector select,.prep-shell-ready .prep-inspector textarea{font-size:16px;min-height:44px}.prep-shell-ready .prep-inspector .prep-check input{min-height:18px}.prep-shell-ready .prep-settings-group>summary{min-height:48px}}

/* Product discovery and the review cards share the inspector's visual hierarchy. */
.prep-shell-ready #prep-properties .prep-library-entry{display:flex;width:100%;text-align:left;justify-content:flex-start;padding:12px;margin-bottom:16px;font-size:.81rem;line-height:1.45}
.prep-shell-ready #prep-properties .prep-tile-group{padding:12px 0 0;margin:12px 0 0;border-top:1px solid var(--prep-line)}
.prep-shell-ready #prep-properties .prep-tile-group>summary{display:list-item;list-style-position:inside;margin:0;padding:4px 0 12px;font-size:.83rem;color:var(--prep-ink);cursor:pointer}
.prep-shell-ready #prep-properties .prep-tile-group[open]>summary{color:var(--prep-accent)}
.prep-shell-ready #prep-properties .prep-tile-group>summary:focus-visible{outline-offset:1px;border-radius:4px}
.prep-shell-ready #prep-properties .prep-tile-group>.prep-field:last-child{margin-bottom:7px}
.prep-shell-ready #prep-properties .prep-review-room{padding:14px;margin:0 0 12px;border:1px solid var(--prep-line);border-radius:9px;background:#f7faf9;overflow-wrap:anywhere}
.prep-shell-ready .prep-review-room h4,.prep-shell-ready .prep-review-room strong{font-size:.86rem;line-height:1.5;margin:0 0 6px}
.prep-shell-ready .prep-review-room p{font-size:.77rem;margin:6px 0 10px}
.prep-shell-ready .prep-review-room button{min-height:34px;font-size:.75rem;text-align:left;justify-content:flex-start;margin:3px 4px 3px 0;max-width:100%}
.prep-shell-ready .prep-export-note{font-size:.72rem!important;color:var(--prep-muted);line-height:1.45!important;margin:2px 0 10px!important;padding:0 8px}
.prep-shell-ready #prep-retry{min-height:34px;font-size:.75rem;margin:7px 0 3px;border-color:#a6c6c4;color:var(--prep-accent)}
.prep-shell-ready .prep-library>header,.prep-shell-ready .prep-library>form,.prep-shell-ready .prep-library>footer,.prep-shell-ready #prep-library-filters,.prep-shell-ready #prep-library-status,.prep-shell-ready .prep-library-recent{flex:none}
.prep-shell-ready #prep-library-results{flex:1 1 0;min-height:90px;overflow:auto;overscroll-behavior:contain}
.prep-shell-ready #prep-library-filters:empty,.prep-shell-ready #prep-library-status:empty,.prep-shell-ready .prep-library-recent:empty{display:none}
.prep-shell-ready #prep-library-filters{margin:0 0 8px;font-size:.76rem!important;line-height:1.45!important}
.prep-shell-ready #prep-library-status{margin:0 0 10px;font-size:.78rem}
.prep-shell-ready .prep-library-recent{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-height:92px;overflow:auto;padding:0 0 12px}
.prep-shell-ready .prep-library-recent>strong{font-size:.74rem;font-weight:600;margin-right:3px}
.prep-shell-ready .prep-library-recent>button{min-height:30px;max-width:250px;padding:5px 9px;border-radius:18px;background:#edf5f2;font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
@media(min-width:701px) and (max-width:1100px){.prep-shell-ready .prep-library>form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.prep-shell-ready .prep-library>form #prep-library-brand-label{min-width:0}.prep-shell-ready .prep-library>form label{min-width:0}.prep-shell-ready .prep-library>form>button{align-self:end}}
@media(max-width:700px){.prep-shell-ready .prep-library>header{align-items:center}.prep-shell-ready .prep-library>header .eyebrow{display:none}.prep-shell-ready .prep-library>header h3{font-size:1rem;margin:0 0 9px}.prep-shell-ready .prep-library>form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 8px;margin-bottom:8px}.prep-shell-ready .prep-library>form>label{min-width:0;font-size:.7rem;line-height:1.4}.prep-shell-ready .prep-library>form input,.prep-shell-ready .prep-library>form select{margin-top:3px;min-height:34px;font-size:.73rem;padding:5px 7px}.prep-shell-ready .prep-library>form>button{align-self:end;min-height:34px;font-size:.75rem;padding:6px}.prep-shell-ready .prep-library-recent{max-height:68px;padding-bottom:7px;gap:5px}.prep-shell-ready #prep-library-filters{font-size:.71rem!important;margin-bottom:5px}.prep-shell-ready #prep-library-status{font-size:.74rem;margin-bottom:6px}.prep-shell-ready .prep-library>footer{padding-top:9px;font-size:.72rem}.prep-shell-ready .prep-library>footer button{min-height:34px;padding:6px 9px;font-size:.74rem}.prep-shell-ready #prep-library-results{min-height:70px}}
@media(max-height:600px){.prep-shell-ready .prep-library{overflow:auto}.prep-shell-ready #prep-library-results{flex:1 0 150px}.prep-shell-ready .prep-library>form{gap:4px 8px}.prep-shell-ready .prep-library-recent{max-height:38px}.prep-shell-ready #prep-library-filters{max-height:35px;overflow:auto}}
/* Catalog picker: a contained search surface with stable cards while loading. */
.prep-dialog .prep-library{inset:24px max(24px,calc((100% - 1240px)/2));padding:24px;background:#f5f8f7;border-radius:18px;box-shadow:0 24px 90px #183e4640}
.prep-dialog .prep-library>header{align-items:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--prep-line)}
.prep-dialog .prep-library>header h3{font-size:1.45rem;letter-spacing:-.025em;margin:3px 0 5px;line-height:1.25}
.prep-dialog #prep-library-context{margin:0;color:#577176;font-size:.8rem;max-width:750px}
.prep-dialog #prep-library-close{width:40px;height:40px;border-radius:50%;flex:none;font-size:1.2rem}
.prep-dialog .prep-library>form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:12px;align-items:end;padding:16px;background:#fff;border:1px solid var(--prep-line);border-radius:12px;margin-bottom:12px}
.prep-dialog .prep-library>form label,.prep-dialog .prep-library>form #prep-library-brand-label{min-width:0;width:auto;flex:auto;font-size:.73rem;color:#456269}
.prep-dialog #prep-library-search-label{grid-column:1 / 4;grid-row:1}
.prep-dialog #prep-library-submit{grid-column:4;grid-row:1}
.prep-dialog #prep-library-refresh{grid-column:5;grid-row:1}
.prep-dialog #prep-library-reset{grid-column:4 / 6;grid-row:2;background:transparent}
.prep-dialog .prep-library>form :is(input,select){width:100%;min-height:40px;margin-top:5px;border-radius:7px;font-size:.8rem;background:#fbfdfc}
.prep-dialog .prep-library>form input{padding-left:12px}
.prep-dialog #prep-library-filters{color:#577176;font-size:.72rem!important;margin:0 0 7px}
.prep-dialog #prep-library-status{display:flex;align-items:center;gap:8px;font-size:.78rem;margin:0 0 14px;color:#456269}
.prep-dialog #prep-library-status.is-error{color:#a33232}
.prep-dialog #prep-library-status.is-loading::before{content:"";width:14px;height:14px;border:2px solid #c4ddda;border-top-color:var(--prep-accent);border-radius:50%;animation:prep-library-spin .8s linear infinite;flex:none}
.prep-dialog #prep-library-results{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;padding:2px 3px 8px;align-items:stretch;min-height:90px}
.prep-dialog .prep-library-card{display:flex;flex-direction:column;padding:14px;border-radius:12px;box-shadow:0 2px 6px #183e4606}
.prep-dialog .prep-library-card:hover{border-color:#9fbfba;box-shadow:0 4px 14px #183e4612}
.prep-dialog .prep-library-visual{height:156px;width:100%;flex:none;margin:0 0 14px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.prep-dialog .prep-library-visual .tile-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.prep-dialog .prep-library-visual img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:10px}
.prep-dialog .prep-library-no-photo{font-size:.73rem;color:#70858a}
.prep-dialog .prep-library-card h4{margin:0 0 4px;font-size:.88rem;line-height:1.45}
.prep-dialog .prep-library-card>p{font-size:.73rem;line-height:1.5;margin:0 0 10px;color:#60787e}
.prep-dialog .prep-library-model-badge{align-self:start;color:#216e70;background:#eaf4f2;font-size:.65rem;border-radius:5px;padding:3px 7px;margin-bottom:9px}
.prep-dialog .prep-library-card>button{width:100%;margin:6px 0 0;font-size:.73rem;min-height:36px}
.prep-dialog .prep-library-card>button.prep-primary{margin-top:auto}
.prep-dialog .prep-library>footer{padding:12px 0 0;border-top:1px solid var(--prep-line);margin-top:8px}
.prep-dialog .prep-library-skeleton{padding:14px;border:1px solid var(--prep-line);border-radius:12px;background:white;min-height:300px}
.prep-dialog .prep-library-skeleton>div,.prep-dialog .prep-library-skeleton>span,.prep-dialog .prep-library-visual .tile-image-loading{display:block;background:linear-gradient(110deg,#e8efec 30%,#f5f8f7 45%,#e8efec 60%);background-size:250% 100%;animation:prep-library-shimmer 1.5s ease-in-out infinite;border-radius:7px}
.prep-dialog .prep-library-skeleton>div{height:156px;margin-bottom:16px}
.prep-dialog .prep-library-skeleton>span{height:12px;margin:12px 0;width:85%}
.prep-dialog .prep-library-skeleton>span:nth-child(3){width:55%}
.prep-dialog .prep-library-skeleton>span:last-child{height:36px;width:100%;margin-top:22px}
.prep-dialog .prep-library-visual .tile-image-loading{width:100%;height:100%}
.prep-dialog .prep-library-visual .tile-image-retry{font-size:.7rem;max-width:calc(100% - 20px)}
.prep-dialog .prep-library-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;background:#fff;border:1px dashed #b6ceca;border-radius:12px}
.prep-dialog .prep-library-empty h4{font-size:1rem;margin:0 0 7px}
@keyframes prep-library-spin{to{transform:rotate(360deg)}}
@keyframes prep-library-shimmer{to{background-position:-180% 0}}
@media(max-width:700px){
  .prep-dialog .prep-library{position:fixed;inset:8px;padding:14px;border-radius:12px}
  .prep-dialog .prep-library>header{padding-bottom:12px;margin-bottom:12px;align-items:start}
  .prep-dialog .prep-library>header h3{font-size:1.2rem;margin:2px 0 5px}
  .prep-dialog #prep-library-context{font-size:.73rem;line-height:1.4}
  .prep-dialog .prep-library>form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  .prep-dialog #prep-library-search-label{grid-column:1 / -1;grid-row:1}
  .prep-dialog #prep-library-submit{grid-column:1;grid-row:2}
  .prep-dialog #prep-library-refresh{grid-column:2;grid-row:2}
  .prep-dialog #prep-library-reset{grid-column:auto;grid-row:auto}
  .prep-dialog .prep-library>form :is(input,select){font-size:.76rem;min-height:36px}
  .prep-dialog #prep-library-results{grid-template-columns:1fr;gap:12px}
  .prep-dialog #prep-library-status{font-size:.73rem;margin-bottom:9px}
  .prep-dialog .prep-library>footer{padding-top:8px}
}
@media(max-height:600px){.prep-dialog .prep-library{inset:8px;padding:12px}.prep-dialog .prep-library>header{padding-bottom:8px;margin-bottom:8px}.prep-dialog .prep-library>form{padding:10px;gap:6px}.prep-dialog #prep-library-results{flex:1 0 180px}}
@media(prefers-reduced-motion:reduce){.prep-dialog #prep-library-status.is-loading::before,.prep-dialog .prep-library-skeleton>div,.prep-dialog .prep-library-skeleton>span,.prep-dialog .prep-library-visual .tile-image-loading{animation:none}}
.prep-shell-ready .prep-export-center{inset:32px max(24px,calc((100vw - 1040px)/2));padding:24px}
.prep-shell-ready .prep-export-center>header{align-items:center;margin-bottom:12px}
.prep-shell-ready .prep-export-center>header h3{margin:0;font-size:1.2rem}
.prep-shell-ready .prep-export-center>.prep-note{flex:none;margin:0 0 18px}
.prep-shell-ready .prep-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;flex:1 1 0;overflow:auto;overscroll-behavior:contain;align-content:start;padding:3px}
.prep-shell-ready .prep-export-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid var(--prep-line);border-radius:10px;background:#fff;min-width:0;overflow-wrap:anywhere}
.prep-shell-ready .prep-export-card.is-selected{border-color:#69a39b;box-shadow:0 0 0 2px #badbd4;background:#f4faf8}
.prep-shell-ready .prep-export-card h4{margin:0;font-size:.92rem;line-height:1.45}
.prep-shell-ready .prep-export-card>.prep-export-note{padding:0;margin:0 0 6px!important;font-size:.78rem!important;line-height:1.5!important;flex:1}
.prep-shell-ready .prep-export-card>button{margin-top:auto;text-align:left;min-height:38px;font-size:.77rem;max-width:100%;color:var(--prep-accent);border-color:#bbd4ce;background:#f4f9f7}
@media(max-width:1000px){.prep-shell-ready .prep-selection-kind{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:700px){.prep-shell-ready .prep-export-center{inset:8px;padding:14px}.prep-shell-ready .prep-export-center>header{margin-bottom:10px}.prep-shell-ready .prep-export-center>header h3{font-size:1.05rem;margin:0}.prep-shell-ready .prep-export-center>.prep-note{margin-bottom:12px}.prep-shell-ready .prep-export-grid{grid-template-columns:minmax(0,1fr);gap:10px}.prep-shell-ready .prep-export-card{padding:14px;gap:6px}.prep-shell-ready .prep-export-card>button{width:100%;justify-content:flex-start}}

/* Presentation controls stay inside the existing view-options menu. */
.prep-shell-ready .prep-presentation-controls{border-block:1px solid var(--prep-line);padding:10px 0;margin:12px 0}
.prep-shell-ready .prep-presentation-controls>summary{font-size:.82rem;font-weight:600;cursor:pointer;padding:3px 0}
.prep-shell-ready .prep-presentation-field{display:flex;flex-direction:column;gap:5px;font-size:.74rem;margin:12px 0}
.prep-shell-ready .prep-presentation-field input,.prep-shell-ready .prep-presentation-field select{width:100%;height:auto;min-height:36px;margin:0;padding:7px 9px;font-size:.78rem}
.prep-shell-ready .prep-presentation-field[hidden]{display:none}
.prep-shell-ready .prep-presentation-controls>button{width:100%;justify-content:flex-start;font-size:.77rem;margin:5px 0}
