@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=Instrument+Sans:wght@400;500;600;700&display=swap");
/* ============================================================================
   SMU MITROVICË — DOCUMENT & STAFF BROWSERS
   ----------------------------------------------------------------------------
   Loaded AFTER Content/Rregulloret/style.css by the only two views that use
   it, both of which open in a new tab from the public menu:
       Views/RregulloretPublic/Index.cshtml        (Rregulloret)
       Views/AcademicAnnex/AllStaff/Index.cshtml   (Stafi akademik)

   Those two sit on _LayoutStaff.cshtml — a third shell, unrelated to the
   public site — and so looked like a different product entirely. Rather than
   move them onto the public layout (their sidebar + AJAX #content is built
   on their own jQuery/Bootstrap bundle and would have to be rewritten), this
   sheet re-skins them in the same "PAPER & PINE" identity: ivory paper, pine
   sidebar, one coral accent, Fraunces over Instrument Sans, and the arch cut
   from the SMU mark's portico.

   Light and dark are driven by the same mechanism as the rest of the site —
   Scripts/smu-theme.js and data-theme on <html> — so the switch follows the
   visitor across from the public pages. Tokens only.

   The sidebar layout itself is kept: for a document browser it is the right
   shape, and #sidebar / #content / .components li.active are bound by
   Content/Rregulloret/main.js and the views' own loadDocs()/loadStaff().
   ========================================================================== */

:root {
    --d-bg: #F8F5EE;
    --d-paper: #FFFDF9;
    --d-surface: #F0EBE0;
    --d-line: #E0D8C7;

    --d-ink: #1A211C;
    --d-heading: #101613;
    --d-muted: #5A6660;

    --d-pine: #0C3A2D;
    --d-pine-900: #07271E;

    --d-coral: #E0563D;
    --d-coral-solid: #C9482F;
    --d-coral-ink: #B23A22;
    --d-coral-bright: #FF8A6E;

    --d-arch: 999px 999px 0 0;
    --d-r: 10px;
    --d-r-lg: 18px;
    --d-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
    --d-sans: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --d-ease: cubic-bezier(.22, .61, .36, 1);
}

:root[data-theme="dark"] {
    --d-bg: #0A1210;
    --d-paper: #101B17;
    --d-surface: #16241F;
    --d-line: rgba(255, 255, 255, .12);

    --d-ink: #E7EFEA;
    --d-heading: #F2F8F4;
    --d-muted: #A3B2AA;

    --d-coral-ink: #FF8A6E;
}

/* ------------------------------------------------------------------ BASE */
html {
    background: var(--d-bg);
}

body {
    background: var(--d-bg);
    color: var(--d-ink);
    font-family: var(--d-sans);
    font-size: 15.5px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body h1, body h2, body h3, body h4, body h5 {
    font-family: var(--d-serif);
    letter-spacing: -.028em;
    color: var(--d-heading);
}

a {
    color: var(--d-coral-ink);
    transition: color .2s var(--d-ease);
}

a:hover, a:focus {
    color: var(--d-coral);
    text-decoration: none;
}

:focus-visible {
    outline: 2px solid var(--d-coral);
    outline-offset: 2px;
    border-radius: 4px;
}

/* --------------------------------------------------------------- SIDEBAR */
#sidebar {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 288px;
    max-width: 288px;
    background: var(--d-pine);
    color: #FFFFFF;
}

/* the portico arch, quiet, at the foot of the rail */
#sidebar::after {
    content: "";
    position: absolute;
    left: -28%;
    bottom: -14%;
    z-index: -1;
    width: 150%;
    aspect-ratio: 0.85;
    border: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 0;
    border-radius: var(--d-arch);
    pointer-events: none;
}

#sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background: radial-gradient(72% 42% at 92% 2%, rgba(224, 86, 61, .26) 0%, rgba(224, 86, 61, 0) 64%);
}

#sidebar h1 {
    margin-bottom: 26px;
    font-family: var(--d-serif);
    font-size: 26px !important; /* the staff view sets font-size inline */
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
}

#sidebar h1 .logo,
#sidebar .h6 {
    color: #FFFFFF;
}

#sidebar h1 .logo span {
    color: var(--d-coral-bright);
}

#sidebar ul.components {
    padding: 0;
}

