@import url('../fonts/inter/inter.css');

body.rdn {
    --brand: #067ac1;
    --brand-alt: #0a4a72;
    --brand-rgb: 6, 122, 193;
    --brand-alt-rgb: 10, 74, 114;
    --page: #f6f8fc;
    --sb-bg: #062a44;
    --font-brand: 'Inter', -apple-system, 'Segoe UI', sans-serif;
    --font-heading: var(--font-brand);
    --radius: 12px;

    --ink: #101a33;
    --muted: #72829a;
    --line: #e6eaf3;
    --n-0: #ffffff;
    --n-50: var(--page);
    --n-100: #f0f3f6;
    --n-300: #cfd6e3;
    --n-400: #9aa5ba;
    --n-600: #55637d;
    --n-700: #3a465e;
    --n-800: #22304b;
    --ok-h: #22a05a;   --ok-s: #ebf9f0;   --ok-t: #167c45;
    --warn-h: #e08c1e; --warn-s: #fdf4e8; --warn-t: #9a5f07;
    --err-h: #f2445a;  --err-s: #feedf1;  --err-t: #cf2038;
    --info-h: #5084fe; --info-s: #eef3ff; --info-t: #2a5fd0;
    --ok-b: #b5e6c8;
    --warn-b: #f3d8a6;
    --err-b: #fbc2cc;
    --info-b: #c3d6ff;
    --gray-h: #72829a; --gray-s: #f1f3f7; --gray-b: #cfd6e3; --gray-t: #52607a;
    --violet-h: #6b4bb5; --violet-s: #f5f0ff; --violet-b: #ddceff; --violet-t: #5b21b6;

    --grad: linear-gradient(135deg, var(--brand) 0%, var(--brand-alt) 100%);
    --grad-glow: 0 6px 14px -6px rgba(var(--brand-rgb), .28);
    --brand-soft: rgba(var(--brand-rgb), .10);
    --brand-ring: 0 0 0 3px rgba(var(--brand-rgb), .16);
    --err-ring: 0 0 0 3px rgba(242, 68, 90, .16);
    --brand-50: rgba(var(--brand-rgb), .07);
    --brand-100: rgba(var(--brand-rgb), .16);
    --brand-200: rgba(var(--brand-rgb), .30);
    --brand-300: rgba(var(--brand-rgb), .50);
    --brand-600: color-mix(in srgb, var(--brand) 84%, #000);
    --brand-700: color-mix(in srgb, var(--brand) 70%, #000);
    --tab-track: rgba(var(--brand-rgb), .08);
    --tab-track-b: rgba(var(--brand-rgb), .17);
    --tab-pill-b: var(--n-300);
    --tip-bg: var(--ink);

    --r-sm: calc(var(--radius) * 2 / 3);
    --r-md: calc(var(--radius) * 5 / 6);
    --r-lg: var(--radius);
    --r-xl: calc(var(--radius) * 4 / 3);
    --r-pill: 999px;

    --sh-sm: 0 1px 2px rgba(24, 32, 56, .05), 0 1px 1px rgba(24, 32, 56, .03);
    --sh-md: 0 2px 4px rgba(24, 32, 56, .05), 0 8px 20px -6px rgba(24, 32, 56, .08);
    --sh-lg: 0 4px 8px rgba(24, 32, 56, .05), 0 18px 38px -10px rgba(24, 32, 56, .14);

    --sb-w: 260px;
    --sb-ink: #b8c6e0;
    --sb-ink-hi: #edf3ff;
    --sb-ink-lo: #7f94b8;
    --sb-line: rgba(160, 190, 240, .14);
    --topbar-h: 64px;
    --ctl-h: 38px;

    --dur-fast: .12s;
    --dur: .25s;
    --ease: cubic-bezier(.4, 0, .2, 1);

    --z-topbar: 1020;
    --z-scrim: 1034;
    --z-sidebar: 1035;

    --bs-primary: var(--brand);
    --bs-primary-rgb: var(--brand-rgb);
    --bs-link-color: var(--brand);
    --bs-link-color-rgb: var(--brand-rgb);
    --bs-link-hover-color: var(--brand-alt);
    --bs-link-hover-color-rgb: var(--brand-alt-rgb);
    --bs-body-font-family: var(--font-brand);
    --bs-font-sans-serif: var(--font-brand);
    --bs-body-color: var(--ink);
    --bs-body-bg: var(--n-0);
    --bs-border-color: var(--line);
    --bs-border-radius: var(--r-md);

    margin: 0;
    background: var(--page);
    color: var(--ink);
    font-family: var(--font-brand);
    font-size: 1rem;
    line-height: 1.55;
}

body.rdn h1, body.rdn h2, body.rdn h3, body.rdn h4, body.rdn h5, body.rdn h6 { font-family: var(--font-heading); }
body.rdn ::selection { background: rgba(var(--brand-rgb), .85); color: #fff; }
body.rdn :focus-visible { outline: 2px solid rgba(var(--brand-rgb), .7); outline-offset: 2px; }
body.rdn .form-control:focus-visible,
body.rdn .form-select:focus-visible,
body.rdn .form-check-input:focus-visible { outline: none; }

@media (prefers-reduced-motion: reduce) {
    body.rdn *, body.rdn *::before, body.rdn *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body.rdn .rdn-shell { display: flex; min-height: 100vh; }
body.rdn .rdn-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin-inline-start: var(--sb-w);
    transition: margin-inline-start var(--dur) var(--ease);
}
body.rdn .rdn-content { flex: 1; width: 100%; min-width: 0; padding: 1.35rem 1.75rem 3rem; }
body.rdn .rdn-content > .content { padding: 0 !important; }
body.rdn .rdn-skip-link {
    position: absolute;
    inset-inline-start: -999px;
    top: 0;
    z-index: 2000;
    background: var(--n-0);
    padding: .6rem 1rem;
    border-radius: var(--r-sm);
}
body.rdn .rdn-skip-link:focus { inset-inline-start: 1rem; top: 1rem; }
body.rdn .rdn-scrim { display: none; position: fixed; inset: 0; background: rgba(12, 10, 28, .5); z-index: var(--z-scrim); }

body.rdn .rdn-sb {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    width: var(--sb-w);
    background: var(--sb-bg);
    color: var(--sb-ink);
    display: flex;
    flex-direction: column;
    z-index: var(--z-sidebar);
    font-family: var(--font-brand);
    transition: transform var(--dur) var(--ease), visibility var(--dur) var(--ease);
}

@media (min-width: 992px) {
    body.rdn.rdn-sb-collapsed .rdn-main { margin-inline-start: 0; }
    body.rdn.rdn-sb-collapsed .rdn-sb { transform: translateX(calc(-1 * var(--sb-w))); visibility: hidden; }
}
@media (max-width: 991.98px) {
    body.rdn .rdn-main { margin-inline-start: 0; }
    body.rdn .rdn-content { padding: 1rem 1rem 2rem; }
    body.rdn .rdn-sb { transform: translateX(calc(-1 * var(--sb-w))); visibility: hidden; }
    body.rdn.rdn-sb-open .rdn-sb { transform: none; visibility: visible; }
    body.rdn.rdn-sb-open .rdn-scrim { display: block; }
}

body.rdn .rdn-sb-brand { display: flex; align-items: center; gap: .75rem; padding: 1.25rem 1.25rem 1.1rem; text-decoration: none; }
body.rdn .rdn-sb-mark { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; overflow: hidden; padding: 4px; }
body.rdn .rdn-sb-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.rdn .rdn-sb-mark--circle { border-radius: 50%; }
body.rdn .rdn-sb-mark--rounded { border-radius: var(--r-lg); }
body.rdn .rdn-sb-mark--square { border-radius: 0; }
body.rdn .rdn-sb-mark--light { background: rgba(255, 255, 255, .94); }
body.rdn .rdn-sb-mark--dark { background: rgba(0, 0, 0, .35); }
body.rdn .rdn-sb-mark--clear { background: transparent; padding: 0; }
body.rdn .rdn-sb-mark--wide { width: auto; height: 46px; flex: 1 1 auto; max-width: 100%; padding: 6px 10px; border-radius: var(--r-md); justify-items: start; }
body.rdn .rdn-sb-mark--wide img { width: auto; max-width: 100%; height: 100%; }
body.rdn .rdn-sb-mark--wide.rdn-sb-mark--clear { background: transparent; padding: 0; }
body.rdn .rdn-sb-wordmark { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
body.rdn .rdn-sb-wordmark-top { font-size: 1.05rem; font-weight: 800; letter-spacing: .01em; color: var(--sb-ink-hi); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rdn .rdn-sb-wordmark-sub { font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sb-ink-lo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body.rdn .rdn-sb-search { padding: 0 .85rem .25rem; flex: 0 0 auto; }
body.rdn .rdn-sb-search-box { position: relative; display: flex; align-items: center; }
body.rdn .rdn-sb-search-icon { position: absolute; inset-inline-start: .65rem; font-size: .8rem; color: var(--sb-ink-lo); pointer-events: none; }
body.rdn .rdn-sb-search-input {
    width: 100%;
    padding: .45rem 2rem .45rem 2.05rem;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(160, 190, 240, .18);
    border-radius: 10px;
    color: var(--sb-ink-hi);
    font-size: .82rem;
    font-family: inherit;
    transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
body.rdn .rdn-sb-search-input::placeholder { color: var(--sb-ink-lo); }
body.rdn .rdn-sb-search-input:hover { background: rgba(255, 255, 255, .075); }
body.rdn .rdn-sb-search-input:focus { outline: none; background: rgba(255, 255, 255, .09); border-color: rgba(var(--brand-rgb), .7); }
body.rdn .rdn-sb-search-input::-webkit-search-cancel-button,
body.rdn .rdn-sb-search-input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
body.rdn .rdn-sb-search-clear {
    position: absolute;
    inset-inline-end: .3rem;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--sb-ink-lo);
    cursor: pointer;
}
body.rdn .rdn-sb-search-clear:hover { background: rgba(255, 255, 255, .1); color: var(--sb-ink-hi); }
body.rdn .rdn-sb-search-empty {
    margin: .6rem .5rem;
    padding: .9rem .75rem;
    text-align: center;
    color: var(--sb-ink-lo);
    font-size: .78rem;
    font-weight: 500;
    border: 1px dashed rgba(160, 190, 240, .2);
    border-radius: 10px;
}
body.rdn .rdn-sb-search-empty i { display: block; font-size: 1.2rem; margin-bottom: .3rem; opacity: .7; }

body.rdn .rdn-sb-nav {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: .5rem .85rem 1rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .15) transparent;
}
body.rdn .rdn-sb-nav ul { list-style: none; margin: 0; padding: 0; }
body.rdn .rdn-sb-link,
body.rdn .rdn-sb-grouphead {
    position: relative;
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .62rem .75rem;
    margin-block: 2px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--sb-ink);
    font-family: inherit;
    font-size: .88rem;
    font-weight: 500;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
body.rdn .rdn-sb-link:hover,
body.rdn .rdn-sb-grouphead:hover { background: rgba(255, 255, 255, .06); color: var(--sb-ink-hi); }
body.rdn .rdn-sb-link.is-active { background: var(--grad); color: #fff; font-weight: 600; box-shadow: var(--grad-glow); }
body.rdn .rdn-sb-ico,
body.rdn .rdn-sb-groupico {
    width: 1.25rem;
    text-align: center;
    font-size: 1rem;
    line-height: 1;
    flex: 0 0 auto;
    color: var(--sb-ink-lo);
    transition: color var(--dur-fast) var(--ease);
}
body.rdn .rdn-sb-link:hover .rdn-sb-ico,
body.rdn .rdn-sb-grouphead:hover .rdn-sb-groupico,
body.rdn .rdn-sb-grouphead[aria-expanded="true"] .rdn-sb-groupico { color: var(--sb-ink-hi); }
body.rdn .rdn-sb-link.is-active .rdn-sb-ico { color: #fff; }
body.rdn .rdn-sb-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rdn .rdn-sb-grouphead[aria-expanded="true"] { color: var(--sb-ink-hi); }
body.rdn .rdn-sb-grouphead.has-active { color: var(--sb-ink-hi); background: rgba(255, 255, 255, .05); }
body.rdn .rdn-sb-grouphead.has-active::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 22%;
    bottom: 22%;
    width: 3px;
    border-radius: 999px;
    background: rgb(var(--brand-rgb));
}
body.rdn .rdn-sb-grouphead.has-active .rdn-sb-groupico { color: var(--sb-ink-hi); }
body.rdn .rdn-sb-groupchev { font-size: .72rem; color: var(--sb-ink-lo); transition: transform var(--dur-fast) var(--ease); }
body.rdn .rdn-sb-grouphead[aria-expanded="false"] .rdn-sb-groupchev { transform: rotate(-90deg); }
body.rdn .rdn-sb-groupbody > ul { padding-inline-start: .55rem; margin-inline-start: .65rem; border-inline-start: 1px solid rgba(160, 190, 240, .16); }
body.rdn .rdn-sb-groupbody .rdn-sb-link { font-size: .84rem; padding-block: .5rem; }
body.rdn .rdn-sb-searching .rdn-sb-groupbody { display: block !important; height: auto !important; }
body.rdn .rdn-sb-searching .rdn-sb-groupchev { display: none; }
body.rdn .rdn-sb .rdn-sb-hidden { display: none !important; }

body.rdn .rdn-sb-user { display: flex; align-items: center; gap: .65rem; padding: .9rem 1.1rem; border-top: 1px solid var(--sb-line); }
body.rdn .rdn-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--grad);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: .85rem;
}
body.rdn .rdn-sb-user-meta { flex: 1; min-width: 0; line-height: 1.25; }
body.rdn .rdn-sb-user-name { font-size: .85rem; font-weight: 600; color: var(--sb-ink-hi); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rdn .rdn-sb-user-role { font-size: .72rem; color: var(--sb-ink-lo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rdn .rdn-sb-signout { color: #94a9c9; font-size: 1rem; padding: .35rem .45rem; border-radius: 8px; text-decoration: none; }
body.rdn .rdn-sb-signout:hover { color: #fff; background: rgba(255, 255, 255, .08); }

body.rdn .rdn-topbar {
    position: sticky;
    top: 0;
    z-index: var(--z-topbar);
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: var(--topbar-h);
    padding: 0 1.75rem;
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
    font-family: var(--font-brand);
}
body.rdn .rdn-topbar-burger {
    border: 0;
    background: transparent;
    color: var(--n-600);
    font-size: 1.15rem;
    padding: .35rem .55rem;
    border-radius: var(--r-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
body.rdn .rdn-topbar-burger:hover { background: var(--n-100); color: var(--ink); }
body.rdn .rdn-topbar-titleblock { display: flex; align-items: center; gap: .7rem; min-width: 0; flex: 1 1 auto; }
body.rdn .rdn-topbar-titleblock > div { min-width: 0; }
body.rdn .rdn-topbar-pageicon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: var(--r-md);
    background: var(--brand-soft);
    color: var(--brand);
    display: grid;
    place-items: center;
    font-size: 1rem;
}
body.rdn .rdn-topbar-title { font-family: var(--font-heading); font-size: 1.02rem; font-weight: 700; color: var(--ink); margin: 0; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.rdn .rdn-topbar-sub { font-size: .76rem; color: var(--muted); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.rdn .rdn-topbar-actions { margin-inline-start: auto; display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
body.rdn .rdn-topbar-user {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .25rem .75rem .25rem .3rem;
    border: 1px solid var(--line);
    border-radius: var(--r-pill);
    background: var(--n-0);
    color: var(--ink);
    font-family: inherit;
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease);
}
body.rdn .rdn-topbar-user:hover,
body.rdn .rdn-topbar-user[aria-expanded="true"] { border-color: rgba(var(--brand-rgb), .45); }
body.rdn .rdn-topbar-user .rdn-avatar { width: 32px; height: 32px; flex-basis: 32px; font-size: .78rem; }
body.rdn .rdn-topbar-user-name { font-weight: 600; font-size: .85rem; max-width: 14rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rdn .rdn-topbar-user-chev { font-size: .65rem; opacity: .55; }

body.rdn .rdn-user-dropdown { border: 0; border-radius: var(--r-lg); min-width: 280px; padding: 0; overflow: hidden; margin-top: .5rem; box-shadow: var(--sh-lg); }
body.rdn .rdn-user-dropdown-header { background: var(--grad); color: #fff; padding: 1.25rem 1rem; text-align: center; }
body.rdn .rdn-user-dropdown-header .rdn-avatar { width: 64px; height: 64px; margin: 0 auto .5rem; font-size: 1.3rem; border: 3px solid rgba(255, 255, 255, .55); }
body.rdn .rdn-user-dropdown-name { font-weight: 700; font-size: 1rem; }
body.rdn .rdn-user-dropdown-email { font-size: .78rem; opacity: .85; margin-top: .15rem; }
body.rdn .rdn-user-dropdown-item { display: flex; align-items: center; gap: .75rem; padding: .65rem 1rem; font-size: .88rem; }
body.rdn .rdn-user-dropdown-item i { width: 1.15rem; text-align: center; color: var(--brand); }
body.rdn .rdn-user-dropdown-logout,
body.rdn .rdn-user-dropdown-logout i { color: var(--err-t); }
body.rdn .rdn-user-dropdown-logout:hover { background: var(--err-s); color: var(--err-t); }

body.rdn .rdn-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    padding: .9rem 1.75rem;
    border-top: 1px solid var(--line);
    background: var(--n-0);
    color: var(--muted);
    font-size: .78rem;
    font-family: var(--font-brand);
}
body.rdn .rdn-footer strong { color: var(--n-700); }
body.rdn .rdn-footer-dev { display: inline-flex; align-items: center; gap: .5rem; }
body.rdn .rdn-footer-dev-logo { width: 22px; height: 22px; }

body.rdn .param-slide-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .4);
    z-index: 1055;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
body.rdn .param-slide-backdrop.show { opacity: 1; visibility: visible; }
body.rdn .param-slide-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 760px;
    max-width: 100vw;
    background: var(--n-0);
    box-shadow: -8px 0 32px rgba(0, 0, 0, .18);
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 1060;
    display: flex;
    flex-direction: column;
}
body.rdn .param-slide-panel.open { transform: translateX(0); }
body.rdn .param-slide-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1.25rem;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, var(--n-50), var(--n-0));
    flex-shrink: 0;
}
body.rdn .param-slide-body { padding: 1.25rem; overflow-y: auto; flex: 1 1 auto; }

@media (max-width: 575.98px) {
    body.rdn .rdn-topbar { padding: 0 .75rem; gap: .4rem; }
    body.rdn .rdn-topbar-pageicon,
    body.rdn .rdn-topbar-sub { display: none; }
    body.rdn .rdn-topbar-title { font-size: .95rem; }
    body.rdn .rdn-footer { padding: .75rem 1rem; }
}

@media print {
    body.rdn .rdn-sb,
    body.rdn .rdn-topbar,
    body.rdn .rdn-footer,
    body.rdn .rdn-scrim { display: none !important; }
    body.rdn .rdn-main { margin: 0 !important; }
    body.rdn .rdn-content { padding: 0 !important; }
}
