.theme-switcher{appearance:none;background:#fff;border:1px solid #decceb;border-radius:8px;color:#6a1b9a;font-size:12px;padding:7px 28px 7px 11px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 8px) 12px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.theme-warm{--raprap-blue:#ed6a31;--raprap-navy:#38231c;--raprap-background:#f7f3ef;--raprap-border:#eadbd2;--blue:#ed6a31;background:linear-gradient(120deg,#faf9f7 0%,#faf8f6 52%,#fff0e8 100%)}.theme-warm aside{background:#292725}.theme-warm nav a:hover,.theme-warm nav summary:hover{background:#41403d}.theme-warm nav .active{background:linear-gradient(90deg,#dc5628,#ee8a51);box-shadow:0 6px 16px #b9451f33}.theme-warm .primary{background:linear-gradient(135deg,#dd5729,#f08c50);border-color:#df622e;box-shadow:0 6px 14px #dc5b2926}.theme-warm .primary:hover{background:linear-gradient(135deg,#bf421b,#de723b)}.theme-warm .q-icon,.theme-warm .stat-icon{background:#fff0e7!important;color:#e55e2a!important}.theme-warm .theme-switcher,.theme-warm .workspace-tag{border-color:#ecc6b5;color:#c65327}.theme-warm .text-link,.theme-warm .row-button{color:#cf5427}.theme-warm .activity-icon{background:#fff0e7;color:#d75a2c}.theme-warm .legend-dot,.theme-warm .bar{background:#df622e}.theme-warm .bar.light{background:#f4b18c}.theme-warm th{background:#fdf9f7;color:#886f65}.theme-warm input:focus,.theme-warm select:focus{border-color:#e17444;outline-color:#e1744433}
.theme-sky{--raprap-blue:#39aee2;--raprap-navy:#f7fdff;--raprap-background:#2297d1;--raprap-border:#ffffff42;--blue:#39aee2;color:#effaff;background:radial-gradient(circle at 84% 84%,#9bd8ee55 0 12%,transparent 30%),radial-gradient(circle at 8% 6%,#ffffff4a 0 1%,transparent 18%),linear-gradient(135deg,#258fca,#43b7e9 55%,#197eb9)}.theme-sky aside{background:#0c78b5cc;backdrop-filter:blur(18px);border-right:1px solid #ffffff35}.theme-sky nav a,.theme-sky nav summary{color:#f5fdff}.theme-sky nav a:hover,.theme-sky nav summary:hover{background:#ffffff20}.theme-sky nav .active{background:#ffffff2e;color:#fff;box-shadow:0 8px 20px #07517c3b}.theme-sky nav .submenu{border-left-color:#ffffff4d}.theme-sky header{background:#ffffff2b;border-bottom-color:#ffffff3d;backdrop-filter:blur(16px);color:#fff}.theme-sky .breadcrumb>span,.theme-sky .workspace-tag{color:#effaff}.theme-sky .workspace-tag,.theme-sky .theme-switcher{background:#ffffff24;color:#fff;border-color:#ffffff55}.theme-sky .panel,.theme-sky .stat,.theme-sky .quick{background:#ffffff25;border-color:#ffffff43;box-shadow:0 12px 28px #07517c24;backdrop-filter:blur(15px)}.theme-sky h1,.theme-sky .panel h2,.theme-sky .p-dialog-heading h2,.theme-sky td strong{color:#fff}.theme-sky p,.theme-sky td,.theme-sky th,.theme-sky .table-foot{color:#e9faff}.theme-sky th{background:#ffffff12}.theme-sky td{border-top-color:#ffffff24}.theme-sky input,.theme-sky select{background:#ffffff24;border-color:#ffffff50;color:#fff}.theme-sky input::placeholder{color:#e5f8ff}.theme-sky .primary{background:#ffffffd9;color:#177eaf;border-color:#fff;box-shadow:0 8px 18px #07517c2b}.theme-sky .primary:hover{background:#fff}.theme-sky .q-icon,.theme-sky .stat-icon,.theme-sky .activity-icon{background:#ffffff29!important;color:#fff!important}.theme-sky .notice{background:#ffffff20;border-color:#ffffff45;color:#fff}.theme-sky .text-link,.theme-sky .row-button{color:#fff}.theme-sky .legend-dot,.theme-sky .bar{background:#d6f5ff}.theme-sky .bar.light{background:#ffffff73}.theme-sky .sidebar-collapse{background:#ffffffd9;color:#258fca;border-color:#fff}

/* Ember dark preview — inspired by the supplied mobile dashboard reference */
.theme-ember {
  --raprap-blue: #f27428;
  --raprap-navy: #fff4ed;
  --raprap-background: #101010;
  --raprap-border: #303030;
  --blue: #f27428;
  color: #f5f0ec;
  background: radial-gradient(circle at 80% 0, #8a351650, transparent 30%), #101010;
}
.theme-ember aside { background: #151515; border-right: 1px solid #303030; }
.theme-ember nav a, .theme-ember nav summary { color: #f2ece8; }
.theme-ember nav a:hover, .theme-ember nav summary:hover { background: #29211d; }
.theme-ember nav .active { background: linear-gradient(90deg, #8f3517, #e46625); color: #fff; box-shadow: 0 8px 20px #f2742833; }
.theme-ember nav .submenu { border-left-color: #54352a; }
.theme-ember header { background: #171717; border-bottom-color: #303030; color: #fff; }
.theme-ember .breadcrumb > span, .theme-ember .workspace-tag { color: #cdc4be; }
.theme-ember .workspace-tag, .theme-ember .theme-switcher { background: #222; border-color: #4a3a34; color: #f2d0bd; }
.theme-ember .panel, .theme-ember .stat, .theme-ember .quick { background: #191919; border-color: #303030; box-shadow: 0 10px 26px #00000044; }
.theme-ember h1, .theme-ember .panel h2, .theme-ember .p-dialog-heading h2, .theme-ember td strong { color: #fff5ee; }
.theme-ember p, .theme-ember td, .theme-ember th, .theme-ember .table-foot { color: #d6cbc5; }
.theme-ember th { background: #1f1f1f; color: #c9aaa0; }
.theme-ember td { border-top-color: #2c2c2c; }
.theme-ember input, .theme-ember select { background: #202020; border-color: #3b3633; color: #fff; }
.theme-ember input::placeholder { color: #a99e97; }
.theme-ember .primary { background: linear-gradient(135deg, #c94d1d, #f18a38); border-color: #ef7730; color: #fff; box-shadow: 0 8px 18px #ee6f2a2b; }
.theme-ember .primary:hover { background: linear-gradient(135deg, #ae3d15, #d96322); }
.theme-ember .q-icon, .theme-ember .stat-icon, .theme-ember .activity-icon { background: #3a2419 !important; color: #f58a45 !important; }
.theme-ember .notice { background: #2a1d17; border-color: #5f3724; color: #f2c8ae; }
.theme-ember .text-link, .theme-ember .row-button { color: #f68a44; }
.theme-ember .legend-dot, .theme-ember .bar { background: #ed6e2c; }
.theme-ember .bar.light { background: #8e5437; }
.theme-ember .sidebar-collapse { background: #26211f; color: #f58a45; border-color: #4a382f; }

/* Sky Glass readability: dark ink on light glass surfaces. */
.theme-sky main, .theme-sky .panel, .theme-sky .stat, .theme-sky .quick { color: #073b5b; }
.theme-sky h1, .theme-sky .panel h2, .theme-sky .p-dialog-heading h2, .theme-sky td strong { color: #063752; }
.theme-sky p, .theme-sky td, .theme-sky th, .theme-sky .table-foot { color: #164c6b; }
.theme-sky th { color: #225d7e; }
.theme-sky input, .theme-sky select { background: #ffffffa8; border-color: #ffffffbd; color: #073b5b; }
.theme-sky input::placeholder { color: #47738b; }
.theme-sky .panel .text-link, .theme-sky .panel .row-button { color: #0b6f9e; }
.theme-sky .panel .notice { color: #073b5b; }
.theme-sky .stat .stat-label, .theme-sky .quick p { color: #245b78; }
.theme-sky .stat-top, .theme-sky .stat small, .theme-sky .quick small,
.theme-sky .panel-head p, .theme-sky .activity small, .theme-sky .chart-legend,
.theme-sky .axis, .theme-sky .bar-pair span, .theme-sky .chart-total { color: #1d5878; }
.theme-sky .change { color: #08745f; }
.theme-sky .activity strong, .theme-sky .activity .amount, .theme-sky .chart-total strong { color: #063b5b; }
.theme-sky .activity a { border-bottom-color: #ffffff82; }
.theme-sky .plot { background: repeating-linear-gradient(to top, transparent 0, transparent 47px, #ffffff9e 48px, #ffffff9e 49px); border-bottom-color: #ffffffb8; }
.theme-sky .q-icon, .theme-sky .stat-icon, .theme-sky .activity-icon { background: #ffffff38 !important; color: #064364 !important; }

/* Shared Sky Glass ink palette, applied to every workspace. */
.theme-sky main { color: #073b5b; }
.theme-sky main :is(p, small, label, dt, dd, li, .muted, .hint, .subtitle, .table-foot, .empty) { color: #1d5878; }
.theme-sky main :is(h1, h2, h3, h4, strong, .page-title, .section-title, .amount, .metric-value) { color: #063752; }
.theme-sky main :is(.toolbar, .filters, .filter-bar, .table-foot, .dialog-footer, .p-actions) { border-color: #ffffff80; }
.theme-sky main :is(.notice, .empty, .modal, .dialog, .p-dialog, .p-dialog-content) { background-color: #ffffff2b; border-color: #ffffff78; color: #073b5b; }
.theme-sky main :is(.badge, .q-status, .status-pill) { background-color: #ffffffa6; color: #075070; border-color: #ffffffc2; }
.theme-sky main :is(.badge.pending, .badge.draft, .badge.overdue) { color: #694816; }
.theme-sky main :is(.secondary, .button, .q-mini, .row-button) { background-color: #ffffff91; border-color: #ffffffc4; color: #075070; }
.theme-sky main :is(.secondary:hover, .button:hover, .q-mini:hover, .row-button:hover) { background-color: #fff; color: #063752; }
.theme-sky main input:focus, .theme-sky main select:focus, .theme-sky main textarea:focus { border-color: #0b759f; outline-color: #0b759f44; }
.theme-sky main textarea { background: #ffffffa8; border-color: #ffffffbd; color: #073b5b; }

/* Ember Dark readability: warm, high-contrast ink on charcoal surfaces. */
.theme-ember main { color: #eadfd8; }
.theme-ember main :is(h1, h2, h3, h4, strong, .page-title, .section-title, .amount, .metric-value) { color: #fff6ef; }
.theme-ember main :is(p, small, label, dt, dd, li, .muted, .hint, .subtitle, .table-foot, .empty) { color: #cdbdb3; }
.theme-ember main :is(.stat-top, .stat small, .quick small, .panel-head p, .activity small, .chart-legend, .axis, .bar-pair span, .chart-total) { color: #d1b8a8; }
.theme-ember main :is(th, td, td:first-child, .table-foot) { color: #e6d6cc; }
.theme-ember main th { background: #222; color: #dfbca7; }
.theme-ember main td { border-top-color: #35302d; }
.theme-ember main :is(.text-link, .row-button, .q-link) { color: #ff9a55; }
.theme-ember main :is(.change, .activity small, .stat em) { color: #6ed7b1; }
.theme-ember main :is(.toolbar, .filters, .filter-bar, .table-foot, .dialog-footer, .p-actions) { border-color: #403631; }
.theme-ember main :is(.notice, .empty, .modal, .dialog, .p-dialog, .p-dialog-content) { background-color: #211b18; border-color: #4b3930; color: #eadfd8; }
.theme-ember main :is(.secondary, .button, .q-mini, .row-button) { background-color: #292422; border-color: #594339; color: #ffe3d0; }
.theme-ember main :is(.secondary:hover, .button:hover, .q-mini:hover, .row-button:hover) { background-color: #3a2a23; color: #fff5ed; }
.theme-ember main :is(input, select, textarea) { background: #252321; border-color: #4a403b; color: #fff5ed; }
.theme-ember main :is(input, select, textarea)::placeholder { color: #b8a69a; }
.theme-ember main input:focus, .theme-ember main select:focus, .theme-ember main textarea:focus { border-color: #f58a45; outline-color: #f58a4544; }
.theme-ember header { color: #fff5ed; }
.theme-ember .breadcrumb > span, .theme-ember .breadcrumb strong, .theme-ember .sidebar-bottom strong { color: #fff0e7; }
.theme-ember .sidebar-bottom small, .theme-ember .company small, .theme-ember .nav-label { color: #c7b5aa; }
.theme-ember .company { background: #201d1b; border-color: #3d3531; }
.theme-ember .company strong { color: #fff2e9; }
.theme-ember .company-icon, .theme-ember .avatar { background: #4a271b; color: #ffc29b; }
.theme-ember .p-dialog, .theme-ember .p-dialog :is(p, small, label, dt, dd, li) { color: #eadfd8; }
.theme-ember .p-dialog :is(h1, h2, h3, h4, strong) { color: #fff6ef; }

/* Keep the active theme behind every workspace, including short pages. */
html, body { min-height: 100%; }
body { min-height: 100vh; }
.app { min-height: 100vh; }
.theme-warm, .theme-warm .app { background: linear-gradient(120deg, #faf9f7 0%, #faf8f6 52%, #fff0e8 100%); }
.theme-sky, .theme-sky .app { background: radial-gradient(circle at 84% 84%, #9bd8ee55 0 12%, transparent 30%), radial-gradient(circle at 8% 6%, #ffffff4a 0 1%, transparent 18%), linear-gradient(135deg, #258fca, #43b7e9 55%, #197eb9); }
.theme-ember, .theme-ember .app { background: radial-gradient(circle at 80% 0, #8a351650, transparent 30%), #101010; }

/* Ember Dark dialogs: match every popup to the charcoal workspace palette. */
.theme-ember dialog { background: #191919; border-color: #3b332f; color: #eadfd8; }
.theme-ember dialog :is(h1, h2, h3, h4, strong, th) { color: #fff5ed; }
.theme-ember dialog :is(p, label, small, dt, dd, li, td) { color: #d8c8bd; }
.theme-ember dialog input, .theme-ember dialog select, .theme-ember dialog textarea { background: #252321; border-color: #4a403b; color: #fff5ed; }
.theme-ember dialog input::placeholder, .theme-ember dialog textarea::placeholder { color: #b8a69a; }
.theme-ember dialog .table-wrap, .theme-ember dialog table { border-color: #3b332f; }
.theme-ember dialog th { background: #222; }
.theme-ember dialog td { border-top-color: #35302d; }
.theme-ember dialog .secondary, .theme-ember dialog button:not(.primary) { background: #292422; border-color: #594339; color: #ffe3d0; }
.theme-ember dialog .primary { background: linear-gradient(135deg, #c94d1d, #f18a38); border-color: #ef7730; color: #fff; }
.theme-ember dialog .p-note-text { background: #252321; border: 1px solid #403630; color: #eadfd8; }

/* Native theme-picker options keep a readable palette in Sky Glass. */
.theme-sky .theme-switcher { background-color: #177eb8; color: #fff; border-color: #b9ecff; }
.theme-sky .theme-switcher option { background: #126f9f; color: #fff; }
.theme-sky .theme-switcher option:checked { background: #0c557d; color: #fff; }

.theme-control{display:inline-flex;align-items:center;gap:6px}.theme-visibility-toggle{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #decceb;border-radius:8px;background:#fff;color:#6a1b9a;font-size:16px;line-height:1}.theme-control.is-hidden .theme-switcher{display:none}.theme-warm .theme-visibility-toggle{border-color:#ecc6b5;color:#c65327}.theme-sky .theme-visibility-toggle{background:#177eb8;border-color:#b9ecff;color:#fff}.theme-ember .theme-visibility-toggle{background:#26211f;border-color:#4a382f;color:#f58a45}
