/* Per-user appearance controls. Loaded after the existing r209 theme. */
:root[data-xl-theme="ocean-teal"]{
  --xl-ref-primary:#0f5f63;--xl-ref-primary-hover:#177b7f;--xl-ref-primary-active:#093f42;--xl-ref-primary-soft:#eef8f7;
  --xl-ref-accent:#238879;--xl-ref-accent-hover:#176b60;--xl-ref-accent-soft:#eaf7f4;--xl-ref-bg:#f2f6f6;
  --blue:#0f5f63!important;--primary:#0f5f63!important;--primary-dark:#093f42!important;--primary-soft:#eef8f7!important;--asset-primary:#0f5f63!important;--asset-primary-soft:#eef8f7!important;--el-color-primary:#0f5f63!important
}
:root[data-xl-theme="violet"]{
  --xl-ref-primary:#5b4b8a;--xl-ref-primary-hover:#7563a8;--xl-ref-primary-active:#3e3262;--xl-ref-primary-soft:#f5f2fb;
  --xl-ref-accent:#7b61a8;--xl-ref-accent-hover:#62498e;--xl-ref-accent-soft:#f3eefb;--xl-ref-bg:#f4f2f7;
  --blue:#5b4b8a!important;--primary:#5b4b8a!important;--primary-dark:#3e3262!important;--primary-soft:#f5f2fb!important;--asset-primary:#5b4b8a!important;--asset-primary-soft:#f5f2fb!important;--el-color-primary:#5b4b8a!important
}
:root[data-xl-theme="forest"]{
  --xl-ref-primary:#315c47;--xl-ref-primary-hover:#477a61;--xl-ref-primary-active:#203f31;--xl-ref-primary-soft:#f0f6f2;
  --xl-ref-accent:#6f8e59;--xl-ref-accent-hover:#557041;--xl-ref-accent-soft:#eff6eb;--xl-ref-bg:#f2f5f2;
  --blue:#315c47!important;--primary:#315c47!important;--primary-dark:#203f31!important;--primary-soft:#f0f6f2!important;--asset-primary:#315c47!important;--asset-primary-soft:#f0f6f2!important;--el-color-primary:#315c47!important
}
:root[data-xl-theme="coral"]{
  --xl-ref-primary:#8a4b45;--xl-ref-primary-hover:#a86158;--xl-ref-primary-active:#63342f;--xl-ref-primary-soft:#fbf3f1;
  --xl-ref-accent:#cf6d59;--xl-ref-accent-hover:#a95040;--xl-ref-accent-soft:#fbefec;--xl-ref-bg:#f6f2f1;
  --blue:#8a4b45!important;--primary:#8a4b45!important;--primary-dark:#63342f!important;--primary-soft:#fbf3f1!important;--asset-primary:#8a4b45!important;--asset-primary-soft:#fbf3f1!important;--el-color-primary:#8a4b45!important
}

/* Let every menu label remain readable at normal and enlarged browser zoom. */
html body .sidebar,html body .side{width:228px!important;min-width:228px!important}
html body .app-shell,html body .shell,html body .landing-shell{grid-template-columns:228px minmax(0,1fr)!important}
html body .sidebar nav a,html body .sidebar .nav-item,html body .side nav a{
  min-height:40px!important;height:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  line-height:1.35!important;overflow-wrap:anywhere!important;word-break:keep-all!important;align-items:center!important
}
html body .sidebar nav a span,html body .sidebar .nav-item span,html body .side nav a span{
  min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important
}

.xl-appearance-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-width:72px!important;min-height:32px;border:1px solid var(--xl-ref-border);border-radius:2px;background:#fff;color:var(--xl-ref-text);padding:4px 12px;font-size:13px;white-space:nowrap!important;cursor:pointer}
.xl-appearance-trigger .xl-appearance-text{white-space:nowrap!important;word-break:keep-all!important}
.xl-appearance-trigger:hover{color:var(--xl-ref-primary);border-color:var(--xl-ref-primary)}
.xl-appearance-trigger .xl-swatch{width:12px;height:12px;border-radius:50%;background:var(--xl-ref-primary);box-shadow:0 0 0 3px var(--xl-ref-primary-soft)}
.xl-appearance-trigger.xl-floating{position:fixed;right:18px;bottom:18px;z-index:990;box-shadow:0 4px 18px rgba(15,23,42,.12)}
.xl-appearance-backdrop{position:fixed;inset:0;z-index:2100;background:rgba(15,23,42,.28);display:flex;align-items:flex-start;justify-content:flex-end;padding:68px 24px}
.xl-appearance-panel{width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid var(--xl-ref-divider);border-radius:4px;box-shadow:0 14px 40px rgba(15,23,42,.2);overflow:hidden}
.xl-appearance-panel header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--xl-ref-divider)}
.xl-appearance-panel h2{margin:0;font-size:18px;color:var(--xl-ref-text)}
.xl-appearance-panel header p{margin:4px 0 0;color:var(--xl-ref-muted);font-size:12px}
.xl-appearance-panel header button{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--xl-ref-muted)}
.xl-appearance-panel main{padding:18px 20px;background:#fff!important}
.xl-appearance-label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--xl-ref-text)}
.xl-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}
.xl-theme-choice{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:68px!important;padding:8px 4px!important;border:1px solid var(--xl-ref-border)!important;background:#fff!important;color:var(--xl-ref-muted)!important;cursor:pointer}
.xl-theme-choice i{display:block;width:26px;height:26px;border-radius:50%;background:var(--choice-color);box-shadow:inset 0 0 0 6px rgba(255,255,255,.28)}
.xl-theme-choice span{font-size:11px;white-space:nowrap}
.xl-theme-choice[aria-pressed="true"]{border-color:var(--xl-ref-primary)!important;color:var(--xl-ref-primary)!important;background:var(--xl-ref-primary-soft)!important}
.xl-appearance-panel select{width:100%;margin-bottom:8px}
.xl-appearance-help{display:block;color:var(--xl-ref-muted);font-size:12px;line-height:1.55}
.xl-appearance-status{min-height:20px;margin:12px 0 0;font-size:12px;color:var(--xl-ref-muted)}
.xl-appearance-status.error{color:var(--xl-ref-danger)}
.xl-appearance-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--xl-ref-divider);background:#fafafa}
.xl-appearance-save{color:#fff!important;background:var(--xl-ref-primary)!important;border-color:var(--xl-ref-primary)!important}

@media(max-width:1100px){
  html body .sidebar,html body .side{width:100%!important;min-width:0!important}
  html body .app-shell,html body .shell,html body .landing-shell{grid-template-columns:1fr!important}
}
@media(max-width:640px){.xl-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.xl-appearance-backdrop{padding:52px 16px}.xl-appearance-trigger .xl-appearance-text{display:none}}
