/* Canonical portable Dyno Studio presentation. Mirror byte-for-byte into both hosts. */
.rcpl-app-studio {
    --studio-bg: #f4f6f9;
    --studio-surface: #fff;
    --studio-subtle: #f8fafc;
    --studio-border: #dce3ec;
    --studio-text: #17263c;
    --studio-muted: #53647a;
    --studio-accent: #1d4ed8;
    --studio-accent-soft: #eff6ff;
    --studio-radius: 16px;
    --studio-shadow: 0 2px 8px rgb(15 23 42 / 4%);
    --studio-page-space: 24px;
    --studio-page-gutter: clamp(16px, 3vw, 40px);
    --studio-page-bottom: 32px;
    background: var(--studio-bg);
    color: var(--studio-text);
    color-scheme: light;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
.dark .rcpl-app-studio {
    --studio-bg: #0c1422;
    --studio-surface: #131f30;
    --studio-subtle: #19273a;
    --studio-border: #2b3b50;
    --studio-text: #e8eef7;
    --studio-muted: #a7b6ca;
    --studio-accent: #93b4ff;
    --studio-accent-soft: #182d50;
    --studio-shadow: 0 2px 8px rgb(0 0 0 / 12%);
    color-scheme: dark;
}
.rcpl-app-studio :is(.rcpl-studio-shell, .page-transition:has(> .rcpl-studio-nav)) {
    background: var(--studio-bg);
    background-image: none;
}
.rcpl-app-studio :is(.rcpl-studio-section--engines) { --studio-accent:#c2410c; --studio-accent-soft:#fff7ed; }
.rcpl-app-studio :is(.rcpl-studio-sessions, .rcpl-studio-section--sessions) { --studio-accent:#15803d; --studio-accent-soft:#f0fdf4; }
.rcpl-app-studio .rcpl-studio-section--tracks { --studio-accent:#7e22ce; --studio-accent-soft:#faf5ff; }
.rcpl-app-studio :is(.rcpl-studio-section--test-runs, .rcpl-studio-testruns) { --studio-accent:#a64b08; --studio-accent-soft:#fffbeb; }
.rcpl-app-studio .rcpl-studio-section--users { --studio-accent:#0f766e; --studio-accent-soft:#f0fdfa; }
.rcpl-app-studio :is(.rcpl-studio-section--settings, .rcpl-studio-tools) { --studio-accent:#475569; --studio-accent-soft:#f1f5f9; }
.dark .rcpl-app-studio .rcpl-studio-section--engines { --studio-accent:#fdba74; --studio-accent-soft:#39291f; }
.dark .rcpl-app-studio :is(.rcpl-studio-sessions, .rcpl-studio-section--sessions) { --studio-accent:#86efac; --studio-accent-soft:#17362d; }
.dark .rcpl-app-studio .rcpl-studio-section--tracks { --studio-accent:#d8b4fe; --studio-accent-soft:#302340; }
.dark .rcpl-app-studio :is(.rcpl-studio-section--test-runs, .rcpl-studio-testruns) { --studio-accent:#fcd34d; --studio-accent-soft:#382d1c; }
.dark .rcpl-app-studio .rcpl-studio-section--users { --studio-accent:#5eead4; --studio-accent-soft:#173634; }
.dark .rcpl-app-studio :is(.rcpl-studio-section--settings, .rcpl-studio-tools) { --studio-accent:#cbd5e1; --studio-accent-soft:#253348; }
.rcpl-app-studio .rcpl-studio-page {
    width:100%; max-width:1600px; margin-inline:auto; min-width:0;
    background:transparent; background-image:none;
}
.rcpl-app-studio .rcpl-studio-page { padding:var(--studio-page-space) var(--studio-page-gutter) var(--studio-page-bottom); }
.rcpl-app-studio .rcpl-studio-page .rcpl-studio-page { padding:0; }
.rcpl-app-studio :is(.rcpl-studio-surface, .rcpl-studio-panel, .rcpl-studio-card:not([data-studio-variant="filled"]), .rcpl-studio-filters, .rcpl-studio-form-section) {
    background:var(--studio-surface); background-image:none; border:1px solid var(--studio-border);
    border-radius:var(--studio-radius); box-shadow:var(--studio-shadow); backdrop-filter:none;
}
.rcpl-app-studio :is(.rcpl-studio-card, .rcpl-studio-panel, .rcpl-studio-surface, .rcpl-studio-form-section) { min-width:0; }
.rcpl-app-studio :is(.rcpl-studio-header, .rcpl-studio-card-header) { min-width:0; }
.rcpl-app-studio .rcpl-studio-header :is(h1, h2) { letter-spacing:-.025em; line-height:1.22; }
.rcpl-app-studio .rcpl-studio-header h1 { font-size:clamp(1.4rem, 2.4vw, 2rem); }
.rcpl-app-studio .rcpl-studio-header > :is([class*="bg-gradient"], .rcpl-studio-card-header) { background:var(--studio-surface); background-image:none; }
.rcpl-app-studio :is(.rcpl-studio-card-header, .rcpl-studio-card-footer, .rcpl-studio-modal-header, .rcpl-studio-modal-footer) { border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-studio-card-header { background:var(--studio-subtle); background-image:none; }
.rcpl-app-studio :is(.rcpl-studio-card-body, .rcpl-studio-card-footer) { min-width:0; }
.rcpl-app-studio .rcpl-studio-card:hover { box-shadow:var(--studio-shadow); }
.rcpl-app-studio :is(.rcpl-studio-toolbar, .rcpl-studio-actions, .rcpl-studio-session-actions) { flex-wrap:wrap; gap:8px; }
.rcpl-app-studio :is(.rcpl-studio-page button, .rcpl-studio-button, .rcpl-studio-number-stepper, .rcpl-studio-icon-button, .rcpl-studio-tag-add, .rcpl-studio-tag-remove, .rcpl-studio-tag-suggestion, .rcpl-studio-modal button, .rcpl-studio-nav button, .rcpl-studio-nav a, .rcpl-studio-footer button) {
    min-height:44px; touch-action:manipulation;
}
.rcpl-app-studio :is(.rcpl-studio-button, .rcpl-studio-page button:not([class*="rounded-full"])) { border-radius:10px; }
.rcpl-app-studio .rcpl-studio-button { font-weight:600; box-shadow:none; line-height:1.4; }
/* Flatten existing button gradients without changing their semantic family. */
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button[class*="bg-gradient"] { background-image:none; box-shadow:none; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button[class*="from-blue"] { background-color:#1d4ed8; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:is([class*="from-green"],[class*="from-emerald"]) { background-color:#15803d; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:is([class*="from-orange"],[class*="from-amber"]) { background-color:#c2410c; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:is([class*="from-purple"],[class*="from-violet"]) { background-color:#7e22ce; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:is([class*="from-teal"],[class*="from-cyan"]) { background-color:#0f766e; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button[class*="from-red"] { background-color:#b91c1c; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:is([class*="from-slate"],[class*="from-gray"]) { background-color:#475569; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-modal, .rcpl-studio-topbar) button:disabled { opacity:.55; cursor:not-allowed; }
.rcpl-app-studio :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible { outline:3px solid var(--studio-accent); outline-offset:3px; }
.rcpl-app-studio :is(.rcpl-studio-input, .rcpl-studio-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), .rcpl-studio-page select, .rcpl-studio-page textarea) {
    min-height:44px; border-radius:10px; border-color:var(--studio-border); background:var(--studio-surface); color:var(--studio-text); max-width:100%;
}
.rcpl-app-studio :is(.rcpl-studio-input, .rcpl-studio-page input, .rcpl-studio-page select, .rcpl-studio-page textarea) { touch-action:manipulation; }
.rcpl-app-studio .rcpl-studio-label { color:var(--studio-text); font-size:.875rem; font-weight:600; line-height:1.5; }
.rcpl-app-studio .rcpl-studio-help { color:var(--studio-muted); line-height:1.5; }
.rcpl-app-studio .rcpl-studio-number-stepper { min-width:44px; }
.rcpl-app-studio .rcpl-studio-number input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.rcpl-app-studio .rcpl-studio-number input::-webkit-outer-spin-button,
.rcpl-app-studio .rcpl-studio-number input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.rcpl-app-studio .rcpl-studio-upload-zone:focus-within { outline:3px solid var(--studio-accent); outline-offset:3px; }
.rcpl-app-studio :is(.rcpl-studio-tabs, .rcpl-studio-toolbar) { min-width:0; }
.rcpl-app-studio .rcpl-studio-tabs { scrollbar-width:thin; }
.rcpl-app-studio :is(.rcpl-studio-tabs button, .rcpl-studio-tab) { min-height:44px; }
.rcpl-app-studio :is(.rcpl-studio-tabs button, .rcpl-studio-tab):is([aria-current="true"], [aria-current="page"], [aria-selected="true"]) { color:var(--studio-accent); border-color:var(--studio-accent); background:var(--studio-accent-soft); }
.rcpl-app-studio .rcpl-studio-table { border-color:var(--studio-border); box-shadow:var(--studio-shadow); }
.rcpl-app-studio .rcpl-studio-table thead th { background:var(--studio-subtle); color:var(--studio-muted); font-size:.75rem; letter-spacing:.045em; }
.rcpl-app-studio .rcpl-studio-table :is(th, td) { padding-block:14px; border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-studio-table tbody tr { background:var(--studio-surface); }
.rcpl-app-studio .rcpl-studio-table tbody tr:hover { background:var(--studio-subtle); }
.rcpl-app-studio .rcpl-studio-modal-backdrop { padding:16px; background:rgb(5 12 23 / 60%); backdrop-filter:blur(4px); }
.rcpl-app-studio .rcpl-studio-modal { background:var(--studio-surface); border:1px solid var(--studio-border); border-radius:20px; box-shadow:0 24px 80px rgb(0 0 0 / 24%); max-height:calc(100dvh - 32px); }
.rcpl-app-studio .rcpl-studio-modal-header { background:var(--studio-subtle); background-image:none; }
.rcpl-app-studio .rcpl-studio-modal-close { min-width:44px; }
.rcpl-app-studio .rcpl-studio-modal-body { overscroll-behavior:contain; }
.rcpl-app-studio .rcpl-studio-empty { border-radius:var(--studio-radius); }
.rcpl-app-studio .rcpl-studio-accordion-trigger { width:100%; text-align:left; }
.rcpl-app-studio .rcpl-studio-fullscreen { background:var(--studio-bg); color:var(--studio-text); }
.rcpl-app-studio .rcpl-studio-fullscreen .bg-slate-900 { background:var(--studio-bg); }
.rcpl-app-studio .rcpl-studio-fullscreen :is(h1,h2) { color:var(--studio-text); }
.rcpl-app-studio :is(.rcpl-studio-fullscreen-header, .rcpl-studio-fullscreen-controls) { background:var(--studio-surface); border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-studio-fullscreen-header .text-slate-300\/80 { color:var(--studio-muted); }
.rcpl-app-studio .rcpl-studio-fullscreen-controls { flex-wrap:wrap; }
.rcpl-app-studio .rcpl-studio-nav { background:var(--studio-surface); border-color:var(--studio-border); backdrop-filter:none; box-shadow:var(--studio-shadow); }
.rcpl-app-studio .rcpl-studio-nav-inner { max-width:1600px; }
.rcpl-app-studio .rcpl-studio-nav-brand h1 { background:none; color:var(--studio-text); letter-spacing:-.025em; }
.rcpl-app-studio .rcpl-studio-nav-brand p { color:var(--studio-muted); }
.rcpl-app-studio .rcpl-studio-nav-brand > div:first-child > div { box-shadow:none; }
.rcpl-app-studio .rcpl-studio-nav-items { margin-left:16px; gap:3px; }
.rcpl-app-studio .rcpl-studio-nav-dropdown { background:var(--studio-surface); border-color:var(--studio-border); border-radius:12px; box-shadow:0 10px 30px rgb(15 23 42 / 12%); padding:6px; }
.rcpl-app-studio .rcpl-studio-nav :is(.rcpl-studio-nav-dropdown,.rcpl-studio-nav-submenu) > :is(a,button) {
    display:flex; align-items:center; justify-content:flex-start; gap:8px; width:100%; min-height:44px;
    margin:0; padding:10px 8px; border-radius:8px; font-size:13px; line-height:20px; white-space:normal; text-align:left;
}
.rcpl-app-studio .rcpl-studio-nav :is(.rcpl-studio-nav-dropdown,.rcpl-studio-nav-submenu) > :is(a,button) > :is(svg,span) { margin-inline:0; }
.rcpl-app-studio .rcpl-studio-nav :is(.rcpl-studio-nav-dropdown,.rcpl-studio-nav-submenu) > :is(a,button) > svg { width:16px; height:16px; flex-shrink:0; }
.rcpl-app-studio .rcpl-studio-nav :is(.rcpl-studio-nav-dropdown,.rcpl-studio-nav-submenu) > :is(a,button):not(:has(> svg)) { padding-inline-start:32px; }
.rcpl-app-studio .rcpl-studio-nav .rcpl-studio-nav-group-title { margin:12px 0 2px; padding:0 8px; color:var(--studio-muted); font-size:11px; line-height:20px; font-weight:600; letter-spacing:.025em; text-transform:none; }
.rcpl-app-studio .rcpl-studio-nav .rcpl-studio-nav-group-divider { display:none; }
.rcpl-app-studio .rcpl-studio-nav .rcpl-studio-nav-submenu { margin:4px 0 8px 20px; padding-left:8px; border-left:1px solid var(--studio-border); }
.rcpl-app-studio .rcpl-studio-nav #mobile-menu a { column-gap:12px; }
.rcpl-app-studio .rcpl-studio-nav #mobile-menu a > :is(svg,span) { margin-inline:0; }
.rcpl-app-studio .rcpl-studio-nav #mobile-menu a > svg { flex-shrink:0; }
.rcpl-app-studio .rcpl-studio-mobile-menu { max-height:calc(100dvh - 144px); overflow-y:auto; background:var(--studio-surface); border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-studio-footer { background:var(--studio-surface); border-color:var(--studio-border); backdrop-filter:none; box-shadow:none; }
/* The help sheet ends above the fixed footer band instead of covering it. */
.rcpl-app-studio:has(.rcpl-studio-footer) { --rcpl-help-bottom:64px; }
.rcpl-app-studio .rcpl-studio-footer-inner { max-width:1600px; }
.rcpl-app-studio .rcpl-studio-footer-user { min-width:0; gap:12px; }
.rcpl-app-studio .rcpl-studio-footer-identity { min-width:0; }
.rcpl-app-studio .rcpl-studio-footer-email { max-width:min(26vw, 280px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* In-page sticky action bars pin above the fixed footer (65px) instead of sliding underneath it. */
.rcpl-studio-sticky-actions { position:sticky; bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px)); }
@media (max-width:639px) {
    .rcpl-app-studio { --studio-page-space:16px; --studio-page-gutter:12px; --studio-page-bottom:24px; }
    .rcpl-app-studio .rcpl-studio-page > div[class*="max-w-"] { max-width:100%; padding-inline:0; }
    .rcpl-app-studio .rcpl-studio-nav-inner { padding-inline:12px; }
    .rcpl-app-studio .rcpl-studio-nav-brand { gap:8px; }
    .rcpl-app-studio .rcpl-studio-nav-brand h1 { font-size:.875rem; }
    .rcpl-app-studio .rcpl-studio-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rcpl-app-studio .rcpl-studio-modal-backdrop { padding:8px; }
    .rcpl-app-studio .rcpl-studio-modal { max-height:calc(100dvh - 16px); border-radius:16px; }
    .rcpl-app-studio .rcpl-studio-footer-inner { padding-inline:8px; }
    .rcpl-app-studio .rcpl-studio-footer-user { gap:4px; }
    .rcpl-app-studio .rcpl-studio-footer-identity { gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
    .rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-nav, .rcpl-studio-modal) * { scroll-behavior:auto; transition-duration:0ms; animation-duration:0ms; }
}

.rcpl-app-studio .rcpl-studio-nav-collapse { display:none; }
/* The current page's nav group: open only in the wide sidebar, where it is part of the page layout. */
.rcpl-app-studio .rcpl-studio-nav-dropdown--current { display:none; }
@media (min-width:1280px) {
    .rcpl-app-studio:has(.rcpl-studio-nav) { --studio-nav-width:232px; }
    .rcpl-app-studio:has(.rcpl-studio-nav--collapsed) { --studio-nav-width:88px; }
    .rcpl-app-studio .rcpl-studio-nav { position:fixed; inset:0 auto 64px 0; width:var(--studio-nav-width); border-bottom:0; border-right:1px solid var(--studio-border); overflow-y:auto; }
    .rcpl-app-studio .rcpl-studio-nav-inner { padding:16px 12px; height:100%; }
    .rcpl-app-studio .rcpl-studio-nav-row { height:100%; min-height:min-content; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:20px; }
    .rcpl-app-studio .rcpl-studio-nav-brand { margin:0; padding:4px 0; gap:10px; }
    .rcpl-app-studio .rcpl-studio-nav-brand h1 { font-size:1rem; }
    .rcpl-app-studio .rcpl-studio-nav-brand p { font-size:.65rem; }
    .rcpl-app-studio .rcpl-studio-nav-desktop { display:block; }
    .rcpl-app-studio .rcpl-studio-nav-items { margin:0; flex-direction:column; align-items:stretch; gap:6px; }
    .rcpl-app-studio .rcpl-studio-nav-items > :is(a,button),
    .rcpl-app-studio .rcpl-studio-nav-items > div > button { width:100%; justify-content:flex-start; padding:12px; }
    .rcpl-app-studio .rcpl-studio-nav:not(.rcpl-studio-nav--collapsed) .rcpl-studio-nav-dropdown { position:static; width:calc(100% - 20px); margin:4px 0 8px 20px; padding:0 0 0 8px; border:0; border-left:1px solid var(--studio-border); border-radius:0; box-shadow:none; background:transparent; }
    .rcpl-app-studio .rcpl-studio-nav:not(.rcpl-studio-nav--collapsed) .rcpl-studio-nav-dropdown--current { display:block; }
    .rcpl-app-studio .rcpl-studio-nav-dropdown :is(a,button) { min-height:44px; white-space:normal; text-align:left; }
    .rcpl-app-studio .rcpl-studio-nav-items > div > button > svg:last-child:not(:first-child) { margin-left:auto; }
    .rcpl-app-studio .rcpl-studio-nav-collapse { display:flex; align-items:center; justify-content:flex-start; gap:10px; border:1px solid var(--studio-border); border-radius:10px; padding:10px 12px; font-size:.75rem; color:var(--studio-muted); }
    .rcpl-app-studio .rcpl-studio-nav ~ main { margin-left:var(--studio-nav-width); width:calc(100% - var(--studio-nav-width)); }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-brand { justify-content:center; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-brand > div:not(:first-child) { display:none; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-items > :is(a,button),
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-items > div > button { font-size:0; justify-content:center; gap:0; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-items > :is(a,button) > span,
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-items > div > button > span,
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-items > div > button > svg:last-child:not(:first-child),
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-collapse > span { display:none; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-collapse { justify-content:center; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-dropdown { position:fixed; left:88px; top:80px; width:240px; max-height:calc(100dvh - 160px); overflow-y:auto; box-shadow:0 12px 32px rgb(0 0 0 / 20%); }
}

.rcpl-app-studio :is(.rcpl-studio-icon-button, .rcpl-studio-tag-add, .rcpl-studio-tag-remove, .rcpl-studio-tag-suggestion) { min-width:44px; }
.rcpl-app-studio .rcpl-studio-dropdown-panel { background:var(--studio-surface); border:1px solid var(--studio-border); border-radius:12px; box-shadow:0 8px 24px rgb(0 0 0 / 12%); }

.rcpl-app-studio .rcpl-studio-page button:has(> svg):not(:has(> span)):not(:has(> text)) { min-width:44px; }
.rcpl-app-studio .rcpl-studio-header > div { border-color:var(--studio-border); box-shadow:var(--studio-shadow); backdrop-filter:none; }
.rcpl-app-studio .rcpl-studio-header > div[class*="bg-white/"] { background:var(--studio-surface); background-image:none; }

.rcpl-app-studio .rcpl-studio-screen { background:var(--studio-bg); background-image:none; }
.rcpl-app-studio :is(.rcpl-studio-test-header, .rcpl-studio-live, .rcpl-studio-processing) button { min-height:44px; touch-action:manipulation; }
.rcpl-app-studio .rcpl-studio-test-header :is(input,select) { min-height:44px; }
.rcpl-app-studio .rcpl-studio-ambient { opacity:.12; }

.rcpl-app-studio :is(.rcpl-studio-setup-details,.rcpl-studio-screen) :is(div[class*="bg-white/70"], div[class*="bg-white/80"], div[class*="bg-white/90"]) { background:var(--studio-surface); background-image:none; border-color:var(--studio-border); box-shadow:var(--studio-shadow); backdrop-filter:none; }
.rcpl-app-studio .rcpl-studio-modal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select,textarea) { min-height:44px; max-width:100%; border-radius:10px; background:var(--studio-surface); color:var(--studio-text); border-color:var(--studio-border); }
.rcpl-app-studio :is(.rcpl-studio-icon-button,.rcpl-studio-tag-remove,.rcpl-studio-tag-add) { display:inline-flex; align-items:center; justify-content:center; }
.rcpl-app-studio :is(.rcpl-studio-icon-button,.rcpl-studio-tag-remove,.rcpl-studio-tag-add) > svg { max-width:20px; max-height:20px; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-slate-400,.text-gray-400) { color:#64748b; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) .text-orange-500 { color:#c2410c; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-amber-500,.text-yellow-500) { color:#92400e; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) .text-red-500 { color:#b91c1c; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) .text-green-500 { color:#15803d; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) .text-blue-500 { color:#1d4ed8; }
@media (min-width:1280px) and (min-height:640px) {
    .rcpl-app-studio .rcpl-studio-nav--collapsed { overflow:visible; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-studio-nav-dropdown { position:absolute; left:calc(100% + 12px); top:0; max-height:calc(100dvh - 520px); }
}

.rcpl-app-studio .rcpl-studio-footer button { min-width:44px; }
.rcpl-app-studio .rcpl-studio-state { min-width:0; }
.rcpl-app-studio .rcpl-studio-state > div[class*="bg-white/"] { background:var(--studio-surface); border-color:var(--studio-border); box-shadow:var(--studio-shadow); backdrop-filter:none; }
.rcpl-app-studio .rcpl-studio-toast { border-color:var(--studio-border); border-radius:12px; box-shadow:0 8px 24px rgb(0 0 0 / 12%); }
.rcpl-app-studio .rcpl-studio-save-actions { flex-wrap:wrap; gap:8px; }

/* AA text contrast on the established pastel metric surfaces; preserve every hue. */
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-slate-500,.text-slate-600) { color:#53647a; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-gray-500,.text-gray-600) { color:#53647a; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-orange-500,.text-orange-600) { color:#c2410c; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-amber-500,.text-amber-600) { color:#92400e; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-yellow-500,.text-yellow-600) { color:#854d0e; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-red-500,.text-red-600) { color:#b91c1c; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-green-500,.text-green-600) { color:#15803d; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-emerald-500,.text-emerald-600) { color:#047857; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-blue-500,.text-blue-600) { color:#1d4ed8; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-indigo-500,.text-indigo-600) { color:#4338ca; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-purple-500,.text-purple-600) { color:#7e22ce; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-violet-500,.text-violet-600) { color:#6d28d9; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-fuchsia-500,.text-fuchsia-600) { color:#a21caf; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-cyan-500,.text-cyan-600) { color:#0e7490; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-teal-500,.text-teal-600) { color:#0f766e; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-sky-500,.text-sky-600) { color:#0369a1; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-pink-500,.text-pink-600) { color:#be185d; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-rose-500,.text-rose-600) { color:#be123c; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) :is(.text-lime-500,.text-lime-600) { color:#3f6212; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-orange-500,.bg-orange-600) { background-color:#c2410c; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-amber-500,.bg-amber-600) { background-color:#92400e; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-yellow-500,.bg-yellow-600) { background-color:#854d0e; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-red-500,.bg-red-600) { background-color:#b91c1c; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-green-500,.bg-green-600) { background-color:#15803d; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-emerald-500,.bg-emerald-600) { background-color:#047857; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-blue-500,.bg-blue-600) { background-color:#1d4ed8; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-indigo-500,.bg-indigo-600) { background-color:#4338ca; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-purple-500,.bg-purple-600) { background-color:#7e22ce; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-violet-500,.bg-violet-600) { background-color:#6d28d9; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-fuchsia-500,.bg-fuchsia-600) { background-color:#a21caf; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-cyan-500,.bg-cyan-600) { background-color:#0e7490; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-teal-500,.bg-teal-600) { background-color:#0f766e; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-sky-500,.bg-sky-600) { background-color:#0369a1; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-pink-500,.bg-pink-600) { background-color:#be185d; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-rose-500,.bg-rose-600) { background-color:#be123c; color:#fff; }
html:not(.dark) .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.bg-lime-500,.bg-lime-600) { background-color:#3f6212; color:#fff; }

.dark .rcpl-app-studio .rcpl-studio-page button[class*="dark:bg-orange-500"] { background-color:#c2410c; color:#fff; }
.dark .rcpl-app-studio .rcpl-studio-page button[class*="dark:bg-blue-500"] { background-color:#1d4ed8; color:#fff; }
.dark .rcpl-app-studio .rcpl-studio-page button[class*="dark:bg-purple-500"] { background-color:#7e22ce; color:#fff; }
.rcpl-app-studio .rcpl-studio-dropdown :is(.text-slate-400,.dark\:text-slate-500) { color:var(--studio-muted); }
.rcpl-app-studio .rcpl-studio-tag-suggestion { background:var(--studio-subtle); border-color:var(--studio-border); color:var(--studio-text); }
.rcpl-app-studio .rcpl-studio-upload-placeholder { display:block; padding:24px 16px 8px; }
.rcpl-app-studio .rcpl-studio-upload-zone > .rcpl-studio-button { position:static; display:flex; width:max-content; margin:0 auto 16px; }
.rcpl-app-studio .rcpl-studio-rating { display:flex; flex-wrap:wrap; gap:8px; }
.rcpl-app-studio .rcpl-studio-rating > label { flex-basis:100%; }
.rcpl-app-studio .rcpl-studio-rating > :is(div,span) { margin-left:0; }
@media (max-width:639px) {
    .rcpl-app-studio .rcpl-studio-date-inputs:has(input[type="date"] + input[type="time"]) > div { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
    .rcpl-app-studio .rcpl-studio-date-inputs input[type="date"],
    .rcpl-app-studio .rcpl-studio-date-inputs input[type="time"] { width:100%; min-width:0; }
}

.rcpl-app-studio .rcpl-studio-upload-placeholder p { color:var(--studio-muted); }
.rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Sessions"], a[href^="/sessions"]) { --studio-nav-accent:#15803d; --studio-nav-soft:#f0fdf4; }
.rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Engines"], a[href^="/engines"]) { --studio-nav-accent:#c2410c; --studio-nav-soft:#fff7ed; }
.rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Tracks"], a[href^="/tracks"]) { --studio-nav-accent:#7e22ce; --studio-nav-soft:#faf5ff; }
.dark .rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Sessions"], a[href^="/sessions"]) { --studio-nav-accent:#86efac; --studio-nav-soft:#17362d; }
.dark .rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Engines"], a[href^="/engines"]) { --studio-nav-accent:#fdba74; --studio-nav-soft:#39291f; }
.dark .rcpl-app-studio .rcpl-studio-nav :is(button[aria-label="Tracks"], a[href^="/tracks"]) { --studio-nav-accent:#d8b4fe; --studio-nav-soft:#302340; }
.rcpl-app-studio .rcpl-studio-nav :is(a,button)[class*="bg-blue-100"] { background:var(--studio-nav-soft,var(--studio-accent-soft)); color:var(--studio-nav-accent,var(--studio-accent)); }

/* Reusable controls and capture chrome also appear outside page containers. */
.rcpl-app-studio :is(.rcpl-studio-page button,.rcpl-studio-test-header button) { min-width:44px; }
.rcpl-app-studio .rcpl-studio-tag-add { background-color:#854d0e; color:#fff; }
.dark .rcpl-app-studio .dark\:text-slate-500 { color:var(--studio-muted); }
.dark .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-topbar) button[class*="dark:text-red-400"] { color:#fca5a5; }
html:not(.dark) .rcpl-app-studio .rcpl-studio-test-header :is(.text-orange-500,.text-orange-600) { color:#c2410c; }
html:not(.dark) .rcpl-app-studio .rcpl-studio-test-header :is(.text-amber-500,.text-amber-600) { color:#92400e; }
.rcpl-app-studio .rcpl-studio-selection-summary > .rcpl-studio-panel { height:auto; }
.rcpl-app-studio .rcpl-studio-page input[type="file"] { width:100%; max-width:100%; min-width:0; }

.dark .rcpl-app-studio :is(.dark\:text-slate-400,.dark\:text-gray-400) { color:var(--studio-muted); }
.dark .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-topbar) button[class*="dark:bg-green-500"] { background-color:#15803d; color:#fff; }
.rcpl-app-studio .rcpl-studio-coach button.bg-green-600 { background-color:#15803d; color:#fff; min-height:44px; }

.rcpl-app-studio :is(.rcpl-studio-fullscreen-header,.rcpl-studio-fullscreen-controls) button { min-width:44px; min-height:44px; }
.rcpl-app-studio .rcpl-studio-fullscreen-controls button.bg-green-600 { background-color:#15803d; color:#fff; }
.rcpl-app-studio .rcpl-studio-fullscreen :is(.text-slate-400,.text-gray-400,.text-slate-300) { color:var(--studio-muted); }
.rcpl-app-studio .rcpl-studio-chart-statistics { background:var(--studio-surface); border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-studio-chart-statistics .text-white { color:var(--studio-text); }

/* Keep repeated planning panels in normal flow and clip decorative capture artwork. */
.rcpl-app-studio .rcpl-studio-planning-content > .rcpl-studio-panel { height:auto; }
.rcpl-app-studio .rcpl-studio-processing { position:relative; }
.rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-topbar) button.bg-green-600 { background-color:#15803d; color:#fff; }
.dark .rcpl-app-studio button[class*="dark:bg-teal-600"] { background-color:#0f766e; color:#fff; }
.dark .rcpl-app-studio .rcpl-studio-modal .text-red-500 { color:#fca5a5; }
.dark .rcpl-app-studio .rcpl-studio-tab:not([aria-current="true"]):not([aria-current="page"]):not([aria-selected="true"]) { color:var(--studio-muted); }
.dark .rcpl-app-studio .rcpl-studio-live .dark\:text-red-400 { color:#fca5a5; }

.rcpl-app-studio .rcpl-studio-modal button.bg-yellow-600 { background-color:#854d0e; color:#fff; }

html:not(.dark) .rcpl-app-studio .rcpl-studio-test-header .text-yellow-700 { color:#854d0e; }
.rcpl-app-studio .rcpl-studio-page button.bg-blue-500 { background-color:#1d4ed8; color:#fff; }
.rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button:is(.from-slate-50,.from-gray-50,.from-slate-100,.from-gray-100) { background-color:var(--studio-subtle); color:var(--studio-text); }
.rcpl-app-studio .rcpl-studio-setup-details .rcpl-studio-tabs button { background:var(--studio-subtle); color:var(--studio-muted); border:1px solid var(--studio-border); }
.rcpl-app-studio .rcpl-studio-setup-details .rcpl-studio-tabs button[aria-current="page"] { background:var(--studio-accent-soft); color:var(--studio-accent); border-color:var(--studio-accent); }
.dark .rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) .text-slate-500 { color:var(--studio-muted); }
.rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) button.bg-white { background-color:var(--studio-surface); color:var(--studio-text); }
.rcpl-app-studio .rcpl-studio-modal button.bg-amber-600 { background-color:#b45309; color:#fff; }
/* WebKit native single-line selects do not consistently honour min-height. */
.rcpl-app-studio :is(.rcpl-studio-page,.rcpl-studio-modal,.rcpl-studio-topbar) select:not([multiple]):not([size]) { height:44px; }

/* Keep the completed capture canvas stable when phone/tablet switches wrap.
   The existing native host bounds this workspace; scroll its controls rather
   than shrinking the plot behind a canvas awaiting a window-resize event. */
@media (max-width:1023px) {
    .rcpl-app-studio .rcpl-studio-active-session--chart { overflow-y:auto; overscroll-behavior:contain; }
    .rcpl-app-studio .rcpl-studio-active-session--chart > .rcpl-studio-active-chart-region { flex:0 0 350px; height:350px; min-height:350px; }
}

/* Context-aware host chrome. Standalone components retain their inline headings. */
.rcpl-app-studio .rcpl-studio-topbar {
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px;
    min-width:0; padding:16px var(--studio-page-gutter); background:var(--studio-surface);
    border-bottom:1px solid var(--studio-border);
}
.rcpl-app-studio .rcpl-studio-topbar--library { align-items:flex-start; }
.rcpl-app-studio .rcpl-studio-topbar-identity { flex:1 1 240px; min-width:0; display:flex; align-items:center; gap:12px; }
.rcpl-app-studio .rcpl-studio-topbar-identity > .rcpl-studio-topbar-heading { flex:1 1 auto; min-width:0; }
/* The route icon tile is owned by the top bar so it never swaps while a page loads (StudioPageIdentity). */
.rcpl-app-studio .rcpl-studio-topbar-icon { width:36px; height:36px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:10px; color:#fff; box-shadow:none; }
.rcpl-app-studio .rcpl-studio-topbar-icon > svg { width:20px; height:20px; }
.rcpl-app-studio .rcpl-studio-topbar-identity .rcpl-studio-topbar-heading div:is([class*="flex-shrink-0"], [class*="bg-gradient"]):has(> svg):not(:has(> span)) { display:none; }
/* The hidden icon's space-x-* sibling keeps its margin; drop it so every title starts at the same offset. */
.rcpl-app-studio .rcpl-studio-topbar-identity .rcpl-studio-topbar-heading div:is([class*="flex-shrink-0"], [class*="bg-gradient"]):has(> svg):not(:has(> span)) + * { margin-left:0; margin-right:0; }
.rcpl-app-studio .rcpl-studio-topbar-toolbar { min-width:0; max-width:100%; }
.rcpl-app-studio .rcpl-studio-topbar-toolbar:empty { display:none; }
.rcpl-app-studio .rcpl-studio-topbar-heading { min-width:0; }
.rcpl-app-studio .rcpl-studio-topbar-heading h1 { margin:0; color:var(--studio-text); font-weight:700; font-size:clamp(1.2rem, 1.5vw, 1.5rem); line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
.rcpl-app-studio .rcpl-studio-topbar-heading p { margin-bottom:0; margin-top:3px; color:var(--studio-muted); font-size:.8125rem; line-height:1.5; overflow-wrap:anywhere; }
.rcpl-app-studio .rcpl-studio-topbar-heading :is([class*="flex-shrink-0"], [class*="bg-gradient"]):has(> svg):not(:has(> span)) { width:36px; height:36px; padding:0; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:10px; box-shadow:none; }
.rcpl-app-studio .rcpl-studio-topbar-heading :is([class*="flex-shrink-0"], [class*="bg-gradient"]):not(:has(> span)) > svg { width:20px; height:20px; }
.rcpl-app-studio .rcpl-studio-topbar-fallback-icon { width:28px; height:28px; flex-shrink:0; color:var(--studio-accent); }
.rcpl-app-studio .rcpl-studio-topbar-heading > div:not(.flex-1),
.rcpl-app-studio .rcpl-studio-topbar-actions > div {
    margin:0; padding:0; background:transparent; background-image:none; border:0; border-radius:0; box-shadow:none; backdrop-filter:none;
}
.rcpl-app-studio .rcpl-studio-topbar-heading > .rcpl-studio-panel > div { padding:0; }
.rcpl-app-studio .rcpl-studio-topbar-actions > div > .flex { justify-content:flex-end; }
.rcpl-app-studio .rcpl-studio-topbar-actions .flex { flex-wrap:wrap; }
.rcpl-app-studio .rcpl-studio-topbar-actions button { min-width:44px; min-height:44px; border-radius:10px; touch-action:manipulation; }
.rcpl-app-studio .rcpl-studio-topbar-actions button[class*="bg-gradient"] { background-image:none; box-shadow:none; }
.rcpl-app-studio .rcpl-studio-topbar-actions button[class*="from-blue"] { background-color:#1d4ed8; color:#fff; }
.rcpl-app-studio .rcpl-studio-topbar-actions button:is([class*="from-green"],[class*="from-emerald"]) { background-color:#15803d; color:#fff; }
.rcpl-app-studio .rcpl-studio-topbar-actions button:is([class*="from-orange"],[class*="from-amber"]) { background-color:#c2410c; color:#fff; }
.rcpl-app-studio .rcpl-studio-topbar-actions button:is([class*="from-purple"],[class*="from-violet"]) { background-color:#7e22ce; color:#fff; }
.rcpl-app-studio .rcpl-studio-topbar-actions button[class*="from-red"] { background-color:#b91c1c; color:#fff; }
.rcpl-app-studio .rcpl-studio-chrome .rcpl-dashboard-heading:empty { display:none; }
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-page-header:not(:has(.rcpl-studio-header-context)):not(:has(h1)) { display:none; }
.rcpl-app-studio .rcpl-studio-topbar .rcpl-studio-page-header { display:block; }
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-header-context:empty { display:none; }
/* The page owns outer spacing; neutral wrappers and relocated headings must not add it again. */
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-fluid:not(.rcpl-studio-page):not(.rcpl-studio-page *) { width:100%; padding:var(--studio-page-space) var(--studio-page-gutter) var(--studio-page-bottom); }
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-page > .rcpl-studio-fluid { max-width:none; padding:0; }
/* Space the capture header from the title bar; padding on the screen itself would sit above the navigation instead. */
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-screen > div:has(> .rcpl-studio-test-header) { padding-top:var(--studio-page-space); }
.rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-screen > div > .rcpl-studio-test-header { margin-inline:var(--studio-page-gutter); border-radius:var(--studio-radius);
    background:var(--studio-surface); border:1px solid var(--studio-border); box-shadow:var(--studio-shadow); backdrop-filter:none; }
.rcpl-app-studio .rcpl-studio-chrome :is(.rcpl-studio-page, .rcpl-studio-page > .rcpl-studio-fluid) > :first-child,
.rcpl-app-studio .rcpl-studio-chrome :is(.rcpl-studio-page, .rcpl-studio-page > .rcpl-studio-fluid) > .rcpl-studio-header:empty + *,
.rcpl-app-studio .rcpl-studio-chrome :is(.rcpl-studio-page, .rcpl-studio-page > .rcpl-studio-fluid) > .rcpl-studio-page-header:not(:has(.rcpl-studio-header-context)):not(:has(h1)) + * { margin-top:0; }
@media(min-width:1024px) {
    .rcpl-app-studio :is(.rcpl-studio-page, .rcpl-studio-fluid, .rcpl-dashboard, .rcpl-studio-footer-inner) { max-width:none; }
    .rcpl-app-studio .rcpl-studio-page > div[class*="max-w-"] { max-width:100%; }
}
@media(min-width:1280px) {
    .rcpl-app-studio .rcpl-studio-nav ~ .rcpl-studio-topbar { margin-left:var(--studio-nav-width); width:calc(100% - var(--studio-nav-width)); }
    /* Page-level bars outside <main> (capture header, loading bar) must clear the fixed sidebar too. */
    .rcpl-app-studio .rcpl-studio-nav ~ :is(div:has(> .rcpl-studio-test-header), .rcpl-studio-sidebar-clear) { margin-left:var(--studio-nav-width); width:calc(100% - var(--studio-nav-width)); }
}
/* Touch screens keep :hover after a tap; only the current navigation item may stay highlighted. */
@media(hover:none) {
    .rcpl-app-studio .rcpl-studio-nav :is(a,button):not([class*="bg-blue-100"]):hover { background-color:transparent; }
}
@media(max-width:639px) {
    .rcpl-app-studio .rcpl-studio-topbar { padding:12px; gap:8px; }
    .rcpl-app-studio .rcpl-studio-topbar-identity { flex-basis:100%; }
    .rcpl-app-studio .rcpl-studio-topbar-toolbar { width:100%; }
    .rcpl-app-studio .rcpl-studio-topbar-actions > div > .flex { justify-content:flex-start; }
    .rcpl-app-studio .rcpl-studio-chrome .rcpl-studio-session-header-shell:has(.rcpl-studio-session-metadata-grid.hidden) { display:none; }
}

.rcpl-app-studio .rcpl-studio-topbar-heading > .flex.flex-col { flex-direction:row; align-items:center; }

.rcpl-app-studio .rcpl-studio-topbar :is(select,input:not([type="checkbox"]):not([type="radio"])) { min-height:44px; max-width:100%; border-radius:10px; background:var(--studio-surface); color:var(--studio-text); border-color:var(--studio-border); }

/* Weather is a secondary sidebar utility; keep its details beside its trigger. */
.rcpl-app-studio .rcpl-weather-trigger { display:block; min-width:44px; min-height:44px; padding:0; border:0; border-radius:10px; background:transparent; text-align:left; }
.rcpl-app-studio .rcpl-weather-summary { min-height:44px; background:var(--studio-subtle); border-color:var(--studio-border); box-shadow:none; backdrop-filter:none; }
.rcpl-app-studio .rcpl-weather-summary:hover { background:var(--studio-accent-soft); box-shadow:none; }
.rcpl-app-studio .rcpl-weather-location { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rcpl-app-studio .rcpl-weather-panel { background:var(--studio-surface); color:var(--studio-text); border-color:var(--studio-border); }
.rcpl-app-studio .rcpl-weather-panel--desktop { max-height:calc(100dvh - 96px); overflow-y:auto; }
.rcpl-app-studio .rcpl-weather-panel--desktop > div:first-of-type { padding-right:52px; }
.rcpl-app-studio .rcpl-weather-panel--desktop > div:first-of-type > .flex { flex-direction:column; align-items:flex-start; gap:8px; }
.rcpl-app-studio .rcpl-weather-panel--desktop .text-right { display:flex; align-items:center; gap:12px; padding-left:32px; text-align:left; }
.rcpl-app-studio .rcpl-weather-close { position:absolute; top:8px; right:8px; width:44px; height:44px; display:grid; place-items:center; border-radius:8px; color:var(--studio-muted); }
.rcpl-app-studio .rcpl-weather-close:hover { background:var(--studio-subtle); }
@media(prefers-reduced-motion:reduce) {
    .rcpl-app-studio .rcpl-weather-control [style*="animation:"] { animation:none !important; }
}
html:not(.dark) .rcpl-app-studio .rcpl-weather-panel :is(.text-slate-400,.text-slate-500) { color:var(--studio-muted); }
html:not(.dark) .rcpl-app-studio .rcpl-weather-panel .text-green-600 { color:#15803d; }
html:not(.dark) .rcpl-app-studio .rcpl-studio-screen .text-gray-500 { color:var(--studio-muted); }
html:not(.dark) .rcpl-app-studio .rcpl-studio-screen .text-green-600 { color:#15803d; }
html:not(.dark) .rcpl-app-studio .rcpl-studio-screen .text-orange-600 { color:#c2410c; }
.rcpl-app-studio .platform-web { color:#1d4ed8; }
.rcpl-app-studio .platform-mobile { color:#15803d; }
.rcpl-app-studio .platform-desktop { color:#7e22ce; }
.rcpl-app-studio .badge-warning { color:#92400e; }
.dark .rcpl-app-studio .platform-web { color:#93b4ff; }
.dark .rcpl-app-studio .platform-mobile { color:#86efac; }
.dark .rcpl-app-studio .platform-desktop { color:#d8b4fe; }
.dark .rcpl-app-studio .badge-warning { color:#fde68a; }
@media(min-width:1280px) {
    .rcpl-app-studio .rcpl-studio-nav-utilities { margin-top:auto; padding-top:16px; width:100%; border-top:1px solid var(--studio-border); }
    .rcpl-app-studio .rcpl-studio-nav-utilities:has(.weather-display:empty):not(:has(.rcpl-nav-garage)) { display:none; }
    .rcpl-app-studio .rcpl-studio-nav-utilities :is(.weather-display,.rcpl-weather-control,.rcpl-weather-trigger) { width:100%; }
    .rcpl-app-studio .rcpl-weather-details { min-width:0; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-weather-summary { flex-direction:column; justify-content:center; gap:4px; padding:8px 2px; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-weather-summary > div { margin-left:0; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-weather-details { display:none; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-weather-compact { display:block; }
    .rcpl-app-studio .rcpl-studio-nav .rcpl-weather-panel--desktop { left:calc(var(--studio-nav-width) + 12px); right:auto; top:auto; bottom:80px; max-height:calc(100dvh - 104px); }
    /* Garage picker under the weather: full width, menu opens beside the sidebar, icon only when collapsed. */
    .rcpl-app-studio .rcpl-studio-nav .rcpl-studio-nav-utilities { flex-direction:column; align-items:stretch; gap:8px; }
    .rcpl-app-studio .rcpl-studio-nav .rcpl-studio-nav-utilities > :not([hidden]) ~ :not([hidden]) { margin-left:0; }
    .rcpl-app-studio .rcpl-studio-nav .rcpl-nav-garage .garage-trigger { width:100%; }
    .rcpl-app-studio .rcpl-studio-nav .rcpl-nav-garage .garage-name { flex:1; min-width:0; max-width:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
    .rcpl-app-studio .rcpl-studio-nav .rcpl-nav-garage .garage-menu { position:fixed; left:calc(var(--studio-nav-width) + 12px); right:auto; top:auto; bottom:80px; max-height:calc(100dvh - 104px); overflow-y:auto; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-nav-garage .garage-trigger { justify-content:center; padding-inline:0; }
    .rcpl-app-studio .rcpl-studio-nav--collapsed .rcpl-nav-garage .garage-trigger > :not(svg) { display:none; }
}
/* Phone and tablet portrait: the garage picker sits at the top of the mobile menu, full width. */
.rcpl-app-studio .rcpl-mobile-garage .garage-trigger { width:100%; }
.rcpl-app-studio .rcpl-mobile-garage .garage-name { flex:1; min-width:0; max-width:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