#sidebar ul li {
    font-size: 14.5px;
}

#sidebar ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    border-radius: 0;
    color: rgba(255, 255, 255, .74);
    font-weight: 500;
    transition: background-color .2s var(--d-ease), color .2s var(--d-ease), padding-left .2s var(--d-ease);
}

#sidebar ul li a span {
    color: rgba(255, 255, 255, .5);
    transition: color .2s var(--d-ease);
}

#sidebar ul li a:hover {
    background: rgba(255, 255, 255, .07);
    color: #FFFFFF;
    padding-left: 17px;
}

#sidebar ul li a:hover span {
    color: var(--d-coral-bright);
}

#sidebar ul li.active > a {
    position: relative;
    background: rgba(255, 255, 255, .1);
    color: #FFFFFF;
    font-weight: 600;
}

#sidebar ul li.active > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 2px;
    background: var(--d-coral);
}

#sidebar ul li.active > a span {
    color: var(--d-coral-bright);
}

/* the language flags and copyright at the foot of the rail */
#sidebar .footer p {
    font-size: 12px;
    color: rgba(255, 255, 255, .55);
}

#sidebar .footer img {
    border-radius: 4px;
    opacity: .8;
    transition: opacity .2s var(--d-ease);
}

#sidebar .footer a:hover img {
    opacity: 1;
}

/* ---- the collapse control ----
   The visible shape is NOT the button: style.css sets
   `.btn.btn-primary { background: transparent }` and paints the diamond on a
   `::after` rotated 45deg, in #3e5889. Setting a background on the button
   itself therefore did nothing except cast a rectangular shadow behind a
   transparent element — the colour has to go on the pseudo-element. */
#sidebar .custom-menu .btn,
#sidebarCollapse {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #FFFFFF;
}

#sidebar .custom-menu .btn.btn-primary::after,
#sidebarCollapse::after {
    background: var(--d-coral-solid);
    border-radius: var(--d-r);
}

#sidebar .custom-menu .btn.btn-primary:hover::after,
#sidebar .custom-menu .btn.btn-primary:focus::after,
#sidebarCollapse:hover::after {
    background: var(--d-coral);
}

#sidebar .custom-menu .btn:hover,
#sidebar .custom-menu .btn:focus,
#sidebarCollapse:hover {
    background: transparent;
    color: #FFFFFF;
}

/* ------------------------------------------------------------- CONTENT */
#content {
    background: var(--d-bg);
    color: var(--d-ink);
}

#content h1, #content h2, #content h3, #content h4 {
    color: var(--d-heading);
}

/* ============================================================================
   THE STAFF DIRECTORY  (AllStaff/_Search)
   ----------------------------------------------------------------------------
   The partial used to ship its own <style> block — injected AFTER this sheet
   by the ajax load, so it won for everything. It built each card as a 200px
   navy `.shape` rotated 25deg with the portrait counter-rotated -25deg and
   pushed into place with `top:150px; margin-left:115px`, over
   `box-shadow: 0 10px 20px black`. The cards were a fixed 235x300 inside
   `col-lg-2` columns narrower than that, so they overflowed, and the e-mail
   strip was pinned `position:absolute; width:232px`. It also set a BARE
   `p { color: … }`, which reached every paragraph on the page.

   This is the same card the main site uses for PublicCV and ALUMNI
   (.smu-people in smu-modern.css), restated in the --d-* tokens because
   these pages run on the Portfolio shell and never load that sheet.
   ========================================================================== */
#content .smu-staffgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(224px, 1fr));
    gap: 18px;
    margin-bottom: 34px;
}

#content .smu-staff {
    display: flex;
    flex-direction: column;
    gap: 13px;
    min-width: 0;
    padding: 22px 20px 18px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-r-lg);
    background: var(--d-paper);
    box-shadow: 0 1px 2px rgba(12, 34, 26, .05);
    color: inherit;
    text-decoration: none;
    transition: transform .26s var(--d-ease), box-shadow .26s var(--d-ease), border-color .26s var(--d-ease);
}

#content a.smu-staff:hover,
#content a.smu-staff:focus {
    transform: translateY(-4px);
    border-color: rgba(178, 58, 34, .28);
    box-shadow: 0 26px 54px -30px rgba(12, 34, 26, .42);
    text-decoration: none;
}

