/* VESTLAND.AI: shared palette, existing layouts and native theme preferences. */
:root {
  --vl-navy:#1f315e; --vl-gold:#fdc418; --vl-bg:#fff; --vl-panel:#f5f7fa;
  --vl-text:#0e1420; --vl-muted:#596579; --vl-border:#dce2eb; --vl-hover:#eaf0f8;
  --vl-link:#1f315e; --vl-gradient:linear-gradient(145deg,#111a33,#1f315e);
  color-scheme:light;
}
html.dark { --vl-bg:#101728; --vl-panel:#172238; --vl-text:#eef2f8; --vl-muted:#b4bfd1; --vl-border:#34435d; --vl-hover:#253653; --vl-link:#ffd45a; color-scheme:dark; }
@media(prefers-color-scheme:dark) { html:not(.light):not([data-vlai-theme="light"]) { --vl-bg:#101728; --vl-panel:#172238; --vl-text:#eef2f8; --vl-muted:#b4bfd1; --vl-border:#34435d; --vl-hover:#253653; --vl-link:#ffd45a; color-scheme:dark; } }
body { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--vl-bg); color:var(--vl-text); }
:focus-visible { outline-color:var(--vl-gold); outline-offset:3px; }
input,textarea,select { accent-color:var(--vl-navy); }
.vlai-logo { object-fit:contain; }
.vlai-credit { font-size:12px; color:var(--vl-muted); text-align:center; padding:8px; }
/* Admin uses hex-valued tokens. */
:root,html.dark {
 --cui-color-background-default:var(--vl-bg); --cui-color-background-panel:var(--vl-bg);
 --cui-color-background-muted:var(--vl-panel); --cui-color-background-secondary:var(--vl-panel);
 --cui-color-background-hover:var(--vl-hover); --cui-color-background-active:var(--vl-hover);
 --cui-color-text-default:var(--vl-text); --cui-color-title-default:var(--vl-text);
 --cui-color-text-muted:var(--vl-muted); --cui-color-title-muted:var(--vl-muted);
 --cui-color-text-link:var(--vl-link); --cui-color-text-primary:var(--vl-link);
 --cui-color-stroke-default:var(--vl-border); --cui-color-stroke-muted:var(--vl-border);
 --cui-color-accent:var(--vl-link); --cui-color-outline:var(--vl-gold);
}
body[data-vlai-app="admin"] aside { background:var(--vl-gradient); --cui-color-text-default:#fff; --cui-color-text-muted:#d1daeb; --cui-color-background-active:#344467; --cui-color-background-hover:#293a5c; --cui-color-stroke-default:#455475; color:#fff; }
body[data-vlai-app="admin"] main select,body[data-vlai-app="admin"] main input,body[data-vlai-app="admin"] main textarea { background:var(--vl-bg); color:var(--vl-text); border-color:var(--vl-border); }
body[data-vlai-app="admin"] main th,body[data-vlai-app="admin"] main td { padding:10px 12px; vertical-align:top; }
body[data-vlai-app="admin"] main table { min-width:700px; }
body[data-vlai-app="admin"] main { overflow-x:auto; }
body[data-vlai-app="admin"] main button { cursor:pointer; }
body[data-vlai-app="admin"] main button:hover { background:var(--vl-hover); }
/* LibreChat uses RGB-component tokens. */
html.light body[data-vlai-app="chat"],html:not(.dark) body[data-vlai-app="chat"] {
 --surface-primary:255 255 255; --surface-primary-alt:245 247 250; --surface-secondary:245 247 250;
 --surface-dialog:255 255 255; --surface-hover:234 240 248; --surface-submit:31 49 94; --surface-submit-hover:17 26 51;
 --text-primary:14 20 32; --text-secondary:89 101 121; --border-light:220 226 235; --border-medium:191 201 218;
}
html.dark body[data-vlai-app="chat"] {
 --surface-primary:16 23 40; --surface-primary-alt:23 34 56; --surface-secondary:23 34 56;
 --surface-dialog:23 34 56; --surface-hover:37 54 83; --surface-chat:23 34 56; --surface-tertiary:37 54 83;
 --surface-submit:31 49 94; --surface-submit-hover:75 90 126; --text-primary:238 242 248; --text-secondary:180 191 209;
 --border-light:52 67 93; --border-medium:80 97 126;
}
body[data-vlai-app="chat"] aside[aria-label="Control Panel"] { background:var(--vl-gradient); --surface-primary-alt:17 26 51; --surface-primary:17 26 51; --surface-hover:41 58 92; --surface-active:52 68 103; --surface-secondary:31 49 94; --text-primary:255 255 255; --text-secondary:209 218 235; --text-tertiary:180 191 209; --border-light:69 84 117; }
body[data-vlai-app="chat"] button[aria-label="Close sidebar"],body[data-vlai-app="chat"] button[aria-label="Open sidebar"] { background-image:url('/assets/vestland-logo.png'); background-position:center; background-size:26px; background-repeat:no-repeat; }
body[data-vlai-app="chat"] button[aria-label="Close sidebar"] svg,body[data-vlai-app="chat"] button[aria-label="Open sidebar"] svg { visibility:hidden; }
body[data-vlai-app="chat"] svg.lucide-bot { background:url('/assets/vestland-logo.png') center/contain no-repeat; }
body[data-vlai-app="chat"] svg.lucide-bot > * { visibility:hidden; }
body[data-vlai-app="chat"] button[aria-label="Send message"] { background:var(--vl-gold); color:#111a33; }
body[data-vlai-app="chat"] img[src="assets/logo.svg"] { max-height:64px; }
body[data-vlai-app="chat"] #loading-container { background:var(--vl-gradient)!important; }
body[data-vlai-app="chat"] #loading-container img { content:url('/assets/vestland-logo.png'); }
@media(prefers-reduced-motion:reduce) { .vlai-logo { animation:none; } }

body[data-vlai-app="admin"] [role="dialog"] { background:var(--vl-panel); color:var(--vl-text); border-color:var(--vl-border); }
body[data-vlai-app="admin"] [role="dialog"] input,body[data-vlai-app="admin"] [role="dialog"] textarea,body[data-vlai-app="admin"] [role="dialog"] select { background:var(--vl-bg); color:var(--vl-text); border-color:var(--vl-border); }
body[data-vlai-app="chat"] form[aria-label="Login form"] button[type="submit"] { background:var(--vl-gradient); color:white; border-radius:999px; }
body[data-vlai-app="chat"] #root > div:has(form[aria-label="Login form"]) h1 { color:var(--vl-text); }
/* Keep the existing navigation usable on narrow admin screens. */
@media(max-width:640px) {
 body[data-vlai-app="admin"] aside { width:56px!important; flex-basis:56px!important; }
 body[data-vlai-app="admin"] aside nav a > .truncate { display:none; }
 body[data-vlai-app="admin"] aside nav a[title="Task scheduler"] { font-size:0; }
 body[data-vlai-app="admin"] aside nav a[title="Task scheduler"]::before { content:"◷"; font-size:18px; }
 body[data-vlai-app="admin"] main { padding:16px; min-width:0; }
 body[data-vlai-app="admin"] main > .flex { flex-wrap:wrap; }
 body[data-vlai-app="admin"] main .grid-cols-2 { grid-template-columns:1fr; }
}
