/* ÇAKÜ integration layer. Evohus owns layout and dashboard component geometry. */
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../assets/fonts/public-sans-variable/public-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../assets/fonts/public-sans-variable/public-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-display: swap;
    font-weight: 100 900;
    src: url("../assets/fonts/public-sans-variable/public-sans-latin-ext-wght-italic.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-display: swap;
    font-weight: 100 900;
    src: url("../assets/fonts/public-sans-variable/public-sans-latin-wght-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../assets/fonts/inter/inter-latin-ext-wght-normal.woff2") format("woff2");
}

html,
body,
button,
input,
select,
textarea,
.apexcharts-text,
.apexcharts-legend-text {
    font-family: "Public Sans", sans-serif !important;
}

html.portal-evohus-document,
html.portal-evohus-document body {
    height: auto !important;
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.portal-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    color: var(--dx-emphasis-color);
    text-decoration: none;
    white-space: nowrap;
}

.portal-brand__mark {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    flex: 0 0 auto;
}

.portal-brand__text {
    font-size: 1.08rem;
    font-weight: 850;
    letter-spacing: -.025em;
}

.portal-sidebar-brand .portal-brand {
    color: var(--dx-white);
}

.topbar-actions {
    min-width: 0;
    padding-inline-end: .35rem;
}

.portal-profile-dropdown {
    flex: 0 0 auto;
}

.portal-profile-dropdown .dropdown-toggle {
    max-width: 19rem;
}

.portal-profile-copy {
    max-width: 12rem;
    min-width: 0;
}
.portal-skip-link {
    position: fixed;
    top: -5rem;
    left: 1rem;
    z-index: 2000;
    padding: .75rem 1rem;
    border-radius: .5rem;
    background: var(--dx-primary);
    color: var(--dx-white);
}

.portal-skip-link:focus { top: 1rem; }

.portal-content-host { display: contents; }
.evohus-template-main { display: contents; }
.portal-no-sidebar .main-topbar { inset-inline-start: 0 !important; width: 100% !important; display: flex !important; align-items: center; }
.portal-no-sidebar .main-topbar::before { display: none !important; content: none !important; }
.portal-no-sidebar .page-wrapper { margin-inline-start: 0 !important; width: 100% !important; }
.portal-no-sidebar .main-topbar > .navbar-brand { display: flex !important; visibility: visible !important; width: auto !important; min-width: 13rem; flex: 0 0 auto; margin: 0; padding-inline: 1rem 1.25rem; border: 0; opacity: 1 !important; }
.portal-no-sidebar .main-topbar > .navbar-brand .logos,
.portal-no-sidebar .main-topbar > .navbar-brand .portal-brand { display: flex !important; visibility: visible !important; opacity: 1 !important; }
.portal-no-sidebar .main-topbar > .align-items-center { margin-inline-start: 0; }
.portal-no-sidebar .main-footer { width: 100% !important; margin-inline-start: 0 !important; inset-inline-start: 0 !important; }
.portal-inner-page { --portal-inner-gutter: clamp(.75rem, 2vw, 2rem); background-color: var(--dx-body-bg) !important; }
.portal-inner-page .page-wrapper { min-height: 100vh; padding: var(--dx-topbar) 0 3.5rem !important; background-color: var(--dx-body-bg) !important; }
.portal-inner-main { width: 100%; max-width: none; min-height: calc(100vh - 3.5rem); padding: 0 var(--portal-inner-gutter) var(--portal-inner-gutter); }
.portal-inner-main.portal-content-host { display: block; }
.portal-inner-main > .container-fluid { width: 100%; max-width: none; margin-inline: 0; padding-inline: 0; }
.portal-inner-page .portal-inner-main,
.portal-inner-page .portal-legacy-content { background-color: var(--dx-body-bg) !important; }
.portal-shell-heading { padding: 1rem var(--portal-inner-gutter); background-color: var(--dx-body-bg); }
.portal-page-hero {
    --portal-module-tone: var(--dx-primary);
    --portal-module-on: var(--dx-white);
    min-height: 9.5rem;
    margin: 0;
    isolation: isolate;
    background: linear-gradient(115deg, var(--portal-module-tone), color-mix(in srgb, var(--portal-module-tone) 74%, var(--dx-black) 26%));
    color: var(--portal-module-on);
    box-shadow: var(--dx-box-shadow-sm);
}
.portal-page-hero__body { min-height: 9.5rem; padding: clamp(1.35rem, 2vw, 2rem) clamp(1.35rem, 2.4vw, 2.5rem); }
.portal-page-hero__copy { position: relative; z-index: 2; min-width: 0; }
.portal-page-hero__eyebrow { margin: 0 0 .45rem; color: color-mix(in srgb, var(--portal-module-on) 82%, transparent); font-size: clamp(.8rem, 1vw, .9rem); font-weight: 700; letter-spacing: .035em; }
.portal-page-hero h1 { margin: 0 0 1.05rem; color: var(--portal-module-on); font-size: clamp(1.5rem, 2.25vw, 2.1rem); font-weight: 760; line-height: 1.15; }
.portal-page-hero__breadcrumb { align-items: center; flex-wrap: wrap; gap: .42rem; color: color-mix(in srgb, var(--portal-module-on) 82%, transparent); font-size: clamp(.78rem, .95vw, .9rem); }
.portal-page-hero__breadcrumb .breadcrumb-item + .breadcrumb-item::before { display: none; }
.portal-page-hero__breadcrumb .breadcrumb-item,
.portal-page-hero__breadcrumb .breadcrumb-item.active,
.portal-page-hero__breadcrumb .breadcrumb-item a { color: inherit; }
.portal-page-hero__breadcrumb .breadcrumb-item a:hover { color: var(--portal-module-on); }
.portal-page-hero__separator { display: inline-flex; align-items: center; color: inherit; }
.portal-page-hero__separator svg { width: .9rem; height: .9rem; }
.portal-page-hero__pattern { position: absolute; z-index: 0; inset: 0 0 0 auto; width: min(58%, 44rem); pointer-events: none; }
.portal-page-hero__pattern svg { width: 100%; height: 100%; }
.portal-page-hero__pattern path { stroke: color-mix(in srgb, var(--portal-module-on) 16%, transparent); stroke-width: 1.5; }
.portal-page-hero__visual { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; }
.portal-page-hero__icon { display: grid; width: clamp(5rem, 8vw, 7rem); height: clamp(5rem, 8vw, 7rem); place-items: center; border: 1px solid color-mix(in srgb, var(--portal-module-on) 22%, transparent); border-radius: 1.35rem; background: color-mix(in srgb, var(--portal-module-on) 13%, transparent); color: var(--portal-module-on); transform: rotate(4deg); box-shadow: 0 1rem 2.25rem color-mix(in srgb, var(--dx-black) 15%, transparent); }
.portal-page-hero__icon svg { width: 52%; height: 52%; stroke-width: 1.55; }
.portal-page-hero__icon iconify-icon { width: 1em; height: 1em; color: inherit; font-size: clamp(2.5rem, 4vw, 3.75rem); }
.portal-page-context { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; padding: 0; }
.portal-page-context__copy { margin: 0; color: var(--dx-secondary-color); }
.portal-page-context__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .65rem; }
.portal-inner-main > .ui.container,
.portal-inner-main > .ui.grid,
.portal-inner-main > .ui.segment { width: 100% !important; max-width: none !important; margin-inline: 0 !important; }
.portal-inner-main > .ui.container { padding-block-start: 0 !important; }
.portal-inner-main > .header-segment:first-child,
.portal-inner-main > .ui.container > .header-segment:first-child,
.portal-inner-main > .ui.grid:first-child > .column > .header-segment:first-child,
.portal-inner-main > .ui.grid:first-child > .row > .column > .header-segment:first-child {
    width: 100% !important;
    margin: 0 0 1.25rem !important;
}