/* ---- the portrait, in the arch the whole identity uses ---- */
#content .smu-staff__photo {
    position: relative; /* the photo is layered over the monogram */
    align-self: flex-start;
    flex: 0 0 auto;
    width: 72px;
    height: 82px;
    overflow: hidden;
    border: 1px solid var(--d-line);
    border-radius: var(--d-arch);
    background: var(--d-surface);
}

#content .smu-staff__photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center top;
}

/* no photo on file: a monogram, not the EmptyUser clip-art */
#content .smu-staff__initial {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--d-pine);
    color: #FFFFFF;
    font-family: var(--d-serif);
    font-size: 27px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

#content .smu-staff__name {
    margin: 0;
    font-family: var(--d-serif);
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: -.024em;
    line-height: 1.3;
    color: var(--d-heading);
    overflow-wrap: anywhere;
}

#content .smu-staff__title {
    margin: -6px 0 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    color: var(--d-coral-ink);
    overflow-wrap: anywhere;
}

#content .smu-staff__role {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--d-muted);
    overflow-wrap: anywhere;
}

/* the e-mail: in the flow, not pinned to the bottom at a fixed width */
#content .smu-staff__mail {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid var(--d-line);
    font-size: 12.5px;
    color: var(--d-muted);
    overflow-wrap: anywhere;
}

#content .smu-staff__mail .fa {
    flex: 0 0 auto;
    color: var(--d-muted);
}

#content a.smu-staff:hover .smu-staff__mail {
    color: var(--d-coral-ink);
}

/* ---- the group heading that separates management / academic / admin ---- */
#content .smu-staffhead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 20px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--d-line);
}

#content .smu-staffhead h2 {
    margin: 0;
    font-family: var(--d-serif);
    font-size: clamp(19px, 2.2vw, 23px);
    font-weight: 600;
    letter-spacing: -.026em;
    color: var(--d-heading);
}

#content .smu-staffhead__count {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--d-muted);
    font-variant-numeric: tabular-nums;
}

#content .smu-staffgroup + .smu-staffgroup {
    margin-top: 6px;
}

/* The theme toggle is `position: fixed` at the top right, so it sits over
   whatever the content column puts there. The first group's head carries its
   count at exactly that corner, so it reserves the width. */
#content .smu-staffgroup:first-of-type .smu-staffhead {
    padding-right: 52px;
}

#content .panel-heading {
    padding: 16px 22px;
    border: 0;
    border-bottom: 1px solid var(--d-line);
    border-radius: 0;
    background: var(--d-surface);
    color: var(--d-heading);
    font-family: var(--d-serif);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.024em;
}

@media (max-width: 575px) {
    #content .smu-staffgrid {
        grid-template-columns: 1fr;
    }
}

/* ---- regulation rows (RregulloretPublic/_Rregulloret) ---- */
#content .postcard {
    border: 1px solid var(--d-line);
    border-radius: var(--d-r-lg);
    background: var(--d-paper);
    box-shadow: 0 1px 2px rgba(12, 34, 26, .05);
    transition: border-color .3s var(--d-ease), box-shadow .3s var(--d-ease);
}

#content .postcard:hover {
    border-color: rgba(178, 58, 34, .3);
    box-shadow: 0 20px 44px -28px rgba(12, 34, 26, .4);
}

#content .postcard__text,
#content .TITULLICLASS {
    font-family: var(--d-serif);
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: -.022em;
    color: var(--d-heading);
}

#content .NUMRIAKTIT,
#content .DATACLASS,
#content .KATEGORIACLASS {
    font-family: var(--d-sans);
    font-size: 12.5px;
    font-weight: 500;
    color: var(--d-muted);
}

#content .accordion-toggle,
#content .accordion-toggle:hover {
    color: var(--d-heading);
    text-decoration: none;
}

#content .fa-cloud-download,
#content .fa-bullseye {
    color: var(--d-coral-ink);
}

/* ---- the search field ---- */
/* ---- the search bar ----
   Same component as the main public theme (.flexsearch in smu-modern.css),
   restated in the --d-* tokens because these two pages run on the Portfolio
   shell and never load that sheet. The FORM is the field: one rounded bar
   holding a magnifier, the input and a solid button, none overlapping. */
