/*
 * ADAM — application stylesheet.
 *
 * Colour tokens for both themes followed by every component rule. Loaded by
 * both layouts: the application chrome (views/partials/layout.php) and the
 * signed-out chrome (views/partials/auth-layout.php), so the sign-in page is
 * visibly the same product as the rest of the app rather than a bare form that
 * happens to sit in front of it.
 *
 * Page-specific rules do not belong here — they live in css/pages/<page>.css
 * and are declared by the view with Asset::css().
 *
 * Theme switching: :root carries the dark palette, :root[data-theme="light"]
 * overrides it. js/theme-init.js sets the attribute before first paint.
 */

:root {
    --bg1: #0b1020; --bg2: #0e1325; --bg3: #111a32;
    --sidebar: #0f1629; --panel: #121a30; --card: #1a2340;
    --border: #2d3f66; --border2: #33456d;
    --muted: #8ea0c7; --muted2: #6d82ad;
    --text: #ecf1ff; --accent: #57a0ff; --accent-soft: rgba(87,160,255,.12);
    --input-bg: #111a33; --input-border: #3d5081;
    --th-bg: #202c4b; --grid-th-bg: #1c2848; --grid-filter-bg: #17213d;
    --grid-wrap-bg: #141d36; --grid-row-border: #2f4068;
    --link: #9bc5ff; --page-title: #f0c8c8;
    --brand-grad1: #1a2748; --brand-grad2: #1f3158;
    --hero-grad1: #1f2b50; --hero-grad2: #24386b; --hero-border: #3c4f7a;
    --badge-border: #4f6fb2; --badge-text: #a7c7ff;
    --btn-bg: #2f5da9; --btn-border: #4f7ec8; --btn-hover: #3a6bc0;
    --btn2-bg: #243458; --btn2-border: #3d5081; --btn2-hover: #2d4068;
    --nav-link: #c8d6f5; --nav-hover-border: #33456a;
    --sidebar-user-bg: rgba(0,0,0,.15);
    --error: #ff8484;
    --org-tier1: #9eb8ff; --org-tier2: #f0a8a8; --org-staff: #7eb0ff;
    --sidebar-width: 230px;
}
:root[data-theme="light"] {
    --bg1: #a1b7ee; --bg2: #aac2fc; --bg3: #e8edf8;
    --sidebar: #ffffff; --panel: #ffffff; --card: #ffffff;
    --border: #d7deec; --border2: #dbe2f0;
    --muted: #5a6683; --muted2: #7280a0;
    --text: #1a2035; --accent: #2f6fd6; --accent-soft: rgba(47,111,214,.1);
    --input-bg: #ffffff; --input-border: #c3cde0;
    --th-bg: #eef2fa; --grid-th-bg: #eef2fa; --grid-filter-bg: #f6f8fc;
    --grid-wrap-bg: #ffffff; --grid-row-border: #e1e7f2;
    --link: #2f6fd6; --page-title: #b5455a;
    --brand-grad1: #e8edf9; --brand-grad2: #dde5f6;
    --hero-grad1: #eef2fb; --hero-grad2: #e3eaf8; --hero-border: #c9d4ec;
    --badge-border: #b7c8ec; --badge-text: #2f5da9;
    --btn-bg: #2f6fd6; --btn-border: #2f6fd6; --btn-hover: #2a5fc0;
    --btn2-bg: #eef2fa; --btn2-border: #c3cde0; --btn2-hover: #e1e7f2;
    --nav-link: #33405c; --nav-hover-border: #c3cde0;
    --sidebar-user-bg: rgba(0,0,0,.03);
    --error: #c53030;
    --org-tier1: #2f5da9; --org-tier2: #b5455a; --org-staff: #2f6fd6;
}
* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    background: linear-gradient(180deg, var(--bg1), var(--bg2) 50%, var(--bg3));
    color: var(--text);
    min-height: 100vh;
    transition: background .2s, color .2s;
}
/* Base link colour. Without this, any anchor that is not covered by a more
   specific rule (.btn, .tile, nav, table links, coloured rows) falls back to
   the browser default blue, which is unreadable on the dark theme. Every
   such rule below carries its own colour, so this only fills the gaps. */