.portal-inner-page .header-segment {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--dx-body-color) !important;
}
.portal-inner-page .header-segment > iconify-icon,
.portal-inner-page .header-segment h1,
.portal-inner-page .header-segment .ui.breadcrumb { display: none !important; }
.portal-inner-page .header-segment .top-content { margin: 0 !important; }
.portal-inner-page .header-segment .sub.header,
.portal-inner-page .header-segment p { color: var(--dx-secondary-color) !important; }

.portal-shared-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(1.75rem, 2.4vw, 2.75rem) !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--k-theme-on-brand);
    animation: portal-header-enter .42s cubic-bezier(.2, .75, .25, 1) both;
}
.portal-shared-header::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(115deg, transparent 35%, var(--k-inline-on-brand-20));
    pointer-events: none;
}
.portal-shared-header__watermark {
    position: absolute;
    z-index: -1;
    right: -3rem;
    bottom: -4rem;
    opacity: .15;
    color: var(--k-theme-on-brand);
    transform: rotate(18deg);
    animation: portal-header-mark-enter .65s cubic-bezier(.2, .75, .25, 1) both;
}
.portal-shared-header__copy { min-width: 0; flex: 1 1 auto; }
.portal-shared-header__actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: .75rem; }
.portal-shared-header__actions .premium-btn { min-width: max-content; margin: 0; }
.portal-shared-header .ui.breadcrumb,
.portal-shared-header .ui.breadcrumb .section,
.portal-shared-header .ui.breadcrumb .active.section { color: var(--k-theme-on-brand) !important; }

