/* r107: full-page Module Studio. Preview uses the real page; record actions are intercepted. */
.cpps-developer-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:0;flex:0 0 40px;padding:0!important;border:1px solid var(--line,#dce6ee);border-radius:9px;background:#fff;color:var(--accent,#087f8c);cursor:pointer}
.cpps-developer-button svg{display:block;flex:none}
.cpps-design-hidden{display:none!important}
.cpps-design-muted{opacity:.4!important;outline:2px dashed #a95564!important}
.cpps-design-target{outline:1px dashed var(--accent,#087f8c);outline-offset:-2px;cursor:crosshair!important}
.cpps-design-selected{outline:3px solid var(--accent,#087f8c)!important;outline-offset:-3px;box-shadow:0 0 0 3px #ffffffa0}
body.cpps-developer-active{overflow:hidden!important;padding-bottom:0!important}
.cpps-dev-studio{position:fixed!important;inset:0!important;z-index:2147483000;display:flex;flex-direction:column;background:#f4f6fa;color:#24364d;font:14px/1.45 'Segoe UI',system-ui,sans-serif;width:100%;height:100dvh;max-width:none;max-height:none;text-align:left;isolation:isolate}
.cpps-dev-studio *{box-sizing:border-box}
.cpps-dev-studio [hidden]{display:none!important}
.cpps-studio-dialog-host{inset:0!important;max-width:none!important;max-height:none!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important;overflow:visible!important}
.cpps-studio-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#222a50;color:#fff;min-height:64px;flex:none}
.cpps-studio-brand{display:flex;align-items:center;gap:12px;white-space:nowrap}
.cpps-studio-brand span{font-size:12px;color:#c6cce2;border-left:1px solid #637095;padding-left:12px}
.cpps-studio-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cpps-dev-studio :is(.cpps-studio-toolbar,.cpps-studio-tabs,.cpps-studio-preview-switch) button,.cpps-dev-inspector button{font:600 12px/1.4 'Segoe UI',system-ui,sans-serif;width:auto;min-width:0;min-height:36px;padding:8px 12px;border-radius:7px;border:1px solid #dce3ef;box-shadow:none;background:#fff;color:#36445f;cursor:pointer}
.cpps-dev-studio .cpps-studio-toolbar button{background:transparent;border-color:#626d8d;color:#fff}
.cpps-dev-studio .cpps-studio-toolbar [data-dev=save]{background:var(--accent,#087f8c);border-color:transparent;padding-inline:22px}
.cpps-dev-studio button:disabled{opacity:.42;cursor:default}
.cpps-studio-tabs{display:flex;justify-content:space-between;gap:12px;align-items:center;background:white;border-bottom:1px solid #e0e6ee;padding:10px 20px;flex:none}
.cpps-studio-tabs>div{display:flex;gap:8px;flex-wrap:wrap}
.cpps-dev-studio .cpps-studio-tabs button{border-color:transparent;color:#68758a}
.cpps-dev-studio .cpps-studio-tabs button[aria-selected=true]{background:#edf0fa;color:#222a50}
.cpps-studio-tabs>span{font-size:12px;color:#68758a}
.cpps-studio-body{display:grid;grid-template-columns:292px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.cpps-dev-inspector{position:relative!important;inset:auto!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:auto;overscroll-behavior:contain;border:0;border-right:1px solid #dce3ef;border-radius:0;box-shadow:none;background:#fff;padding:20px;font:13px/1.5 'Segoe UI',system-ui,sans-serif;color:#33415d}
.cpps-dev-inspector h2{font-size:15px!important;color:#222a50!important;margin:0 0 16px!important}
.cpps-dev-inspector h3{font-size:13px!important;margin:16px 0 8px!important;color:#34456b!important}
.cpps-dev-inspector label{display:block;font:500 12px/1.4 'Segoe UI',system-ui,sans-serif;margin:12px 0;color:#34425d}
.cpps-dev-inspector :is(input,textarea,select){display:block;width:100%;max-width:100%;min-width:0;height:auto;min-height:38px;padding:9px 10px;margin:6px 0 0;background:#fff;color:#33415d;border:1px solid #d4ddea;border-radius:7px;font:13px/1.4 'Segoe UI',system-ui,sans-serif;box-shadow:none}
.cpps-dev-inspector textarea{resize:vertical}
.cpps-dev-inspector input[type=checkbox]{appearance:auto;display:inline-block;width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 18px;accent-color:var(--accent,#087f8c)}
.cpps-dev-inspector .cpps-studio-switch{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e1e6f0;border-radius:9px}
.cpps-studio-element-list{max-height:220px;overflow:auto;display:grid;gap:5px;margin:8px 0 16px}
.cpps-dev-inspector .cpps-studio-element-list button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;background:#f6f8fc;border-color:#e6eaf2;font-weight:500}
.cpps-studio-element-list span{overflow-wrap:anywhere;min-width:0}
.cpps-studio-element-list small{color:#7a879a;font-size:10px;align-self:center}
.cpps-dev-inspector .cpps-studio-element-list button.selected{border-color:var(--accent,#087f8c);background:var(--cpps-soft,#e6f4f5);color:var(--accent,#087f8c)}
.cpps-studio-properties{border-top:1px solid #e1e6f0;margin-top:16px;padding-top:2px}
.cpps-studio-tag{display:inline-block;font-size:10px;border-radius:4px;background:#edf1f7;padding:3px 6px;color:#67768a}
.cpps-studio-add{border-block:1px solid #e1e6f0;padding:14px 0;margin:12px 0}
.cpps-studio-add summary{font-weight:700;cursor:pointer;color:var(--accent,#087f8c)}
.cpps-dev-inspector .cpps-studio-delete{color:#a4243b;border-color:#dfb5be;background:#fff7f8;min-height:44px}
.cpps-studio-field-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cpps-developer-active .team96-person{outline:1px dashed var(--accent,#087f8c);cursor:pointer}
.cpps-studio-deleted{border-top:1px solid #e1e6f0;padding:16px 0;margin-top:16px}
.cpps-studio-deleted summary{font-weight:700;cursor:pointer;color:#40516c;min-height:44px;display:flex;align-items:center;gap:8px}
.cpps-studio-deleted summary::before{content:'▸'}
.cpps-studio-deleted[open] summary::before{content:'▾'}
.cpps-studio-deleted-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid #e1e6f0}
.cpps-studio-deleted-row span{overflow-wrap:anywhere;flex:1;min-width:90px}
.cpps-studio-deleted-row button{min-height:44px}
.cpps-studio-note,.cpps-studio-empty{background:#f3f6fb;border:1px solid #e1e6ef;padding:14px;border-radius:9px;color:#65728b;font-size:12px;margin:12px 0}
.cpps-studio-flow{padding-left:24px}.cpps-studio-flow li{padding:8px 0}
.cpps-studio-preview{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.cpps-studio-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;flex:none}
.cpps-studio-preview-tools strong{display:block;text-transform:capitalize;color:#34456b;font-size:14px}
.cpps-studio-preview-tools small{display:block;color:#78849a;font-size:11px;margin-top:4px}
.cpps-studio-preview-switch{display:flex;flex:none}
.cpps-dev-studio .cpps-studio-preview-switch button{border-radius:0;font-weight:400}
.cpps-dev-studio .cpps-studio-preview-switch button[aria-pressed=true]{background:#222a50;color:white;border-color:#222a50}
.cpps-studio-canvas{overflow:auto;overscroll-behavior:contain;flex:1;padding:0 24px 32px;min-height:0;scroll-padding-top:16px}
.cpps-studio-module{min-width:0;background:var(--cpps-bg,#f3f7fb);border:1px solid #e1e6ef;border-radius:12px;overflow:clip}
body.cpps-developer-active .cpps-studio-module>:is(#content,#main,main,#results,[data-cpps-record]){margin:0!important;padding:20px!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;position:relative!important;inset:auto!important}
.cpps-studio-module :is(.r90-tabs,[data-cpps-fixed-top]){top:0!important;position:relative!important}
.cpps-studio-form{background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:26px;min-height:400px}
.cpps-studio-form>h2{font-size:22px;color:#222a50;margin:0 0 10px}
.cpps-studio-sample-grid{display:grid;grid-template-columns:repeat(var(--studio-columns,2),minmax(0,1fr));gap:var(--studio-gap,22px);margin-top:26px}
.cpps-dev-studio button.cpps-studio-sample{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:10px;border:1px dashed #d8deeb;background:#fff;color:#34415f;padding:18px;border-radius:8px;box-shadow:none;width:auto;min-width:0;font:13px/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer}
.cpps-dev-studio button.cpps-studio-sample.selected{outline:2px solid var(--accent,#087f8c)}
.cpps-studio-sample-value{display:block;background:#f8f9fc;border:1px solid #e2e7f0;color:#7b879e;border-radius:5px;padding:10px;min-height:40px;font-size:12px;overflow-wrap:anywhere}
.cpps-studio-sample small{color:#8090a2;font-size:11px;overflow-wrap:anywhere}
.cpps-dev-caption{font-size:12px!important;color:var(--muted,#627980);line-height:1.5;overflow-wrap:anywhere}
.cpps-dev-inspector .cpps-dev-caption{color:#7c8798}
.cpps-dev-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0}
.cpps-dev-error{color:#a42940;font-size:12px}
.cpps-dev-inspector [data-dev-status]{font-size:12px;background:#edf4fa;padding:10px;border-radius:6px;color:#334969;overflow-wrap:anywhere}
.cpps-studio-full{grid-column:1/-1!important}
.cpps-studio-size-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important}
.cpps-studio-size-grid>.cpps-studio-sized{grid-column:span var(--studio-card-span,12)!important;min-width:0;max-width:100%;overflow-wrap:anywhere}
.cpps-design-selected:has(>.cpps-studio-resize){position:relative}
.cpps-design-selected[style*="--studio-drag-width"]{width:var(--studio-drag-width);outline:3px dashed var(--cpps-accent,#087f8c)!important}
body .cpps-studio-resize{position:absolute;right:2px;bottom:2px;width:36px!important;height:30px;min-height:30px!important;padding:0!important;border:1px solid var(--cpps-accent,#087f8c)!important;border-radius:5px;background:#fff!important;color:var(--cpps-accent,#087f8c)!important;z-index:5;cursor:ew-resize;touch-action:none;font-size:22px!important}
.cpps-studio-condition{border:1px solid #dce3ef;border-radius:8px;padding:10px;margin:12px 0}
.cpps-studio-colour-control input[type=color]{padding:3px!important;width:100%;height:40px;cursor:pointer}
.cpps-custom-field[hidden]{display:none!important}
.cpps-saved-views{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:10px 0 16px;padding:10px 12px;border:1px solid var(--cpps-line,#dce3ef);border-radius:8px;background:var(--cpps-soft,#f4f7fa);font-size:12px}
.cpps-saved-views label{display:grid;gap:4px;min-width:0;flex:0 1 280px;font-weight:600}
.cpps-saved-views select,.cpps-saved-views button{width:auto;max-width:100%;min-width:0;min-height:38px;margin:0;border:1px solid var(--cpps-line,#dce3ef);border-radius:6px;padding:7px 10px;background:#fff;color:var(--cpps-ink,#183248);font:inherit}
.cpps-saved-views select{width:100%}.cpps-saved-views [role=status]{font-size:11px;color:var(--cpps-muted,#64748b);align-self:center}
body.cpps-developer-active .cpps-saved-views{display:none}
.cpps-view-dialog{box-sizing:border-box;width:420px;max-width:calc(100vw - 24px);padding:22px;border:1px solid var(--cpps-line,#dce3ef);border-radius:12px;background:#fff;color:var(--cpps-ink,#183248)}
.cpps-view-dialog::backdrop{background:#12253b66}.cpps-view-dialog h2{font-size:20px;margin-top:0}.cpps-view-dialog p{font-size:13px;line-height:1.5}.cpps-view-dialog label{display:grid;gap:8px}.cpps-view-dialog input{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #ccd6e0;border-radius:6px}.cpps-view-dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cpps-view-dialog button{min-height:40px;padding:8px 14px;border:1px solid #ccd6e0;border-radius:6px;background:var(--cpps-soft,#f3f6fa);color:var(--cpps-ink,#183248)}
@media(max-width:760px){.cpps-saved-views label{flex:1 0 100%}.cpps-saved-views button,.cpps-saved-views select{min-height:44px}.cpps-saved-views button{flex:1}.cpps-studio-size-grid>.cpps-studio-sized{max-width:100%}}
@media print{.cpps-saved-views,.cpps-view-dialog,.cpps-studio-resize{display:none!important}}
[data-studio-background=grey]{background:#f3f4f6!important}
[data-studio-background=white]{background:#fff!important}
[data-studio-background=theme]{background:var(--cpps-soft,#e6f4f5)!important}
[data-studio-columns="1"] :is(.cpps-custom-grid,.cpps-studio-field-group){display:grid!important;grid-template-columns:minmax(0,1fr)!important}
[data-studio-columns="2"] :is(.cpps-custom-grid,.cpps-studio-field-group){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
[data-studio-columns="3"] :is(.cpps-custom-grid,.cpps-studio-field-group){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
[data-studio-spacing=compact] :is(.cpps-custom-grid,.cpps-studio-field-group){gap:8px!important}
[data-studio-spacing=comfortable] :is(.cpps-custom-grid,.cpps-studio-field-group){gap:20px!important}
body [data-studio-heading-color]:not([data-studio-heading-color=original]) :is(h1,h2,h3,.kpi-label){color:var(--studio-heading)!important}
.cpps-custom-record{clear:both;margin:18px 0;padding:16px;background:var(--surface,#fff);border:1px solid var(--line,#d6e4e8);border-radius:12px;max-width:100%;box-sizing:border-box}
.cpps-custom-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cpps-custom-head h3{margin:0;color:var(--accent,#126958);font-size:16px}
.cpps-custom-record button{font:600 12px/1.3 system-ui,sans-serif;min-height:34px;padding:7px 10px;border-radius:7px;border:1px solid var(--line,#c6d6dc);background:var(--surface,#fff);color:var(--accent,#126958);cursor:pointer;width:auto}
.cpps-custom-record [data-save-values]{background:var(--accent,#126958);color:#fff;border-color:transparent}
.cpps-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:10px 0}
.cpps-custom-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0}
.cpps-custom-field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--line,#c9d9df);border-radius:7px;padding:8px;color:inherit;background:var(--surface,#fff);font:14px system-ui;min-height:36px}
.cpps-custom-field input[type=checkbox]{width:22px;height:22px;min-height:0}
.cpps-custom-field small{font-size:10px;color:var(--muted,#627980)}
.cpps-custom-field :disabled{opacity:1;background:var(--bg,#f2f6f8);color:var(--muted,#627980)}
@media(max-width:1000px){.cpps-studio-brand span{display:none}.cpps-studio-bar{padding:10px 12px}.cpps-studio-body{grid-template-columns:250px minmax(0,1fr)}.cpps-studio-canvas{padding:0 12px 20px}.cpps-studio-preview-tools{padding:12px}.cpps-studio-preview-tools small{max-width:220px}.cpps-studio-preview-switch button{padding:7px!important;font-size:11px!important}}
@media(max-width:760px){body[data-cpps-module] .cpps-developer-button{width:32px;height:34px;flex-basis:32px}.cpps-studio-bar{flex-wrap:wrap;gap:8px}.cpps-studio-brand{font-size:12px}.cpps-studio-toolbar{gap:4px}.cpps-dev-studio .cpps-studio-toolbar button{font-size:11px;min-height:32px;padding:6px 8px}.cpps-studio-tabs{padding:6px 10px}.cpps-studio-tabs>span{display:none}.cpps-studio-tabs>div{gap:2px}.cpps-studio-body{display:flex;flex-direction:column-reverse}.cpps-dev-inspector{flex:0 0 42%;border-right:0;border-top:1px solid #dce3ef;padding:14px}.cpps-studio-preview{flex:1}.cpps-studio-preview-tools{padding:8px 12px}.cpps-studio-preview-tools small{display:none}.cpps-studio-form{padding:16px}.cpps-studio-sample-grid{grid-template-columns:minmax(0,1fr)}.cpps-studio-form>h2{font-size:17px}.cpps-custom-record{padding:12px}[data-studio-columns] :is(.cpps-custom-grid,.cpps-studio-field-group){grid-template-columns:minmax(0,1fr)!important}}
@media print{.cpps-dev-studio,.cpps-developer-button,.cpps-custom-record button{display:none!important}.cpps-design-target{outline:0!important}}
html[data-cpps-phone=true] body[data-cpps-module] :is(.topbar,.workspace>header)>.cpps-developer-button{display:inline-flex!important;order:3;flex:0 0 32px;width:32px;height:34px;min-height:0;min-width:0;padding:0}

/* Typography remains scoped to the current page/device; individual captions override it. */
body [data-studio-heading-font]:not([data-studio-heading-font=original]) :is(h1,h2,h3,.kpi-label){font-family:var(--studio-heading-font)!important}
body [data-studio-heading-size]:not([data-studio-heading-size=original]) :is(h1,h2,h3,.kpi-label){font-size:var(--studio-heading-size)!important;line-height:1.3;overflow-wrap:anywhere}
.cpps-custom-jump{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;font-size:13px;color:var(--muted,#637887)}
.cpps-custom-jump button{font:600 13px/1.3 system-ui,sans-serif;min-height:44px;padding:8px 12px;border:1px solid var(--line,#c6d6dc);border-radius:8px;background:var(--surface,#fff);color:var(--accent,#126958);cursor:pointer}
.cpps-custom-record{scroll-margin-top:calc(var(--cpps-header-height,70px) + 110px)}
.cpps-custom-field>span,.cpps-studio-sample>strong{overflow-wrap:anywhere;line-height:1.3}
body.cpps-developer-active .cpps-custom-jump{display:none}
@media print{.cpps-custom-jump{display:none!important}}
