/* Veyora site theme: the meeting room's surfaces, accent and logo on every
   page outside the meeting. Loaded last; layout stays with each page's sheet. */
:root{--v-bg:#0d0f12;--v-surface:#16191e;--v-surface-2:#1f232a;--v-surface-3:#2a2f37;--v-line:rgba(255,255,255,.08);--v-line-strong:rgba(255,255,255,.14);--v-text:#f3f5f7;--v-muted:#9aa4b1;--v-accent:#2fd3b5;--v-accent-strong:#5fe0c8;--v-accent-ink:#03241d;--focus-ring:#8fe9d7;color-scheme:dark}
html{background:var(--v-bg)}
body{font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(47,211,181,.32);color:#fff}

/* Logo: the V mark from the meeting room, followed by the name. */
.brand,body>header>strong:first-child,.wordmark{display:inline-flex;align-items:center;gap:0;font-size:0!important;line-height:1;letter-spacing:0;text-decoration:none;color:var(--v-text)}
:is(.brand,body>header>strong:first-child,.wordmark)::before{content:'V';display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,#4fe6c9,#169a82);color:var(--v-accent-ink);font-size:16px;font-weight:800;letter-spacing:-.02em;margin-inline-end:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
:is(.brand,body>header>strong:first-child,.wordmark)::after{content:'Veyora';font-size:19px;font-weight:700;letter-spacing:-.015em;color:var(--v-text)}
:is(.brand,body>header>strong:first-child) span{display:none}

/* Top bar on console pages. */
body>header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;width:auto;max-width:none;min-height:64px;margin:0;padding:12px clamp(16px,4vw,40px);border:0;border-bottom:1px solid var(--v-line);background:var(--v-bg)}
body>header :is(nav,.top-links){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:2px}
body>header :is(nav,.top-links) a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:10px;color:var(--v-muted);font-size:14px;font-weight:500;text-decoration:none}
body>header :is(nav,.top-links) a:hover{background:var(--v-surface-2);color:var(--v-text)}
body>header :is(nav,.top-links) a[aria-current]{background:var(--v-surface-2);color:var(--v-text)}

/* Side navigation on the signed-in pages. */
.app-sidebar{background:var(--v-bg);border-color:var(--v-line)}
.app-sidebar .brand{margin-bottom:4px}
.app-sidebar nav a{font-weight:500}
.app-sidebar nav a:hover{background:var(--v-surface-2);color:var(--v-text)}
.app-sidebar nav a[aria-current]{position:relative;background:var(--v-surface-2);color:var(--v-text)}
.app-sidebar nav a[aria-current]::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--v-accent)}
.nav-caption{color:var(--v-muted)}

/* Quiet actions keep the accent for the main action of each card. */
button:is(#logout,#reload,#refresh,#operations-refresh,#export-refresh,#refresh-admissions,#refresh-participants,#refresh-moderation){background:var(--v-surface-2);color:var(--v-text);border:1px solid var(--v-line-strong)}
button:is(#logout,#reload,#refresh,#operations-refresh,#export-refresh,#refresh-admissions,#refresh-participants,#refresh-moderation):hover:enabled{background:var(--v-surface-3)}

/* Destructive actions read as such everywhere. */
:is(button,.button).danger{background:#3a1d22;color:#fecaca;border:1px solid rgba(239,68,68,.45)}
:is(button,.button).danger:hover:enabled{background:#4a2329;color:#fff}

/* Shared controls. */
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea):focus{border-color:rgba(47,211,181,.7);box-shadow:0 0 0 3px rgba(47,211,181,.18)}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--v-accent)}
:where(summary){cursor:pointer}
:where(code,kbd,pre){font-family:ui-monospace,"Cascadia Mono",Consolas,monospace}
:where(table){border-collapse:collapse}
:where(th){color:var(--v-muted);font-weight:600}
@media(max-width:700px){
 :is(.brand,body>header>strong:first-child)::before{width:30px;height:30px;border-radius:9px;font-size:15px;margin-inline-end:8px}
 :is(.brand,body>header>strong:first-child)::after{font-size:17px}
 body>header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px 6px}
 body>header :is(nav,.top-links){width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -6px;padding-bottom:4px}
 body>header :is(nav,.top-links)::-webkit-scrollbar{display:none}
 body>header :is(nav,.top-links) a{flex:none;min-height:36px;padding:0 10px;font-size:13px;white-space:nowrap}
 .app-sidebar nav a[aria-current]::before{display:none}
}
