/* LIU UI-1: shared screen tokens. Print/card templates have their own release. */
@font-face { font-family: Raleway; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/raleway-600.woff2') format('woff2'); }
:root[data-liu-ui] {
  --brand-primary: #006739 !important; --brand-primary-dark: #006739 !important;
  --brand-accent: #CBAA03 !important; --liu-highlight: #FDC60D;
  --brand-background: #F5F5F5 !important; --brand-ink: #333333 !important;
  --brand-on-primary: #ffffff !important; --brand-on-primary-dark: #ffffff !important;
  --brand-on-accent: #333333 !important; --liu-muted: #6B6B6B;
  --brand-primary-soft: #e8f2ec !important; --brand-accent-soft: #f5efcf !important;
  --liu-done: #006739; --liu-done-bg: #e8f2ec;
  --liu-waiting: #785200; --liu-waiting-bg: #fff3cd;
  --liu-blocked: #a32222; --liu-blocked-bg: #fceaea;
  --liu-inactive: #595959; --liu-inactive-bg: #ededed;
}
[data-liu-ui] body { color: var(--brand-ink); background: var(--brand-background); font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; }
[data-liu-ui] h1, [data-liu-ui] h2, [data-liu-ui] h3, [data-liu-ui] .liu-page-title, [data-liu-ui] .liu-tile-header, [data-liu-ui] .brand-title { font-family: Raleway, system-ui, sans-serif; font-weight: 600; }
[data-liu-ui] .text-muted, [data-liu-ui] .liu-page-subtitle { color: var(--liu-muted) !important; }
[data-liu-ui] .liu-main { min-width: 0; display: flex; flex-direction: column; }
[data-liu-ui] .liu-main > * { flex-shrink: 0; }
[data-liu-ui] .liu-topbar { background: var(--brand-primary); gap: .25rem; }
[data-liu-ui] .liu-brand-logo { height: 32px; max-width: 190px; object-fit: contain; }
[data-liu-ui] .liu-logo-badge { background: #fff; border-radius: 4px; }
[data-liu-ui] .liu-sidebar .nav-link { white-space: normal; }
[data-liu-ui] .liu-sidebar .nav-link.active { background: var(--brand-accent) !important; color: var(--brand-on-accent) !important; }
[data-liu-ui] .liu-sidebar .nav-link:hover { background: rgba(255,255,255,.15) !important; }
[data-liu-ui] .liu-sidebar .nav-link.active:hover { background: var(--brand-accent) !important; }
[data-liu-ui] .liu-office { display: block; font-size: .78rem; line-height: 1.3; }
[data-liu-ui] .btn { font-size: .875rem; font-weight: 600; border-radius: .3rem; }
[data-liu-ui] .btn-primary { background: var(--brand-accent) !important; border-color: var(--brand-accent) !important; color: var(--brand-on-accent) !important; }
[data-liu-ui] .btn-outline-primary { color: var(--brand-primary); border-color: var(--brand-primary); }
[data-liu-ui] .btn-outline-primary:hover, [data-liu-ui] .btn-outline-primary.active { background: var(--brand-primary); color: #fff; }
[data-liu-ui] a:focus-visible, [data-liu-ui] button:focus-visible { outline: 3px solid var(--liu-highlight); outline-offset: 3px; box-shadow: 0 0 0 5px var(--brand-primary); }
[data-liu-ui] .form-control:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 .2rem var(--brand-primary-soft); }
[data-liu-ui] .liu-footer, [data-liu-ui] .liu-auth-footer, [data-liu-ui] .footer { margin-top: auto; padding: 1rem .75rem; color: var(--liu-muted); background: transparent; border: 0; font-size: .75rem; text-align: center; }
[data-liu-ui] .liu-status { display: inline-block; padding: .2rem .5rem; border-radius: .3rem; font-size: .8rem; font-weight: 600; white-space: normal; }
[data-liu-ui] .liu-status--done { color: var(--liu-done); background: var(--liu-done-bg); }
[data-liu-ui] .liu-status--waiting { color: var(--liu-waiting); background: var(--liu-waiting-bg); }
[data-liu-ui] .liu-status--blocked { color: var(--liu-blocked); background: var(--liu-blocked-bg); }
[data-liu-ui] .liu-status--inactive { color: var(--liu-inactive); background: var(--liu-inactive-bg); }
@media (min-width: 992px) {
  [data-liu-ui] .liu-main .table { width: 100%; min-width: 0; table-layout: fixed; }
  [data-liu-ui] .liu-main .table th, [data-liu-ui] .liu-main .table td { white-space: normal; overflow-wrap: anywhere; }
  [data-liu-ui] .liu-main .table .form-control { width: 100%; min-width: 0; max-width: 100%; }
  [data-liu-ui] .liu-main .table .btn { white-space: normal; }
}
@media (max-width: 575.98px) {
  [data-liu-ui] .liu-main { padding: 1rem .75rem; }
  [data-liu-ui] .liu-brand-logo { max-width: 140px; height: 28px; margin-right: 0; }
  [data-liu-ui] .liu-topbar .navbar-brand { margin-right: .25rem; }
  [data-liu-ui] .liu-topbar .navbar-nav { flex-wrap: wrap; }
  [data-liu-ui] .liu-footer { padding: 1rem .75rem; }
  /* Leave the footer credit clear of the floating assistant on phones. */
  [data-liu-ui] #liu-admin-assistant-launcher, [data-liu-ui] #liu-assistant-launcher, [data-liu-ui] #liu-lecturer-assistant-launcher { bottom: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) { [data-liu-ui] *, [data-liu-ui] *::before, [data-liu-ui] *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; } }

[data-liu-ui] .liu-auth-page { display: flex; flex-direction: column; min-height: 100vh; }
[data-liu-ui] .liu-auth-page .liu-auth-shell { flex: 1 0 auto; min-height: 0; }
[data-liu-ui] .liu-account-page { display: flex; flex-direction: column; height: 100dvh; }
[data-liu-ui] .liu-account-page > .liu-topbar, [data-liu-ui] .liu-account-page > .liu-environment-banner { flex-shrink: 0; }
[data-liu-ui] .liu-account-page > .liu-layout { flex: 1; height: auto; min-height: 0; overflow: hidden; }