#content .flexsearch,
.flexsearch {
    display: block;
    position: relative;
}

#content .flexsearch--wrapper,
.flexsearch--wrapper {
    display: block;
}

#content .flexsearch--form,
.flexsearch--form {
    position: static;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    overflow: visible;
    border: 1px solid var(--d-line);
    border-radius: 999px;
    background: var(--d-paper);
    transition: border-color .22s var(--d-ease), box-shadow .22s var(--d-ease);
}

#content .flexsearch--form:focus-within,
.flexsearch--form:focus-within {
    border-color: var(--d-coral);
    box-shadow: 0 0 0 4px rgba(224, 86, 61, .14);
}

#content .flexsearch--input-wrapper,
.flexsearch--input-wrapper {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    overflow: visible;
}

#content .flexsearch--input-wrapper::before,
.flexsearch--input-wrapper::before {
    content: "\f002";
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    font-size: 16px;
    line-height: 1;
    color: var(--d-muted);
    pointer-events: none;
}

#content .flexsearch--form .flexsearch--input,
.flexsearch--form .flexsearch--input {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    height: 62px;
    margin: 0;
    padding: 0 14px 0 54px;
    border: 0;
    border-radius: 999px 0 0 999px;
    background: transparent;
    box-shadow: none;
    color: var(--d-ink);
    font-family: var(--d-sans);
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
}

#content .flexsearch--input::placeholder,
.flexsearch--input::placeholder {
    color: var(--d-muted);
    opacity: 1;
}

#content .flexsearch--form .flexsearch--input:focus,
.flexsearch--form .flexsearch--input:focus {
    outline: none;
    border: 0;
    box-shadow: none;
}

#content .flexsearch--form .flexsearch--submit,
.flexsearch--form .flexsearch--submit {
    position: static;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 62px;
    height: 50px;
    margin: 6px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: var(--d-coral-solid);
    color: #FFFFFF;
    font-family: var(--d-sans);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s var(--d-ease), transform .2s var(--d-ease);
}

#content .flexsearch--submit:hover,
.flexsearch--submit:hover {
    background: var(--d-coral);
    color: #FFFFFF;
    transform: translateY(-1px);
}

@media (max-width: 575px) {
    #content .flexsearch--form .flexsearch--input,
    .flexsearch--form .flexsearch--input {
        height: 54px;
        padding-left: 46px;
        font-size: 15px;
    }

    #content .flexsearch--input-wrapper::before,
    .flexsearch--input-wrapper::before {
        left: 18px;
    }

    #content .flexsearch--form .flexsearch--submit,
    .flexsearch--form .flexsearch--submit {
        min-width: 52px;
        height: 44px;
        padding: 0 14px;
        font-size: 17px;
    }
}

/* ---- radios ---- */
#content .option-input,
.option-input {
    width: 19px;
    height: 19px;
    border: 2px solid var(--d-line);
    border-radius: 50%;
    background: var(--d-paper);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border-color .2s var(--d-ease), box-shadow .2s var(--d-ease);
}

#content .option-input:checked,
.option-input:checked {
    border-color: var(--d-coral);
    border-width: 6px;
    box-shadow: 0 0 0 3px rgba(224, 86, 61, .16);
}

/* style.css draws the checked dot as a `::before` filled #3e5889 and a
   `::after` ripple in #9faab7. The border above already reads as the dot, so
   the pseudo-elements are retired rather than recoloured. */
#content .option-input:checked::before,
.option-input:checked::before,
#content .option-input:checked::after,
.option-input:checked::after {
    display: none;
}

/* ---- the group header bar (_MainRegulloret .results_head) ---- */
#content .results_head {
    padding: 13px 18px;
    border-radius: var(--d-r);
    background: var(--d-pine) !important; /* the view inlines #3e5889 */
    color: #FFFFFF;
    font-family: var(--d-serif);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.018em;
}

/* the two marker icons the rows inline `color:#3e5889` on */
#content .results_box .fa,
#content .span_margin {
    color: var(--d-coral-ink) !important;
}

/* ---- pagination ---- */
#content .pagination > .active > a,
#content .pagination > .active > a:focus,
#content .pagination > .active > a:hover,
#content .pagination > .active > span,
#content .pagination > .active > span:focus,
#content .pagination > .active > span:hover {
    background-color: var(--d-pine) !important; /* the view inlines #3e5889 */
    border-color: var(--d-pine) !important;
    color: #FFFFFF;
}