@keyframes portal-header-enter {
    from { opacity: 0; transform: translateY(-.65rem); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes portal-header-mark-enter {
    from { opacity: 0; transform: translate3d(1.5rem, 1rem, 0) rotate(12deg) scale(.9); }
    to { opacity: .15; transform: translate3d(0, 0, 0) rotate(18deg) scale(1); }
}

#portal-toast-region { z-index: 1090; }

.main-sidebar form.mt-auto {
    border-top: 1px solid color-mix(in srgb, var(--dx-sidebar-bg) 100%, white 10%);
}

.main-topbar .profile-dropdown button img { object-fit: cover; }

.portal-navbar-search-host { width: min(24rem, 31vw); max-width: 24rem; flex: 0 1 24rem; min-width: 15rem; }
.portal-navbar-search-host .navbar-search { position: relative !important; display: block !important; width: 100% !important; cursor: pointer; }
.portal-navbar-search-host .navbar-search > .icon { position: absolute; inset-inline-start: .9rem; top: 50%; z-index: 2; transform: translateY(-50%); }
.portal-navbar-search-host .navbar-search input[readonly] { width: 100% !important; min-width: 0; cursor: pointer; padding-inline: 2.6rem 4.5rem !important; }
.portal-search-shortcut {
    position: absolute;
    inset-inline-end: .7rem;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid var(--dx-border-color);
    border-radius: .35rem;
    background: var(--dx-body-bg);
    color: var(--dx-body-color);
    padding: .15rem .35rem;
    font-size: .68rem;
}
.portal-topbar-panel { min-width: min(24rem, calc(100vw - 1.5rem)); }
.portal-topbar-empty { display: flex; min-height: 12rem; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 2rem; color: var(--dx-secondary-color); text-align: center; }
.portal-topbar-empty strong { color: var(--dx-emphasis-color); }
.portal-topbar-empty span { font-size: .8125rem; }
.portal-topbar-app-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; max-height: min(60vh, 32rem); overflow-y: auto; }
.portal-topbar-app { display: flex; min-width: 0; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid var(--dx-border-color); border-radius: var(--dx-border-radius-lg); color: var(--dx-body-color); text-decoration: none; transition: border-color .18s ease, background-color .18s ease; }
.portal-topbar-app:hover { border-color: var(--dx-primary); background: var(--dx-primary-bg-subtle); }
.portal-topbar-app__icon { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: var(--dx-primary-bg-subtle); color: var(--dx-primary); font-size: 1.15rem; }
.portal-topbar-app > span:last-child { min-width: 0; }
.portal-topbar-app strong, .portal-topbar-app small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-topbar-app small { color: var(--dx-secondary-color); font-size: .75rem; }
.portal-theme-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.portal-theme-option { padding: .75rem; border: 1px solid var(--dx-border-color); border-radius: var(--dx-border-radius-lg); background: var(--dx-secondary-bg); color: var(--dx-body-color); text-align: start; }
.portal-theme-option.is-active { border-color: var(--dx-primary); box-shadow: 0 0 0 .15rem var(--dx-primary-bg-subtle); }
.portal-theme-option strong, .portal-theme-option small { display: block; }
.portal-theme-option small { margin-top: .15rem; color: var(--dx-secondary-color); font-size: .72rem; }
.portal-theme-swatch { display: block; height: 2.75rem; margin-bottom: .65rem; border: 1px solid var(--dx-border-color); border-radius: .5rem; }
.portal-theme-swatch--colorful { background: linear-gradient(135deg, var(--dx-primary), var(--dx-info), var(--dx-warning)); }
.portal-theme-swatch--light { background: var(--dx-white); }
.portal-theme-swatch--dark { background: var(--dx-dark); }

.portal-equal-height-half { margin-bottom: 1.5rem; }
.portal-equal-height-half > .row { height: 100%; }
.portal-equal-height-half > .row > [class*="col-"] { display: flex; }
.portal-equal-height-half > .row > [class*="col-"] > .card { width: 100%; height: 100%; margin-bottom: 0; }
.welcome-card {
    position: relative;
    overflow: clip;
    border-radius: var(--dx-card-border-radius, var(--dx-border-radius-lg));
}
.welcome-card .portal-welcome-profile {
    position: absolute !important;
    inset-block: 0 !important;
    inset-inline: auto 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: block;
    width: 34% !important;
    max-width: none;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
    object-position: center top;
    border-radius: 0 var(--dx-card-border-radius, var(--dx-border-radius-lg)) var(--dx-card-border-radius, var(--dx-border-radius-lg)) 0 !important;
    border-start-end-radius: var(--dx-card-border-radius, var(--dx-border-radius-lg)) !important;
    border-end-end-radius: var(--dx-card-border-radius, var(--dx-border-radius-lg)) !important;
    clip-path: none;
}
.portal-welcome-kicker { color: var(--dx-primary); font-size: .72rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.portal-welcome-title { color: var(--dx-emphasis-color); font-size: clamp(1.15rem, 1.45vw, 1.5rem); }
.portal-welcome-secure { display: inline-flex; align-items: center; gap: .45rem; color: var(--dx-success); font-size: .82rem; font-weight: 700; }
.portal-welcome-secure svg { width: 1.05rem; height: 1.05rem; }

.portal-weather-card { height: 100%; min-height: 0; overflow: hidden; border: 0; background: linear-gradient(145deg, var(--dx-success), color-mix(in srgb, var(--dx-success) 68%, var(--dx-primary) 32%)); }
.portal-weather-card .card-body { position: relative; min-height: 0; padding: 1.25rem; }
.portal-weather-icon { position: absolute; inset-block-start: 1rem; inset-inline-end: 1rem; line-height: 1; color: rgba(255, 255, 255, .9); }
.portal-weather-icon iconify-icon { width: 1em; height: 1em; font-size: clamp(4.5rem, 5.5vw, 6rem); filter: drop-shadow(0 .5rem 1rem rgba(0, 0, 0, .12)); }
.portal-weather-temperature { font-family: inherit; font-size: clamp(3rem, 4vw, 4rem); font-weight: 800 !important; line-height: .95; letter-spacing: -.04em; text-shadow: 0 .25rem .75rem rgba(0, 0, 0, .12); }
.portal-weather-description { font-size: clamp(1rem, 1.35vw, 1.2rem); font-weight: 750 !important; }
.portal-weather-location { display: flex; align-items: center; gap: .3rem; color: rgba(255, 255, 255, .86); font-size: .92rem; font-weight: 700 !important; }
.portal-impersonation-banner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .7rem; padding: .7rem var(--portal-inner-gutter, 1rem); border-bottom: 1px solid var(--dx-warning-border-subtle); background: var(--dx-warning-bg-subtle); color: var(--dx-warning-text-emphasis); text-align: center; }
.portal-impersonation-banner > svg { width: 1.1rem; height: 1.1rem; }
.portal-impersonation-banner form { margin: 0; }
.portal-rbac-module-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 1rem; height: calc(100% - 1.25rem); }
.portal-rbac-module-grid .portal-module-card { min-height: 0; grid-column: span 2; }
.portal-rbac-module-grid--1 .portal-module-card { grid-column: span 6; }
.portal-rbac-module-grid--2 .portal-module-card { grid-column: span 3; }
.portal-rbac-module-grid--3 .portal-module-card { grid-column: span 2; }
.portal-rbac-module-grid--4 .portal-module-card { grid-column: span 3; }
.portal-rbac-module-grid--5 .portal-module-card { grid-column: span 2; }
.portal-rbac-module-grid--5 .portal-module-card:nth-last-child(-n + 2) { grid-column: span 3; }
.portal-rbac-module-grid--6 .portal-module-card { grid-column: span 2; }
.portal-rbac-module-grid .portal-module-card--compact .card-body { padding: .9rem; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-icon { width: 2.5rem; height: 2.5rem; border-radius: .65rem; font-size: 1.2rem; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-copy { padding-top: .65rem; padding-inline-end: 1.7rem; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-copy h5 { margin-bottom: .2rem; font-size: .85rem; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-copy p { font-size: .7rem; -webkit-line-clamp: 1; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-action { inset-inline-end: .7rem; inset-block-end: .7rem; width: 1.7rem; height: 1.7rem; }
.portal-rbac-module-grid .portal-module-card--compact .portal-module-badge { inset-inline-end: .7rem; inset-block-start: .7rem; min-width: 1.6rem; height: 1.6rem; font-size: .68rem; }
.portal-chart-runtime-host { position: fixed; inset: 0 auto auto -10000px; width: 320px; height: 180px; overflow: hidden; visibility: hidden; pointer-events: none; }
@media (min-width: 1536px) {
    .portal-dashboard-top > .col-xxl-6 > .row { height: 100%; }
    .portal-dashboard-top > .col-xxl-6 > .row > [class*="col-"] { display: flex; }
    .portal-dashboard-top > .col-xxl-6 > .row > [class*="col-"] > .card { width: 100%; height: calc(100% - 1.25rem); }
}
.portal-menu-list { margin-bottom: 1rem; }
.portal-menu-item { display: flex; align-items: center; gap: .7rem; padding: .52rem 0; }
.portal-menu-item img { width: 1.65rem; height: 1.65rem; flex: 0 0 auto; }
.portal-menu-name { min-width: 0; flex: 1; }
.portal-menu-calorie { margin-inline-start: auto; color: var(--dx-primary); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.portal-monthly-menu-link { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.portal-menu-footer { display: grid; gap: .75rem; }
.portal-menu-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .75rem; border-top: 1px dashed var(--dx-border-color); color: var(--dx-secondary-color); font-size: .78rem; }
.portal-menu-summary strong { color: var(--dx-emphasis-color); font-size: .88rem; }
.portal-home-content-column .propertySwiper .swiper-slide { height: auto; }
.portal-home-content-column .propertySwiper .swiper-slide > .card { height: calc(100% - 1.25rem); }
.portal-module-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.portal-module-card { --portal-module-tone: var(--dx-primary); --portal-module-on: var(--dx-white); position: relative; min-width: 0; height: 100%; margin-bottom: 0; overflow: hidden; border: 0; background: linear-gradient(145deg, var(--portal-module-tone), color-mix(in srgb, var(--portal-module-tone) 72%, var(--dx-black) 28%)); color: var(--portal-module-on); text-decoration: none; isolation: isolate; }
.portal-module-card::after { content: ""; position: absolute; width: 5rem; height: 5rem; inset-inline-start: -2rem; inset-block-end: -2.5rem; background: color-mix(in srgb, var(--portal-module-on) 8%, transparent); border-radius: 50%; z-index: -1; }
.portal-module-card .card-body { min-width: 0; height: 100%; display: flex; flex-direction: column; padding: 1.25rem; }
.portal-module-watermark { position: absolute; inset-block-start: -.8rem; inset-inline-end: -.55rem; width: 6.5rem; height: 6.5rem; color: var(--portal-module-on); font-size: 6.5rem; opacity: .14; transform: rotate(-16deg); transform-origin: center; pointer-events: none; }
.portal-module-card--compact .portal-module-watermark { inset-block-start: -.55rem; inset-inline-end: -.4rem; width: 4.75rem; height: 4.75rem; font-size: 4.75rem; }
.portal-module-card:hover { color: var(--portal-module-on); transform: translateY(-2px); box-shadow: var(--dx-box-shadow); }
.portal-module-icon { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: .8rem; background: color-mix(in srgb, var(--portal-module-on) 16%, transparent); color: var(--portal-module-on); font-size: 1.65rem; }
.portal-module-icon iconify-icon { width: 1em; height: 1em; font-size: inherit; }
.portal-module-copy { min-width: 0; margin-top: auto; padding-top: 1.25rem; }
.portal-module-copy h5 { color: var(--portal-module-on); margin-bottom: .35rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-module-copy p { color: color-mix(in srgb, var(--portal-module-on) 78%, transparent); margin: 0; font-size: .8rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.portal-module-action { position: absolute; inset-inline-end: 1rem; inset-block-end: 1rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--portal-module-on) 16%, transparent); color: var(--portal-module-on); }
.portal-module-copy { padding-inline-end: 2rem; }
.portal-module-badge { position: absolute; inset-inline-end: 1rem; inset-block-start: 1rem; min-width: 1.8rem; height: 1.8rem; padding-inline: .45rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #fff; color: #dc3545; font-size: .72rem; font-weight: 800; box-shadow: 0 .35rem .8rem rgba(0, 0, 0, .12); }
.portal-module-avatar { background: color-mix(in srgb, var(--portal-module-tone, var(--dx-primary)) 16%, transparent); color: var(--portal-module-tone, var(--dx-primary)); }
.portal-module-tone-primary { --portal-module-tone: var(--dx-primary); }
.portal-module-tone-secondary { --portal-module-tone: var(--dx-secondary); }
.portal-module-tone-success { --portal-module-tone: #06c270; }
.portal-module-tone-info, .portal-module-tone-blue { --portal-module-tone: var(--dx-info); }
.portal-module-tone-warning { --portal-module-tone: #0063f8; }
.portal-module-tone-danger { --portal-module-tone: #ff2882; }
.portal-module-tone-indigo, .portal-module-tone-purple { --portal-module-tone: var(--dx-indigo); }
.portal-module-tone-orange { --portal-module-tone: var(--dx-orange); }
.portal-module-tone-fullcount { --portal-module-tone: #963cff; }
.portal-module-tone-redview { --portal-module-tone: #ff4651; }
.portal-module-tone-steel { --portal-module-tone: #55868c; }
.portal-module-tone-cerise { --portal-module-tone: #da4167; }
.portal-module-tone-persimmon { --portal-module-tone: #eb6424; }
.portal-module-tone-verdigris { --portal-module-tone: #2a9d8f; }
.portal-module-tone-bananacream { --portal-module-tone: #fde74c; --portal-module-on: #0f172a; }
.portal-module-tone-nightbordeaux { --portal-module-tone: #420c14; }
.portal-module-tone-royalviolet { --portal-module-tone: #7a28cb; }
.portal-module-tone-blackberrycream { --portal-module-tone: #592941; }
.portal-module-tone-mintleaf { --portal-module-tone: #52b788; }
.portal-module-tone-jetblack { --portal-module-tone: #292f36; }
.portal-module-tone-terracottaclay { --portal-module-tone: #b2675e; }
.portal-module-tone-granite { --portal-module-tone: #586f6b; }
.portal-module-tone-oceantwilight { --portal-module-tone: #3b429f; }
.portal-module-tone-lobsterpink { --portal-module-tone: #f15156; }
.portal-module-tone-burgundy { --portal-module-tone: #721121; }
.portal-module-tone-charcoal { --portal-module-tone: #565264; }
.portal-module-tone-vibrantcoral { --portal-module-tone: #ff5a5f; }
.portal-module-tone-oldrose { --portal-module-tone: #c1839f; --portal-module-on: #0f172a; }
.portal-module-tone-turfgreen { --portal-module-tone: #04724d; }
.portal-module-tone-brightlavander { --portal-module-tone: #b388eb; --portal-module-on: #0f172a; }
.portal-module-tone-darkcoffee { --portal-module-tone: #432818; }
.portal-module-tone-chocolatebrown { --portal-module-tone: #99582a; }

@media (max-width: 767.98px) {
    .portal-page-hero,
    .portal-page-hero__body { min-height: 8.5rem; }
    .portal-page-hero__body { padding: 1.25rem; }
    .portal-page-hero__icon { width: 4.5rem; height: 4.5rem; border-radius: 1rem; }
    .portal-page-hero h1 { margin-bottom: .8rem; }
    .portal-page-context { align-items: stretch; flex-direction: column; }
    .portal-page-context__actions { justify-content: flex-start; }
    .portal-topbar-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portal-shared-header { padding: 1.5rem 1.25rem !important; }
    .portal-shared-header .top-content { align-items: stretch !important; }
    .portal-shared-header__actions { width: 100%; flex-wrap: wrap; justify-content: stretch; }
    .portal-shared-header__actions .premium-btn { min-width: 0; flex: 1 1 12rem; justify-content: center; text-align: center; }
    .portal-shared-header .hero-toolbar { display: grid; grid-template-columns: 1fr; }
    .portal-shared-header .hero-toolbar > * { width: 100%; max-width: none; min-width: 0; justify-content: center; text-align: center; }
    .portal-rbac-module-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); height: auto; }
    .portal-rbac-module-grid .portal-module-card { grid-column: 1 / -1 !important; }
    .portal-module-pair { grid-template-columns: 1fr; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .portal-rbac-module-grid { height: auto; }
    .portal-rbac-module-grid .portal-module-card { grid-column: span 3; }
    .portal-rbac-module-grid .portal-module-card:last-child:nth-child(odd) { grid-column: span 6; }
    .portal-rbac-module-grid .portal-module-card { min-height: 8.5rem; }
}
.portal-empty-state { min-height: 8rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; color: var(--dx-secondary-color); text-align: center; }
.portal-empty-state > i { font-size: 2rem; color: var(--dx-primary); }
.portal-event-visual { height: 13rem; display: grid; place-items: center; background: linear-gradient(135deg, var(--dx-primary-bg-subtle), var(--dx-info-bg-subtle)); color: var(--dx-primary); }
.portal-event-visual i { font-size: 4.5rem; }
.portal-dashboard-top > [class*="col-"] { align-self: stretch; }
.portal-dashboard-top > [class*="col-"] > .card { width: 100%; height: calc(100% - 1.25rem); }
.portal-upcoming-card .card-body { min-height: 0; }
.portal-upcoming-slide { display: flex; flex-direction: column; min-height: 100%; }
.portal-upcoming-media { position: relative; height: 7.25rem; flex: 0 0 auto; overflow: hidden; border-radius: .75rem; background: var(--dx-tertiary-bg); }
.portal-upcoming-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.portal-upcoming-media--fallback { display: grid; place-items: center; background: linear-gradient(135deg, var(--dx-primary-bg-subtle), var(--dx-info-bg-subtle)); color: var(--dx-primary); }
.portal-upcoming-media--fallback i { font-size: 3.25rem; }
.portal-upcoming-copy { min-width: 0; display: flex; align-items: center; gap: .75rem; margin-top: .85rem; }
.portal-upcoming-copy p { font-size: .72rem; }
.portal-upcoming-date { width: 3rem; min-width: 3rem; height: 3rem; display: grid; place-content: center; border: 1px solid var(--dx-border-color); border-radius: .6rem; color: var(--dx-secondary-color); text-align: center; line-height: 1; }
.portal-upcoming-date strong { margin-bottom: .18rem; color: var(--dx-emphasis-color); font-size: 1rem; }
.portal-upcoming-date span { font-size: .6rem; font-weight: 700; text-transform: uppercase; }

.portal-bento-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: .15rem 0 1rem; }
.portal-bento-heading span { color: var(--dx-primary); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.portal-bento-heading h5 { margin: .2rem 0 0; }
.portal-bento-heading small { color: var(--dx-secondary-color); }
.portal-application-groups { display: grid; gap: 1.5rem; }
.portal-application-group { min-width: 0; }
.portal-application-group__heading { display: flex; align-items: center; gap: .7rem; margin-bottom: .8rem; }
.portal-application-group__heading h6 { margin: 0; }
.portal-application-group__heading span { color: var(--dx-secondary-color); font-size: .68rem; }
.portal-application-group__icon { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: .65rem; background: var(--dx-primary-bg-subtle); color: var(--dx-primary); font-size: 1.05rem; }
.portal-app-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; grid-auto-rows: 9.5rem; gap: 1rem; margin-bottom: 1.25rem; }
.portal-bento-card { grid-column: span 3; min-height: 0; }
.portal-bento-card--hero { grid-column: span 6; grid-row: span 2; }
.portal-bento-card--wide { grid-column: span 6; }
.portal-app-bento--1 .portal-bento-card { grid-column: 1 / -1; grid-row: span 1; }
.portal-app-bento--2 .portal-bento-card { grid-column: span 6; grid-row: span 1; }
.portal-app-bento--3 .portal-bento-card:not(:first-child) { grid-column: span 6; }
.portal-app-bento--5 .portal-bento-card:last-child { grid-column: 1 / -1; }
.portal-app-bento--6 .portal-bento-card:nth-last-child(-n + 2) { grid-column: span 6; }
.portal-app-bento--minimal { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 7rem; gap: .75rem; }
.portal-app-bento--minimal .portal-bento-card { grid-column: span 1; grid-row: span 1; min-height: 0; }
.portal-app-bento--minimal .portal-module-card .card-body { padding: .85rem; }
.portal-app-bento--minimal .portal-module-icon { width: 2.2rem; height: 2.2rem; border-radius: .55rem; font-size: 1.15rem; }
.portal-app-bento--minimal .portal-module-copy { margin-top: auto; padding: .45rem 1.4rem 0 0; }
.portal-app-bento--minimal .portal-module-copy h5 { margin: 0; font-size: .78rem; }
.portal-app-bento--minimal .portal-module-copy p { display: none; }
.portal-app-bento--minimal .portal-module-action { inset-inline-end: .65rem; inset-block-end: .65rem; width: 1.55rem; height: 1.55rem; font-size: .75rem; }
.portal-app-bento--minimal .portal-module-badge { inset-inline-end: .65rem; inset-block-start: .65rem; min-width: 1.45rem; height: 1.45rem; font-size: .62rem; }
.portal-app-bento--minimal .portal-module-watermark { inset-block-start: -.35rem; inset-inline-end: -.25rem; width: 4rem; height: 4rem; font-size: 4rem; }
.portal-bento-card:not(.portal-bento-card--hero) .portal-module-icon { width: 2.6rem; height: 2.6rem; border-radius: .65rem; font-size: 1.2rem; }
.portal-bento-card:not(.portal-bento-card--hero) .portal-module-copy { padding-top: .75rem; }
.portal-bento-card:not(.portal-bento-card--hero) .portal-module-copy h5 { font-size: .9rem; }
.portal-bento-card:not(.portal-bento-card--hero) .portal-module-copy p { -webkit-line-clamp: 1; }
.portal-bento-card:not(.portal-bento-card--hero) .portal-module-watermark { width: 5rem; height: 5rem; font-size: 5rem; }
.portal-content-card { height: 100%; text-decoration: none; }
.portal-content-image-wrap { height: 12rem; }
.portal-content-image { width: 100%; height: 100%; }
.portal-content-title { min-height: 3rem; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.property-navigation .swiper-buttons .swiper-button-next,
.property-navigation .swiper-buttons .swiper-button-prev { display: grid; place-items: center; }
.property-navigation .swiper-buttons .swiper-button-next::after,
.property-navigation .swiper-buttons .swiper-button-prev::after { display: none !important; content: none !important; }
.portal-command-dialog { max-width: 42rem; }
.portal-command-input-wrap > i { position: absolute; inset-inline-start: 1rem; top: 50%; transform: translateY(-50%); z-index: 2; font-size: 1.1rem; }
.portal-command-input-wrap input { padding-inline: 2.8rem 5rem; min-height: 3.25rem; }
.portal-command-input-wrap kbd { position: absolute; inset-inline-end: 1rem; top: 50%; transform: translateY(-50%); }
.portal-command-results { max-height: min(55vh, 28rem); overflow-y: auto; }
.portal-command-result { width: 100%; display: flex; align-items: center; gap: .8rem; padding: .75rem; border: 0; border-radius: .6rem; background: transparent; color: inherit; text-align: start; }
.portal-command-result:hover, .portal-command-result.is-active { background: var(--dx-tertiary-bg); }
.portal-command-result-icon { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: .55rem; background: var(--dx-primary-bg-subtle); color: var(--dx-primary); font-size: 1.15rem; }
.portal-command-result-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.portal-command-result-copy strong, .portal-command-result-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-command-result-copy small { color: var(--dx-secondary-color); }

/* Role-aware portal dashboard: Evohus dashboard patterns with live ÇAKÜ data. */
.portal-dashboard-shell { padding-bottom: 1.5rem; }
.portal-dashboard-section { margin-top: .25rem; margin-bottom: 1.5rem; }
.portal-summary-row { align-items: stretch; }
.portal-summary-row .portal-equal-height-half > .row { height: 13rem; }
.portal-summary-row .portal-equal-height-half > .row > [class*="col-"] { height: 100%; }
.portal-summary-row .welcome-card,
.portal-summary-row .portal-weather-card { width: 100%; height: 13rem; min-height: 13rem; }
.portal-welcome-copy { width: 65%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.portal-access-summary { display: inline-flex; align-items: center; gap: .45rem; color: var(--dx-secondary-color); }
.portal-access-summary i { color: var(--dx-primary); font-size: 1.1rem; }
.portal-access-summary strong { color: var(--dx-emphasis-color); font-size: 1rem; }
.portal-featured-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 1rem; height: 13rem; }
.portal-featured-grid .portal-module-card { min-height: 13rem; }
.portal-featured-empty { grid-column: 1 / -1; margin-bottom: 0; }

.portal-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.portal-section-heading h4 { margin: .15rem 0 .25rem; }
.portal-section-heading p { margin: 0; color: var(--dx-secondary-color); }
.portal-section-kicker { color: var(--dx-primary); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.portal-app-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.portal-app-card { position: relative; min-width: 0; min-height: 7.5rem; display: flex; align-items: center; gap: .9rem; padding: 1.1rem; overflow: hidden; border: 1px solid var(--dx-border-color); border-radius: var(--dx-card-border-radius); background: var(--dx-card-bg); color: var(--dx-body-color); text-decoration: none; box-shadow: var(--dx-box-shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.portal-app-card::after { content: ""; position: absolute; width: 5rem; height: 5rem; inset-inline-end: -2.4rem; inset-block-start: -2.6rem; border-radius: 50%; background: currentColor; opacity: .055; }
.portal-app-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, currentColor 34%, var(--dx-border-color)); color: var(--dx-body-color); box-shadow: var(--dx-box-shadow); }
.portal-app-icon { width: 3.2rem; height: 3.2rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: .85rem; color: var(--dx-white); font-size: 1.45rem; }
.portal-app-copy { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: .2rem; }
.portal-app-copy strong, .portal-app-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-app-copy strong { color: var(--dx-emphasis-color); }
.portal-app-copy small { color: var(--dx-secondary-color); font-size: .75rem; }
.portal-app-arrow { color: var(--dx-secondary-color); }
.portal-app-badge { position: absolute; inset-block-start: .55rem; inset-inline-start: 3.9rem; min-width: 1.35rem; height: 1.35rem; display: inline-grid; place-items: center; padding: 0 .3rem; border-radius: 999px; background: var(--dx-danger); color: var(--dx-white); font-size: .62rem; font-weight: 800; }
.portal-app-card--primary { background: var(--dx-primary); color: var(--dx-white); }
.portal-app-card--success { background: var(--dx-success); color: var(--dx-white); }
.portal-app-card--danger { background: var(--dx-danger); color: var(--dx-white); }
.portal-app-card--warning { background: var(--dx-warning); color: var(--dx-white); }
.portal-app-card--info { background: var(--dx-info); color: var(--dx-white); }
.portal-app-card--indigo { background: var(--dx-indigo); color: var(--dx-white); }
.portal-app-card--secondary { background: var(--dx-secondary); color: var(--dx-white); }
.portal-app-card[class*="portal-app-card--"] { border-color: transparent; color: var(--dx-white); }
.portal-app-card[class*="portal-app-card--"]:hover { color: var(--dx-white); border-color: transparent; }
.portal-app-card[class*="portal-app-card--"] .portal-app-icon { background: color-mix(in srgb, var(--dx-white) 16%, transparent); }
.portal-app-card[class*="portal-app-card--"] .portal-app-copy strong { color: var(--dx-white); }
.portal-app-card[class*="portal-app-card--"] .portal-app-copy small,
.portal-app-card[class*="portal-app-card--"] .portal-app-arrow { color: color-mix(in srgb, var(--dx-white) 76%, transparent); }

.portal-widget-card { min-height: 21rem; }
.portal-widget-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.portal-total-calorie { padding: .35rem .6rem; border-radius: .45rem; background: var(--dx-success-bg-subtle); color: var(--dx-success); font-size: .75rem; font-weight: 750; }
.portal-menu-item { border: 0; }
.portal-menu-icon { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: .65rem; background: var(--dx-warning-bg-subtle); }
.portal-menu-item:nth-child(2n) .portal-menu-icon { background: var(--dx-success-bg-subtle); }
.portal-menu-item:nth-child(3n) .portal-menu-icon { background: var(--dx-info-bg-subtle); }
.portal-event-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.portal-event-item { position: relative; display: flex; align-items: center; gap: .85rem; min-width: 0; padding: .9rem; border: 1px solid var(--dx-border-color); border-radius: .75rem; background: var(--dx-body-bg); }
.portal-event-date { width: 3.3rem; height: 3.3rem; flex: 0 0 auto; display: grid; place-content: center; border-radius: .7rem; background: var(--dx-primary-bg-subtle); color: var(--dx-primary); text-align: center; line-height: 1; }
.portal-event-date strong { font-size: 1.15rem; }
.portal-event-date span { margin-top: .25rem; font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.portal-event-copy { min-width: 0; flex: 1; }
.portal-event-copy h6 { margin-bottom: .35rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-event-copy p { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: 0; color: var(--dx-secondary-color); font-size: .7rem; }
.portal-event-type { position: absolute; inset-block-start: .45rem; inset-inline-end: .5rem; max-width: 5rem; overflow: hidden; color: var(--dx-primary); font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }

.portal-content-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.portal-content-card { margin: 0; overflow: hidden; color: var(--dx-body-color); }
.portal-content-card:hover { color: var(--dx-body-color); transform: translateY(-3px); box-shadow: var(--dx-box-shadow); }
.portal-content-image-wrap { position: relative; height: 10rem; overflow: hidden; background: var(--dx-tertiary-bg); }
.portal-content-image { object-fit: cover; transition: transform .3s ease; }
.portal-content-card:hover .portal-content-image { transform: scale(1.035); }
.portal-content-kind { position: absolute; inset-block-start: .75rem; inset-inline-start: .75rem; padding: .25rem .5rem; border-radius: .35rem; color: var(--dx-white); font-size: .65rem; font-weight: 750; }
.portal-content-kind--news { background: var(--dx-primary); }
.portal-content-kind--announcement { background: var(--dx-warning); }
.portal-content-meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--dx-secondary-color); font-size: .72rem; }
.portal-content-meta__item { display: inline-flex; min-width: 0; align-items: center; gap: .35rem; line-height: 1.25; white-space: nowrap; }
.portal-content-meta__icon { display: inline-grid; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; place-items: center; align-self: center; line-height: 1; }
.portal-content-meta__icon svg { display: block; width: 1rem; height: 1rem; }
.portal-content-meta__link { color: inherit; text-decoration: none; }
.portal-content-meta__link:hover { color: var(--dx-primary); }

.portal-app-catalog .modal-header { align-items: flex-start; }
.portal-catalog-group + .portal-catalog-group { margin-top: 1.5rem; }
.portal-catalog-group > h6 { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.portal-catalog-group > h6 > i { color: var(--dx-primary); font-size: 1.1rem; }
.portal-catalog-group > h6 > span { color: var(--dx-secondary-color); font-size: .7rem; font-weight: 500; }
.portal-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.portal-catalog-card { min-width: 0; display: flex; align-items: center; gap: .7rem; padding: .75rem; border: 1px solid var(--dx-border-color); border-radius: .65rem; color: var(--dx-body-color); text-decoration: none; }
.portal-catalog-card:hover { border-color: var(--dx-primary); color: var(--dx-body-color); background: var(--dx-primary-bg-subtle); }
.portal-catalog-card > span:nth-child(2) { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.portal-catalog-card strong, .portal-catalog-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portal-catalog-card small { color: var(--dx-secondary-color); font-size: .7rem; }
.portal-catalog-card > b { min-width: 1.4rem; height: 1.4rem; display: grid; place-items: center; padding: 0 .3rem; border-radius: 999px; background: var(--dx-danger); color: var(--dx-white); font-size: .62rem; }
.portal-catalog-icon { width: 2.7rem; height: 2.7rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: .65rem; font-size: 1.2rem; }
.portal-sidebar-count, .portal-sidebar-badge { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; border-radius: 999px; font-size: .62rem; font-weight: 750; }
.portal-sidebar-count { background: color-mix(in srgb, var(--dx-primary) 18%, transparent); color: var(--dx-primary); }
.portal-sidebar-badge { margin-inline-start: auto; background: var(--dx-danger); color: var(--dx-white); }

@media (max-width: 1399.98px) {
    .portal-featured-grid { min-height: 13rem; }
}

@media (max-width: 1199.98px) {
    .portal-summary-row .portal-equal-height-half > .row { height: auto; min-height: 13rem; }
    .portal-summary-row .portal-equal-height-half + .portal-equal-height-half { margin-top: 0; }
    .portal-app-grid, .portal-content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portal-widget-card { min-height: 0; }
    .portal-app-bento { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 9rem; }
    .portal-bento-card, .portal-bento-card--hero { grid-column: span 3; grid-row: span 1; }
    .portal-bento-card--wide { grid-column: span 6; }
    .portal-app-bento--1 .portal-bento-card, .portal-app-bento--3 .portal-bento-card:last-child, .portal-app-bento--5 .portal-bento-card:last-child { grid-column: 1 / -1; }
    .portal-app-bento--minimal { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 7rem; }
    .portal-app-bento--minimal .portal-bento-card { grid-column: span 1; }
}

@media (max-width: 991.98px) {
    .portal-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .portal-summary-row .portal-equal-height-half > .row > [class*="col-"] + [class*="col-"] { margin-top: 1rem; }
    .portal-summary-row .portal-equal-height-half > .row > [class*="col-"] { height: auto; }
    .portal-summary-row .welcome-card,
    .portal-summary-row .portal-weather-card { height: 13rem; min-height: 13rem; }
    .portal-welcome-copy { width: 62%; }
    .portal-featured-grid { grid-template-columns: 1fr; }
    .portal-featured-grid { height: auto; }
    .portal-featured-grid .portal-module-card { min-height: 10rem; }
    .portal-event-list { grid-template-columns: 1fr; }
    .portal-section-heading { align-items: flex-start; flex-direction: column; }
    .portal-app-bento { grid-template-columns: 1fr; grid-auto-rows: auto; }
    .portal-app-bento .portal-bento-card { grid-column: 1 !important; grid-row: span 1; min-height: 9rem; }
    .portal-app-bento--minimal { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 6.75rem; }
    .portal-app-bento--minimal .portal-bento-card { grid-column: span 1 !important; min-height: 0; }
    .portal-no-sidebar .main-topbar > .navbar-brand { padding-inline: .75rem; border-inline-end: 0; }
}

@media (max-width: 575.98px) {
    .portal-page-hero__copy { padding-inline-end: 3.5rem; }
    .portal-page-hero__visual { position: absolute; top: 50%; inset-inline-end: .9rem; width: auto; transform: translateY(-50%); opacity: .58; }
    .portal-page-hero__icon { width: 3.75rem; height: 3.75rem; }
    .portal-page-hero__eyebrow { max-width: 14rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .portal-app-grid, .portal-content-grid, .portal-catalog-grid { grid-template-columns: 1fr; }
    .portal-summary-row .welcome-card { min-height: 22rem; }
    .portal-welcome-copy { width: 100%; height: 58%; }
    .welcome-card .portal-welcome-profile { inset: auto 0 0 auto !important; width: 42% !important; height: 48% !important; border-radius: var(--dx-card-border-radius) 0 var(--dx-card-border-radius) 0 !important; }
    .portal-app-bento--minimal { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .portal-brand__text { font-size: 1rem; }
    .portal-brand__mark { width: 1.35rem; height: 1.35rem; }
    .topbar-actions { gap: .25rem !important; }
    .portal-brand__text { display: none; }
    .portal-topbar-app-grid, .portal-theme-options { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