a { color: var(--link); }
.app { display: flex; min-height: 100vh; }
.sidebar {
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    background: var(--sidebar);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    flex-shrink: 0;
    transition: min-width .2s ease, width .2s ease, border-color .2s ease;
}
.app.sidebar-collapsed .sidebar {
    width: 0;
    min-width: 0;
    border-right-color: transparent;
}
html.sidebar-collapsed-init #appShell .sidebar {
    width: 0;
    min-width: 0;
    border-right-color: transparent;
}
.brand {
    padding: .4rem .85rem;
    min-height: 78px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, var(--brand-grad1), var(--brand-grad2));
}
.brand a { color: var(--text); text-decoration: none; display: flex; align-items: center; gap: .6rem; }
.brand-logo { height: 57px; width: auto; flex-shrink: 0; border-radius: 6px; }
.brand-name { display: flex; flex-direction: column; }
.brand strong {
    font-family: "Century Gothic", "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: .72rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .16em;
    line-height: 1.24;
}
.nav-scroll { flex: 1; overflow-y: auto; padding: .6rem 0 1rem; }
.nav-section { margin-bottom: .35rem; }
.nav-section summary {
    list-style: none; cursor: pointer; padding: .55rem .85rem;
    font-size: .72rem; text-transform: uppercase; letter-spacing: .08em;
    color: var(--muted2); font-weight: 600;
}
.nav-section summary::-webkit-details-marker { display: none; }
.nav-section[open] summary { color: var(--nav-link); }
.nav-section-link { display: block; color: inherit; text-decoration: none; }
.nav-links { display: flex; flex-direction: column; gap: .1rem; padding: 0 .45rem .35rem; }
.nav-links a {
    display: block; padding: .48rem .4rem; border-radius: 8px;
    color: var(--nav-link); text-decoration: none; font-size: .88rem;
    line-height: 1.25; border: 1px solid transparent;
}
.nav-links a:hover { background: rgba(127,127,127,.06); border-color: var(--nav-hover-border); }
.nav-links a.active { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
.nav-links a.external::after { content: " ↗"; font-size: .72rem; opacity: .7; }
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
    padding: .5rem 1.4rem;
    min-height: 78px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--sidebar) 75%, transparent);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: sticky;
    top: 0;
    z-index: 5;
}
.topbar-heading { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.topbar h1 { margin: 0; font-size: 1.2rem; font-weight: 600; }
.topbar p { margin: .25rem 0 0; color: var(--muted); font-size: .88rem; }
.sidebar-toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    color: var(--text);
    font-size: 1rem;
    line-height: 1;
    font-family: inherit;
}
.sidebar-toggle:hover { border-color: var(--accent); }
.nav-layout-toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    color: var(--text);
    font-size: .95rem;
    line-height: 1;
    font-family: inherit;
}
.nav-layout-toggle:hover { border-color: var(--accent); }
.horizontal-nav { display: none; }
.topbar-brand { display: none; }
.topbar-user { display: none; }
/* In sidebar mode the dock adds no box of its own: its two children are
   already hidden, so `contents` keeps the topbar's flex layout untouched. */
.topbar-user-dock { display: contents; }
.topbar-actions {
    display: none;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
    margin-right: .75rem;
}
.topbar-footer { color: var(--muted2); font-size: .68rem; letter-spacing: .02em; white-space: nowrap; }
.app.nav-horizontal .sidebar { display: none; }
.app.nav-horizontal .horizontal-nav {
    display: flex;
    flex-direction: column;
    background: var(--sidebar);
    border-bottom: 1px solid var(--border);
}
.app.nav-horizontal .hnav-parents {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .35rem;
    padding: .5rem 1.4rem;
    border-bottom: 1px solid var(--border);
    overflow-x: auto;
}
.app.nav-horizontal .hnav-parent {
    flex-shrink: 0;
    display: inline-block;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: .45rem .85rem;
    color: var(--muted2);
    font: inherit;
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.app.nav-horizontal .hnav-parent:hover {
    color: var(--nav-link);
    border-color: var(--nav-hover-border);
    background: rgba(127,127,127,.06);
}
.app.nav-horizontal .hnav-parent.active {
    color: var(--text);
    background: var(--accent-soft);
    border-color: var(--accent);
}
.app.nav-horizontal .hnav-children {
    padding: .45rem 1.4rem;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--sidebar) 92%, var(--accent-soft));
}
.app.nav-horizontal .hnav-panel {
    display: none;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: .2rem;
    overflow-x: auto;
    min-width: 0;
}
.app.nav-horizontal .hnav-panel.active {
    display: flex;
}
.app.nav-horizontal .hnav-panel a {
    display: inline-block;
    padding: .35rem .6rem;
    border-radius: 999px;
    color: var(--nav-link);
    text-decoration: none;
    font-size: .82rem;
    line-height: 1.2;
    border: 1px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
}
.app.nav-horizontal .hnav-panel a:hover {
    background: rgba(127,127,127,.06);
    border-color: var(--nav-hover-border);
}
.app.nav-horizontal .hnav-panel a.active {
    background: var(--accent-soft);
    border-color: var(--accent);
    color: var(--text);
}
.app.nav-horizontal .hnav-panel a.external::after { content: " ↗"; font-size: .7rem; opacity: .7; }
/* Same box as the sidebar .brand: identical width, height, padding and
   gradient, pulled over the topbar's own padding so it sits flush in the
   top-left corner exactly where the vertical menu's brand block sits. */