/* `.m-radio-inline` is the WRAPPER around all five search-mode radios, not a
   single radio. As inline-flex it laid them in one row 679px wide inside a
   211px sidebar column — a 468px overflow, which is what made the filter rail
   look mangled. It stacks; only the individual `.m-radio` is a row. */
#content .m-radio-inline {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-right: 0;
}

#content .m-radio {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 7px 0;
    color: var(--d-ink);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
}

/* the views put an empty <span> after each label for the old sprite */
#content .m-radio > span:empty {
    display: none;
}

/* `.m-radio-inline` is followed by `<br>` between labels in the markup */
#content .m-radio-inline br {
    display: none;
}

/* ============================================================================
   DOCUMENT ROWS  (RregulloretPublic/_Rregulloret)
   ----------------------------------------------------------------------------
   Each regulation is a card: title, category, the dates, and one download
   button per language. The language links used to carry `class="fa"` on the
   <a> ITSELF, which set FontAwesome as the font for the whole element — so
   the labels ALB / EN / BSN rendered as glyph soup rather than words.
   ========================================================================== */
#content .results_box {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 14px;
    padding: 22px 24px 20px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-r-lg);
    background: var(--d-paper);
    box-shadow: 0 1px 2px rgba(12, 34, 26, .05);
    transition: border-color .26s var(--d-ease), box-shadow .26s var(--d-ease);
}

#content .results_box:hover {
    border-color: rgba(178, 58, 34, .28);
    box-shadow: 0 20px 44px -28px rgba(12, 34, 26, .4);
}

#content .smu-doc__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

#content .smu-doc__title {
    flex: 1 1 320px;
    min-width: 0;
    margin: 0;
    font-family: var(--d-serif);
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: -.022em;
    line-height: 1.4;
    color: var(--d-heading);
    overflow-wrap: anywhere;
}

#content a.smu-doc__title:hover,
#content a.smu-doc__title:focus {
    color: var(--d-coral-ink);
    text-decoration: none;
}

/* ---- one download button per language ---- */
#content .smu-doc__langs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 0 0 auto;
}

#content .smu-doc__lang {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border: 1px solid var(--d-line);
    border-radius: 999px;
    background: var(--d-surface);
    color: var(--d-ink);
    font-family: var(--d-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .2s var(--d-ease), border-color .2s var(--d-ease), color .2s var(--d-ease);
}

#content .smu-doc__lang .fa {
    font-size: 12px;
    color: var(--d-coral-ink);
}

#content a.smu-doc__lang:hover,
#content a.smu-doc__lang:focus {
    border-color: var(--d-pine);
    background: var(--d-pine);
    color: #FFFFFF;
    text-decoration: none;
}

#content a.smu-doc__lang:hover .fa,
#content a.smu-doc__lang:focus .fa {
    color: var(--d-coral-bright);
}

/* ---- the facts under the title ---- */
#content .smu-doc__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding-top: 13px;
    border-top: 1px solid var(--d-line);
}

#content .smu-doc__fact {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    font-size: 12.5px;
    color: var(--d-muted);
    overflow-wrap: anywhere;
}

#content .smu-doc__fact b,
#content .smu-doc__fact strong {
    font-weight: 600;
    color: var(--d-muted);
}

#content .smu-doc__fact .v {
    font-weight: 600;
    color: var(--d-ink);
    font-variant-numeric: tabular-nums;
}

#content .smu-doc__cat {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(12, 58, 45, .09);
    color: var(--d-pine);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
/* In dark, a pine chip on the dark paper measured 1.39:1 — pine IS very
   nearly the card. It inverts to a white wash with ink text, the way the
   thesis level chip does on the main site. */
:root[data-theme="dark"] #content .smu-doc__cat {
    background: rgba(255, 255, 255, .1);
    color: var(--d-ink);
}

/* ---- extra documents ---- */
#content .smu-doc__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--d-coral-ink);
    cursor: pointer;
}

#content .smu-doc__more[aria-disabled="true"] {
    color: var(--d-muted);
    cursor: default;
}

