/* Application identity and administration themes. Stream output is not themed. */
:root{--brand-sidebar:#0e1827;--brand-topbar:#101b2bf5;--brand-input:#0e1726;--brand-button:#233950;--brand-button-text:#eaf2fc;--brand-hover:#203855}
:root[data-theme=light]{color-scheme:light;--bg:#f0f4f9;--panel:#fff;--card:#e8eff7;--edge:#c6d1df;--text:#17283e;--muted:#50627b;--accent:#087aaa;--good:#13734d;--bad:#b52545;--brand-sidebar:#e4edf7;--brand-topbar:#fffffff5;--brand-input:#f7f9fc;--brand-button:#e1eaf5;--brand-button-text:#233d5c;--brand-hover:#d2e5f5}
:root[data-theme=cobalt]{color-scheme:dark;--bg:#07152e;--panel:#102445;--card:#18345c;--edge:#35547c;--text:#eef5ff;--muted:#acbfdb;--accent:#6fc4ff;--brand-sidebar:#0b1b38;--brand-topbar:#102445f5;--brand-input:#0a1b36;--brand-button:#244a7b;--brand-hover:#254a72}
:root[data-theme=emerald]{color-scheme:dark;--bg:#081c18;--panel:#102d27;--card:#173c32;--edge:#345b4f;--text:#eafaf2;--muted:#a3c3b5;--accent:#57d1ac;--brand-sidebar:#0a231c;--brand-topbar:#102d27f5;--brand-input:#0a211b;--brand-button:#225344;--brand-hover:#245744}
:root[data-theme=midnight]{color-scheme:dark}
.ls-sidebar{background:var(--brand-sidebar)}.ls-topbar{background:var(--brand-topbar)}
.ls-navlink,.ls-group-label{color:var(--muted)}.ls-navlink:hover,.ls-navlink.is-active{background:var(--brand-hover);color:var(--text)}
.ls-brand.ls-brand-identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 10px 22px;max-width:100%;min-width:0}
.ls-brand-logo{display:block;width:100%;max-width:280px;height:76px;object-fit:contain;object-position:center;flex:none}
.ls-brand-caption{display:block;max-width:100%;font-size:16px;overflow-wrap:anywhere;line-height:1.5}
.ls-admin .login .ls-brand-identity{align-items:center;text-align:center}.ls-admin .login .ls-brand-logo{height:95px}
.ls-admin .login>.card{box-sizing:border-box}
.ls-settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:20px}
.ls-settings-grid .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.ls-settings-grid h2,.ls-admin #general-settings-form h2{margin:0 0 18px;font-size:19px;color:var(--text)}
.ls-logo-preview{display:grid;place-items:center;min-height:160px;background:var(--card);border:1px dashed var(--edge);border-radius:12px;padding:18px}
.ls-logo-preview img{display:block;max-width:100%;width:auto;max-height:150px;object-fit:contain}
.ls-admin #general-settings-form textarea{resize:vertical;min-height:100px}
.ls-theme-fieldset{border:0;padding:0;margin:20px 0;min-width:0}.ls-theme-fieldset legend{margin-bottom:12px;font-weight:700;color:var(--text)}
.ls-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ls-theme-choice{position:relative;cursor:pointer;min-width:0}
.ls-theme-choice input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.ls-theme-swatch{display:flex;min-height:94px;box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:16px;padding:16px;border:3px solid transparent;border-radius:12px;color:#fff}
.ls-theme-swatch>span{font-size:11px;letter-spacing:4px;opacity:.75}.ls-theme-midnight{background:linear-gradient(135deg,#07101f,#233950)}.ls-theme-light{background:linear-gradient(135deg,#f8fafc,#d1dce9);color:#17283e}.ls-theme-cobalt{background:linear-gradient(135deg,#07152e,#2868bb)}.ls-theme-emerald{background:linear-gradient(135deg,#061b17,#168067)}
.ls-theme-choice input:checked+.ls-theme-swatch{border-color:var(--accent);box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.ls-theme-choice input:focus-visible+.ls-theme-swatch{outline:3px solid var(--text);outline-offset:5px}
.ls-general-actions{margin-bottom:0!important;margin-top:24px!important}
:root[data-theme] .ls-admin :is(input,select,textarea),:root[data-theme] .ls-legacy :is(.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=button]):not([type=submit]),select,textarea){background-color:var(--brand-input);color:var(--text);border-color:var(--edge)}
:root[data-theme] .ls-admin .field label,:root[data-theme] .ls-admin th{color:var(--muted)}
:root[data-theme] .ls-admin :is(button,.btn):not(.primary):not(.danger),:root[data-theme] .ls-button,:root[data-theme] .ls-menu-toggle{background-color:var(--brand-button);color:var(--brand-button-text);border-color:var(--edge)}
:root[data-theme] .ls-admin .tabs .active{background:var(--brand-hover);color:var(--text);border-color:var(--accent)}
:root[data-theme] .ls-legacy :is(.card-header,.modal-header,th){background:var(--card)}
:root[data-theme] .ls-legacy .table{--bs-table-striped-bg:var(--card);--bs-table-hover-bg:var(--brand-hover)}
:root[data-theme=light] .ls-admin .notice,:root[data-theme=light] .ls-notice{background:#e2eefc;color:#203b59;border-color:#9cb9db}
:root[data-theme=light] .ls-admin .notice.error{background:#ffe8ee;color:#8b1d37;border-color:#dda5b3}
:root[data-theme=light] .ls-admin pre.log{color:#dceaff}
@media(max-width:1100px){.ls-settings-grid{grid-template-columns:minmax(0,1fr)}.ls-logo-preview{min-height:135px}.ls-logo-preview img{max-width:350px;width:100%}}
@media(max-width:560px){.ls-settings-grid .field-row{grid-template-columns:1fr}.ls-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-theme-swatch{padding:13px}.ls-admin #general-settings-form .card{padding:17px}.ls-brand-logo{height:68px}}
