/* Real Studio layout controls. Deliberately scoped away from the public homepage. */
.colour-input{display:flex;align-items:center;gap:8px}.colour-input input[type=color]{padding:0;width:34px;height:34px;min-width:34px;cursor:pointer;overflow:hidden}.colour-input input[type=color]::-webkit-color-swatch-wrapper{padding:4px}.colour-input input[type=color]::-webkit-color-swatch{border:0;border-radius:2px}.colour-input input[type=text]{flex:1;min-width:0}
.alignment-control{display:grid;gap:8px}.alignment-control>span{font-size:10px;color:#aeb8c6}.alignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.alignment-grid button{display:flex;gap:6px;align-items:center;justify-content:center;min-height:34px;border:1px solid #353b46;border-radius:4px;background:#1b1e25;color:#b8c6d8;font-size:10px;cursor:pointer}.alignment-grid button:hover{background:#263346;border-color:#668fca;color:#fff}.alignment-grid button:focus-visible{outline:2px solid #74a1de;outline-offset:2px}.alignment-grid svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.app{grid-template-columns:224px minmax(0,1fr) 320px;background:#0c0e12}
.topbar{padding:0 16px;gap:14px;background:#101217}.brand-area{width:auto;gap:10px;flex:0 0 auto}.studio-brand-lockup{width:128px}.studio-brand-label{font-size:10px;letter-spacing:.05em}.topbar-actions{gap:6px}.topbar-center{margin-left:auto}.cloud-status{display:none}.save-state{font-size:11px}.topbar .btn{border-radius:6px;font-size:11px;padding:8px 10px;white-space:nowrap;box-shadow:none}.icon-btn{border-radius:5px}.device-switcher{border-radius:6px}.device-btn{font-size:11px;border-radius:4px}
.left-panel,.right-panel{background:#121419;border-color:#292d35}.workspace{background:#1b1d22}.left-tabs{padding:10px 8px;gap:0}.left-tab{font-size:12px;border-radius:5px;min-height:34px}.left-content{padding:14px 14px 78px}.panel-search input{font-size:12px;border-radius:5px}.block-group h3{font-size:11px;letter-spacing:.03em;text-transform:none;color:#a7aeba}.block-item{min-height:66px;border-radius:5px;background:#181b21}.block-item b{font-size:11px}.block-item.premium{background:#181b21;border-color:#303641}.group-heading span{display:none}.block-group{padding:18px 0}.page-item{border-radius:5px}.page-item strong{font-size:12px}.page-item small{font-size:10px}.page-settings{display:grid;gap:9px;margin:12px 0 2px}.page-settings-card{display:grid;gap:10px;padding:11px;border:1px solid #2d333d;border-radius:7px;background:#16191f}.page-settings-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.page-settings-head>div{display:grid;gap:2px;min-width:0}.page-settings-head>span,.page-settings-head small{font-size:8px;letter-spacing:.1em;color:#7f8b9b}.page-settings-head b{font-size:11px;color:#e8edf3}.page-dynamic-toggle{display:flex;align-items:center;gap:6px;color:#b8c2cf;font-size:9px;white-space:nowrap}.page-dynamic-toggle input{accent-color:#568bd1}.page-dynamic-fields{display:grid;gap:8px}.page-dynamic-fields label{display:grid;gap:5px}.page-dynamic-fields label>span{font-size:8px;font-weight:700;color:#8896a7}.page-dynamic-fields input,.page-dynamic-fields select{width:100%;min-width:0;min-height:31px;border:1px solid #343b46;border-radius:5px;background:#10141a;color:#e2e8f0;padding:6px 8px;font:inherit;font-size:9px;outline:none}.page-dynamic-fields input:focus,.page-dynamic-fields select:focus{border-color:#6f9bd5;box-shadow:0 0 0 1px #6f9bd5}.page-dynamic-summary{display:grid;gap:3px;padding:9px;border:1px solid #2d4257;border-radius:6px;background:#111b25}.page-dynamic-summary b{font-size:9px;color:#cfe2f7}.page-dynamic-summary span{font-size:8px;line-height:1.45;color:#8fa5bb;overflow-wrap:anywhere}.page-dynamic-summary.warning{border-color:#5b4930;background:#211b13}.page-dynamic-summary.warning b{color:#eed3a5}.page-settings .panel-note.compact{margin:0;padding:1px 0;color:#7f8c9d;font-size:8.5px}.panel-heading-row h3{font-size:12px}.tiny-btn{font-size:11px;border-radius:5px}.panel-note{border:0;padding:10px 2px;font-size:11px;line-height:1.6}.layers-heading{margin-top:20px}.layers-heading span{font-size:11px;letter-spacing:.04em}.layers-heading small{display:none}.layer-row{padding-top:8px;padding-bottom:8px;border-radius:4px;min-width:0}.layer-row strong{font-size:11px;font-weight:500}.layer-row small{font-size:8px}.layer-row.active{background:#20334d;border-color:#35567b}.layer-row.is-hidden{opacity:.5}.layer-row>span{font-size:10px}.layer-collapse{border:0;background:none;padding:0;width:14px;color:#8290a1;cursor:pointer}.layer-empty{font-size:11px}
.workspace-toolbar{height:46px;flex:0 0 46px;background:#181a20;border-bottom:1px solid #30333b}.workspace-status{font-size:10px;max-width:30%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breadcrumb{font-size:11px;min-width:0;overflow:auto;white-space:nowrap}.breadcrumb button{border:0;background:none;color:#b6bfcc;padding:4px 0;font-size:11px;cursor:pointer}.breadcrumb button:last-child{color:#f3f5f8}.canvas-viewport{padding:32px;display:block;background-image:radial-gradient(#35383f 1px,transparent 1px);background-size:16px 16px}.canvas-shell{margin:0 auto;overflow:visible;transition:none}.canvas-shell.desktop{width:1100px;max-width:none;min-width:1100px}.canvas-shell.tablet{width:768px;min-width:768px}.canvas-shell.mobile{width:390px;min-width:390px}.site-canvas{overflow:visible;min-height:700px}.project-tools{left:237px;bottom:12px}.project-tools button,.project-tools label{font-size:10px;border-radius:4px;padding:8px 10px;background:#191d24}
.right-header{min-height:64px;padding:14px 18px}.right-header small{font-size:9px;letter-spacing:.08em}.right-header strong{font-size:13px;margin-top:5px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-content{padding:0 0 56px;scrollbar-gutter:stable}.element-name{display:grid;gap:7px;padding:16px 18px 12px}.element-name span{font-size:10px;color:#9aa5b4}.element-name input{padding:8px 10px;background:#1b1e25;border:1px solid #353b46;border-radius:4px;font-size:12px;color:#e5eaf1;width:100%}.inspector-breakpoint{padding:11px 18px;border-top:1px solid #2b2f36;border-bottom:1px solid #2b2f36;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;color:#c0cad7}.inspector-breakpoint i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#79a7ec;margin-right:7px}.inspector-breakpoint button{font-size:10px;color:#a7c6f4;background:none;border:0;padding:4px 0;cursor:pointer}
.inspector-group{border-bottom:1px solid #292e36}.inspector-group>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-size:12px;font-weight:600;color:#e7ebf1;cursor:pointer}.inspector-group>summary::-webkit-details-marker{display:none}.inspector-group>summary span{font-size:13px;color:#909bab;transform:rotate(-90deg)}.inspector-group[open]>summary span{transform:none}.inspector-group-body{padding:0 18px 17px;display:grid;gap:12px}.studio-field{min-width:0;display:grid;gap:6px;align-content:start}.studio-field-label{display:flex;min-height:18px;align-items:center;justify-content:space-between;gap:4px}.studio-field-label label{font-size:10px;color:#aeb8c6}.property-source{color:#6e829b;font-size:8px}.property-reset{background:#243955;color:#a4c7fb;border:0;border-radius:3px;width:22px;height:18px;cursor:pointer;font-size:12px}.has-override>.studio-field-label label{color:#abcdfb}.unit-input{position:relative;min-width:0}.unit-input>span{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:10px;color:#7f8c9e;pointer-events:none}.unit-input input{padding-right:28px!important}
.studio-field input,.studio-field select,.inspector-group .field input,.inspector-group .field textarea,.inspector-group .field select{width:100%;min-width:0;min-height:34px;border:1px solid #353b46;border-radius:4px;background:#1b1e25;color:#dce3ec;padding:7px 9px;font-size:12px;outline:none}.studio-field input:focus,.studio-field select:focus,.inspector-group .field input:focus,.inspector-group .field textarea:focus{border-color:#74a1de;box-shadow:0 0 0 1px #74a1de}.studio-field input[type=number]{appearance:textfield;-moz-appearance:textfield}.studio-field input::-webkit-outer-spin-button,.studio-field input::-webkit-inner-spin-button{margin:0;appearance:none}.inspector-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.size-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px;align-items:end}.sizing-hint{font-size:10px;line-height:1.5;color:#778498;padding:0 0 9px 4px}.segmented{display:flex;gap:2px;padding:3px;border:1px solid #343a44;border-radius:5px;background:#191c22;min-height:35px}.segmented button{flex:1;min-width:0;border:0;border-radius:3px;background:none;color:#9ba9bb;font-size:11px;padding:5px 4px;cursor:pointer;white-space:nowrap}.segmented button[aria-pressed=true]{background:#344254;color:#fff}.segmented button:hover{color:#fff}.inspector-note{font-size:10px;color:#7e8ca0;line-height:1.6;margin:0}.inspector-advanced{border-top:1px solid #292e36;padding-top:9px}.inspector-advanced>summary{font-size:10px;color:#8fa4bf;cursor:pointer;min-height:22px}.inspector-advanced[open]{display:grid;gap:10px}.inspector-advanced[open]>:not(summary){margin-top:10px}.spacing-control{display:grid;gap:8px}.spacing-control+.spacing-control{margin-top:8px}.spacing-heading{display:flex;align-items:center;justify-content:space-between}.spacing-heading b{font-size:10px;font-weight:500;color:#aeb8c6}.link-sides{background:none;border:0;color:#779acb;font-size:10px;cursor:pointer;padding:4px 0}.linked-space{max-width:150px}.sides-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.sides-grid input{text-align:center;padding:6px!important}.sides-grid .studio-field-label{display:block}.sides-grid .property-source{display:block;margin-top:3px}.sides-grid .property-reset{float:right}.inspector-footer{padding:16px 18px}.inspector-footer .btn{border-radius:5px;font-size:11px}.inspector-group .field{margin:0}.inspector-group .field>span{font-size:10px;margin-bottom:6px;display:block}.inspector-group .field-grid{gap:10px}.inspector-group .help-box{font-size:10px;line-height:1.6;padding:10px;border-radius:4px}.properties-empty{padding:50px 28px}.properties-empty p{font-size:12px;line-height:1.7}
/* Selection decoration must never change a customer's layer order or layout. */
.builder-node.selected{outline:2px solid #347fe8!important;z-index:revert-layer}.builder-node::before{font-size:9px;left:0;top:0;translate:0 -100%;border-radius:3px 3px 0 0;padding:4px 6px;background:#2566c0;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-toolbar{top:0;right:0;translate:0 -100%;padding-bottom:3px}.node-toolbar button{border-radius:3px;width:23px;height:23px;font-size:11px;background:#203b61;border-color:#395b89}.node-toolbar .drag-grip{touch-action:none}.resize-handle{width:9px;height:26px;border-radius:2px;right:-4px}.resize-handle.free-resize{top:auto;bottom:-5px;right:-5px;width:12px;height:12px;translate:none;cursor:nwse-resize}.free-resize::after{display:none}.nested-empty{font-size:11px;border-radius:3px;min-height:68px;background:#f5f7f9;pointer-events:none}.layout-node.node-freeform>.layout-body>.nested-empty{position:absolute;inset:0;border-color:#95a6ba;background:repeating-linear-gradient(135deg,#f7f9fb,#f7f9fb 10px,#f1f4f8 10px,#f1f4f8 20px)}.root-drop-pad{font-size:10px;border-radius:3px;pointer-events:auto}.layout-guide{position:absolute;pointer-events:none;background:#f065a2;z-index:9999}.layout-guide.axis-x{top:0;bottom:0;width:1px}.layout-guide.axis-y{left:0;right:0;height:1px}.gesture-active{user-select:none}.gesture-active .builder-node{transition:none}
@media(max-width:1300px){.app{grid-template-columns:196px minmax(0,1fr) 300px}.brand-area{gap:8px}.studio-brand-lockup{width:114px}.topbar{gap:8px;padding:0 10px}.topbar-actions{gap:5px}.save-state{display:none}.project-tools{left:208px}.topbar .btn{font-size:10px;padding:8px}.studio-brand-label{display:none}.inspector-group-body{padding-left:14px;padding-right:14px}.inspector-group>summary{padding-left:14px;padding-right:14px}}
@media(max-width:1000px){.topbar .owner-btn{max-width:76px;overflow:hidden;text-overflow:ellipsis}.topbar .account-btn{display:none}.app{grid-template-columns:164px minmax(0,1fr) 280px}.left-content{padding-left:9px;padding-right:9px}.block-item{min-height:60px;padding:7px}.project-tools{left:177px}.studio-brand-lockup{width:96px}.topbar-center{display:flex}.device-btn{padding:6px;font-size:10px}.canvas-viewport{padding:26px}.topbar-actions .editor-projects-link{display:none}}
@media(max-width:820px){body{overflow:hidden}.app{display:grid;height:100dvh;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:60px minmax(0,1fr);grid-template-areas:"top top" "workspace right"}.topbar{position:relative;flex-wrap:nowrap;min-height:0;height:60px}.right-panel{display:flex}.left-panel{display:flex;position:fixed;left:0;top:60px;bottom:0;width:220px;z-index:50;box-shadow:10px 0 40px #0007;transform:translateX(-101%)}.app.show-library .left-panel{transform:none}.device-switcher{display:flex}.workspace{min-height:0}.topbar-center{display:none}.topbar .owner-btn,.topbar .account-btn,.topbar .editor-projects-link{display:none}.topbar-actions{margin-left:auto}.project-tools{left:12px}.canvas-shell.desktop{width:1100px;min-width:1100px}.canvas-shell.tablet{width:768px;min-width:768px}.canvas-shell.mobile{width:390px;min-width:390px}.workspace-toolbar{padding:0 10px}.workspace-status{display:none}}
@media(min-width:821px){.library-toggle{display:none!important}}
@media(max-width:580px){.app{grid-template-columns:1fr;grid-template-areas:"top" "workspace"}.right-panel{display:none;position:fixed;right:0;top:60px;bottom:0;width:290px;z-index:50;box-shadow:-10px 0 40px #0007}.app.show-inspector .right-panel{display:flex}.inspector-toggle{display:inline-flex!important}.studio-brand-lockup{width:80px}.device-btn{font-size:9px;padding:6px 4px}.topbar .btn{padding:7px;font-size:10px}.canvas-viewport{padding:26px 12px}.project-tools{bottom:8px}.topbar{gap:5px}}
.inspector-toggle{display:none}.panel-toggle{border:1px solid #3a404b;border-radius:4px;background:#222833;color:#dce3ed;font-size:11px;padding:6px 8px;cursor:pointer;margin-right:8px}

.canvas-zoom{background:none;border:0;border-left:1px solid #3a404b;color:#9cacbf;padding:4px 0 4px 10px;margin-left:10px;font-size:10px;cursor:pointer}.workspace-status{display:flex;align-items:center;max-width:45%}.workspace-status>span{overflow:hidden;text-overflow:ellipsis;max-width:150px}.canvas-zoom{white-space:nowrap}.topbar a.btn{text-decoration:none;color:#dce4ed}.builder-node[data-free-child=true]>.node-toolbar{top:4px;right:4px;translate:none}.builder-node[data-free-child=true]::before{top:4px;left:4px;translate:none}.layout-body>.nested-empty{min-height:60px}.node-freeform .layout-body>.nested-empty{max-height:100%}
@media(max-width:820px){.workspace-status{display:flex;max-width:none}.workspace-status>span{display:none}}

.panel-close{display:none;border:0;border-bottom:1px solid #353b46;background:#212630;color:#cdd7e5;padding:12px 16px;font-size:12px;text-align:right;cursor:pointer;flex-shrink:0}
@media(max-width:820px){.library-close{display:block}.breadcrumb{flex:1;min-width:0}.workspace-toolbar{gap:6px}.library-toggle{flex:0 0 auto;white-space:nowrap}.canvas-zoom{max-width:100px;overflow:hidden}}
@media(max-width:580px){.inspector-close{display:block}.workspace-status{display:none}.inspector-toggle{flex:0 0 auto;margin-right:0}.breadcrumb{max-width:120px}}
.save-state{display:inline-flex;background:transparent;border:1px solid transparent;border-radius:4px;padding:7px;cursor:pointer;font:inherit;font-size:11px;max-width:180px;white-space:nowrap}
.save-state:hover{border-color:#414b59;background:#1b212a}.save-state:focus-visible{outline:2px solid #6aa6fa;outline-offset:2px}.save-state span{overflow:hidden;text-overflow:ellipsis}
.save-state[data-state=saving] i{background:#e7bd68;box-shadow:none}.save-state[data-state=error] i{background:#ef9588;box-shadow:none}.save-state[data-state=review] i{background:#e7bd68;box-shadow:none}
.save-review{width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #414b58;border-radius:10px;background:#151a22;color:#eef2f7;box-shadow:0 24px 100px #0009;overflow:auto;font-family:Inter,system-ui,sans-serif}
.save-review::backdrop{background:#05080dc4}.save-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 10px}.save-review-eyebrow{font-size:10px;font-weight:600;letter-spacing:.13em;color:#a5b2c3}.save-review h2{font-size:24px;line-height:1.25;margin:8px 0 0;letter-spacing:-.02em}.save-review-close{width:32px;height:32px;flex-shrink:0;border:1px solid #404958;border-radius:4px;background:transparent;color:#dfe7f2;font-size:24px;cursor:pointer}
.save-review-intro{padding:0 28px;margin:0 0 20px;color:#bdc7d5;font-size:13px;line-height:1.6;max-width:790px}.save-review-body{padding:0 28px}.recovery-select-label{display:block;font-size:11px;color:#bdc7d5;margin-bottom:6px}.save-review select{width:100%;padding:10px 12px;color:#e9eef5;background:#202732;border:1px solid #404b5c;border-radius:4px;font:inherit;font-size:12px;margin-bottom:18px}
.save-review-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.save-review-comparison.single{grid-template-columns:minmax(0,1fr)}.save-review-comparison section{min-width:0}.save-version-head{min-height:94px}.save-version-head>span{font-size:10px;font-weight:600;letter-spacing:.06em;color:#8ea4c0}.save-version-head h3{margin:7px 0;font-size:16px;overflow-wrap:anywhere}.save-version-head p{font-size:11px;color:#aab6c6;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.save-review iframe{display:block;border:1px solid #404b59;width:100%;height:260px;background:#fff;pointer-events:none}
.save-review-link{padding:10px 0;background:none;border:0;color:#a9caff;font:inherit;font-size:12px;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.save-review-link.danger{color:#f4a89d}.save-review-note,.save-review-footnote{font-size:11px;line-height:1.6;color:#a8b4c5}.save-review-note{margin:10px 0 0}.save-review-footnote{margin:0;padding:0 28px 22px}.save-review-error{font-size:12px;color:#ffc1b6;line-height:1.5;margin:6px 0;min-height:0}.save-review-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:20px 28px 14px;border-top:1px solid #313c4c;margin-top:18px}.save-review button:focus-visible,.save-review select:focus-visible{outline:2px solid #81b6ff;outline-offset:3px}.save-review button:disabled{opacity:.5;cursor:wait}
.project-loading-notice:not([hidden]){position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#10151bef}.project-loading-notice>div{max-width:440px;margin:24px;padding:28px;border:1px solid #3c4757;background:#19202a;border-radius:8px;color:#e9eef5}.project-loading-notice p{line-height:1.6}
@media(max-width:1300px){.save-state{display:inline-flex;max-width:125px}}
@media(max-width:900px){.topbar-center{display:contents}.topbar-center>#undoBtn,.topbar-center>#redoBtn{display:none}.save-state{position:fixed;right:12px;bottom:12px;z-index:55;max-width:195px;background:#1b2330;border-color:#48556a;padding:9px 12px;margin:0;box-shadow:0 2px 15px #0005}.save-review{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}}
@media(max-width:580px){.save-review-head{padding:20px 18px 10px}.save-review h2{font-size:21px}.save-review-intro{padding:0 18px}.save-review-body{padding:0 18px}.save-review-comparison{grid-template-columns:minmax(0,1fr);gap:18px}.save-version-head{min-height:0}.save-review iframe{height:190px}.save-review-actions{padding:16px 18px 12px;flex-direction:column}.save-review-actions .btn{width:100%;justify-content:center}.save-review-footnote{padding:0 18px 18px}}

/* Scaled desktop previews let owners compare the whole opening composition. */
.save-preview-window{position:relative;width:100%;aspect-ratio:11/8;overflow:hidden;background:#fff;border:1px solid #404b59}.save-preview-window iframe{position:absolute;inset:0;width:1100px;height:800px;max-width:none;border:0;transform:scale(var(--preview-scale,.3));transform-origin:0 0;pointer-events:none}

/* Composition controls stay in the existing Layers and Properties surfaces. */
.layers-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.layers-heading .tiny-btn{color:#c0cee0;border:1px solid #394354;background:#1c222c;padding:5px 9px}.layers-heading .tiny-btn[aria-pressed=true]{background:#243f63;border-color:#5285c7;color:#eef5ff}
.layer-row{display:flex;align-items:center;gap:4px;min-height:34px;padding-top:4px;padding-bottom:4px;padding-right:3px;cursor:pointer}.layer-row strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row small{max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-leaf,.layer-collapse{flex:0 0 14px}.layer-row:focus-visible{outline:2px solid #83b7ff;outline-offset:-2px}.layer-lock{flex:0 0 22px;width:22px;height:24px;display:grid;place-items:center;border:0;border-radius:3px;background:transparent;color:#a4b8d0;opacity:0;cursor:pointer}.layer-lock.locked,.layer-row:hover>.layer-lock,.layer-row.active>.layer-lock,.layer-row:focus-within>.layer-lock{opacity:1}.layer-lock:hover{background:#2b3543}.layer-lock:disabled{cursor:default;color:#77899f}.layer-select{display:none;flex:0 0 13px;width:13px;height:13px;margin:0;accent-color:#488ce9;cursor:pointer}.layer-tree.selecting .layer-select{display:block}.layer-tree.selecting .layer-row small{display:none}.layer-row.is-protected strong{color:#adbacb}.layer-lock:focus-visible{opacity:1;outline:2px solid #83b7ff}
.builder-node.is-locked{cursor:default}.builder-node.is-locked.selected{outline:2px dashed #839ab9!important}.builder-node.batch-selection>.node-toolbar,.builder-node.batch-selection>[data-resize-handle]{display:none!important}.builder-node.batch-selection::before{display:none!important}.selection-count{font-size:11px;white-space:nowrap;color:#b4c9e5}
.composition-panel{padding:24px 20px;color:#e6edf6}.composition-kicker{font-size:10px;letter-spacing:.1em;font-weight:600;color:#92a8c4}.composition-panel h3{font-size:19px;font-weight:600;line-height:1.3;margin:10px 0}.composition-panel p{font-size:12px;line-height:1.6;color:#adbace;margin:10px 0 18px}.selection-list{list-style:none;margin:20px 0;padding:0;border-top:1px solid #313c4a}.selection-list li{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #313c4a;font-size:12px}.selection-list span{overflow-wrap:anywhere;min-width:0}.selection-list small{color:#879bb5;font-size:10px}.composition-primary,.composition-actions button{width:100%;padding:10px 12px;border:1px solid #426189;border-radius:4px;color:#edf5ff;background:#21487a;font:inherit;font-size:12px;cursor:pointer}.composition-actions{display:grid;gap:8px}.composition-actions button{background:#1b2430;border-color:#3b4a5d;color:#d6e2f2;white-space:normal}.composition-primary:hover,.composition-actions button:hover{border-color:#7ea9df}.composition-primary:disabled,.composition-actions button:disabled{opacity:.45;cursor:default}.composition-panel .composition-help,.composition-help{color:#91a3bb;font-size:11px;line-height:1.6}.composition-link{border:0;background:transparent;font:inherit;font-size:11px;color:#a7c4ee;cursor:pointer;padding:14px 0}.composition-panel button:focus-visible,.composition-actions button:focus-visible{outline:2px solid #83b7ff;outline-offset:3px}
@media(hover:none){.layer-lock{opacity:1}}
.link-option{display:flex;align-items:center;gap:8px;font-size:11px;color:#c1cbd8;cursor:pointer;min-height:28px}
.link-option input{accent-color:#86acd9;width:16px;height:16px}
.link-status{font-size:11px;line-height:1.5;color:#b1c2d7;overflow-wrap:anywhere;border-left:2px solid #597698;padding:5px 0 5px 10px}
.link-status.has-error{color:#efb2a9;border-color:#d48779}.link-status.has-warning{color:#dfc893;border-color:#ac8d4e}
.link-preview{display:flex;justify-content:space-between;align-items:center;min-height:34px;background:#252e3a;color:#d7e5f8;border:1px solid #43556b;border-radius:4px;padding:7px 10px;font-size:11px;cursor:pointer}
.link-preview:hover{background:#303e50}.link-preview:focus-visible{outline:2px solid #86acd9;outline-offset:2px}
#previewModal{padding:16px}.preview-modal{display:flex;flex-direction:column;width:min(1200px,100%);min-width:0;max-height:94dvh}.preview-modal>header{flex-shrink:0}
.preview-navigation{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid #303640;flex-shrink:0}
.preview-navigation button,.preview-navigation select{background:#212832;color:#edf1f6;border:1px solid #465363;border-radius:4px;padding:7px 10px;min-height:34px;font:inherit;font-size:12px}
.preview-navigation button{cursor:pointer}.preview-navigation button:disabled{opacity:.45;cursor:default}.preview-navigation label{font-size:11px;color:#a7b5c7}
.preview-navigation select{min-width:0;width:240px;max-width:100%}.preview-navigation button:focus-visible,.preview-navigation select:focus-visible{outline:2px solid #86acd9;outline-offset:2px}
.preview-notice{display:flex;gap:12px;justify-content:space-between;padding:8px 16px;background:#151b23;color:#b3c0d0;font-size:11px;line-height:1.5;overflow-wrap:anywhere;flex-shrink:0}
.preview-notice a{color:#c8ddf8;flex-shrink:0}.preview-notice a[hidden]{display:none}.preview-frame-wrap{min-height:0;flex:1 1 auto}
@media(max-width:580px){.preview-navigation{gap:8px;padding:8px}.preview-navigation select{flex:1}.preview-notice{padding:8px;flex-wrap:wrap}.preview-modal{max-height:96dvh}}

/* Responsive workbench: viewport width is transient, never a saved style. */
.studio-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.responsive-canvas-bar{display:flex;align-items:center;gap:9px;min-height:43px;flex-shrink:0;padding:7px 14px;background:#14181f;border-bottom:1px solid #303640;color:#b9c7d8;font-size:11px}
.responsive-canvas-bar>span{color:#e1e9f4;font-weight:600;white-space:nowrap}.responsive-canvas-bar>label{margin-left:8px}.responsive-canvas-bar>small{font-size:10px;line-height:1.4;max-width:520px}
.responsive-width-input{display:flex;align-items:center;gap:5px;padding-right:8px;background:#202731;border:1px solid #455264;border-radius:4px;color:#9caec5}
.responsive-width-input input{width:68px;min-width:0;padding:7px 4px 7px 8px;color:#edf4fc;background:none;border:0;outline:none;font:inherit;font-size:12px;appearance:textfield}
.responsive-width-input input::-webkit-inner-spin-button,.responsive-width-input input::-webkit-outer-spin-button{appearance:none;margin:0}.responsive-width-input:focus-within{outline:2px solid #87b9fc;outline-offset:1px}
.responsive-width-input>span{font-size:11px}.responsive-inheritance{padding:14px 18px 16px;border-bottom:1px solid #303742;background:#151c26}
.inheritance-heading{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.inheritance-heading strong{font-size:11px;font-weight:600;color:#dce9f9}.inheritance-heading>small{font-size:9px;color:#93a8c3}
.breakpoint-path{display:flex;margin:12px 0 10px;gap:4px}.breakpoint-path button{flex:1;min-width:0;border:1px solid #35445a;background:#19222e;border-radius:4px;padding:8px 4px;color:#bac9dc;cursor:pointer}.breakpoint-path button[aria-pressed=true]{border-color:#6c9bda;background:#263e5d;color:#f2f7ff}.breakpoint-path button span,.breakpoint-path button small{display:block}.breakpoint-path button span{font-size:11px}.breakpoint-path button small{font-size:9px;margin-top:5px;opacity:.8}.breakpoint-path button:focus-visible{outline:2px solid #91bcf7;outline-offset:2px}
.responsive-inheritance p{font-size:11px;line-height:1.55;color:#bfcee1;margin:0 0 7px}.inheritance-shared{font-size:10px;color:#8f9eb2;line-height:1.5;display:block}.reset-responsive{border:0;background:none;padding:9px 0 0;color:#b3d2fc;font-size:10px;cursor:pointer}.reset-responsive:disabled{color:#657991;cursor:default}
.property-provenance{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.property-source{color:#a0b3cd}.property-source.is-override{color:#bfd8fc}.studio-field-label{gap:5px}.sides-grid .property-provenance{gap:2px}.sides-grid .property-source{font-size:7px}
#previewModal .preview-modal{width:min(1540px,100%);height:calc(100dvh - 32px);max-height:1000px;overflow:hidden}
.responsive-preview-controls{flex-shrink:0;padding:10px 16px 12px;background:#141a23;border-bottom:1px solid #364050;color:#c8d5e7}
.responsive-width-row{display:flex;align-items:center;gap:10px}.responsive-width-row>label{font-size:11px;margin-left:4px}.preview-presets{display:flex;gap:3px;background:#0d131c;border:1px solid #374459;border-radius:4px;padding:3px}
.preview-presets button,#previewScale,.responsive-preview-actions button{min-height:30px;padding:6px 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:#b5c6dd;cursor:pointer;font-size:11px;white-space:nowrap}.preview-presets button[aria-pressed=true]{background:#2c405d;color:#fff}.preview-presets button:hover{color:#fff}#previewScale{border-color:#45556a;min-width:79px;color:#d0e2fa}
#previewWidthRange{display:block;width:100%;height:22px;margin:7px 0;accent-color:#89b1e5;cursor:ew-resize}
.responsive-preview-context{display:flex;align-items:center;justify-content:space-between;gap:16px}.responsive-preview-context strong{font-size:11px;color:#e1edfd}.responsive-preview-context p{font-size:10px;line-height:1.4;color:#9eb2cd;margin:5px 0 0}.responsive-preview-actions{display:flex;gap:6px;flex-shrink:0}.responsive-preview-actions button{border-color:#40526a;background:#1b293b;color:#d0e3fe}.responsive-preview-actions button[aria-expanded=true]{background:#304566;border-color:#769dd1}.responsive-preview-controls button:focus-visible,#previewWidthRange:focus-visible{outline:2px solid #9ac6ff;outline-offset:2px}
.preview-main{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-height:0}.preview-main.checks-open{grid-template-columns:minmax(0,1fr) 292px}
#previewViewport{height:auto;min-width:0;min-height:0;overflow:auto;background:#242b35;padding:12px;display:block;scrollbar-gutter:auto}
#previewSizer{position:relative;flex-shrink:0;background:#fff;box-shadow:0 5px 20px #0004}
#previewFrame{display:block;position:absolute;left:0;top:0;max-width:none;border:0;transform-origin:0 0;background:#fff}
.responsive-checks{border-left:1px solid #394657;background:#141b25;overflow:auto;min-height:0;padding:16px;color:#d7e4f5}.responsive-checks[hidden]{display:none}.responsive-check-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.responsive-check-header h3{font-size:14px;margin:0}.responsive-check-header button{width:30px;height:30px;border:1px solid #45576d;border-radius:3px;background:none;color:#d7e4f5;font-size:19px;cursor:pointer}
#responsiveCheckStatus{font-size:12px;line-height:1.5;margin:14px 0 8px}.responsive-check-note{font-size:10px;line-height:1.5;color:#97acc7;margin:0 0 15px}#responsiveFindings{padding:0;margin:0;list-style:none}
.responsive-finding{padding:15px 0;border-top:1px solid #344254}.responsive-finding>div:first-child{display:grid;gap:7px}.finding-kind{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#eab399}.responsive-finding strong{font-size:12px;font-weight:600;line-height:1.4}.responsive-finding>b{display:block;font-size:11px;margin:7px 0;color:#b4c9e5;font-weight:500;overflow-wrap:anywhere}.responsive-finding p{font-size:11px;color:#a9bdd7;line-height:1.6;margin:0 0 11px}.finding-actions{display:flex;gap:6px}.finding-actions button{border:1px solid #4b607a;border-radius:3px;background:#22334a;color:#d4e5fb;padding:7px 9px;font-size:11px;cursor:pointer}.responsive-checks button:focus-visible{outline:2px solid #9ac6ff;outline-offset:2px}
@media(max-width:1050px){.responsive-canvas-bar>small{display:none}.preview-main.checks-open{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:700px){.responsive-preview-context{align-items:flex-start;gap:8px;flex-direction:column}.responsive-preview-context p{display:block}.responsive-preview-actions{width:100%}.responsive-preview-actions button{flex:1}.responsive-preview-controls{padding:8px 10px}.responsive-width-row{gap:6px;flex-wrap:wrap}.preview-presets button{padding:6px 8px}.preview-main.checks-open{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) minmax(0,190px)}.responsive-checks{border-left:0;border-top:1px solid #3c4d64;padding:10px 14px}.responsive-canvas-bar{padding:6px 10px;font-size:10px;gap:7px}.responsive-width-input input{width:60px}.preview-notice{font-size:10px}.preview-presets{flex:1}.preview-presets button{flex:1}.responsive-width-row>label{margin:0}}

/* Short screens retain a usable canvas and scroll the dialog instead of clipping controls. */
.inheritance-guide{margin-top:7px}
@media(max-height:700px){#previewModal .preview-modal{overflow-y:auto}.preview-main{flex:0 0 380px;min-height:380px}.preview-modal>header{position:sticky;top:0;z-index:2;background:#10151d}}
@media(max-width:380px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:84px minmax(0,1fr)}.topbar{height:84px;min-width:0}.topbar-actions{min-width:0;flex:1;flex-wrap:wrap;justify-content:flex-end}.topbar-actions .device-switcher{flex:1 0 100%;justify-content:center}.topbar-actions>#previewBtn,.topbar-actions>#publishBtn{flex:1}.left-panel,.right-panel{top:84px}}
.preview-modal{scroll-padding-top:64px}

/* Checkpoint U_IN_PROGRESS_10 — shared colour system foundation. */
.left-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.styles-panel{display:grid;gap:16px}
.styles-panel-head{display:grid;gap:7px;padding:2px 1px 4px}
.styles-panel-head small{font-size:9px;letter-spacing:.16em;color:#6f7b8d}
.styles-panel-head h3{margin:0;font-size:17px;letter-spacing:-.02em;color:#f1f4f8}
.styles-panel-head p{margin:0;font-size:10.5px;line-height:1.65;color:#8d99aa}
.styles-panel-loading{padding:24px 0;color:#7f8a99;font-size:11px}
.shared-style-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2a2f38;border-bottom:1px solid #2a2f38}
.shared-style-summary span{padding:10px 0;display:flex;align-items:baseline;gap:5px;color:#7f8b9d;font-size:9px}
.shared-style-summary span+span{padding-left:11px;border-left:1px solid #2a2f38}
.shared-style-summary b{font-size:12px;color:#dce3ec}
.shared-colour-list{display:grid;gap:8px}
.shared-colour-card{border:1px solid #2b313a;background:#15181e;border-radius:7px;padding:10px;display:grid;gap:10px;transition:border-color .15s,box-shadow .15s,background .15s}
.shared-colour-card:hover{border-color:#3b4655;background:#171b22}
.shared-colour-card.is-highlighted{border-color:#6c9ad8;box-shadow:0 0 0 2px rgba(91,145,218,.14)}
.shared-colour-card-main{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}
.shared-colour-card-main>input[type=color]{width:34px;height:34px;padding:3px;border:1px solid #3a424d;border-radius:6px;background:#1d222a;cursor:pointer}
.shared-colour-card-main>input[type=color]::-webkit-color-swatch-wrapper{padding:0}.shared-colour-card-main>input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}
.shared-colour-card-main>div{min-width:0;display:grid;gap:2px}
.shared-colour-label{width:100%;border:0;background:transparent;color:#e7ecf3;padding:0;font:600 11px/1.25 inherit;outline:none;text-overflow:ellipsis}
.shared-colour-label:focus{background:#202631;border-radius:3px;box-shadow:0 0 0 1px #4f6f99;padding:4px 5px;margin:-4px -5px}
.shared-colour-card-main small{font-size:8px;color:#748195;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shared-colour-card-main code{font:500 8.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#94a3b8;background:#101319;border:1px solid #282e37;border-radius:4px;padding:5px 6px}
.shared-colour-hex{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.shared-colour-hex span{font-size:8.5px;color:#778396}
.shared-colour-hex input{min-width:0;width:100%;height:29px;border:1px solid #303741;border-radius:4px;background:#1b1f26;color:#cfd7e2;padding:5px 7px;font:500 9.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}
.shared-colour-hex input:focus{border-color:#6c9ad8;box-shadow:0 0 0 1px #6c9ad8}
.shared-colour-usage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;border-top:1px solid #252b33;padding-top:8px}
.shared-colour-usage b{font-size:8.5px;color:#a7b4c4;white-space:nowrap}.shared-colour-usage span{font-size:8.5px;line-height:1.45;color:#697688;overflow-wrap:anywhere}
.styles-panel-next{display:grid;gap:4px;border-top:1px solid #2a2f38;padding-top:13px}.styles-panel-next b{font-size:10px;color:#b8c2cf}.styles-panel-next span{font-size:9px;line-height:1.55;color:#707d8f}
.colour-property{display:grid;gap:7px}.colour-binding{width:100%}.colour-input.is-shared{opacity:.72}.colour-input.is-shared input{cursor:not-allowed}.shared-colour-note{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:6px;align-items:center;font-size:8.5px;color:#8290a2}.shared-colour-note b{color:#b9c7d9;font-weight:600}.shared-colour-note button{border:0;background:none;color:#7ea7dc;font-size:8.5px;padding:2px 0;cursor:pointer}.shared-colour-note button:hover{color:#b9d4f7}.shared-colour-dot{width:9px;height:9px;border-radius:50%;background:var(--shared-colour);box-shadow:0 0 0 1px rgba(255,255,255,.15)}
@media(max-width:1000px){.left-tab{font-size:10px;padding-inline:3px}.shared-colour-card{padding:8px}.shared-colour-card-main{grid-template-columns:30px minmax(0,1fr)}.shared-colour-card-main>input[type=color]{width:30px;height:30px}.shared-colour-card-main code{grid-column:2;justify-self:start}.shared-colour-hex{grid-template-columns:1fr}.shared-colour-usage{grid-template-columns:1fr}}

/* Checkpoint U11 — coordinated palettes, section schemes and safe palette preview. */
.styles-section-heading{display:grid;gap:4px}.styles-section-heading>div{display:grid;gap:3px}.styles-section-heading small{font-size:8px;letter-spacing:.14em;color:#6f7b8d}.styles-section-heading h4{margin:0;color:#e8edf4;font-size:13px;letter-spacing:-.015em}.styles-section-heading>span{font-size:8.5px;line-height:1.4;color:#748195}
.palette-builder,.scheme-editor{display:grid;gap:11px;border-top:1px solid #282e37;padding-top:14px}
.palette-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.palette-family-card{min-width:0;display:grid;gap:6px;align-content:start;text-align:left;padding:9px;border:1px solid #2d333d;border-radius:7px;background:#15191f;color:#cfd7e2;cursor:pointer}.palette-family-card:hover{border-color:#465260;background:#191e25}.palette-family-card.active{border-color:#7a9fcc;box-shadow:0 0 0 1px rgba(122,159,204,.15);background:#1a2028}.palette-family-card b{font-size:9.5px;line-height:1.25}.palette-family-card small{font-size:7.8px;line-height:1.4;color:#748195}.palette-family-swatches{display:grid;grid-template-columns:repeat(4,1fr);height:16px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.09)}.palette-family-swatches i{background:var(--palette-swatch);display:block}
.palette-accent-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #2c333d;border-radius:7px;background:#12161b}.palette-accent-control>span:first-child{display:grid;gap:2px}.palette-accent-control b{font-size:9.5px;color:#c9d3df}.palette-accent-control small{font-size:7.8px;line-height:1.35;color:#748195}.palette-accent-input{display:grid;grid-template-columns:28px 68px;gap:6px;align-items:center}.palette-accent-input input[type=color]{width:28px;height:28px;padding:2px;border:1px solid #3a424d;border-radius:5px;background:#1d222a}.palette-accent-input input[type=text]{min-width:0;width:68px;height:28px;border:1px solid #303741;border-radius:5px;background:#1b1f26;color:#dbe3ed;padding:4px 6px;font:500 8.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}
.palette-preview-trigger{height:34px;border:1px solid #567aa5;border-radius:6px;background:#1a2735;color:#c9def7;font:650 9.5px/1 inherit;cursor:pointer}.palette-preview-trigger:hover{background:#203246;border-color:#7195c2}
.palette-preview-bar{display:grid;gap:10px;padding:12px;border:1px solid #3f6e5c;border-radius:8px;background:linear-gradient(145deg,#14221d,#111a18);box-shadow:inset 0 0 0 1px rgba(112,221,160,.04)}.palette-preview-bar>div:first-child{display:grid;gap:3px}.palette-preview-bar small{font-size:7.8px;letter-spacing:.1em;color:#70dda0}.palette-preview-bar strong{font-size:12px;color:#ecf8f1}.palette-preview-bar p{margin:0;font-size:8.5px;line-height:1.5;color:#93aa9f}.palette-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.palette-preview-actions .btn{min-height:31px;font-size:9px}.palette-preview-help{letter-spacing:0!important;color:#769084!important;line-height:1.45}.palette-pages{display:grid;gap:6px;border-top:1px solid rgba(112,221,160,.14);padding-top:8px}.palette-pages>span{font-size:8px;color:#849e91}.palette-pages>div{display:flex;gap:5px;flex-wrap:wrap}.palette-pages button{border:1px solid #355344;border-radius:999px;background:#17241f;color:#a8c6b6;padding:5px 8px;font:600 8px/1 inherit;cursor:pointer}.palette-pages button[aria-current=page]{background:#284c3d;color:#e8fff3;border-color:#4b866d}
.scheme-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.scheme-tabs button{height:29px;border:1px solid #303741;border-radius:5px;background:#171b21;color:#8592a4;font:600 8.5px/1 inherit;cursor:pointer}.scheme-tabs button[aria-pressed=true]{background:#26313e;border-color:#607f9f;color:#e0e9f4}.scheme-note{margin:0;font-size:8px;line-height:1.5;color:#748195}
.contrast-review{display:grid;gap:5px}.contrast-review>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 7px;border:1px solid #2a3038;border-radius:5px;background:#12161b}.contrast-review span{font-size:8px;color:#8490a0}.contrast-review b{font-size:8px}.contrast-review .is-pass b{color:#70dda0}.contrast-review .is-review b{color:#d9bc72}.contrast-review .is-fail b{color:#e78686}.contrast-review .is-uncertain b{color:#8995a5}
body.palette-previewing #publishBtn{opacity:.55}
@media(max-width:1000px){.palette-family-grid{grid-template-columns:1fr}.palette-accent-control{grid-template-columns:1fr}.palette-accent-input{grid-template-columns:28px minmax(0,1fr)}.palette-accent-input input[type=text]{width:100%}}

.catalogue-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:8px 0 2px}
.catalogue-filter-row label{display:grid;gap:4px;min-width:0}.catalogue-filter-row label>span{font-size:7.8px;letter-spacing:.08em;text-transform:uppercase;color:#748195}.catalogue-filter-row select{width:100%;height:30px;border:1px solid #303741;border-radius:5px;background:#161b21;color:#d7e0ea;padding:4px 27px 4px 8px;font:600 8.7px/1 inherit;outline:none}.catalogue-filter-row select:focus-visible{border-color:#7897bb;box-shadow:0 0 0 2px rgba(120,151,187,.18)}.catalogue-filter-row>small{font-size:7.8px;line-height:1.45;color:#687587;text-align:right;max-width:145px}
.palette-family-card em{font-style:normal;font-size:7.2px;line-height:1.35;color:#9aa8b9;border-top:1px solid #252c35;padding-top:5px}.palette-family-card:focus-visible,.background-preset-card:focus-visible{outline:2px solid #7fa6d3;outline-offset:2px}
.background-catalogue{display:grid;gap:11px;border-top:1px solid #282e37;padding-top:14px}.background-catalogue .styles-section-heading p{margin:0;font-size:8.3px;line-height:1.55;color:#748195}.background-preset-grid{display:grid;gap:7px}.background-preset-card{appearance:none;width:100%;min-width:0;display:grid;grid-template-columns:74px 42px minmax(0,1fr);gap:8px;align-items:stretch;text-align:left;padding:7px;border:1px solid #2c333c;border-radius:6px;background:#14181e;color:#d7e0ea;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s}.background-preset-card:hover{background:#181d24;border-color:#46515f}.background-preset-card.active{background:#1a2027;border-color:#7897bb;box-shadow:inset 2px 0 0 #7897bb}.background-preset-preview{position:relative;display:block;min-height:68px;border:1px solid rgba(255,255,255,.12);border-radius:4px;overflow:hidden;background-size:cover;background-position:center}.background-preset-preview:before,.background-preset-preview:after{content:"";position:absolute;left:9px;right:18px;height:4px;background:rgba(20,26,34,.46);border-radius:1px;mix-blend-mode:multiply}.background-preset-preview:before{top:17px}.background-preset-preview:after{top:27px;right:28px}.background-preset-preview i{position:absolute;left:9px;bottom:10px;width:22px;height:8px;border:1px solid rgba(20,26,34,.44);background:rgba(255,255,255,.42)}.background-preset-preview b{position:absolute;right:8px;bottom:8px;width:15px;height:15px;border-radius:50%;border:1px solid rgba(20,26,34,.36);background:rgba(255,255,255,.28)}
.background-preset-miniatures{display:grid;grid-template-rows:1fr 1fr;gap:5px}.background-preset-miniatures i{display:block;border:1px solid rgba(255,255,255,.1);border-radius:3px;min-height:0;background-size:cover;background-position:center}.background-preset-copy{min-width:0;display:grid;align-content:center;gap:3px}.background-preset-copy b{font-size:9.3px;line-height:1.25;color:#e4eaf1}.background-preset-copy small{font-size:7.6px;line-height:1.42;color:#7c899a}.background-preset-copy em{font-style:normal;font-size:7.1px;line-height:1.35;color:#9aa8b9}
.background-preset-selection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;border-top:1px solid #282e37;padding-top:10px}.background-preset-selection>div{display:grid;gap:3px}.background-preset-selection small{font-size:7px;letter-spacing:.13em;color:#697688}.background-preset-selection b{font-size:10px;color:#e3e9f0}.background-preset-selection p{margin:0;font-size:8px;line-height:1.45;color:#8794a5}.background-preset-selection span{font-size:7.5px;line-height:1.45;color:#667486}.background-preset-selection button{min-height:31px;max-width:130px;border:1px solid #5a7ba0;border-radius:5px;background:#1a2735;color:#d2e3f6;padding:6px 9px;font:650 8.5px/1.25 inherit;cursor:pointer}.background-preset-selection button:hover:not(:disabled){background:#213448;border-color:#7799bf}.background-preset-selection button:disabled{cursor:not-allowed;opacity:.48}.background-catalogue-note{margin:0;font-size:7.7px;line-height:1.5;color:#697688}
@media(max-width:1000px){.catalogue-filter-row{grid-template-columns:1fr;align-items:stretch}.catalogue-filter-row>small{text-align:left;max-width:none}.background-preset-card{grid-template-columns:68px 36px minmax(0,1fr)}.background-preset-selection{grid-template-columns:1fr}.background-preset-selection button{max-width:none;width:100%}}
@media(max-width:520px){.background-preset-card{grid-template-columns:58px minmax(0,1fr)}.background-preset-miniatures{display:none}.background-preset-preview{min-height:58px}.background-preset-copy small{font-size:7.4px}}
.palette-inspector-lock{display:grid;gap:7px;padding:14px 12px;border:1px solid #36594b;border-radius:7px;background:#131d19;color:#dcece4}
.palette-inspector-lock small{font-size:8px;letter-spacing:.14em;color:#70dda0}
.palette-inspector-lock b{font-size:11px;line-height:1.35;color:#edf8f2}
.palette-inspector-lock p{margin:0;font-size:9px;line-height:1.55;color:#839b8e}
body.palette-previewing #siteCanvas .node-toolbar,
body.palette-previewing #siteCanvas .resize-handle,
body.palette-previewing .block-item,
body.palette-previewing #layerTree .layer-lock{pointer-events:none;opacity:.46}
body.palette-previewing #siteCanvas .builder-node{cursor:default}

/* Checkpoint U12 — layered background authoring */
.background-layer-editor{margin-top:14px;border-top:1px solid rgba(148,163,184,.16);padding-top:14px}
.bg-layer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.bg-layer-heading>div{display:grid;gap:2px}.bg-layer-heading b{font-size:12px;color:#edf2f7}.bg-layer-heading small,.bg-layer-heading>span{font-size:9px;color:#8390a0}.bg-layer-heading>span{padding-top:2px;font-variant-numeric:tabular-nums}
.bg-add-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:9px}.bg-add-row button,.bg-add-stop,.bg-reset-layer{min-height:30px;border:1px solid rgba(148,163,184,.18);border-radius:7px;background:#111923;color:#dce5ef;font:700 9px/1 system-ui;cursor:pointer}.bg-add-row button:hover,.bg-add-stop:hover,.bg-reset-layer:hover{border-color:rgba(96,165,250,.48);background:#152131}.bg-add-row button:disabled,.bg-add-stop:disabled{opacity:.42;cursor:not-allowed}
.bg-layer-list{display:grid;gap:8px}.bg-layer-card{border:1px solid rgba(148,163,184,.16);border-radius:9px;background:#0c131c;overflow:hidden}.bg-layer-card[open]{border-color:rgba(96,165,250,.32);box-shadow:0 8px 24px rgba(0,0,0,.12)}.bg-layer-card>summary{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:44px;padding:6px 7px;list-style:none;cursor:pointer}.bg-layer-card>summary::-webkit-details-marker{display:none}.bg-thumb{width:34px;height:30px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background-color:#1d2733;background-size:cover;background-position:center}.bg-layer-title{display:grid;min-width:0;gap:2px}.bg-layer-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#edf2f7;font-size:10px}.bg-layer-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#758395;font-size:8px}.bg-layer-buttons{display:flex;gap:2px}.bg-layer-buttons button{display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:5px;background:transparent;color:#94a3b8;font:700 11px/1 system-ui;cursor:pointer}.bg-layer-buttons button:hover{background:#172231;color:#f7fafc}.bg-layer-buttons button:disabled{opacity:.25;cursor:default}
.bg-layer-body{display:grid;gap:10px;padding:10px;border-top:1px solid rgba(148,163,184,.12);background:#0f1721}.bg-layer-name{display:grid;gap:5px}.bg-layer-name>span,.bg-layer-field>span,.bg-layer-pair label>span:first-child,.bg-stop-values label>span:first-child{font-size:8px;font-weight:750;letter-spacing:.02em;color:#8d9bae}.bg-layer-name input,.bg-layer-pair select,.bg-layer-pair input,.bg-number input,.bg-colour-control select,.bg-colour-value input[type=text],.bg-stop-values input{width:100%;min-height:29px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:#0a1119;color:#e9eef5;padding:0 8px;font:600 9px/1.2 system-ui;outline:none}.bg-layer-name input:focus,.bg-layer-pair select:focus,.bg-layer-pair input:focus,.bg-number input:focus,.bg-colour-control select:focus,.bg-colour-value input[type=text]:focus,.bg-stop-values input:focus{border-color:rgba(96,165,250,.62);box-shadow:0 0 0 2px rgba(96,165,250,.10)}
.bg-layer-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bg-layer-pair label,.bg-layer-field{display:grid;gap:5px}.bg-layer-pair label>span:last-child,.bg-stop-values label>span:last-child,.bg-number{display:grid;grid-template-columns:1fr auto;align-items:center}.bg-layer-pair i,.bg-stop-values i,.bg-number i{font-style:normal;font-size:8px;color:#6f7d8d;margin-left:-25px;padding-right:8px;pointer-events:none}.bg-layer-field>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.bg-source{font-size:7px;font-weight:700;color:#6f7f90}.bg-source.is-override{color:#7dd3fc}
.bg-colour-control{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6px}.bg-colour-value{display:grid;grid-template-columns:30px 1fr;gap:5px}.bg-colour-value input[type=color]{width:30px;height:29px;padding:2px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:#0a1119}.bg-colour-value.is-shared input[type=color],.bg-colour-value.is-shared input[type=text]{opacity:.55}
.bg-stop-list{display:grid;gap:7px;padding-top:2px}.bg-stop{display:grid;gap:7px;padding:8px;border:1px solid rgba(148,163,184,.12);border-radius:7px;background:#0b121b}.bg-stop-heading{display:flex;justify-content:space-between;align-items:center}.bg-stop-heading b{font-size:8px;color:#aeb9c6}.bg-stop-heading button{border:0;background:transparent;color:#7e8a98;cursor:pointer;font-size:14px}.bg-stop-heading button:hover{color:#f1f5f9}.bg-stop-heading button:disabled{opacity:.25;cursor:default}.bg-stop-values{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bg-stop-values label{display:grid;gap:4px}.bg-add-stop{width:100%}.bg-reset-layer{width:100%;border-style:dashed;color:#9ed7f2}.bg-empty{display:grid;gap:3px;padding:12px;border:1px dashed rgba(148,163,184,.18);border-radius:8px;color:#8794a4}.bg-empty b{font-size:9px;color:#c7d1dc}.bg-empty span{font-size:8px;line-height:1.45}
@media(max-width:760px){.bg-add-row{grid-template-columns:1fr 1fr}.bg-layer-card>summary{grid-template-columns:30px minmax(0,1fr)}.bg-layer-buttons{grid-column:1/-1;justify-content:flex-end}.bg-thumb{width:30px}.bg-colour-control{grid-template-columns:1fr}.bg-layer-pair{grid-template-columns:1fr}}
.bg-source-wrap{display:inline-flex;align-items:center;gap:3px}.bg-prop-reset{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid rgba(125,211,252,.20);border-radius:5px;background:transparent;color:#7dd3fc;font:800 9px/1 system-ui;cursor:pointer}.bg-prop-reset:hover{background:rgba(125,211,252,.08);border-color:rgba(125,211,252,.45)}.bg-stop-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 1px}.bg-stop-list-head>span:first-child{font-size:8px;font-weight:750;color:#8d9bae}

/* Checkpoint U13 — shared typography and spacing */
.shared-type-section,.shared-spacing-section{display:grid;gap:12px;border-top:1px solid #282e37;padding-top:14px}
.font-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.font-role-card{display:grid;gap:8px;padding:10px;border:1px solid #2c333d;background:#14181e;border-radius:8px}
.font-role-card>span{display:grid;gap:2px}.font-role-card b{font-size:10.5px;color:#edf2f7}.font-role-card small{font-size:8px;line-height:1.4;color:#7f8b9d}
.font-role-card select,.type-style-fields select,.type-style-fields input,.responsive-token-values input{width:100%;min-width:0;border:1px solid #343c47;border-radius:6px;background:#0f1318;color:#d9e0e8;padding:7px 8px;font:inherit;font-size:9px}
.shared-type-list,.shared-spacing-list{display:grid;gap:8px}
.shared-type-card,.shared-spacing-card{display:grid;gap:10px;border:1px solid #2b313a;background:#15181e;border-radius:8px;padding:10px}
.shared-token-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.shared-token-head input{min-width:0;border:0;border-bottom:1px solid transparent;background:transparent;color:#eef2f7;font-size:10px;font-weight:700;padding:2px 0}
.shared-token-head input:focus{outline:none;border-bottom-color:#5d8fd0}.shared-token-head span{font-size:8px;color:#7f8b9d}
.type-style-sample{min-height:42px;display:flex;align-items:baseline;gap:7px;border-block:1px solid #242a33;padding:8px 0;color:#f2f5f8;overflow:hidden}
.type-style-sample small{font-size:8px;color:#7e8999;font-weight:500}
.type-style-fields{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:6px}
.type-style-fields label,.responsive-token-values label{display:grid;gap:4px;color:#778497;font-size:7.5px;letter-spacing:.04em;text-transform:uppercase}
.responsive-token-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.responsive-token-values label{position:relative}.responsive-token-values label small{position:absolute;right:7px;bottom:7px;color:#697587;font-size:7px;text-transform:none}.responsive-token-values input{padding-right:22px}
.spacing-visual{display:flex;align-items:center;gap:9px;min-height:24px}.spacing-visual i{display:block;height:7px;max-width:120px;border-radius:999px;background:linear-gradient(90deg,#7ca7dc,#a8c5ea)}.spacing-visual code{font:500 8px ui-monospace,SFMono-Regular,Menlo,monospace;color:#8f9bad}
.type-style-binding{display:grid;gap:7px;margin-bottom:9px}.type-style-binding>label{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:center;font-size:9px;color:#8e9bad}.type-style-binding select{min-width:0;border:1px solid #343c47;border-radius:6px;background:#10141a;color:#dfe6ee;padding:7px}
.shared-type-note,.shared-spacing-note{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 8px;border:1px solid rgba(91,145,218,.22);border-radius:6px;background:rgba(91,145,218,.07);font-size:8px;color:#8ea4bf}.shared-type-note{display:grid}.shared-type-note b{color:#dce9f8;font-size:9px}.shared-type-note span{line-height:1.45}
.spacing-property{display:grid;gap:6px}.spacing-binding{width:100%;border:1px solid #343c47;border-radius:6px;background:#10141a;color:#dce3eb;padding:6px 7px;font-size:8.5px}
@media(max-width:1000px){.font-role-grid{grid-template-columns:1fr}.type-style-fields{grid-template-columns:1fr}.responsive-token-values{grid-template-columns:1fr 1fr 1fr}}
.shared-style-add,.shared-token-actions button,.shared-token-actions select{border:1px solid #333b46;border-radius:6px;background:#11161c;color:#cdd6e1;padding:6px 8px;font-size:8px;font-weight:650}.shared-style-add{justify-self:end}.shared-token-actions{display:flex;align-items:center;gap:6px;padding-top:2px}.shared-token-actions select{min-width:0;flex:1}.shared-token-actions span{margin-left:auto;color:#687587;font-size:8px}.shared-token-actions .danger{color:#ef9aa4;border-color:#56343a}.shared-token-actions button:hover,.shared-style-add:hover{border-color:#506076;background:#19212b}
.shared-type-note button{justify-self:start;border:0;background:none;color:#8fb9ef;padding:0;font:inherit;font-size:8px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.shared-type-note button:hover{color:#c7ddfb}

/* Checkpoint U14 — finish shared typography + spacing lifecycle and responsive inheritance. */
.styles-section-heading p{margin:0;max-width:42ch;font-size:8px;line-height:1.45;color:#748195}
.shared-device-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.shared-device-tabs button{min-height:29px;border:1px solid #303741;border-radius:6px;background:#11161c;color:#8290a2;font:650 8.5px/1 system-ui;cursor:pointer}
.shared-device-tabs button:hover{border-color:#455469;color:#cbd7e6}.shared-device-tabs button[aria-pressed=true]{border-color:#6489b8;background:#1b2a3b;color:#eef6ff;box-shadow:inset 0 0 0 1px rgba(126,166,216,.08)}
.shared-device-tabs i{display:inline-grid;place-items:center;min-width:15px;height:15px;margin-left:3px;border-radius:999px;background:#2b3d53;color:#bcd3ef;font:700 7px/1 system-ui;font-style:normal}
.type-breakpoint-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:24px;padding:6px 7px;border:1px solid #282f39;border-radius:6px;background:#11151b}
.type-breakpoint-meta>span{font-size:8px;line-height:1.35;color:#778497}.type-breakpoint-reset{border:0;background:none;color:#8fb9ef;padding:2px 0;font:700 8px/1.2 system-ui;cursor:pointer;white-space:nowrap}.type-breakpoint-reset:hover{color:#c7ddfb}.type-breakpoint-reset:disabled{color:#586474;cursor:default}
.type-style-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.type-style-fields label:first-child{grid-column:1/-1}
.spacing-token-values{align-items:start}.spacing-token-value{position:relative;display:grid!important;gap:5px!important;padding:7px;border:1px solid #282f38;border-radius:6px;background:#11151b}
.spacing-token-value>span:first-child{display:flex;justify-content:space-between;gap:5px;align-items:center;color:#8794a5}.spacing-token-value em{font:700 6.5px/1 system-ui;font-style:normal;letter-spacing:.05em;color:#6d7a8b}
.spacing-token-value.is-explicit{border-color:#35506f;background:#121923}.spacing-token-value.is-explicit em{color:#8fb9ef}.spacing-token-input{position:relative;display:block}.spacing-token-input small{position:absolute!important;right:7px!important;bottom:8px!important}
.spacing-token-value button{min-height:24px;border:0;border-top:1px solid #252c35;background:transparent;color:#8fb9ef;padding:6px 0 0;font:700 7.5px/1 system-ui;text-align:left;cursor:pointer}.spacing-token-value button:hover{color:#c7ddfb}.spacing-token-value button:disabled{color:#566270;cursor:default}
.shared-token-actions button:disabled,.shared-token-actions select:disabled{opacity:.45;cursor:default}
@media(max-width:1000px){.type-style-fields{grid-template-columns:1fr}.type-style-fields label:first-child{grid-column:auto}.spacing-token-values{grid-template-columns:1fr}.shared-token-actions{flex-wrap:wrap}.shared-token-actions select{flex-basis:100%}}

/* Checkpoint U17 — managed Media + Fonts. Site-owned assets remain compact and work-focused in the Studio rail. */
.left-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.left-tab{min-width:0;padding-inline:3px;font-size:10.5px}
.media-panel{margin:-2px -3px 0}.media-manager{position:relative;display:grid;gap:11px;color:#dce3ec}.media-manager.busy{pointer-events:none}.media-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.media-toolbar>div:first-child{min-width:0}.media-toolbar small{display:block;color:#728094;font-size:7px;font-weight:750;letter-spacing:.11em}.media-toolbar h3{margin:3px 0 1px;color:#eef2f7;font-size:12px;line-height:1.2}.media-toolbar p{margin:0;color:#707d8e;font-size:8px}.media-upload-actions{display:flex;gap:4px;flex:0 0 auto}.media-upload-actions .tiny-btn{padding:6px 7px;min-height:27px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-color:#343c47;background:#171b21;color:#d4dbe4;cursor:pointer}.media-upload-actions .tiny-btn:hover{border-color:#516076;background:#1d252f}.media-upload-actions .tiny-btn.disabled{opacity:.42;cursor:default}.file-btn{cursor:pointer}
.media-drop{display:grid;gap:3px;place-items:center;text-align:center;padding:11px 9px;border:1px dashed #343d49;border-radius:7px;background:#101318;color:#8c99a9;transition:border-color .15s,background .15s,color .15s}.media-drop strong{font-size:9px;font-weight:650;color:#b8c3d0}.media-drop span{font-size:7.5px;line-height:1.45;max-width:27ch}.media-drop.active{border-color:#6d99d2;background:#142235;color:#d9eaff}.media-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px}.media-controls input{grid-column:1/-1}.media-controls input,.media-controls select,.media-detail-form input,.media-detail-form textarea,.media-detail-form select,.media-font-upload input,.media-font-upload select{width:100%;min-width:0;border:1px solid #343b45;border-radius:5px;background:#10141a;color:#dce3ec;padding:7px 8px;font:inherit;font-size:9px;outline:none}.media-controls input:focus,.media-controls select:focus,.media-detail-form input:focus,.media-detail-form textarea:focus,.media-detail-form select:focus,.media-font-upload input:focus,.media-font-upload select:focus{border-color:#6e96c9;box-shadow:0 0 0 1px rgba(110,150,201,.3)}.media-controls select{padding-right:3px}
.media-notice{padding:9px;border:1px solid #35404c;border-radius:6px;background:#121820;color:#96a6b8;font-size:8px;line-height:1.5}.media-upload-summary{position:relative;padding:9px 25px 9px 9px;border:1px solid #34495d;border-radius:6px;background:#111b25;color:#a9bdd1}.media-upload-summary.success{border-color:#315348;background:#101d1a;color:#9cc5b7}.media-upload-summary.warning{border-color:#5d5030;background:#201c11;color:#d3bd83}.media-upload-summary.error{border-color:#613d43;background:#211316;color:#d9a0aa}.media-upload-summary strong{display:block;font-size:8px;line-height:1.5;font-weight:600}.media-upload-summary ul{margin:6px 0 0;padding-left:13px;font-size:7px;line-height:1.5}.media-upload-summary button{position:absolute;right:5px;top:5px;border:0;background:transparent;color:currentColor;width:18px;height:18px;cursor:pointer;font-size:13px}
.media-layout{display:grid;gap:10px}.media-list{display:grid;gap:5px}.media-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:5px;border:1px solid #292f38;border-radius:6px;background:#14171d;color:#d9e0e8;text-align:left;cursor:pointer}.media-card:hover{border-color:#3e4958;background:#181e26}.media-card.active{border-color:#537bab;background:#182536;box-shadow:inset 2px 0 #75a4dd}.media-thumb{width:48px;height:42px;overflow:hidden;border-radius:4px;background:#0c0f13;display:grid;place-items:center}.media-thumb img{display:block;width:100%;height:100%;object-fit:cover}.media-font-tile{display:grid;place-items:center;width:100%;height:100%;font-size:20px;color:#e7ecf2;background:linear-gradient(145deg,#171b22,#0c0f13)}.media-card-copy{display:grid;gap:3px;min-width:0}.media-card-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600}.media-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718094;font-size:7px}.media-card-kind{padding-right:3px;color:#657488;font-size:6.5px;font-weight:750;letter-spacing:.08em}.media-empty{display:grid;gap:5px;padding:18px 10px;border:1px dashed #2e3540;border-radius:7px;text-align:center}.media-empty strong{font-size:9px;color:#aeb9c7}.media-empty p{margin:0;color:#6e7b8c;font-size:8px;line-height:1.5}
.media-detail{border-top:1px solid #292f37;padding-top:10px}.media-detail-empty{display:grid;justify-items:center;gap:5px;padding:20px 10px;text-align:center;color:#758296}.media-detail-empty strong{font-size:9px;color:#aeb9c6}.media-detail-empty p{margin:0;font-size:8px;line-height:1.5;max-width:26ch}.media-empty-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #34404d;border-radius:50%;color:#7892b2;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace}.media-detail-form,.media-font-upload{display:grid;gap:10px}.media-detail-form>label,.media-font-upload>label,.media-form-row>label,.media-focal-grid>label{display:grid;gap:5px;min-width:0;color:#8d99aa;font-size:8px}.media-detail-form label>span,.media-font-upload label>span{display:flex;align-items:center;justify-content:space-between;gap:6px}.media-detail-form label em{font-style:normal;color:#5f7186;font-size:6.5px}.media-detail-form textarea{resize:vertical;min-height:58px;line-height:1.45}.media-detail-preview{height:128px;border:1px solid #2c333d;border-radius:7px;overflow:hidden;background:#0d1014}.media-detail-preview img{display:block;width:100%;height:100%;object-fit:cover}.media-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.media-detail-head>div{display:grid;gap:3px;min-width:0}.media-detail-head small{color:#657387;font-size:6.5px;font-weight:750;letter-spacing:.07em}.media-detail-head strong{color:#e7ecf2;font-size:10px;overflow:hidden;text-overflow:ellipsis}.media-detail-head>span{white-space:nowrap;color:#78879a;font-size:7px}.media-form-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.media-focal-grid{display:grid;gap:8px;padding:9px;border:1px solid #29313b;border-radius:6px;background:#11151a}.media-focal-grid label{grid-template-columns:1fr auto}.media-focal-grid label span{grid-column:1/-1}.media-focal-grid input{padding:0;min-height:16px;border:0;background:transparent}.media-focal-grid output{align-self:center;color:#8ea8c8;font-size:7px}.media-facts{display:flex;flex-wrap:wrap;gap:4px}.media-facts span{padding:4px 5px;border-radius:4px;background:#191e25;color:#7c899a;font-size:6.8px;line-height:1.2}.media-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.media-detail-actions .btn{min-width:0;margin:0;padding:7px 6px;border-radius:5px;font-size:8px;text-align:center}.media-detail-actions .primary{grid-column:1/-1}.media-detail-actions .file-btn{display:grid;place-items:center}.media-detail-actions .danger{color:#df929d;border-color:#50343a}.media-detail-actions .danger:hover{background:#251519}.media-version-note{margin:0;color:#687688;font-size:7.2px;line-height:1.55}.media-font-preview{display:grid;gap:5px;padding:13px;border:1px solid #2c333d;border-radius:7px;background:#0e1115;color:#edf1f5;overflow:hidden}.media-font-preview span{font-size:34px;line-height:1}.media-font-preview p{margin:0;font-size:12px;line-height:1.25;white-space:nowrap}.media-font-preview b{font-size:8px;font-weight:inherit;color:#91a0b2}.media-font-upload{padding:10px;border:1px solid #38506d;border-radius:7px;background:#111a25}.media-font-upload .media-detail-head button{border:0;background:none;color:#8795a8;cursor:pointer}.media-license{grid-template-columns:auto 1fr!important;align-items:start}.media-license input{width:auto;margin-top:2px;accent-color:#6b9ad4}.media-license span{display:block!important;line-height:1.45}.media-progress{position:sticky;bottom:6px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid #3a4d63;border-radius:6px;background:#101a25e8;backdrop-filter:blur(8px);color:#a9bed7;font-size:8px;box-shadow:0 8px 24px rgba(0,0,0,.25)}.media-progress span{width:9px;height:9px;border:1px solid #6d8eb7;border-top-color:transparent;border-radius:50%;animation:media-spin .7s linear infinite}@keyframes media-spin{to{transform:rotate(360deg)}}
.managed-media-summary{display:grid;gap:4px;margin-bottom:8px;padding:10px;border:1px solid #36506d;border-radius:6px;background:#111b27}.managed-media-summary span{color:#7697bd;font-size:7px;font-weight:750;letter-spacing:.08em}.managed-media-summary b{color:#e0e9f4;font-size:9px}.managed-media-summary small{color:#768599;font-size:7.5px;line-height:1.5}.property-divider-label{position:relative;display:grid;place-items:center;margin:10px 0 7px;color:#657386;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.property-divider-label:before{content:"";position:absolute;inset:auto 0 50%;border-top:1px solid #29303a}.property-divider-label span{position:relative;padding:0 7px;background:#121419}.btn.full{width:100%}
@media(max-width:1000px){.left-tab{font-size:9px;padding-inline:2px}.media-toolbar{display:grid}.media-upload-actions{width:100%}.media-upload-actions .tiny-btn{flex:1}.media-card{grid-template-columns:36px minmax(0,1fr)}.media-thumb{width:36px;height:36px}.media-card-kind{display:none}.media-form-row,.media-detail-actions{grid-template-columns:1fr}.media-detail-actions .primary{grid-column:auto}}

/* Checkpoint U19 — reusable components. Linked design without template lock-in. */
.left-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.components-panel{margin:-2px -3px 0;display:grid;gap:12px;color:#dce3ec}
.components-intro{display:grid;gap:7px;padding:1px 0 3px}.components-intro>small{color:#718199;font-size:7px;font-weight:750;letter-spacing:.11em}.components-intro h3{margin:0;color:#edf2f7;font-size:13px;line-height:1.25;font-weight:650}.components-intro p{margin:0;color:#7d8999;font-size:8px;line-height:1.55}.components-intro .btn{margin-top:3px;min-height:31px;border-radius:5px;font-size:8.5px}.component-create-hint{display:block;color:#667486;font-size:7.2px;line-height:1.45}
.component-search{display:grid;gap:5px}.component-search>span{color:#69788b;font-size:7px;font-weight:650}.component-search input{width:100%;min-width:0;padding:8px;border:1px solid #333b46;border-radius:5px;background:#10141a;color:#e0e6ed;font:inherit;font-size:9px;outline:none}.component-search input:focus{border-color:#6e96c9;box-shadow:0 0 0 1px rgba(110,150,201,.28)}
.component-library-count{padding-top:2px;border-top:1px solid #282f38;color:#677486;font-size:7px;line-height:1}.component-library-list{display:grid;gap:5px}.component-library-card{display:grid;grid-template-columns:27px minmax(0,1fr);gap:7px;padding:7px;border:1px solid #2c333d;border-radius:6px;background:#14181e}.component-library-card:hover{border-color:#3b4654}.component-library-card.is-editing{border-color:#695b38;background:#1b1914;box-shadow:inset 2px 0 #b8974c}.component-library-icon{grid-row:1/3;display:grid;place-items:center;align-self:start;width:27px;height:27px;border:1px solid #34404e;border-radius:5px;background:#10141a;color:#86a8d0;font-size:11px}.component-library-card.is-editing .component-library-icon{border-color:#655839;color:#d1b569}.component-library-copy{display:grid;gap:2px;min-width:0}.component-library-copy input{width:100%;min-width:0;padding:0;border:0;background:transparent;color:#e4e9ef;font:600 9px/1.3 inherit;outline:none;text-overflow:ellipsis}.component-library-copy input:focus{padding:3px 4px;margin:-3px -4px;border:1px solid #58789f;border-radius:4px;background:#10151c}.component-library-copy input:disabled{opacity:.62}.component-library-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f7c8d;font-size:6.8px}.component-library-actions{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;gap:4px}.component-library-actions button{min-width:0;height:27px;padding:0 6px;border:1px solid #343d49;border-radius:4px;background:#171c23;color:#aeb9c6;font:600 8px/1 inherit;cursor:pointer}.component-library-actions button:hover:not(:disabled){border-color:#52637a;background:#1d2630;color:#e3eaf1}.component-library-actions .component-insert{color:#cddff5;border-color:#3b536f;background:#172331}.component-library-actions .danger{color:#d1939b}.component-library-actions button:disabled{opacity:.38;cursor:default}.component-library-note{margin:0;padding-top:2px;color:#687587;font-size:7px;line-height:1.55}.component-library-note b{color:#8797aa;font-weight:650}.component-library-empty{display:grid;gap:5px;padding:18px 10px;border:1px dashed #303844;border-radius:6px;text-align:center}.component-library-empty b{color:#aeb9c6;font-size:9px}.component-library-empty p{margin:0;color:#697789;font-size:7.5px;line-height:1.5}
.component-instance-panel{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid #38516d;border-radius:6px;background:#111a24}.component-instance-panel.is-main-edit{border-color:#675936;background:#1c1911}.component-instance-head{display:grid;gap:2px}.component-instance-head span{color:#7192b8;font-size:6.5px;font-weight:800;letter-spacing:.11em}.component-instance-head strong{color:#e5ecf4;font-size:10px;line-height:1.3}.component-instance-panel.is-main-edit .component-instance-head span{color:#c3a65f}.component-instance-panel p{margin:0;color:#8391a2;font-size:7.5px;line-height:1.5}.component-instance-stats{display:flex;flex-wrap:wrap;gap:4px}.component-instance-stats span{padding:4px 5px;border-radius:4px;background:#19222d;color:#8295aa;font-size:6.7px}.component-instance-stats .has-variations{background:#222519;color:#b6bb80}.component-instance-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.component-action{min-width:0;min-height:29px;padding:6px;border:1px solid #36404c;border-radius:4px;background:#171d24;color:#b8c4d1;font:600 7.5px/1.25 inherit;cursor:pointer}.component-action:hover:not(:disabled){border-color:#53677e;background:#1c2631;color:#edf3f9}.component-action.primary{border-color:#476d99;background:#172a3e;color:#d7e8fb}.component-action.danger{border-color:#50363d;color:#d397a0}.component-action:disabled{opacity:.36;cursor:default}.component-instance-warning{padding:7px;border-left:2px solid #bd9651;background:#201b12;color:#c7ad7c;font-size:7.2px;line-height:1.45}.component-instance-note{color:#647286;font-size:6.7px;line-height:1.45}
.component-instance-root{box-shadow:inset 0 0 0 1px rgba(76,125,179,.28)}.component-instance-root.component-main-edit{box-shadow:inset 0 0 0 2px rgba(184,145,70,.5)}.component-canvas-badge{position:absolute;left:6px;top:6px;z-index:35;display:flex;align-items:center;gap:4px;max-width:calc(100% - 12px);padding:4px 6px;border:1px solid rgba(72,102,136,.85);border-radius:4px;background:rgba(16,24,34,.9);box-shadow:0 4px 12px rgba(0,0,0,.16);backdrop-filter:blur(6px);color:#c9d8e9;font:650 8px/1.1 inherit;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-canvas-badge span{color:#79a4d5}.component-canvas-badge b{margin-left:2px;color:#d7b767;font-size:6.5px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.layer-component-mark{flex:0 0 auto;color:#6f9dce;font-size:7px}.layer-row.is-component{border-left:2px solid #3e6187}.layer-row.is-component small{color:#7896b8}
@media(max-width:1000px){.component-library-card{grid-template-columns:24px minmax(0,1fr);gap:6px;padding:6px}.component-library-icon{width:24px;height:24px}.component-library-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 27px 27px}.component-instance-actions{grid-template-columns:1fr}.component-canvas-badge{font-size:7px}}

/* Checkpoint U25 — editable templates. Templates are ordinary Studio project trees. */
.template-launch{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 8px;align-items:center;margin:10px 0 2px;padding:9px 10px;border:1px solid #354457;border-radius:6px;background:#151c25;color:#dfe8f2;text-align:left;cursor:pointer}.template-launch:hover{border-color:#547094;background:#182331}.template-launch>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #3b506a;border-radius:5px;background:#101923;color:#8eb0d9;font-size:13px}.template-launch b{font-size:9px;line-height:1.2}.template-launch small{color:#718196;font-size:7px;line-height:1.2}
#templateModal{padding:16px}.template-modal{display:flex;flex-direction:column;width:min(1380px,100%);height:min(900px,calc(100dvh - 32px));overflow:hidden}.template-modal>header{flex:0 0 auto}.template-browser{flex:1;min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr);background:#0f1217}.template-catalogue{min-height:0;overflow:auto;padding:16px;border-right:1px solid #292f38;background:#11151a}.template-catalogue-intro{display:grid;gap:6px;padding:2px 2px 14px}.template-catalogue-intro b{color:#edf2f7;font-size:12px;line-height:1.3}.template-catalogue-intro p{margin:0;color:#778598;font-size:8px;line-height:1.55}.template-list{display:grid;gap:6px}.template-choice{display:grid;gap:3px;width:100%;padding:10px;border:1px solid #2b333d;border-radius:6px;background:#15191f;color:#dde5ee;text-align:left;cursor:pointer}.template-choice:hover{border-color:#42536a;background:#171e27}.template-choice.active{border-color:#557ba8;background:#162536;box-shadow:inset 2px 0 #6f9fd7}.template-choice>span{color:#6685aa;font-size:6px;font-weight:800;letter-spacing:.11em}.template-choice>b{font-size:10px;line-height:1.25}.template-choice>small{color:#778596;font-size:7px;line-height:1.35}.template-inspect{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.template-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-bottom:1px solid #292f38;background:#12171d}.template-preview-bar>div:first-child{display:grid;gap:3px}.template-preview-bar small{color:#6e8db1;font-size:6px;font-weight:800;letter-spacing:.12em}.template-preview-bar strong{color:#eef3f8;font-size:13px}.template-tone{color:#8291a3;font-size:8px}.template-preview-frame{min-height:0;padding:16px;background:radial-gradient(#30353d 1px,transparent 1px);background-size:15px 15px;overflow:hidden}.template-preview-frame iframe{display:block;width:100%;height:100%;min-height:430px;border:1px solid #343b45;border-radius:7px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.28)}.template-summary{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;padding:14px 16px;border-top:1px solid #292f38;background:#12171d}.template-summary p{margin:0 0 10px;color:#9aa7b7;font-size:9px;line-height:1.55}.template-pages,.template-capabilities{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.template-pages{margin-bottom:7px}.template-pages>span{margin-right:2px;color:#667589;font-size:7px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.template-pages button,.template-capabilities span{min-height:24px;padding:5px 7px;border:1px solid #303945;border-radius:4px;background:#171d24;color:#8f9daf;font:650 7px/1 inherit}.template-pages button{cursor:pointer}.template-pages button[aria-current=page]{border-color:#5379a6;background:#1b2a3d;color:#d8e7f8}.template-apply{display:grid;gap:9px;align-content:end}.template-apply small{color:#6f7e91;font-size:7px;line-height:1.5}.template-apply .btn{width:100%;min-height:36px;border-radius:5px;font-size:9px}
@media(max-width:900px){.template-browser{grid-template-columns:210px minmax(0,1fr)}.template-summary{grid-template-columns:1fr}.template-apply{grid-template-columns:minmax(0,1fr) 180px;align-items:center}.template-preview-frame{padding:10px}.template-preview-frame iframe{min-height:380px}}
@media(max-width:680px){#templateModal{padding:6px}.template-modal{height:calc(100dvh - 12px)}.template-browser{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.template-catalogue{overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #292f38;padding:10px}.template-catalogue-intro{display:none}.template-list{display:flex;gap:6px;width:max-content}.template-choice{width:168px;min-height:64px}.template-preview-bar{padding:9px 10px}.template-preview-frame{padding:7px}.template-preview-frame iframe{min-height:330px}.template-summary{padding:10px;gap:10px}.template-summary p{font-size:8px}.template-apply{grid-template-columns:1fr}.template-apply small{display:none}}

/* U26 Editable Templates second-pass preview and guided-media polish */
.template-preview-tools{display:flex;align-items:center;gap:12px;min-width:0}.template-device-switcher{display:flex;gap:2px;padding:3px;border:1px solid #2d3540;border-radius:5px;background:#0f141a}.template-device-switcher button{min-height:25px;padding:5px 8px;border:0;border-radius:3px;background:transparent;color:#77879a;font:650 7px/1 inherit;cursor:pointer}.template-device-switcher button:hover{color:#dbe7f3}.template-device-switcher button[aria-pressed=true]{background:#26384d;color:#e7f1fb}.template-preview-frame{display:grid;place-items:center;overflow:auto}.template-preview-viewport{width:100%;height:100%;min-height:0;transition:width .18s ease;display:flex;justify-content:center}.template-preview-viewport[data-device=desktop]{width:100%}.template-preview-viewport[data-device=tablet]{width:min(768px,100%)}.template-preview-viewport[data-device=mobile]{width:min(390px,100%)}.template-preview-viewport iframe{flex:1;min-width:0}.template-meta-line{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 9px;color:#748398;font-size:7px;line-height:1.45}.template-meta-line span:first-child{color:#a8bad0;font-weight:700}.template-media-guidance{display:grid;gap:4px;margin-bottom:10px;padding:10px;border:1px solid #394858;border-radius:5px;background:#121a23}.template-media-guidance>span{font-size:6.5px;font-weight:800;letter-spacing:.11em;color:#7296bc}.template-media-guidance>b{font-size:10px;color:#e2eaf3}.template-media-guidance>small{font-size:7px;color:#8da0b4}.template-media-guidance>p{margin:2px 0 0;color:#7f8fa2;font-size:7.5px;line-height:1.5}.template-choice>small{display:block}.template-choice b{letter-spacing:-.01em}@media(max-width:900px){.template-preview-tools{gap:7px}.template-tone{display:none}.template-device-switcher button{padding:5px 6px}.template-preview-viewport[data-device=tablet],.template-preview-viewport[data-device=mobile]{max-height:100%}}@media(max-width:680px){.template-preview-tools{width:100%;justify-content:flex-end}.template-preview-bar{align-items:flex-start}.template-device-switcher button{font-size:6.5px}.template-meta-line span:last-child{display:none}}

/* U29 — reusable component visual states */
.component-state-panel{display:grid;gap:7px;margin-top:2px;padding-top:9px;border-top:1px solid #2b3949}.component-state-head{display:grid;gap:2px}.component-state-head span{color:#83a3c8;font-size:6.3px;font-weight:800;letter-spacing:.12em}.component-state-head b{color:#dbe7f3;font-size:8.6px}.component-state-panel>p{margin:0;color:#77889b;font-size:7px;line-height:1.45}.component-state-panel>label,.component-state-transition label{display:grid;gap:4px;color:#7f90a2;font-size:6.6px}.component-state-panel select,.component-state-panel input{width:100%;min-width:0;height:28px;padding:0 7px;border:1px solid #354352;border-radius:4px;background:#111820;color:#ced9e5;font:600 7.5px/1 inherit;outline:none}.component-state-panel select:focus,.component-state-panel input:focus{border-color:#567ba5;box-shadow:0 0 0 2px rgba(86,123,165,.14)}.component-state-transition{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5px}.component-state-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.component-state-actions button{min-height:27px;padding:5px 6px;border:1px solid #364657;border-radius:4px;background:#151d26;color:#b7c6d6;font:600 7px/1.2 inherit;cursor:pointer}.component-state-actions button:hover{border-color:#536b84;color:#edf4fb}.component-state-actions .danger{border-color:#50363d;color:#d397a0}.component-state-panel>small{color:#617286;font-size:6.4px;line-height:1.45}@media(max-width:1000px){.component-state-transition,.component-state-actions{grid-template-columns:1fr}}

/* Checkpoint U30 Part 1 — project-backed CMS/data architecture. Public structured content only. */
.left-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-panel{margin:-2px -3px 0;display:grid;color:#dce3ec}
.cms-manager{display:grid;gap:12px;padding-bottom:18px}
.cms-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:1px 1px 4px}.cms-toolbar>div{min-width:0}.cms-toolbar small,.cms-section-head small,.cms-detail-head small{display:block;color:#73869d;font-size:6.5px;font-weight:800;letter-spacing:.13em}.cms-toolbar h3{margin:3px 0 3px;color:#f0f4f8;font-size:15px;letter-spacing:-.02em}.cms-toolbar p{margin:0;max-width:250px;color:#7f8d9f;font-size:7.3px;line-height:1.55}
.cms-collection-list,.cms-items,.cms-fields{display:grid;gap:5px}.cms-collection-row,.cms-item-row{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid #2d3540;border-radius:5px;background:#12171d;color:#aeb9c7;text-align:left;cursor:pointer}.cms-collection-row:hover,.cms-item-row:hover{border-color:#46576c;background:#161e27}.cms-collection-row.active,.cms-item-row.active{border-color:#567da8;background:#172538;color:#e4edf7;box-shadow:inset 2px 0 #6f9ccc}.cms-collection-row span,.cms-item-row span{display:grid;gap:2px;min-width:0}.cms-collection-row b,.cms-item-row b{overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:8px;white-space:nowrap}.cms-collection-row small,.cms-item-row small{overflow:hidden;text-overflow:ellipsis;color:#6f7f92;font-size:6.6px;white-space:nowrap}.cms-collection-row i,.cms-item-row i{flex:0 0 auto;color:#8090a3;font:650 6px/1 system-ui;font-style:normal;text-transform:uppercase}.cms-item-row i.draft{color:#c9a668}
.cms-empty{padding:14px;border:1px dashed #303946;border-radius:6px;background:#10151a}.cms-empty.compact{padding:10px}.cms-empty b{display:block;color:#b7c4d2;font-size:8px}.cms-empty p{margin:5px 0 0;color:#6f7d8f;font-size:7px;line-height:1.5}
.cms-detail-card,.cms-section,.cms-boundary{display:grid;gap:8px;padding:10px;border:1px solid #2e3742;border-radius:6px;background:#11171d}.cms-detail-head,.cms-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cms-detail-head>div,.cms-section-head>div{display:grid;gap:2px}.cms-detail-head h4{margin:0;color:#e2e9f1;font-size:10px}.cms-section-head b{color:#c9d4df;font-size:8px}.cms-section-head>span{color:#6f839a;font:700 6px/1.2 system-ui;text-transform:uppercase}
.cms-danger-link{border:0;background:transparent;color:#c9818a;font:650 6.6px/1 inherit;cursor:pointer;padding:3px 0}.cms-danger-link:hover{color:#f0a3ad}
.cms-value-field,.cms-field-grid label,.cms-field-options,.cms-item-meta label{display:grid;gap:4px;color:#8090a2;font-size:6.6px}.cms-value-field input,.cms-value-field textarea,.cms-value-field select,.cms-field-grid input,.cms-field-grid select,.cms-field-options textarea,.cms-item-meta input,.cms-item-meta select,.cms-field-head input{width:100%;min-width:0;border:1px solid #323d4b;border-radius:4px;background:#0e141a;color:#d8e1eb;font:600 7.5px/1.3 inherit;outline:none}.cms-value-field input,.cms-value-field select,.cms-field-grid input,.cms-field-grid select,.cms-item-meta input,.cms-item-meta select,.cms-field-head input{height:29px;padding:0 7px}.cms-value-field textarea,.cms-field-options textarea{resize:vertical;padding:7px;line-height:1.4}.cms-value-field input:focus,.cms-value-field textarea:focus,.cms-value-field select:focus,.cms-field-grid input:focus,.cms-field-grid select:focus,.cms-field-options textarea:focus,.cms-item-meta input:focus,.cms-item-meta select:focus,.cms-field-head input:focus{border-color:#587fa8;box-shadow:0 0 0 2px rgba(88,127,168,.13)}.cms-value-field>small{color:#647488;font-size:6.2px;line-height:1.4}
.cms-field-card{display:grid;gap:6px;padding:8px;border:1px solid #28323d;border-radius:5px;background:#0f151b}.cms-field-head{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:5px}.cms-field-head input{font-weight:700}.cms-field-head button{border:1px solid #3a3035;border-radius:4px;background:#171214;color:#a96771;cursor:pointer}.cms-field-grid,.cms-item-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px}.cms-required,.cms-value-toggle{display:flex;align-items:center;gap:6px;color:#8796a8;font-size:6.6px}.cms-required input,.cms-value-toggle input{accent-color:#6d91b9}.cms-values{display:grid;gap:7px}
.cms-public-note{display:grid;gap:2px;padding:8px;border-left:2px solid #4a7899;background:#101d27}.cms-public-note b{color:#bdd4e6;font-size:7px}.cms-public-note span{color:#73899c;font-size:6.4px;line-height:1.45}
.cms-boundary{border-color:#314252;background:#101820}.cms-boundary>p{margin:0;color:#77899b;font-size:6.8px;line-height:1.5}.cms-business-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px;border-top:1px solid #24313d}.cms-business-source:first-of-type{border-top:0}.cms-business-source span{display:grid;gap:2px}.cms-business-source b{color:#b8c7d6;font-size:7.5px}.cms-business-source small{color:#6c7d90;font-size:6.3px;line-height:1.4}.cms-business-source i{color:#6e9b84;font:700 5.5px/1.2 system-ui;font-style:normal;text-align:right;max-width:74px}
@media(max-width:1000px){.left-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.cms-toolbar{display:grid}.cms-toolbar .tiny-btn{width:100%}.cms-field-grid,.cms-item-meta{grid-template-columns:1fr}.cms-business-source{grid-template-columns:1fr}.cms-business-source i{text-align:left;max-width:none}}

/* U30 Part 2 — CMS binding + collection list authoring */
.cms-binding-panel{display:grid;gap:7px;margin:10px 0;padding:10px;border:1px solid #314252;border-radius:6px;background:#101820}.cms-binding-panel.warning{border-color:#5a4931;background:#1a1711}.cms-binding-head{display:grid;gap:2px}.cms-binding-panel>span,.cms-binding-head>span{color:#6f8da8;font-size:6.5px;font-weight:800;letter-spacing:.13em}.cms-binding-head>b,.cms-binding-panel>b{color:#dce7f1;font-size:9px}.cms-binding-panel>p{margin:0;color:#75889b;font-size:6.8px;line-height:1.5}.cms-binding-row{display:grid;gap:4px}.cms-binding-row>span{color:#aebdcb;font-size:7px;font-weight:700}.cms-binding-row select{width:100%}
.cms-repeater-properties{display:grid;gap:8px}.cms-query-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cms-query-grid>.field:nth-last-child(1):nth-child(odd){grid-column:1/-1}.cms-repeater-editor{display:grid;gap:8px;width:100%;min-width:0}.cms-repeater-editor-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:7px 9px;border:1px solid #dbe1e8;border-radius:6px;background:#f8fafc;color:#536273}.cms-repeater-editor-meta b{color:#243444;font-size:9px}.cms-repeater-editor-meta span{font-size:7px;text-align:right;line-height:1.4}.cms-repeater-list{width:100%;min-width:0}.cms-repeater-empty{width:100%;padding:24px;border:1px dashed #cbd5df;border-radius:8px;color:#748293;text-align:center;font-size:12px}.cms-bound-sample{outline-offset:-1px}.cms-bound-hidden{opacity:.38!important}.cms-bound-hidden::after{content:"Hidden for sample item";position:absolute;right:6px;bottom:6px;padding:3px 5px;border-radius:4px;background:#202c39;color:#d6e1ec;font:700 6px/1 system-ui;z-index:8;pointer-events:none}
@media(max-width:1000px){.cms-query-grid{grid-template-columns:1fr}.cms-query-grid>.field{grid-column:auto}.cms-repeater-editor-meta{display:grid}.cms-repeater-editor-meta span{text-align:left}}

/* U30 Part 4B-1 · visitor-safe live Business sources */
.business-source-editor{min-width:0}.business-source-properties{display:grid;gap:8px}.business-binding-panel{border-color:#cddcd4;background:#f6fbf8}.business-binding-panel .cms-binding-head span{color:#356653}.business-source-connection{display:grid;gap:3px;padding:10px;border:1px solid #dfe5e9;border-radius:8px;background:#f8fafb}.business-source-connection span{font-size:7px;font-weight:800;letter-spacing:.12em;color:#778490}.business-source-connection b{font-size:9px;line-height:1.4;color:#2b3742}.business-source-connection small{font-size:8px;line-height:1.45;color:#687785}.business-source-connection.is-connected{border-color:#bfdbc9;background:#f3faf6}.business-source-connection.is-connected span{color:#34704e}

/* Checkpoint U — Editing Polish: clearer authoring targets, hierarchy and narrow-editor controls. */
.left-tab:focus-visible,.block-item:focus-visible,.page-open:focus-visible,.page-delete:focus-visible,.workspace-history button:focus-visible,.insert-context button:focus-visible{outline:2px solid #79aef3;outline-offset:2px}
.panel-kicker{display:block;margin-bottom:3px;color:#74869b;font-size:8px;font-weight:750;letter-spacing:.11em}.panel-heading-row>div{min-width:0}.panel-heading-row>div h3{margin:2px 0 0}
.insert-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin:9px 0 2px;padding:9px 10px;border:1px solid #2d3744;border-left:2px solid #426b99;border-radius:5px;background:#141a22}.insert-context>div{min-width:0;display:grid;gap:2px}.insert-context span{color:#6f8aa8;font-size:7px;font-weight:800;letter-spacing:.11em}.insert-context b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dde8f4;font-size:10px}.insert-context small{color:#7f8fa2;font-size:8px;line-height:1.4}.insert-context button{align-self:center;border:1px solid #3d4d61;border-radius:4px;background:#1b2530;color:#b9c9db;padding:6px 7px;font:650 8px/1.2 inherit;cursor:pointer}.insert-context button:hover{border-color:#587598;color:#eef5fc}.insert-context[data-contextual=false]{border-left-color:#344252}.insert-context[data-contextual=false] span{color:#687687}
.page-item{padding:0;gap:4px;cursor:default;overflow:hidden}.page-open{flex:1;min-width:0;display:block;border:0;background:transparent;color:inherit;padding:10px;text-align:left;cursor:pointer}.page-open>span{display:block;min-width:0}.page-item.active .page-open{color:#eef5ff}.page-item:focus-within{border-color:#4d6c92}.page-delete{flex:0 0 30px;width:30px;min-height:34px;margin-right:4px;border:0;border-radius:4px;background:transparent;color:#7f8b9d;cursor:pointer}.page-delete:hover{background:#302129;color:#e6a0aa}.page-delete:disabled{opacity:.35;cursor:not-allowed}
.page-identity-fields{display:grid;gap:8px;padding:8px 0 2px;border-bottom:1px solid #29323d}.page-identity-fields>label,.page-route-readonly{display:grid;gap:5px}.page-identity-fields label>span,.page-route-readonly>span{color:#8997a8;font-size:8px;font-weight:700}.page-identity-fields input{width:100%;min-width:0;min-height:31px;border:1px solid #343b46;border-radius:5px;background:#10141a;color:#e2e8f0;padding:6px 8px;font:inherit;font-size:9px;outline:none}.page-identity-fields input:focus{border-color:#6f9bd5;box-shadow:0 0 0 1px #6f9bd5}.page-identity-fields input:disabled{background:#171a20;color:#7c8796;border-color:#2a3038}.page-identity-fields small,.page-route-readonly small{color:#69798d;font-size:7px;line-height:1.4}.page-route-readonly{padding:7px 8px;border:1px solid #2c3540;border-radius:5px;background:#12171d}.page-route-readonly b{color:#cbd7e4;font-size:9px;overflow-wrap:anywhere}
.layer-panel-heading{align-items:flex-end}.layer-panel-heading h3{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-tree{scroll-margin-block:12px}
.workspace-history{display:none;align-items:center;gap:3px}.workspace-history button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #39424f;border-radius:4px;background:#20252d;color:#d5dfeb;font:700 15px/1 inherit;cursor:pointer}.workspace-history button:hover:not(:disabled){background:#293444;border-color:#50647d}.workspace-history button:disabled{opacity:.32;cursor:not-allowed}
@media(max-width:900px){.workspace-history{display:flex}.workspace-toolbar{justify-content:flex-start}.workspace-toolbar .breadcrumb{flex:1}.save-state{max-width:170px}}
@media(min-width:581px) and (max-width:900px){.save-state{right:302px}}
@media(max-width:580px){.workspace-history{margin-left:auto}.workspace-history button{width:28px;height:28px}.workspace-toolbar .breadcrumb{max-width:94px}.left-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.insert-context{grid-template-columns:1fr}.insert-context button{justify-self:start}}
@media(max-width:580px){
  .app.show-library .save-state,.app.show-inspector .save-state{width:36px;height:36px;max-width:none;padding:0;display:grid;place-items:center;border-radius:7px}
  .app.show-library .save-state span,.app.show-inspector .save-state span{display:none}
  .app.show-library .save-state{right:8px;left:auto}
  .app.show-inspector .save-state{left:8px;right:auto}
  .app.show-library .save-state i,.app.show-inspector .save-state i{margin:0}
}
@media(max-width:580px){
  .app.show-library .save-state,.app.show-inspector .save-state{top:108px;bottom:auto}
}

/* Full Studio completeness sweep: truthful legacy states and page search/share settings. */
.page-meta-settings{border-top:1px solid #292f38;padding-top:2px}.page-meta-settings summary{cursor:pointer;list-style:none;min-height:32px;display:flex;align-items:center;justify-content:space-between;color:#cbd5e1;font-size:9px;font-weight:700}.page-meta-settings summary::-webkit-details-marker{display:none}.page-meta-settings summary::after{content:"+";color:#8190a3;font-size:12px}.page-meta-settings[open] summary::after{content:"−"}.page-meta-settings>.page-dynamic-fields{padding:4px 0 2px}.page-dynamic-fields textarea{width:100%;min-width:0;border:1px solid #343b46;border-radius:5px;background:#10141a;color:#e2e8f0;padding:7px 8px;font:inherit;font-size:9px;line-height:1.45;resize:vertical;outline:none}.page-dynamic-fields textarea:focus{border-color:#6f9bd5;box-shadow:0 0 0 1px #6f9bd5}.legacy-block-note{margin:12px 0 0;padding:9px 10px;border:1px solid #4d4332;border-radius:6px;background:#211d16;color:#cabd9f;font-size:10px;line-height:1.45}.interaction-item-card textarea[data-pricing-plan]{min-height:64px}
/* Account notices: payment needed, project paused, email confirmation, building without an account. */
.account-notice{width:min(520px,calc(100vw - 32px));margin:auto;padding:0;border:1px solid #414b58;border-radius:10px;background:#151a22;color:#eef2f7;box-shadow:0 24px 70px #000a}
.account-notice::backdrop{background:#05080dd9}.account-notice[data-blocking="true"]::backdrop{background:#05080df2}
.account-notice-inner{padding:26px 28px 24px}.account-notice-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:#f2b56b;margin-bottom:10px}
.account-notice h2{margin:0 0 12px;font-size:20px;line-height:1.25;letter-spacing:0}.account-notice p{margin:0 0 10px;color:#bdc7d5;font-size:13px;line-height:1.6}
.account-notice-error{min-height:18px;color:#ffb4a8!important;margin:6px 0 0!important}.account-notice-error:empty{min-height:0}
.account-notice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.account-notice-actions .btn{font-size:12px;padding:10px 16px;color:#eef2f7}.account-notice-actions .btn.ghost{border-color:#414b58}
#ownerBillingBanner{flex:0 0 auto}#ownerBillingBanner[hidden]{display:none}
/* The dashboard menu has grown: let it scroll inside a short Studio window instead of being cut off. */
.owner-dashboard-modal .owner-nav{overflow:auto}
/* The header's title rule stacked the buttons too, pushing the close button below the bar. */
.owner-dashboard-modal>header .owner-header-actions{flex-direction:row;align-items:center}
/* Business Dashboard: money and expenses */
.money-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}.money-title h2{margin:0}
.money-year{display:flex;align-items:center;gap:8px;color:#93a0b2;font-size:10px}.money-year select{background:#0f141b;border:1px solid #303b4a;border-radius:9px;color:#edf2f8;padding:8px 10px;font:inherit;font-size:12px}
.money-table td,.money-table th{white-space:nowrap}.money-table td:not(:first-child),.money-table th:not(:first-child){text-align:right}
.money-table tfoot td{border-top:1px solid #33415a;padding:12px 8px;color:#fff}
.money-future td{color:#647084!important}.money-future td[colspan]{text-align:right;font-style:italic}
.money-figure.negative,.owner-stat strong.money-negative{color:#f0a8b4}.money-figure.positive,.owner-stat strong.money-positive{color:#80e2a8}
.money-tax-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.setup-row .overview-action{margin-left:auto;flex:0 0 auto;align-self:center}a.overview-action{text-decoration:none}
.expense-form{margin-top:10px}.expense-table td:nth-child(4){white-space:nowrap}
@media(max-width:900px){.money-tax-grid{grid-template-columns:1fr}}
/* On a phone the tables keep only what matters most, so the key figure is never off-screen. */
@media(max-width:650px){
  .money-table,.customer-table,.expense-table{min-width:0}
  .money-table th:nth-child(2),.money-table td:nth-child(2),.money-table th:nth-child(3),.money-table td:nth-child(3){display:none}
  .customer-table th:nth-child(3),.customer-table td:nth-child(3),.customer-table th:nth-child(4),.customer-table td:nth-child(4),.customer-table th:nth-child(6),.customer-table td:nth-child(6){display:none}
  .customer-table td:nth-child(5),.customer-table th:nth-child(5){text-align:right}
  .expense-table th:nth-child(3),.expense-table td:nth-child(3),.expense-table th:nth-child(5),.expense-table td:nth-child(5){display:none}
  .expense-table .owner-actions{flex-wrap:nowrap}
  .money-title{align-items:flex-start;flex-direction:column;gap:8px}
}
/* Business Dashboard: customers (shared by the Studio window and the standalone page) */
.customer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px}
.customer-toolbar input,.customer-toolbar select{background:#0f141b;border:1px solid #303b4a;border-radius:9px;color:#edf2f8;padding:9px 11px;font:inherit;font-size:12px;outline:none;min-width:0}
.customer-toolbar input{flex:1 1 240px}.customer-toolbar input:focus,.customer-toolbar select:focus{border-color:#65789d;box-shadow:0 0 0 2px rgba(101,120,157,.16)}
.customer-link{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.customer-link:hover b,.customer-link:focus-visible b{text-decoration:underline;color:#b9c6ff}
.customer-row{cursor:pointer}.customer-row:hover td,.customer-row:focus-visible td{background:#1c2532}.customer-row:focus-visible{outline:2px solid #65789d;outline-offset:-2px}
.customer-tag{display:inline-block;margin:0 4px 4px 0;padding:3px 8px;border:1px solid #33415a;border-radius:999px;background:#18212f;color:#c9d4e3;font-size:9.5px;white-space:nowrap}
.customer-tag.note{border-style:dashed;color:#8f9bad}
.customer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:16px}.customer-head h2{margin-top:6px}.customer-head a{color:#b9c6ff}
.owner-stat strong.customer-since{font-size:17px;line-height:1.5}
.customer-history{display:grid;gap:2px}
.customer-event{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #232c38}.customer-event:last-child{border-bottom:0}
.customer-event-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #2c3748;border-radius:9px;background:#131a24;color:#9fb0cc;font-size:13px}
.customer-event b{font-size:12px;color:#eef2f7}.customer-event p{margin:4px 0 0}.customer-event small{color:#7f8da1;font-size:10px;white-space:nowrap}
.customer-event-note{color:#c3ccd8!important;white-space:pre-wrap;overflow-wrap:anywhere}
.customer-save-note{align-self:center;color:#80e2a8;font-size:11px}.customer-add-error{color:#f0a8b4!important;min-height:0;margin:10px 0 0}.customer-add-error:empty{display:none}
.customer-add{margin-top:10px}
@media(max-width:650px){.customer-event{grid-template-columns:30px minmax(0,1fr)}.customer-event>small{grid-column:2}}
.publish-verify-notice{display:grid;gap:6px;margin-top:10px;padding:12px 14px;border:1px solid #6b4a1c;border-radius:10px;background:#3a2a12;color:#fbe6c6;text-align:left}
.publish-verify-notice b{font-size:12px}.publish-verify-notice span{font-size:11px;line-height:1.5;color:#e9cfa6}
.publish-verify-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.publish-verify-actions .owner-mini-btn{font-size:11px}
.publish-verify-actions .owner-mini-btn:first-child{background:#f2b56b;border-color:#f2b56b;color:#231603;font-weight:700}
.account-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:#3a2a12;border-bottom:1px solid #6b4a1c;color:#fbe6c6}
.account-notice-banner div{display:grid;gap:2px;min-width:0}.account-notice-banner b{font-size:12px}.account-notice-banner span{font-size:11px;line-height:1.5;color:#e9cfa6}
.account-notice-banner .owner-mini-btn{flex:0 0 auto;font-size:11px;background:#f2b56b;border-color:#f2b56b;color:#231603;font-weight:700}
@media(max-width:640px){.account-notice-banner{flex-direction:column;align-items:flex-start}.account-notice-actions .btn{flex:1 1 100%}}