#content .smu-doc__more .fa {
    transition: transform .22s var(--d-ease);
}

#content .smu-doc__more[aria-expanded="true"] .fa {
    transform: rotate(180deg);
}

#content .smu-doc__extras {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 2px;
    padding: 16px 18px;
    border-radius: var(--d-r);
    background: var(--d-surface);
}

#content .smu-doc__extra {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--d-line);
}

#content .smu-doc__extra:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

#content .smu-doc__extra .smu-doc__title {
    font-size: 14.5px;
}

/* ---- the filter rail ---- */
#content .results_act_title {
    padding: 16px 0 22px !important; /* the view inlines `padding-top:15%` */
}

#content .smu-catlist__empty {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--d-muted);
}

#content .smu-catlist {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

#content .smu-catlist a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 2px;
    border-bottom: 1px solid var(--d-line);
    color: var(--d-ink);
    font-size: 13px;
    text-decoration: none;
    transition: color .18s var(--d-ease), padding-left .18s var(--d-ease);
}

#content .smu-catlist a:hover,
#content .smu-catlist a:focus {
    padding-left: 7px;
    color: var(--d-coral-ink);
    text-decoration: none;
}

#content .smu-catlist .n {
    flex: 0 0 auto;
    padding: 2px 9px;
    border-radius: 999px;
    background: var(--d-surface);
    color: var(--d-muted);
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ---- the pager ----
   PagedListPager emits a bare `<ul class="pagination"><li><a>1</a></li></ul>`,
   which this theme had never styled — so the page number rendered as a loose
   digit under the row list. */
#content .postcard__text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 14px 20px;
    font-family: var(--d-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--d-muted);
}

#content .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#content .pagination > li {
    display: block;
}

#content .pagination > li > a,
#content .pagination > li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 11px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-r);
    background: var(--d-paper);
    color: var(--d-ink);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    font-variant-numeric: tabular-nums;
    transition: border-color .18s var(--d-ease), background-color .18s var(--d-ease), color .18s var(--d-ease);
}

#content .pagination > li > a:hover,
#content .pagination > li > a:focus {
    border-color: var(--d-coral);
    color: var(--d-coral-ink);
    text-decoration: none;
}

/* ---- nothing to show ---- */
#content .smu-docs-empty {
    padding: clamp(34px, 6vw, 60px) 26px;
    border: 1px dashed var(--d-line);
    border-radius: var(--d-r-lg);
    background: var(--d-paper);
    text-align: center;
}

#content .smu-docs-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 56px;
    margin-bottom: 15px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-arch);
    background: var(--d-surface);
    color: var(--d-muted);
    font-size: 20px;
}

#content .smu-docs-empty h3 {
    margin: 0 0 8px;
    font-family: var(--d-serif);
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -.024em;
    color: var(--d-heading);
}

#content .smu-docs-empty p {
    margin: 0 auto;
    max-width: 44ch;
    font-size: 13.5px;
    color: var(--d-muted);
}

/* ---- tables, panels, generic ---- */
#content table {
    color: var(--d-ink);
}

#content table > thead > tr > th {
    border-bottom: 1px solid var(--d-line);
    background: var(--d-surface);
    color: var(--d-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#content table > tbody > tr > td {
    border-top: 1px solid var(--d-line);
}

#content .panel,
#content .card {
    border: 1px solid var(--d-line);
    border-radius: var(--d-r-lg);
    background: var(--d-paper);
}

/* --------------------------------------------------------- THEME TOGGLE */
.smu-docs-toggle {
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 60;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--d-line);
    border-radius: 50%;
    background: var(--d-paper);
    color: var(--d-muted);
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 10px 24px -14px rgba(12, 34, 26, .5);
    transition: color .2s var(--d-ease), border-color .2s var(--d-ease);
}

.smu-docs-toggle:hover,
.smu-docs-toggle:focus {
    border-color: var(--d-coral);
    color: var(--d-coral-ink);
    outline: none;
}

.smu-docs-toggle .fa-sun-o {
    display: none;
}

:root[data-theme="dark"] .smu-docs-toggle .fa-moon-o {
    display: none;
}

:root[data-theme="dark"] .smu-docs-toggle .fa-sun-o {
    display: inline-block;
}

/* --------------------------------------------------------------- MOTION */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
    }
}
