/* RatLab.pro shared retro-futurist operating system */
:root{
  --rl-bg:#08090b;
  --rl-surface:#101216;
  --rl-surface-raised:#151820;
  --rl-surface-soft:#0c0e12;
  --rl-line:rgba(126,232,255,.16);
  --rl-line-strong:rgba(126,232,255,.34);
  --rl-cyan:#7ee8ff;
  --rl-red:#f01f39;
  --rl-red-bright:#ff4056;
  --rl-green:#4cdb98;
  --rl-amber:#f0b84c;
  --rl-text:#f5f7fa;
  --rl-muted:#a6adb9;
  --rl-subtle:#6f7785;
  --rl-radius:8px;
  --rl-ease:cubic-bezier(.16,1,.3,1);
}
html{background:var(--rl-bg)}
body{
  background:
    radial-gradient(circle at 88% -10%,rgba(240,31,57,.11),transparent 28rem),
    linear-gradient(180deg,#090a0d 0%,#07080a 100%);
  color:var(--rl-text);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:0;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(rgba(126,232,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(126,232,255,.022) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 72%);
}
button,input,select,textarea{font:inherit;letter-spacing:0}
button,a,input,select,textarea{outline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rl-cyan)}
::selection{background:rgba(126,232,255,.26);color:#fff}

/* Shared chrome */
.admin-shell,.pro-app{background:transparent}
.admin-sidebar,.pro-sidebar{
  background:linear-gradient(180deg,rgba(15,17,22,.98),rgba(8,10,13,.99));
  border-color:var(--rl-line);
  box-shadow:18px 0 55px rgba(0,0,0,.26);
}
.admin-brand,.pro-brand{position:relative}
.admin-brand::after,.pro-brand::after{
  content:"";
  position:absolute;
  right:8px;
  bottom:12px;
  left:8px;
  height:1px;
  background:linear-gradient(90deg,var(--rl-red),var(--rl-cyan),transparent);
  opacity:.7;
}
.admin-brand img,.pro-brand img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
.admin-nav-label{
  color:#737c8a;
  font-family:Consolas,"Courier New",monospace;
  font-size:9px;
  letter-spacing:.08em;
}
.admin-nav button,.pro-sidebar nav button{
  position:relative;
  overflow:hidden;
  border-radius:6px;
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s var(--rl-ease);
}
.admin-nav button::before,.pro-sidebar nav button::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:2px;
  height:0;
  background:var(--rl-red);
  transform:translateY(-50%);
  transition:height .22s var(--rl-ease);
}
.admin-nav button:hover,.pro-sidebar nav button:hover{transform:translateX(2px)}
.admin-nav button:hover,.admin-nav button.active,.pro-sidebar nav button:hover,.pro-sidebar nav button.active{
  border-color:rgba(240,31,57,.38);
  background:linear-gradient(90deg,rgba(240,31,57,.17),rgba(126,232,255,.035));
  color:#fff;
}
.admin-nav button.active::before,.pro-sidebar nav button.active::before{height:58%}
.admin-portal-switch,.pro-portal-switch{
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  border-radius:0!important;
  background:linear-gradient(110deg,rgba(240,31,57,.16),rgba(126,232,255,.04))!important;
}
.admin-portal-switch:hover,.pro-portal-switch:hover{transform:translateY(-1px)}

.admin-topbar,.pro-header{
  border-color:var(--rl-line);
  background:rgba(8,9,12,.82);
  backdrop-filter:blur(18px);
}
.admin-topbar{position:sticky;top:0;z-index:12}
.admin-topbar::after,.pro-header::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-1px;
  width:84px;
  height:1px;
  background:var(--rl-red);
}
.pro-header{position:relative}
.admin-search,.pro-toolbar label{
  border-color:var(--rl-line);
  border-radius:6px;
  background:rgba(15,18,23,.88);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.admin-search:focus,.pro-toolbar label:focus-within{
  border-color:var(--rl-cyan);
  box-shadow:0 0 0 3px rgba(126,232,255,.08);
  background:#11151b;
}
.admin-status.status-active{
  border:1px solid rgba(76,219,152,.28);
  border-radius:4px;
  background:rgba(76,219,152,.09);
  color:var(--rl-green);
  font-family:Consolas,"Courier New",monospace;
  text-transform:uppercase;
}

/* Typography and page rhythm */
.admin-content,.pro-main{min-width:0}
.admin-content{padding:34px clamp(22px,3vw,48px) 64px}
.pro-main{padding-right:clamp(22px,3vw,48px);padding-left:clamp(22px,3vw,48px)}
.admin-breadcrumb,.pro-kicker{
  color:var(--rl-red-bright);
  font-family:Consolas,"Courier New",monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.admin-page-head{position:relative;align-items:flex-start;margin:4px 0 30px;padding-bottom:19px;border-bottom:1px solid var(--rl-line)}
.admin-page-head::after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:72px;
  height:1px;
  background:var(--rl-red);
}
.admin-page-head h1,.pro-header h1,.pro-hero h2{
  color:#fff;
  letter-spacing:0;
  text-wrap:balance;
}
.admin-page-head h1{margin-top:6px;font-size:clamp(30px,3vw,44px);line-height:1}
.admin-page-head p,.pro-hero p{max-width:66ch;color:var(--rl-muted);line-height:1.6}
.pro-header h1{font-size:26px}

/* Panels, metrics and lists */
.admin-metric,.admin-panel,.pro-panel,.pro-stat,.pro-invite-box,.pro-code-box,.pro-plan-editor,.pro-athlete-head{
  border-color:var(--rl-line);
  border-radius:var(--rl-radius);
  background:linear-gradient(145deg,rgba(19,22,28,.98),rgba(11,13,17,.98));
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.admin-panel,.pro-panel{position:relative;overflow:hidden}
.admin-panel::before,.pro-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:58px;
  height:1px;
  background:var(--rl-cyan);
  opacity:.64;
}
.admin-metric{
  position:relative;
  min-height:132px;
  overflow:hidden;
  padding:18px;
}
.admin-metric::after,.pro-stat::after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-34px;
  width:76px;
  height:76px;
  border:1px solid rgba(126,232,255,.11);
  transform:rotate(45deg);
}
.admin-metric-label,.pro-stat span{
  color:var(--rl-muted);
  font-family:Consolas,"Courier New",monospace;
  letter-spacing:.04em;
}
.admin-metric strong,.pro-stat strong{color:#fff;font-variant-numeric:tabular-nums}
.admin-metric small{color:var(--rl-green)}
.admin-panel-head{padding-bottom:13px;border-bottom:1px solid rgba(126,232,255,.1)}
.admin-alert,.admin-list-row,.pro-client-row,.pro-plan-list article{
  border-color:rgba(126,232,255,.1);
  background:rgba(255,255,255,.018);
  transition:background .18s ease,border-color .18s ease,transform .18s var(--rl-ease);
}
.admin-alert:hover,.admin-list-row:hover,.pro-client-row:hover,.pro-plan-list article:hover{
  border-color:rgba(126,232,255,.28);
  background:rgba(126,232,255,.035);
  transform:translateX(2px);
}
.admin-empty,.pro-empty{
  border-color:rgba(126,232,255,.14);
  background:rgba(7,9,12,.55);
  color:var(--rl-muted);
}

/* Controls */
.admin-primary,.admin-secondary,.pro-primary,.pro-secondary,.pro-danger,.pro-section-head>button,.pro-plan-list article>button,.pro-plan-list article>a{
  min-height:40px;
  border-radius:5px;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.admin-primary,.pro-primary{
  border-color:var(--rl-red);
  background:var(--rl-red);
  box-shadow:0 10px 26px rgba(240,31,57,.16);
}
.admin-primary:hover,.pro-primary:hover{background:var(--rl-red-bright);transform:translateY(-1px);box-shadow:0 14px 32px rgba(240,31,57,.24)}
.admin-primary:active,.pro-primary:active,.admin-secondary:active,.pro-secondary:active{transform:scale(.985)}
.admin-secondary,.pro-secondary,.pro-section-head>button,.pro-plan-list article>button,.pro-plan-list article>a{
  border-color:var(--rl-line);
  background:#12151a;
  color:#e7eaf0;
}
.admin-secondary:hover,.pro-secondary:hover,.pro-section-head>button:hover,.pro-plan-list article>button:hover,.pro-plan-list article>a:hover{border-color:var(--rl-cyan);background:#171b22}
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-library-filters input,.admin-library-filters select,.admin-role-control select,.pro-plan-editor input,.pro-plan-editor textarea,.pro-plan-editor select,.pro-panel form input,.pro-panel form textarea,.pro-panel form select{
  border-color:var(--rl-line);
  border-radius:5px;
  background:#090b0e;
  color:#fff;
}
.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus,.admin-library-filters input:focus,.admin-library-filters select:focus,.pro-plan-editor input:focus,.pro-plan-editor textarea:focus,.pro-plan-editor select:focus,.pro-panel form input:focus,.pro-panel form textarea:focus,.pro-panel form select:focus{
  border-color:var(--rl-cyan);
  box-shadow:0 0 0 3px rgba(126,232,255,.07);
}

/* Admin libraries */
.admin-library-filters{
  border-color:var(--rl-line);
  border-radius:6px;
  background:#0a0c10;
}
.admin-library-card{
  border-color:var(--rl-line);
  border-radius:6px;
  background:linear-gradient(90deg,#101318,#0c0e12);
}
.admin-library-card:hover{border-color:var(--rl-line-strong)}
.admin-library-media{border-color:var(--rl-line);border-radius:4px;background:#07090c}
.admin-library-meta span,.admin-library-status{border-color:var(--rl-line);border-radius:4px;font-family:Consolas,"Courier New",monospace}
.admin-table th{color:#88919f;font-family:Consolas,"Courier New",monospace;letter-spacing:.05em}
.admin-table td{border-color:rgba(126,232,255,.09)}
.admin-table tbody tr:hover{background:rgba(126,232,255,.025)}

/* Professional portal */
.pro-hero{
  position:relative;
  overflow:hidden;
  min-height:200px;
  border-color:rgba(240,31,57,.46);
  border-radius:8px;
  background:linear-gradient(105deg,rgba(48,14,23,.98),rgba(14,17,22,.98) 62%);
}
.pro-hero::after{
  content:"RATLAB // COACH";
  position:absolute;
  right:-18px;
  bottom:-20px;
  color:rgba(126,232,255,.045);
  font:900 64px/1 Consolas,"Segoe UI",sans-serif;
  pointer-events:none;
}
.pro-hero>*{position:relative;z-index:1}
.pro-stat{position:relative;overflow:hidden}
.pro-avatar{
  border-color:rgba(126,232,255,.4);
  background:#111820;
  box-shadow:inset 0 0 0 3px rgba(240,31,57,.08);
}
.pro-pill,.pro-plan-badge{border-color:var(--rl-line);border-radius:4px;background:rgba(126,232,255,.035);color:#cbd2dc}
.pro-client-status b{color:var(--rl-green)}
.pro-tabs{border-color:var(--rl-line)}
.pro-tabs button{position:relative}
.pro-tabs button.active{border-color:var(--rl-red);color:#fff}
.pro-code-box strong{color:var(--rl-cyan);text-shadow:0 0 22px rgba(126,232,255,.2)}
.pro-progress span{background:linear-gradient(90deg,var(--rl-red),var(--rl-cyan))}
.pro-loading span{border-top-color:var(--rl-cyan)}

/* Purposeful entrance motion */
@keyframes rl-interface-in{from{opacity:0;transform:translateY(10px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.admin-content>.admin-page-head,.admin-content>.admin-grid,.admin-content>.admin-panel,.admin-content>.admin-library-editor,.admin-content>.admin-library-list,
.pro-page>.pro-hero,.pro-page>.pro-stat-grid,.pro-page>.pro-layout,.pro-page>.pro-toolbar,.pro-page>.pro-panel,.pro-page>.pro-athlete-head,.pro-page>.pro-tabs,.pro-page>.pro-record-grid{
  animation:rl-interface-in .55s var(--rl-ease) both;
}
.admin-content>.admin-grid,.pro-page>.pro-stat-grid{animation-delay:.06s}
.admin-content>.admin-panel,.admin-content>.admin-library-list,.pro-page>.pro-layout,.pro-page>.pro-panel,.pro-page>.pro-record-grid{animation-delay:.1s}

@media(max-width:1180px){
  .admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-content{padding:24px 16px 88px}
  .admin-page-head{display:block}
  .admin-page-head h1{font-size:32px}
  .admin-actions{margin-top:16px}
  .admin-metric-grid{grid-template-columns:1fr}
  .admin-metric{min-height:105px}
  .pro-main{padding-right:14px;padding-left:14px}
  .pro-header::after{width:52px}
  .pro-hero::after{font-size:40px}
}
@media(prefers-reduced-motion:reduce){
  .admin-content>*,.pro-page>*{animation:none!important}
  *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Compact admin navigation and responsive operating surfaces */
.admin-nav button{min-height:40px;align-items:center}
.admin-nav button::after{content:"";display:block;flex:0 0 6px;width:6px;height:6px;margin-left:auto;align-self:center;border:1px solid rgba(126,232,255,.38);transform:rotate(45deg)}
.admin-nav button.active::after{border-color:var(--rl-red);background:var(--rl-red);box-shadow:0 0 12px rgba(240,31,57,.32)}
.pro-sidebar nav button i{border-radius:4px;border:1px solid rgba(126,232,255,.1);background:#0b0e12;color:var(--rl-cyan)}
.pro-sidebar nav button.active i{border-color:rgba(240,31,57,.48);background:linear-gradient(145deg,rgba(240,31,57,.22),rgba(240,31,57,.07));color:var(--rl-red);box-shadow:0 0 16px rgba(240,31,57,.14)}
.pro-sidebar nav button i svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease,stroke-width .18s ease}
.pro-sidebar nav button:hover i svg{transform:translateY(-1px)}
.pro-sidebar nav button.active i svg{stroke-width:2}
@media(max-width:760px){
  .admin-shell{display:block}
  .admin-sidebar{position:sticky;top:0;z-index:30;width:100%;height:auto;padding:10px 14px;border-right:0;border-bottom:1px solid var(--rl-line)}
  .admin-brand{width:112px;padding:0 0 8px}
  .admin-brand::after{bottom:0;right:0;left:0}
  .admin-nav{display:flex;gap:5px;overflow-x:auto;padding:6px 0 3px;scrollbar-width:none}
  .admin-nav::-webkit-scrollbar{display:none}
  .admin-nav-group{display:flex;gap:5px;margin:0}
  .admin-nav-label{display:none}
  .admin-nav button{flex:0 0 auto;width:auto;min-height:38px;padding:0 12px;white-space:nowrap}
  .admin-nav button::before,.admin-nav button::after{display:none}
  .admin-sidebar-foot{display:none}
  .admin-topbar{min-height:64px;padding:10px 14px}
  .admin-status{display:none!important}
  .admin-search{min-width:0}
  .admin-table th,.admin-table td{padding:10px 8px}
  .admin-library-card{padding:12px}
}
/* Shared polished light mode for the operating portals. */
:root[data-theme="light"] {
  color-scheme: light;
  --rl-bg: #dce4e9;
  --rl-surface: #edf2f5;
  --rl-surface-raised: #f3f6f8;
  --rl-surface-soft: #e1e9ee;
  --rl-line: rgba(26, 97, 118, .23);
  --rl-line-strong: rgba(8, 127, 154, .48);
  --rl-cyan: #087f9a;
  --rl-red: #c81d31;
  --rl-red-bright: #a91428;
  --rl-green: #167447;
  --rl-amber: #956100;
  --rl-text: #13232d;
  --rl-muted: #536773;
  --rl-subtle: #6d7f8a;
  --bg: #dce4e9;
  --panel: #edf2f5;
  --panel2: #e1e9ee;
  --line: rgba(26, 97, 118, .23);
  --muted: #536773;
  --text: #13232d;
  --red: #c81d31;
  --redsoft: #f0d9de;
  --green: #167447;
  --yellow: #956100;
  --blue: #087f9a;
  --shadow: 0 18px 42px rgba(20, 39, 50, .13);
}
html[data-theme="light"], html[data-theme="light"] body { background: #cfd9df; }
html[data-theme="light"] body {
  color: var(--rl-text);
  background: radial-gradient(circle at 88% -12%, rgba(200, 29, 49, .10), transparent 27rem), linear-gradient(180deg, #e5ebee 0%, #d3dde3 100%);
}
html[data-theme="light"] body::before { opacity: .22; }
/* Dark rails retain the RatLab operational signature in light mode. */
html[data-theme="light"] :is(.admin-sidebar, .pro-sidebar) { background: linear-gradient(180deg, #192129, #111820); border-color: rgba(8, 127, 154, .35); color: #edf3f6; box-shadow: 18px 0 46px rgba(20, 39, 50, .16); }
html[data-theme="light"] :is(.admin-sidebar, .pro-sidebar) :is(a, button, span, strong) { color: inherit; }
html[data-theme="light"] :is(.admin-sidebar, .pro-sidebar) .admin-nav-label { color: #9eb1bc; }
html[data-theme="light"] :is(.admin-sidebar, .pro-sidebar) :is(.admin-nav button, nav button) { color: #c2cdd4; }
html[data-theme="light"] :is(.admin-sidebar, .pro-sidebar) :is(.admin-nav button:hover, .admin-nav button.active, nav button:hover, nav button.active) { color: #fff; background: linear-gradient(90deg, rgba(200, 29, 49, .24), rgba(8, 127, 154, .10)); border-color: rgba(200, 29, 49, .62); }
html[data-theme="light"] :is(.admin-topbar, .pro-header) { background: rgba(237, 242, 245, .92); border-color: var(--rl-line); color: var(--rl-text); backdrop-filter: blur(18px); }
html[data-theme="light"] :is(.admin-topbar, .pro-header) :is(h1, strong, span) { color: inherit; }
html[data-theme="light"] :is(.admin-search, .pro-toolbar label) { background: #f4f7f9; border-color: var(--rl-line); color: var(--rl-text); }
html[data-theme="light"] :is(.admin-search, .pro-toolbar label) input { color: var(--rl-text); }
html[data-theme="light"] :is(.admin-metric, .admin-panel, .pro-panel, .pro-stat, .pro-invite-box, .pro-code-box, .pro-plan-editor, .pro-athlete-head, .portal-login-card, .portal-loading-card) { background: linear-gradient(145deg, #f2f6f8, #e6edf1); border-color: var(--rl-line); color: var(--rl-text); box-shadow: 0 16px 34px rgba(20, 39, 50, .10); }
html[data-theme="light"] :is(.admin-metric, .admin-panel, .pro-panel, .pro-stat, .pro-invite-box, .pro-code-box, .pro-plan-editor, .pro-athlete-head, .portal-login-card, .portal-loading-card) :is(h1, h2, h3, strong, b) { color: #13232d; }
html[data-theme="light"] :is(.admin-page-head p, .pro-hero p, .admin-empty, .pro-empty, .pro-muted, .admin-alert small, .admin-list-row small, .pro-client-copy small, .pro-plan-list small) { color: #536773; }
html[data-theme="light"] :is(.admin-alert, .admin-list-row, .pro-client-row, .pro-plan-list article, .admin-library-card) { background: #e7edf1; border-color: rgba(26, 97, 118, .16); color: var(--rl-text); }
html[data-theme="light"] :is(.admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea, .admin-library-filters input, .admin-library-filters select, .admin-role-control select, .pro-plan-editor input, .pro-plan-editor textarea, .pro-plan-editor select, .pro-panel form input, .pro-panel form textarea, .pro-panel form select, .pro-toolbar input) { background: #f6f8f9; border-color: rgba(26, 97, 118, .28); color: #13232d; }
html[data-theme="light"] :is(.admin-secondary, .pro-secondary, .pro-section-head>button, .pro-plan-list article>button, .pro-plan-list article>a, .pro-icon) { background: #dce6eb; color: #172832; border-color: rgba(26, 97, 118, .32); }
html[data-theme="light"] :is(.admin-secondary:hover, .pro-secondary:hover, .pro-section-head>button:hover, .pro-plan-list article>button:hover, .pro-plan-list article>a:hover, .pro-icon:hover) { background: #d1dde4; border-color: var(--rl-cyan); }
html[data-theme="light"] .pro-user-dot { background: #192129; color: #fff; border-color: var(--rl-red); }
html[data-theme="light"] .pro-hero { background: linear-gradient(105deg, #24303a, #17212a 68%); border-color: rgba(200, 29, 49, .62); color: #f5f8f9; }
html[data-theme="light"] .pro-hero :is(h2, p, .pro-kicker) { color: inherit; }
html[data-theme="light"] :is(.pro-calendar-day, .pro-calendar-modes, .pro-calendar-event, .pro-dialog, .pro-dialog footer, .pro-code-control) { background: #e8eef2; border-color: var(--rl-line); color: var(--rl-text); }
html[data-theme="light"] :is(.pro-calendar-date, .pro-calendar-event button, .pro-calendar-event small, .pro-calendar-navigation strong) { color: var(--rl-text); }
html[data-theme="light"] .pro-calendar-event.status-pending { background: #f5ead1; border-left-color: #a26c04; }
html[data-theme="light"] .pro-calendar-event.status-confirmed { background: #dcefe5; border-left-color: #167447; }
html[data-theme="light"] .pro-dialog-backdrop { background: rgba(18, 29, 38, .48); }
.portal-theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-width: 40px; padding: 0; border: 1px solid var(--rl-line); border-radius: 6px; background: #12151a; color: #dfe7eb; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease; }
.portal-theme-toggle:hover { background: #1b2229; border-color: var(--rl-cyan); color: #fff; }
.portal-theme-toggle:active { transform: scale(.96); }
.portal-theme-toggle svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme="light"] .portal-theme-toggle { background: #dce6eb; color: #172832; border-color: rgba(26, 97, 118, .32); }
html[data-theme="light"] .portal-theme-toggle:hover { background: #d1dde4; color: #13232d; border-color: var(--rl-cyan); }
@media(max-width:600px) { .portal-theme-toggle { width: 42px; height: 42px; min-width: 42px; } }

/* Shared light-mode bridge for modules that intentionally keep their own component CSS. */
html[data-theme="light"] :is(.pwb-root, .diet-plan-builder) {
  color: #13232d;
  background: #dce4e9;
}
html[data-theme="light"] :is(.pwb-shell, .dpb-shell) {
  background: radial-gradient(circle at 88% 0, rgba(200, 29, 49, .10), transparent 28%), #dce4e9;
}
html[data-theme="light"] :is(.pwb-header, .pwb-plan, .dpb-top, .dpb-footer, .dpb-sidebar) {
  background: rgba(237, 242, 245, .96);
  border-color: rgba(26, 97, 118, .24);
  color: #13232d;
}
html[data-theme="light"] :is(.pwb-header p, .pwb-root label, .pwb-division-actions, .pwb-exercise>header small, .pwb-slot>header small, .pwb-catalog-row small, .pwb-catalog-row em, .dpb-top p, .dpb-food-main small, .dpb-food-row label span, .dpb-food-macros, .dpb-footer>span) {
  color: #536773;
}
html[data-theme="light"] :is(.pwb-root input, .pwb-root select, .pwb-root textarea, .dpb-sidebar input, .dpb-sidebar select, .dpb-sidebar textarea, .dpb-content input, .dpb-content select, .dpb-search input) {
  background: #f7fafb;
  border-color: rgba(26, 97, 118, .30);
  color: #13232d;
}
html[data-theme="light"] :is(.pwb-icon, .pwb-secondary, .pwb-add-line, .pwb-add-exercise, .dpb-icon, .dpb-secondary, .dpb-add) {
  background: #e4ecef;
  border-color: rgba(26, 97, 118, .34);
  color: #172832;
}
html[data-theme="light"] :is(.pwb-exercise, .pwb-slot, .pwb-set-row, .pwb-set-sequence, .pwb-picker, .pwb-catalog-row, .dpb-meal, .dpb-food-row, .dpb-picker, .dpb-picker-item) {
  background: #eef3f5;
  border-color: rgba(26, 97, 118, .25);
  color: #13232d;
}
html[data-theme="light"] :is(.pwb-empty, .pwb-divisions button, .dpb-days button) { color: #536773; }
html[data-theme="light"] :is(.pwb-divisions button:hover, .pwb-divisions button.active, .pwb-catalog-row:hover, .dpb-days button.active) {
  background: #f4e0e4;
  border-color: rgba(200, 29, 49, .65);
  color: #5c1b27;
}
html[data-theme="light"] :is(.pwb-picker-backdrop, .dpb-picker-backdrop, .pva-backdrop) { background: rgba(18, 29, 38, .52); }
html[data-theme="light"] :is(.pva-tabs button, .pva-card, .pva-detail, .pva-detail>header, .pva-detail-grid>section, .pva-docs button, .pva-decision input, .pva-decision select, .pva-decision textarea, .pva-term-form input, .pva-term-form textarea, .pva-registry-form input, .pva-registry-form select, .pva-registry-form textarea) {
  background: #eef3f5;
  border-color: rgba(26, 97, 118, .26);
  color: #13232d;
}
html[data-theme="light"] :is(.pva-card small, .pva-detail header p, .pva-detail dt, .pva-docs small, .pva-decision label, .pva-term-form label, .pva-registry-form label, .pva-legal-preview>article) { color: #536773; }
html[data-theme="light"] .pva-tabs button.active { background: #f4e0e4; color: #7f1d2c; border-color: var(--rl-red); }