.app.nav-horizontal .topbar-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    box-sizing: border-box;
    width: var(--sidebar-width);
    min-height: 78px;
    padding: .4rem .85rem;
    margin: -.5rem 0 -.5rem -1.4rem;
    align-self: stretch;
    background: linear-gradient(135deg, var(--brand-grad1), var(--brand-grad2));
    border-right: 1px solid var(--border);
}
.app.nav-horizontal .topbar-brand a {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--text);
    text-decoration: none;
}
.app.nav-horizontal .topbar-brand-logo { height: 57px; width: auto; flex-shrink: 0; border-radius: 6px; }
.app.nav-horizontal .topbar-brand-name { display: flex; flex-direction: column; }
.app.nav-horizontal .topbar-brand-name strong {
    font-family: "Century Gothic", "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: .72rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .16em;
    line-height: 1.24;
}
.app.nav-horizontal .topbar-actions { display: flex; margin: 0; }
/* Sit the title right next to the brand block instead of letting the
   topbar's space-between strand it in the middle. */
.app.nav-horizontal .topbar-heading { margin-right: auto; }
/* Horizontal menu: the user strip and theme toggle leave the topbar and sit
   in the page flow at the bottom left, under the page's last block. */
.app.nav-horizontal .topbar-user-dock {
    display: flex;
    align-items: center;
    gap: .5rem;
    align-self: flex-start;
    margin: 0 1.4rem 1.5rem;
    padding: .4rem .55rem .4rem .75rem;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 999px;
}
.app.nav-horizontal .topbar-user {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .55rem;
    margin: 0;
    font-size: .72rem;
    line-height: 1.3;
    max-width: min(420px, 38vw);
}
/* The strip supplies the bottom gap now, so the content needs less of one. */
.app.nav-horizontal .content { padding-bottom: .9rem; }
.app.nav-horizontal .topbar-user .sidebar-user-name,
.app.nav-horizontal .topbar-user .sidebar-user-index {
    display: inline;
    margin: 0;
}
.app.nav-horizontal .topbar-user .sidebar-user-index::before { content: "· "; }
.app.nav-horizontal .topbar-user .sidebar-actions { margin-top: 0; margin-left: .25rem; }
.app.nav-horizontal .sidebar-toggle { display: none; }
html.nav-horizontal-init #appShell .sidebar { display: none; }
html.nav-horizontal-init #appShell .horizontal-nav { display: flex; flex-direction: column; }
.theme-toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: .4rem .7rem;
    cursor: pointer;
    color: var(--text);
    font-size: .8rem;
    font-family: inherit;
}
.theme-toggle:hover { border-color: var(--accent); }
.sidebar-actions { display: flex; align-items: center; margin-top: .45rem; }
.sidebar-actions .sidebar-logout, .sidebar-actions .sidebar-logout-form { margin-top: 0; }
.sidebar-actions .theme-toggle { margin-left: auto; }
.topbar-logo { flex-shrink: 0; height: 40px; width: auto; display: block; }
.topbar-logo-light { display: none; }
:root[data-theme="light"] .topbar-logo-dark { display: none; }
:root[data-theme="light"] .topbar-logo-light { display: block; }
.content { padding: 1rem 1.4rem 2.5rem; }
.card {
    background: var(--card); border: 1px solid var(--border);
    border-radius: 12px; padding: .9rem 1rem; margin-top: .75rem; overflow: auto;
}
.hero {
    background: linear-gradient(135deg, var(--hero-grad1), var(--hero-grad2));
    border: 1px solid var(--hero-border);
    border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: .75rem;
}
.hero h2 { margin: 0; font-size: 1.1rem; }
.hero p { margin: .35rem 0 0; color: var(--nav-link); font-size: .92rem; }
.badge {
    display: inline-block; font-size: .72rem; border: 1px solid var(--badge-border);
    border-radius: 999px; padding: .15rem .48rem; color: var(--badge-text);
    margin-left: .4rem; vertical-align: middle;
}
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
a.tile {
    text-decoration: none; color: inherit; background: var(--card);
    border: 1px solid var(--border); border-radius: 12px; padding: .85rem;
    display: block; min-height: 110px; transition: border-color .15s, transform .15s;
}
a.tile:hover { border-color: var(--accent); transform: translateY(-1px); }
.tile .title { font-weight: 600; margin-bottom: .3rem; }
.tile .desc { font-size: .86rem; color: var(--muted); line-height: 1.35; }
.tile .tag {
    display: inline-block; margin-top: .55rem; color: var(--link);
    font-size: .72rem; border: 1px solid var(--badge-border); border-radius: 999px; padding: .15rem .45rem;
}
form.inline { display: flex; flex-wrap: wrap; gap: .55rem; align-items: end; }
label { font-size: .86rem; color: var(--nav-link); display: flex; flex-direction: column; gap: .2rem; }
input, select {
    background: var(--input-bg); border: 1px solid var(--input-border);
    color: var(--text); border-radius: 6px; padding: .45rem .55rem; font: inherit;
}
button, .btn {
    background: var(--btn-bg); border: 1px solid var(--btn-border); color: #fff;
    border-radius: 6px; padding: .5rem .8rem; cursor: pointer; font: inherit;
    text-decoration: none; display: inline-block;
}
button:hover, .btn:hover { background: var(--btn-hover); }
table.data { width: 100%; border-collapse: collapse; font-size: .85rem; }
table.data th, table.data td {
    border: 1px solid var(--border2); padding: 0.45rem; text-align: left; vertical-align: top;
}
table.data th { background: var(--th-bg); position: sticky; top: 0; }
table.data a { color: var(--link); }
.meta { font-size: .82rem; color: var(--muted2); margin: .2rem 0 .5rem; }
.error { color: var(--error); }
.muted { color: var(--muted); font-size: .88rem; }
.page-heading {
    background: linear-gradient(135deg, var(--hero-grad1), var(--hero-grad2));
    border: 1px solid var(--hero-border); border-radius: 12px;
    padding: 1rem 1.2rem; margin-bottom: .75rem; position: relative;
}
.page-heading .badge { position: absolute; top: 1rem; right: 1rem; margin: 0; }
.page-title { margin: 0; font-size: 1.35rem; color: var(--page-title); font-weight: 700; text-align: center; }
.page-subtitle { margin: .35rem 0 0; text-align: center; color: var(--nav-link); font-size: .92rem; }
.dataset-title { margin: 0 0 .65rem; font-size: .95rem; color: var(--nav-link); }
.grid-toolbar { display: flex; justify-content: flex-end; margin-bottom: .55rem; }
.btn-secondary { background: var(--btn2-bg); border-color: var(--btn2-border); color: var(--text); }
.btn-secondary:hover { background: var(--btn2-hover); }
.staff-details-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.staff-details-toolbar a { text-decoration: none; }
.staff-details-toolbar .btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.data-grid-wrap {
    overflow: auto; max-height: 70vh; border: 1px solid var(--border);
    border-radius: 10px; background: var(--grid-wrap-bg);
}
table.data-grid { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: .8rem; }
table.data-grid th, table.data-grid td {
    border-right: 1px solid var(--grid-row-border); border-bottom: 1px solid var(--grid-row-border);
    padding: .35rem .45rem; text-align: left; vertical-align: middle;
    white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis;
}
table.data-grid thead th {
    background: var(--grid-th-bg); position: sticky; top: 0; z-index: 2;
    font-weight: 600; color: var(--nav-link);
}
table.data-grid thead tr.filter-row th { top: 2rem; background: var(--grid-filter-bg); padding: .25rem; }
table.data-grid thead tr.filter-row input { width: 100%; min-width: 70px; padding: .3rem .4rem; font-size: .75rem; }
table.data-grid tbody tr:nth-child(even) { background: rgba(127,127,127,.03); }
table.data-grid tbody tr:hover { background: var(--accent-soft); }
table.data-grid tbody tr.selected { background: rgba(120, 130, 150, .22); }
table.data-grid td.wrap { white-space: normal; min-width: 140px; }
table.data-grid a { color: var(--link); }
table.data-grid thead th.sortable { cursor: pointer; user-select: none; }
table.data-grid thead th.sortable:hover { color: var(--text); }
table.data-grid thead th.sort-asc::after { content: " \25B2"; font-size: .6rem; }
table.data-grid thead th.sort-desc::after { content: " \25BC"; font-size: .6rem; }
table.data-grid .col-select { width: 40px; min-width: 40px; text-align: center; }
.bulk-actions {
    display: none; flex-wrap: wrap; gap: .5rem; align-items: center;
    margin-top: .65rem; padding: .55rem .75rem;
    border: 1px solid var(--border); border-radius: 10px; background: var(--card);
}
.bulk-actions.open { display: flex; }
.bulk-actions .bulk-count { font-size: .84rem; color: var(--muted); margin-right: auto; }
.modal-backdrop {
    display: none; position: fixed; inset: 0; background: rgba(5, 10, 22, .72);
    z-index: 100; align-items: center; justify-content: center; padding: 1rem;
}
.modal-backdrop.open { display: flex; }
.modal-panel {
    width: min(520px, 100%); background: var(--card); border: 1px solid var(--border);
    border-radius: 12px; padding: 1rem 1.1rem; max-height: 90vh; overflow: auto;
}
.modal-panel h3 { margin: 0 0 .85rem; font-size: 1rem; }
.modal-form { display: grid; gap: .65rem; }
.modal-form label { display: grid; gap: .25rem; }
.modal-actions { display: flex; gap: .5rem; justify-content: flex-end; margin-top: .35rem; }
.grid-pagination {
    display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between;
    margin-top: .55rem; font-size: .84rem; color: var(--muted);
}
.grid-page-size-control {
    flex-direction: row; align-items: center; gap: .35rem;
    font-size: .78rem; color: var(--muted); margin-right: auto;
}
.grid-page-size-control select { padding: .25rem .35rem; font-size: .78rem; }
.grid-pager-controls { display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; }
.grid-pager-controls button { padding: .3rem .55rem; font-size: .78rem; min-width: 2rem; }
.grid-pager-controls button.active {
    background: var(--btn-bg); border-color: var(--page-title); color: #fff;
    font-weight: 700; box-shadow: 0 0 0 2px var(--page-title) inset;
}
.grid-pager-controls button:disabled { opacity: .45; cursor: not-allowed; }
.grid-pager-controls button.active:disabled { opacity: 1; cursor: default; }
.grid-pager-controls .pager-ellipsis { padding: 0 .25rem; color: var(--muted2); }
.grid-pages { display: contents; }
.notice { background: var(--accent-soft); border: 1px solid var(--accent); border-radius: 10px; padding: .8rem 1rem; margin-top: .75rem; }
.sidebar-user {
    margin-top: auto; padding: .75rem .85rem; border-top: 1px solid var(--border);
    background: var(--sidebar-user-bg); font-size: .78rem; line-height: 1.35;
}
.sidebar-user-name { display: block; color: var(--nav-link); font-weight: 600; word-break: break-word; }
.sidebar-user-index { display: block; margin-top: .15rem; color: var(--muted); font-size: .72rem; }
/* Sign out is a POST, so it is a form button styled to read as the link it
   used to be. */
.sidebar-logout-form { display: inline; margin: 0; }
.sidebar-logout {
    display: inline-block; margin-top: .35rem; padding: 0; border: none;
    background: none; color: var(--link); font: inherit; font-size: .72rem;
    text-decoration: none; cursor: pointer;
}
.sidebar-logout:hover { background: none; text-decoration: underline; }
.sidebar-user-roles { color: var(--badge-text); font-weight: 600; }
.sidebar-user-delegation { color: var(--page-title); }
.footer { padding: .55rem .85rem .75rem; border-top: 1px solid var(--border); font-size: .75rem; color: var(--muted2); }
@media (max-width: 900px) {
    .app { flex-direction: column; }
    .app.sidebar-collapsed .sidebar { width: 100%; min-width: 0; border-right-color: var(--border); }
    .app.nav-horizontal .topbar-user { max-width: none; }
    .app.nav-horizontal .hnav-panel { flex-wrap: wrap; overflow-x: visible; }
    .sidebar { width: 100%; min-width: 0; height: auto; position: relative; max-height: 45vh; }
}
