@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --navy: #102a43;
    --blue: #1f4e79;
    --gold: #c79a38;
    --light: #f4f7fa;
    --ink: #1d2733;
}

/* Tools and calculator */
.tools-hero,.calculator-hero{background:linear-gradient(135deg,#0e2238 0%,#164b70 100%);color:#fff}.eyebrow{display:inline-block;color:#e8be57;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;margin-bottom:.65rem}.tool-card{border:1px solid #d9e3ee;transition:transform .2s ease,box-shadow .2s ease}.tool-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(14,34,56,.13)}.tool-icon,.tool-success-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#fff4d6;color:#9a6a00;font-size:1.45rem}.tool-success-icon{margin:auto;width:76px;height:76px;border-radius:50%;font-size:2.2rem;background:#e6f7ef;color:#128458}.notice-card{display:flex;gap:14px;align-items:flex-start;padding:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:14px}.notice-card i{color:#e8be57;margin-top:4px}.calculator-shell{background:#fff;border:1px solid #d9e3ee;border-radius:18px;box-shadow:0 18px 50px rgba(14,34,56,.1);padding:clamp(18px,4vw,42px);margin-top:-22px;position:relative}.wizard-progress{height:6px;background:#e7edf3;border-radius:99px;overflow:hidden}.wizard-progress-bar{height:100%;width:12.5%;background:#d7a634;transition:width .25s ease}.wizard-steps{list-style:none;padding:0;margin:22px 0 30px;display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.wizard-steps li{text-align:center;color:#7b8da1;cursor:pointer}.wizard-steps span{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 7px;border-radius:50%;background:#edf2f7;font-weight:800}.wizard-steps small{font-size:.68rem;line-height:1.2;display:block}.wizard-steps li.active{color:#0d3b66}.wizard-steps li.active span{background:#d7a634;color:#0e2238}.wizard-steps li.complete span{background:#0d3b66;color:white}.wizard-panel{display:none;border:0;padding:0;margin:0;min-height:330px}.wizard-panel.active{display:block}.wizard-panel legend{font-weight:800;font-size:1.45rem;color:#0e2238;margin-bottom:20px}.wizard-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;margin-top:28px;padding-top:20px}.rack-group-row{background:#f7f9fc;border-radius:9px;padding:9px 3px}@media(max-width:991px){.wizard-steps{grid-template-columns:repeat(4,1fr);row-gap:16px}}@media(max-width:575px){.wizard-steps{display:flex;overflow-x:auto;padding-bottom:8px}.wizard-steps li{min-width:72px}.calculator-shell{border-radius:0;margin-left:-12px;margin-right:-12px}.wizard-panel{min-height:0}}

.tools-catalog-hero{position:relative;overflow:hidden;padding:42px 0}.tools-catalog-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 28%,rgba(53,216,242,.2),transparent 28%),linear-gradient(90deg,rgba(14,34,56,.92),rgba(22,75,112,.8));pointer-events:none}.tools-catalog-hero>.container{position:relative;z-index:1}.tools-catalog-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;gap:clamp(24px,5vw,56px);min-height:250px}.tools-catalog-copy h1{font-size:clamp(2.3rem,4vw,3.6rem);font-weight:800;letter-spacing:0}.tools-catalog-copy .lead{max-width:620px;font-size:clamp(1.05rem,1.7vw,1.28rem)}.tools-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tools-hero-badges span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.92);font-weight:700}.tools-hero-badges i{color:#e8be57}.tools-catalog-art{justify-self:end;width:min(100%,360px)}.tools-catalog-art img{display:block;width:100%;height:auto}@media(max-width:991px){.tools-catalog-hero-grid{grid-template-columns:1fr;min-height:0}.tools-catalog-art{justify-self:start;max-width:320px}.tools-catalog-hero{padding:38px 0}}@media(max-width:575px){.tools-catalog-art{display:none}.tools-catalog-hero{padding:34px 0}}
.tools-catalog-list{padding:48px 0 72px}

.availability-question{font-size:1.15rem;font-weight:750;color:#0e2238;margin-bottom:.35rem}.availability-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 14px}.availability-card{display:block;cursor:pointer;position:relative}.availability-card input{position:absolute;opacity:0;pointer-events:none}.availability-card-body{display:flex;flex-direction:column;height:100%;min-height:220px;padding:19px;border:2px solid #d9e3ee;border-radius:14px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.availability-card:hover .availability-card-body{border-color:#a9bfd3;transform:translateY(-2px)}.availability-card input:focus-visible+.availability-card-body{outline:3px solid rgba(13,110,253,.25);outline-offset:2px}.availability-card input:checked+.availability-card-body{border-color:#c79a38;box-shadow:0 10px 24px rgba(14,34,56,.12);background:#fffdf7}.availability-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.15rem;color:#0e2238}.availability-recommended{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:#e6f7ef;color:#11734d;padding:4px 8px;border-radius:99px}.availability-card-subtitle{font-weight:700;margin-top:13px}.availability-card-description{color:#60758a;font-size:.9rem;line-height:1.45;margin-top:5px;min-height:42px}.availability-card-meta{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:.8rem;color:#52677b;margin-top:13px}.availability-cost{margin-top:auto;padding-top:16px;display:grid;grid-template-columns:1fr auto;gap:6px;font-size:.78rem;color:#52677b}.availability-cost-track{grid-column:1/-1;height:7px;background:#e7edf3;border-radius:99px;overflow:hidden}.availability-cost-track span{display:block;height:100%;background:linear-gradient(90deg,#33a06f,#e0a514,#c34747);border-radius:inherit}.availability-cost-note{font-size:.82rem;color:#60758a;margin-bottom:22px}.availability-advanced{border:1px solid #d9e3ee;background:#f7f9fc;border-radius:14px;padding:22px;margin-top:20px}.availability-advanced-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.availability-advanced-heading>i{font-size:1.4rem;color:#c79a38}.availability-summary{border:1px solid #9bd6bb;background:#edf9f3;color:#174b38;border-radius:14px;padding:20px;margin-top:20px}.availability-summary>div>i{font-size:1.45rem;color:#198754;margin-top:2px}.availability-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.availability-summary-item{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(25,135,84,.15);font-size:.9rem}.availability-summary-item strong{direction:ltr;white-space:nowrap}@media(max-width:767px){.availability-options,.availability-summary-grid{grid-template-columns:1fr}.availability-card-body{min-height:0}.availability-card-description{min-height:0}}

.recommendation-note{display:flex;align-items:flex-start;gap:12px}.recommendation-note>i{margin-top:4px;font-size:1.05rem}.recommendation-note strong{display:block;margin-bottom:2px}.form-text{line-height:1.4;margin-top:.45rem}.wizard-panel .alert+ .row{margin-top:.1rem}.verification-explainer{display:flex;align-items:flex-start;gap:14px}.verification-explainer>i{font-size:1.35rem;margin-top:3px}.verification-explainer strong{display:block;margin-bottom:6px}.verification-explainer ol{margin:0;padding-inline-start:1.25rem}.verification-explainer li+li{margin-top:4px}.consent-required-panel{border:2px solid #d4dee8;background:#f8fafc;border-radius:12px;padding:16px}.consent-required-panel.is-invalid{border-color:#dc3545;background:#fff5f5}.consent-required-panel .invalid-feedback{display:block;font-weight:650;margin-top:8px}
#draftSaveStatus{min-height:1.25rem}.wizard-panel{overflow-anchor:none}.wizard-panel.active{contain:layout}.wizard-panel .recommendation-note,.wizard-panel #generatorRecommendation,.wizard-panel #coolingDefaultSummary{min-height:58px}.wizard-panel #rackGroupError{min-height:0}.wizard-panel #rackGroupError:not(.d-none){min-height:52px}

body {
    margin: 0;
    padding: 0;
    color: var(--ink);
    background: #fff;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
}

html {
    margin: 0;
    padding: 0;
}

html,
body {
    min-height: 100%;
}

[dir="rtl"] body {
    font-family: Cairo, Tahoma, Arial, sans-serif;
}

.container {
    width: 90%;
    max-width: 1760px;
}

@media (max-width: 575.98px) {
    .container {
        width: min(100% - 24px, 100%);
    }
}

.bg-navy { background: var(--navy); }
.navbar {
    min-height: 88px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-top: 0;
}

body > .navbar:first-of-type {
    margin-top: 0 !important;
    top: 0;
}

body > nav.navbar.sticky-top:first-child {
    position: sticky;
    top: 0 !important;
    margin-block-start: 0 !important;
}

body > nav.navbar:first-child + main {
    margin-top: 0;
}
.navbar-brand {
    font-size: 1.05rem;
}
.site-brand,
.site-logo-link {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-inline-end: 1.25rem;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.site-brand-logo,
.site-logo {
    display: block;
    width: 220px;
    max-width: 100%;
    height: auto;
    max-height: 48px;
    object-fit: contain;
    object-position: left center;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    flex: 0 1 auto;
}
.site-brand-placeholder {
    display: inline-block;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}
[dir="rtl"] .site-brand-logo,
[dir="rtl"] .site-logo {
    object-position: right center;
}
.logo-preview {
    display: flex;
    align-items: center;
    width: min(100%, 420px);
    min-height: 90px;
    padding: 12px;
    overflow: hidden;
    background-color: var(--navy);
    border: 1px solid #d9e1e8;
    border-radius: 8px;
}
.logo-preview img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 70px;
    object-fit: contain;
    border-radius: 0;
    background: transparent;
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .site-brand-logo,
    .site-logo {
        width: 220px;
        max-height: 52px;
    }
}
.navbar .nav-link {
    font-size: .95rem;
}
.dc-main-nav {
    box-shadow: 0 10px 30px rgba(6, 20, 36, .18);
}
.dc-main-nav .nav-shell {
    gap: clamp(16px, 2.4vw, 34px);
}
.dc-main-nav .navbar-collapse {
    align-items: center;
    gap: 14px;
}
.primary-nav {
    align-items: center;
    gap: 4px;
}
.primary-nav .nav-link,
.nav-actions .nav-link {
    position: relative;
    border-radius: 8px;
    color: rgba(255,255,255,.76);
    font-weight: 650;
    padding: .52rem .56rem;
    transition: color .18s ease, background-color .18s ease;
}
.primary-nav .nav-link::after {
    content: "";
    position: absolute;
    inset-inline: .72rem;
    bottom: .28rem;
    height: 2px;
    background: #1fd3f3;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}
.primary-nav .nav-link:hover,
.primary-nav .nav-link:focus,
.nav-actions .nav-link:hover,
.nav-actions .nav-link:focus {
    color: #fff;
    background: rgba(255,255,255,.08);
}
.primary-nav .nav-link:hover::after,
.primary-nav .nav-link:focus::after {
    transform: scaleX(1);
}
.dropdown-mega {
    position: relative;
}
.mega-menu {
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding: 16px;
    border: 1px solid #d9e3ee;
    border-radius: 8px;
    box-shadow: 0 22px 55px rgba(6, 20, 36, .22);
}
.dropdown-mega .mega-menu {
    margin-top: 10px;
}
@media (min-width: 992px) {
    .dropdown-mega .mega-menu {
        inset-inline-start: 0;
        inset-inline-end: auto;
    }
    [dir="rtl"] .dropdown-mega .mega-menu {
        inset-inline-start: auto;
        inset-inline-end: 0;
    }
}
.mega-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mega-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 72px;
    padding: 12px;
    color: #102a43;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.mega-item:hover,
.mega-item:focus {
    color: #102a43;
    background: #f6f9fc;
    border-color: #d9e3ee;
}
.mega-item:hover strong,
.mega-item:focus strong {
    color: #0d3b66;
}
.mega-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff4d6;
    color: #a97600;
    font-size: 1.05rem;
}
.mega-item strong {
    display: block;
    font-size: .98rem;
    line-height: 1.2;
    color: #102a43;
}
.mega-item small {
    display: block;
    margin-top: 4px;
    color: #60758a;
    line-height: 1.35;
}
.mega-item em {
    display: inline-block;
    margin-inline-start: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #e9f9fd;
    color: #087b91;
    font-size: .62rem;
    font-style: normal;
    letter-spacing: .04em;
    vertical-align: middle;
}
.mega-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
    padding: 13px 12px 2px;
    border-top: 1px solid #e6edf5;
    color: #1f4e79;
    font-weight: 800;
    text-decoration: none;
}
.mega-all:hover,
.mega-all:focus {
    color: #0d3b66;
}
.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
    flex: 0 0 auto;
}
.nav-search {
    position: relative;
    width: 44px;
    transition: width .2s ease;
}
.nav-search i {
    position: absolute;
    top: 50%;
    inset-inline-start: 12px;
    transform: translateY(-50%);
    color: #9fb2c4;
    font-size: .85rem;
}
.nav-search input {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px 8px 34px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    background: rgba(255,255,255,.08);
    color: transparent;
    outline: 0;
    cursor: pointer;
}
[dir="rtl"] .nav-search input {
    padding: 8px 34px 8px 12px;
}
.nav-search input::placeholder {
    color: rgba(255,255,255,.62);
}
.nav-search input:focus {
    width: min(300px, 30vw);
    color: #fff;
    cursor: text;
    position: absolute;
    inset-inline-end: 0;
    z-index: 5;
    border-color: rgba(31,211,243,.65);
    background: rgba(255,255,255,.12);
}
.nav-language {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}
.account-toggle,
.account-signin {
    white-space: nowrap;
}
.nav-register {
    min-height: 38px;
    padding: 7px 12px;
    border-radius: 8px;
    background: #c79a38;
    color: #101820;
    font-weight: 800;
}
.nav-register:hover,
.nav-register:focus {
    background: #d7aa42;
    color: #101820;
}
[dir="rtl"] .mega-all i {
    transform: rotate(180deg);
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .navbar > .container {
        flex-wrap: wrap;
    }
    .navbar .navbar-collapse {
        flex-basis: 100%;
        justify-content: center;
        margin-top: 8px;
    }
    .navbar .navbar-nav {
        flex-wrap: wrap;
        justify-content: center;
        gap: 0 6px;
    }
}
@media (min-width: 992px) and (max-width: 1399.98px) {
    .nav-search input:focus {
        width: 260px;
    }
}
@media (min-width: 1200px) {
    .primary-nav .nav-link,
    .nav-actions .nav-link {
        font-size: .92rem;
    }
}
@media (max-width: 991.98px) {
    .dropdown-mega {
        position: static;
    }
    .dc-main-nav .navbar-collapse {
        align-items: stretch;
        padding-top: 14px;
    }
    .primary-nav,
    .nav-actions {
        align-items: stretch;
    }
    .nav-actions {
        flex-direction: column;
        margin-inline-start: 0;
        padding-top: 10px;
        border-top: 1px solid rgba(255,255,255,.12);
    }
    .nav-search {
        width: 100%;
    }
    .nav-search input,
    .nav-search input:focus {
        position: static;
        width: 100%;
        color: #fff;
        cursor: text;
    }
    .dropdown-mega .mega-menu {
        width: 100%;
        margin-top: 4px;
        box-shadow: none;
    }
    .mega-grid {
        grid-template-columns: 1fr;
    }
    .nav-register {
        text-align: center;
    }
}
.text-gold { color: var(--gold); }
.btn-gold {
    background: var(--gold);
    border-color: var(--gold);
    color: #111;
    font-weight: 700;
}
.course-coming-soon-card,
.application-coming-soon-card {
    border-color: #d7e3ee;
    box-shadow: 0 20px 52px rgba(14,34,56,.09);
}
.course-coming-soon-card h2,
.application-coming-soon-card h2 {
    color: var(--navy);
    font-weight: 800;
}
.course-subscription-note,
.application-subscription-note {
    padding: 18px;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    background: #f5fbfd;
}
.course-subscription-note h3,
.application-subscription-note h3 {
    color: var(--navy);
    font-weight: 800;
}

.hero {
    background: linear-gradient(110deg, rgba(16, 42, 67, .94), rgba(31, 78, 121, .88)), url("https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1800&q=80") center/cover;
    color: #fff;
    min-height: 72vh;
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: 56px 0;
}
.hero-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}
.hero-content {
    flex: 0 1 43%;
    min-width: 0;
    position: relative;
    z-index: 2;
}
.hero-illustration {
    flex: 0 1 57%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.hero-illustration img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 860px;
    object-fit: contain;
    object-position: center;
    position: relative;
    z-index: 1;
}
html[dir="rtl"] .hero-container {
    flex-direction: row-reverse;
}
@media (max-width: 1100px) {
    .hero-container {
        gap: 24px;
    }
    .hero-content {
        flex-basis: 42%;
    }
    .hero-content h1 {
        font-size: clamp(2.45rem, 5vw, 4rem);
    }
    .hero-illustration {
        flex-basis: 58%;
    }
    .hero-illustration img {
        max-width: 720px;
    }
}
@media (max-width: 768px) {
    .hero {
        min-height: auto;
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .hero-container {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        max-width: 100%;
        overflow: hidden;
    }
    .hero-content,
    .hero-illustration {
        flex: none;
        width: 100%;
        max-width: 100%;
    }
    .hero-content {
        text-align: left;
    }
    .hero-illustration {
        overflow: visible;
        justify-content: center;
    }
    .hero-illustration img {
        width: 100%;
        max-width: none;
        height: auto;
        object-fit: contain;
    }
    html[dir="rtl"] .hero-container {
        flex-direction: column;
    }
    html[dir="rtl"] .hero-content {
        text-align: right;
    }
}
@media (max-width: 600px) {
    .hero-illustration {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }
    .hero-illustration img {
        width: 100%;
        max-width: 430px;
        height: auto;
    }
}
@media (max-width: 420px) {
    .hero-content h1 {
        font-size: clamp(34px, 11vw, 46px);
        line-height: 1.08;
    }
    .hero-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .hero-actions a,
    .hero-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
        text-align: center;
    }
}

.section-pad { padding: 72px 0; }
.soft-section { background: var(--light); }
.card {
    border: 1px solid #e1e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(16, 42, 67, .05);
}
.article-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.article-card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #edf3f8;
    border-bottom: 1px solid #e1e8f0;
    overflow: hidden;
}
.article-card-compact .article-card-thumb {
    width: 70%;
    margin: 0 auto;
    border-bottom: 0;
}
.article-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .24s ease;
}
.article-card-thumb:hover img,
.article-card-thumb:focus-visible img {
    transform: scale(1.025);
}
.article-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}
.article-card-body .badge {
    margin-top: auto;
}
.article-category-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: center;
    padding: 22px;
    color: var(--navy);
}
.article-category-card:hover,
.article-category-card:focus-visible {
    border-color: var(--gold);
    box-shadow: 0 12px 26px rgba(16, 42, 67, .09);
}
.article-category-clipart,
.category-clipart-preview span {
    width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    color: var(--category-color, var(--gold));
    background: color-mix(in srgb, var(--category-color, var(--gold)) 13%, white);
    border: 1px solid color-mix(in srgb, var(--category-color, var(--gold)) 28%, white);
    font-size: 1.55rem;
}
.article-category-copy {
    display: grid;
    min-width: 0;
}
.category-clipart-preview {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fbfdff;
}
@media (max-width: 575px) {
    .article-category-card {
        grid-template-columns: 1fr;
    }
}
.icon-box {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    color: var(--gold);
    background: rgba(199, 154, 56, .12);
    border-radius: 8px;
}

.admin-section-card {
    color: inherit;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.admin-section-card:hover,
.admin-section-card:focus-visible {
    border-color: var(--gold);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
    color: inherit;
    transform: translateY(-2px);
}
.expertise-item {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.35;
}
.expertise-item .icon-box {
    flex: 0 0 42px;
}
.about-intro-with-photo {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-top: 24px;
}
.about-intro-without-photo {
    display: block;
}
.about-profile-photo-wrap {
    flex: 0 0 180px;
    width: 180px;
    max-width: 180px;
    margin: 0;
}
.about-profile-photo {
    display: block;
    width: 180px;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    background: #fff;
}
.about-intro-copy {
    flex: 1;
    min-width: 0;
}
.about-role-line {
    color: #425466;
    font-weight: 600;
    line-height: 1.55;
}
.about-profile-content h2 {
    margin: 30px 0 12px;
    color: var(--navy);
    font-size: 1.28rem;
    line-height: 1.3;
}
.about-profile-content h2:first-child {
    margin-top: 0;
}
.about-profile-content p {
    margin-bottom: 16px;
    color: #34465a;
    font-size: 1.02rem;
    line-height: 1.78;
}
.about-profile-content .about-profile-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
    margin: 16px 0 22px;
    padding: 0;
    list-style: none;
}
.about-profile-content .about-profile-list li {
    position: relative;
    padding-inline-start: 24px;
    color: #34465a;
    line-height: 1.5;
}
.about-profile-content .about-profile-list li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .58em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
}
.about-profile-content blockquote {
    margin: 24px 0 0;
    padding: 20px 22px;
    border-inline-start: 4px solid var(--gold);
    border-radius: 8px;
    background: #f7f9fb;
    color: var(--navy);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.65;
}
.bio-editor {
    overflow: hidden;
    border: 1px solid #d9e1e8;
    border-radius: 8px;
    background: #fff;
}
.bio-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #d9e1e8;
    background: #f7f9fb;
}
.bio-editor-toolbar .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
}
.bio-editor-source {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.bio-editor-surface {
    min-height: 360px;
    max-height: 620px;
    overflow: auto;
    padding: 18px 20px;
    border: 0;
    background: #fff;
    color: #243447;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.72;
    outline: none;
}
.bio-editor-surface:focus {
    box-shadow: inset 0 0 0 2px rgba(22, 169, 199, .18);
}
.bio-editor-surface:empty::before {
    content: attr(data-placeholder);
    color: #8a98a8;
}
.bio-editor-surface h2 {
    margin: 26px 0 10px;
    color: var(--navy);
    font-size: 1.25rem;
    line-height: 1.3;
}
.bio-editor-surface h2:first-child {
    margin-top: 0;
}
.bio-editor-surface p {
    margin: 0 0 14px;
}
.bio-editor-surface ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
    margin: 14px 0 18px;
    padding-inline-start: 22px;
}
.bio-editor-surface li {
    margin: 0;
}
.bio-editor-surface blockquote {
    margin: 18px 0;
    padding: 16px 18px;
    border-inline-start: 4px solid var(--gold);
    border-radius: 8px;
    background: #f7f9fb;
    color: var(--navy);
    font-weight: 700;
}
.bio-editor .form-text {
    margin: 0;
    padding: 8px 12px 12px;
    background: #fff;
}
.about-cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}
.about-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--navy);
    border-radius: 8px;
    background: #fff;
    color: var(--navy);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.about-cta-button.primary {
    border-color: var(--gold);
    background: var(--gold);
    color: #071b33;
}
.about-cta-button:hover,
.about-cta-button:focus-visible {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
    text-decoration: none;
}
.about-cta-button:focus-visible {
    outline: 3px solid rgba(22, 169, 199, .28);
    outline-offset: 2px;
}
[dir="rtl"] .about-intro-with-photo {
    direction: rtl;
}
.about-expertise-card {
    width: 100%;
}
.about-profile-admin-preview {
    width: 150px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f4f7fa;
    border: 1px solid #d9e1e8;
    border-radius: 8px;
}
.about-profile-admin-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-profile-admin-empty {
    display: grid;
    place-items: center;
    width: 150px;
    aspect-ratio: 4 / 5;
    border: 1px dashed #b8c4cf;
    border-radius: 8px;
    background: #f7f9fb;
    text-align: center;
    padding: 12px;
}
@media (max-width: 991.98px) {
    .about-profile-photo-wrap,
    [dir="rtl"] .about-profile-photo-wrap {
        width: 160px;
        max-width: 160px;
        margin: 0 auto;
        flex-basis: auto;
    }
    .about-profile-photo {
        width: 160px;
        aspect-ratio: 4 / 5;
    }
    .about-intro-with-photo,
    [dir="rtl"] .about-intro-with-photo {
        flex-direction: column;
        gap: 20px;
    }
    .about-intro-copy {
        width: 100%;
    }
    .about-profile-content .about-profile-list {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575.98px) {
    .about-cta-button {
        flex: 1 1 100%;
        width: 100%;
    }
}
.consulting-service-card {
    gap: 2px;
}
.consulting-service-card strong {
    line-height: 1.35;
}
.consulting-service-description {
    color: #425466;
    font-size: .95rem;
    line-height: 1.55;
}
.meta { color: #66788a; font-size: .92rem; }
.article-detail {
    background: linear-gradient(180deg, #f6f8fb 0, #fff 220px);
    padding-top: 48px;
}
.article-shell {
    width: 90%;
    max-width: 1680px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e1e8f0;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(16, 42, 67, .08);
    padding: 40px;
}
.article-return-nav {
    max-width: 1080px;
    margin: 0 auto 22px;
    padding: 10px 0 14px;
    border-bottom: 1px solid #e2eaf2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.article-return-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #c8d6e4;
    border-radius: 8px;
    color: #0b2545;
    background: #fff;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.2;
    transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.article-return-link:hover,
.article-return-link:focus-visible {
    border-color: #0b66a2;
    background: #eef7ff;
    color: #063b65;
    box-shadow: 0 8px 18px rgba(11, 102, 162, .12);
}
.article-return-link-primary {
    border-color: #b8cce0;
}
.article-return-link-pdf {
    color: #9f1239;
    border-color: rgba(159, 18, 57, .3);
}
.article-return-link-pdf:hover,
.article-return-link-pdf:focus-visible {
    color: #7f1d1d;
    border-color: rgba(159, 18, 57, .55);
    background: #fff1f2;
}
.article-return-link-disabled,
.article-return-link-disabled:hover,
.article-return-link-disabled:focus-visible {
    color: #6b7280;
    border-color: #d1d5db;
    background: #f8fafc;
    box-shadow: none;
    cursor: not-allowed;
    opacity: .55;
}
.article-return-link-disabled small {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.1;
}
[dir="rtl"] .article-return-nav {
    direction: rtl;
}
[dir="rtl"] .article-return-link {
    flex-direction: row;
}
.article-heading {
    max-width: 1080px;
    margin: 0 auto 24px;
}
.article-heading h1 {
    margin: 10px 0 12px;
    color: #0e2238;
    font-size: clamp(1.45rem, 1.85vw, 1.95rem);
    line-height: 1.22;
    font-weight: 800;
    letter-spacing: 0;
}
.article-heading p {
    max-width: 980px;
    color: #425466;
    font-size: 1.08rem;
    line-height: 1.75;
    margin-bottom: 0;
}
.article-content {
    max-width: 980px;
    margin: 28px auto 0;
    font-family: Inter, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.75;
    color: #172434;
}
.technical-note-content {
    max-width: 1080px;
}
.technical-note-detail {
    background: #f6f8fb;
}
.technical-note-shell {
    max-width: 1574px;
    padding: 0;
    overflow: hidden;
}
.technical-note-shell .article-return-nav,
.technical-note-heading,
.technical-note-content,
.technical-note-reference,
.technical-note-related {
    width: min(100%, 1080px);
    margin-left: auto;
    margin-right: auto;
}
.technical-note-shell .article-return-nav {
    margin-top: 34px;
}
.technical-note-heading {
    padding: 12px 0 8px;
}
.technical-note-heading .meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 8px;
    background: #f4f8fc;
    color: #50677f;
    font-weight: 700;
}
.technical-note-heading h1 {
    max-width: 980px;
    margin-top: 18px;
}
.technical-note-heading p {
    max-width: 860px;
    font-size: 1.12rem;
    color: #31465b;
}
.technical-note-content {
    padding-top: 8px;
    font-size: 19px;
    line-height: 1.8;
}
.technical-note-content p {
    max-width: 980px;
}
.technical-note-reference {
    margin-top: 30px;
    padding: 24px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #f9fbfd;
}
.technical-note-reference h2,
.technical-note-related h2 {
    margin: 0;
    color: #0e2238;
    font-size: 1.18rem;
    font-weight: 800;
}
.technical-note-reference .h5 {
    margin-bottom: 12px;
}
.technical-note-reference p {
    margin-bottom: 8px;
}
.technical-note-reference p:last-child {
    margin-bottom: 0;
}
.technical-note-reference strong {
    color: #0e2238;
}
.technical-note-related {
    margin-top: 36px;
}
.technical-note-related .h4 {
    margin-bottom: 14px;
    color: #0e2238;
    font-size: 1.35rem;
    font-weight: 800;
}
.technical-note-related .card {
    border-color: #dbe5ef;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(16, 42, 67, .05);
    color: #0e2238;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.technical-note-related .card:hover,
.technical-note-related .card:focus-visible {
    border-color: #b8cce0;
    box-shadow: 0 14px 30px rgba(16, 42, 67, .1);
    transform: translateY(-2px);
}
.technical-note-related .card strong {
    line-height: 1.35;
}
.technical-note-related .card small {
    display: block;
    line-height: 1.4;
}
[dir="rtl"] .article-content,
.article-content[dir="rtl"] {
    font-family: Cairo, Tahoma, Arial, sans-serif;
    font-size: 19px;
    line-height: 1.9;
    direction: rtl;
    text-align: right;
}
.article-content br {
    line-height: 2.2;
}
.article-tags {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.article-info-panel {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: minmax(180px, .85fr) minmax(180px, .85fr) minmax(360px, 2.2fr);
    align-items: center;
    gap: 0;
    padding: 18px 20px;
    border: 1px solid #bed3f3;
    border-radius: 8px;
    background: linear-gradient(135deg, #f4f8ff 0%, #edf4ff 100%);
    box-shadow: 0 10px 28px rgba(15, 39, 75, .08);
}
.article-info-section {
    min-width: 0;
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 22px;
}
.article-info-section + .article-info-section {
    border-left: 1px solid rgba(78, 116, 168, .30);
}
[dir="rtl"] .article-info-section + .article-info-section {
    border-left: 0;
    border-right: 1px solid rgba(78, 116, 168, .30);
}
.article-info-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #dbe9ff;
    color: #2548ff;
    font-size: 1.45rem;
}
.article-info-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.article-info-label {
    color: #10233f;
    font-weight: 700;
    line-height: 1.25;
}
.article-info-value {
    color: #2548ff;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.25;
}
.article-info-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}
.article-info-link:hover,
.article-info-link:focus-visible {
    color: #1635d8;
    text-decoration: underline;
    outline: 0;
}
.article-info-subvalue {
    color: #52677a;
    font-size: .9rem;
    line-height: 1.25;
}
.article-info-rating {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
.article-action-btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: .45rem .75rem;
    border-radius: 6px;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
}
.article-view-badge {
    cursor: default;
    pointer-events: none;
}
.article-inline-rating {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin: 0;
    min-width: 0;
}
.article-inline-rating-label {
    color: #0e2238;
    font-weight: 800;
    white-space: nowrap;
}
.article-inline-stars {
    border: 0;
    padding: 0;
    margin: 0;
}
.article-inline-stars label {
    font-size: 1.35rem;
}
.article-inline-rating-summary {
    margin: 0;
    white-space: nowrap;
}
.article-inline-rating-submit {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    margin-inline-start: auto;
}
[dir="rtl"] .article-inline-rating {
    direction: rtl;
}
@media (max-width: 575.98px) {
    .article-info-panel,
    .article-inline-rating {
        gap: 8px;
    }
    .article-inline-rating-summary {
        white-space: normal;
    }
}
@media (max-width: 991.98px) {
    .article-info-panel {
        grid-template-columns: 1fr;
        padding: 8px 16px;
    }
    .article-info-section {
        min-height: 66px;
        padding: 14px 0;
    }
    .article-info-section + .article-info-section,
    [dir="rtl"] .article-info-section + .article-info-section {
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(78, 116, 168, .24);
    }
    .article-info-rating {
        align-items: flex-start;
    }
    .article-inline-rating-submit {
        margin-inline-start: 0;
    }
}
@media (max-width: 575.98px) {
    .article-info-panel {
        padding: 6px 14px;
    }
    .article-info-section {
        align-items: flex-start;
        gap: 12px;
    }
    .article-info-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 1.2rem;
    }
    .article-info-rating {
        flex-wrap: wrap;
    }
    .article-info-rating .article-info-icon {
        order: 0;
    }
    .article-info-rating .article-inline-rating-label {
        order: 1;
        width: calc(100% - 54px);
        padding-top: 9px;
    }
    .article-info-rating .article-inline-stars,
    .article-info-rating .article-inline-rating-summary,
    .article-info-rating .article-inline-rating-submit {
        order: 2;
        margin-inline-start: 54px;
    }
    .article-info-rating .article-inline-rating-submit {
        order: 3;
    }
}
.article-engagement {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.article-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: #f8fafc;
    scroll-margin-top: 100px;
}
.article-like-form {
    margin: 0;
}
.toolbar-item {
    min-height: 44px;
    padding: .55rem .85rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid #d9e3ee;
    background: #fff;
    color: #17324d;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.toolbar-item:hover,
.toolbar-item:focus-visible {
    color: #0e2238;
    background: #eef6ff;
    border-color: #7aa7e8;
    box-shadow: 0 4px 14px rgba(16, 42, 67, .08);
    outline: 0;
}
.toolbar-like {
    cursor: pointer;
}
.toolbar-icon-only {
    width: 44px;
    min-width: 44px;
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
}
.toolbar-like.is-active {
    color: #2548ff;
    border-color: rgba(37, 72, 255, .35);
    background: rgba(37, 72, 255, .08);
}
.toolbar-language {
    min-width: 86px;
    justify-content: center;
}
.toolbar-language i { color: #0f766e; }
.toolbar-linkedin i { color: #0a66c2; }
.toolbar-reads i { color: #334155; }
.toolbar-like i { color: #2548ff; }
.toolbar-comments i { color: #15803d; }
.toolbar-rating i { color: var(--gold); }
.toolbar-shares i { color: #7c3aed; }
.article-engagement-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
.article-rating-section {
    padding: 18px;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: center;
    scroll-margin-top: 100px;
}
.rating-average-stars,
.rating-star-buttons {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--gold);
}
.rating-input {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}
.rating-input-label {
    font-weight: 700;
    color: #17324d;
    white-space: nowrap;
}
.rating-star {
    width: 38px;
    height: 38px;
    border: 1px solid #d9e3ee;
    border-radius: 8px;
    background: #fff;
    color: #a0aec0;
    display: inline-grid;
    place-items: center;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.rating-star:hover,
.rating-star:focus-visible,
.rating-star.is-selected {
    color: var(--gold);
    border-color: rgba(199, 154, 56, .55);
    background: rgba(199, 154, 56, .10);
    outline: 0;
}
.rating-star:focus-visible {
    box-shadow: 0 0 0 3px rgba(199, 154, 56, .24);
}
.rating-message {
    flex-basis: 100%;
    min-height: 1.5em;
    color: #17324d;
    font-weight: 600;
    text-align: center;
}
.engagement-card {
    padding: 20px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fff;
    scroll-margin-top: 100px;
}
.approved-comment {
    padding: 14px 0;
    border-top: 1px solid #edf2f7;
}
.approved-comment:first-of-type {
    border-top: 0;
}
.approved-comment p {
    margin: 8px 0 0;
    line-height: 1.7;
}
[dir="rtl"] .article-engagement,
.article-engagement[dir="rtl"] {
    text-align: right;
}

@media (max-width: 767.98px) {
    .rating-input {
        flex-wrap: wrap;
        justify-content: center;
    }
    .article-toolbar > * {
        width: 100%;
    }
    .toolbar-item {
        width: 100%;
        justify-content: center;
    }
    .toolbar-icon-only {
        width: 44px;
        min-width: 44px;
        flex: 0 0 44px;
    }
}
.newsletter-band {
    background: var(--blue);
    color: #fff;
    padding: 36px 0;
}
.knowledge-notes-row {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(600px, 2fr);
    align-items: center;
    gap: 40px;
}
.knowledge-notes-intro {
    min-width: 0;
}
.knowledge-notes-intro h2 {
    margin: 0 0 6px;
}
.knowledge-notes-intro p {
    margin: 0;
    line-height: 1.5;
}
.knowledge-notes-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) auto;
    align-items: center;
    gap: 14px;
}
.knowledge-notes-form input,
.knowledge-notes-form button {
    height: 48px;
    box-sizing: border-box;
}
.knowledge-notes-form input {
    width: 100%;
    padding: 0 14px;
}
.knowledge-notes-form button {
    padding: 0 22px;
    white-space: nowrap;
}
.subscription-message {
    max-width: 760px;
    margin-top: 16px;
    padding: 10px 14px;
    border-radius: 8px;
    font-weight: 600;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
}
.subscription-message.success {
    color: #e8fff1;
}
.subscription-message.warning,
.subscription-message.danger {
    color: #fff6d8;
}
.site-footer {
    padding: 42px 0 22px;
}
.site-footer-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(150px, 1fr));
    gap: 34px;
    align-items: start;
}
.site-footer-brand img {
    width: min(240px, 100%);
    height: auto;
    margin-bottom: 14px;
}
.site-footer-brand p {
    max-width: 360px;
    margin: 0;
    color: rgba(255,255,255,.68);
    line-height: 1.65;
}
.site-footer-links h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 1rem;
    font-weight: 850;
}
.site-footer-links ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-footer-links a,
.site-footer-bottom a {
    color: rgba(255,255,255,.72);
    text-decoration: none;
}
.site-footer-links a:hover,
.site-footer-bottom a:hover {
    color: #fff;
    text-decoration: underline;
}
.site-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.76);
}
.site-footer-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}
.site-visit-counter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.84);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1;
}
.site-visit-counter i {
    color: var(--gold);
}
.site-visit-counter strong {
    color: #fff;
    font-size: 1.02rem;
}
html[dir="rtl"] .site-footer-brand p {
    margin-inline-start: auto;
}
html[dir="rtl"] .site-footer-bottom-actions {
    justify-content: flex-start;
}

@media (max-width: 1000px) {
    .knowledge-notes-row {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .site-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .knowledge-notes-form {
        grid-template-columns: 1fr;
    }
    .knowledge-notes-form input,
    .knowledge-notes-form button {
        width: 100%;
    }
    .site-footer-grid {
        grid-template-columns: 1fr;
    }
    .site-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
    .site-footer-bottom-actions {
        justify-content: flex-start;
    }
}
.sponsor-card {
    color: var(--ink);
    text-align: center;
    padding: 18px;
    transition: transform .18s ease, box-shadow .18s ease;
}
a.sponsor-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(16, 42, 67, .12);
}
.sponsor-card-inner {
    min-height: 142px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 10px;
}
.sponsor-logo {
    width: 150px;
    height: 74px;
    object-fit: contain;
    display: block;
}
.sponsor-logo-placeholder {
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--gold);
    background: rgba(199, 154, 56, .12);
    border: 1px solid rgba(199, 154, 56, .28);
    font-size: 1.7rem;
    font-weight: 800;
}
.sponsor-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin: 18px 0 24px;
    padding: 20px 22px;
    border: 1px solid #d8e2ec;
    border-radius: 8px;
    background: #f8fbff;
    box-shadow: 0 10px 24px rgba(15, 39, 66, .06);
}
.sponsor-cta h3 {
    margin: 0 0 6px;
    color: var(--navy);
    font-size: 1.2rem;
}
.sponsor-cta p {
    margin: 0;
    color: var(--muted);
}
@media (max-width: 767px) {
    .sponsor-cta {
        grid-template-columns: 1fr;
    }
    .sponsor-cta .btn {
        width: 100%;
    }
}
.applications-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.application-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15, 39, 66, .06);
}
.application-image {
    width: 100%;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: #eef3f8;
    border-bottom: 1px solid #e3e9ef;
}
.application-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.application-image-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    padding: 24px;
    color: #64748b;
    background:
        linear-gradient(135deg, rgba(199, 154, 56, .12), rgba(14, 34, 56, .06)),
        #f7f9fc;
    text-align: center;
}
.application-image-placeholder i {
    color: var(--gold);
    font-size: 2.5rem;
}
.application-image-placeholder span {
    font-weight: 800;
    color: #17324d;
}
.application-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}
.application-heading {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.application-logo {
    width: 54px;
    height: 54px;
    object-fit: contain;
    border-radius: 8px;
    background: #f7f9fc;
    border: 1px solid #e1e8f0;
    padding: 6px;
}
.application-status {
    display: inline-flex;
    margin-bottom: 8px;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: #f7f9fc;
    color: #0e2238;
    font-size: .82rem;
    font-weight: 800;
}
.application-description {
    margin: 18px 0;
}
.application-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 20px;
}
.publications-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.publications-grid-home {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.publication-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border: 1px solid #dce3eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
}
.publication-cover {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 320px;
    margin-bottom: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
    border: 1px solid #e4ebf3;
    border-radius: 10px;
}
.publication-cover img {
    width: 100%;
    max-width: 220px;
    height: 320px;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}
.publication-cover-placeholder {
    width: 220px;
    height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    color: #64748b;
    background: #fff;
    border: 1px dashed #b8c5d3;
    border-radius: 6px;
}
.publication-cover-placeholder i {
    font-size: 2.8rem;
    color: var(--gold);
}
.publication-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.publication-status {
    align-self: flex-start;
    display: inline-flex;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: #e8eef5;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.publication-card[dir="rtl"] .publication-status,
[dir="rtl"] .publication-card .publication-status {
    align-self: flex-end;
    margin-left: auto;
    margin-right: 0;
}
.publication-content h2 {
    margin: 16px 0 10px;
    font-size: 1.2rem;
    line-height: 1.3;
}
.publication-content p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    color: #334155;
    line-height: 1.6;
}
.publication-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
}
.publication-modal-description {
    white-space: pre-line;
    line-height: 1.75;
}
.admin-publication-cover-thumb {
    width: 110px;
    height: 150px;
    object-fit: contain;
    border: 1px solid #d9e3ee;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}
@media (max-width: 991.98px) {
    .publications-grid,
    .publications-grid-home {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .publications-grid,
    .publications-grid-home {
        grid-template-columns: 1fr;
    }
}
.demo-request-card {
    max-width: 860px;
}
.application-features {
    padding-inline-start: 1.2rem;
    color: #425466;
}
[dir="rtl"] .application-features {
    padding-inline-start: 0;
    padding-inline-end: 1.2rem;
}
.admin-application-image-thumb {
    width: 160px;
    height: 80px;
    object-fit: cover;
    border: 1px solid #d9e3ee;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}
.application-language-panels {
    display: grid;
    gap: 22px;
}
.application-language-panel {
    border: 1px solid #d7e2ee;
    border-radius: 12px;
    padding: 20px;
}
.application-language-panel.english-section {
    background: #f4f8fc;
    border-color: #b8d4ee;
}
.application-language-panel.arabic-section {
    background: #fff9ed;
    border-color: #e4c98a;
    text-align: right;
}
.application-language-panel.arabic-section input,
.application-language-panel.arabic-section textarea {
    direction: rtl;
    text-align: right;
}
@media (max-width: 850px) {
    .applications-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 560px) {
    .application-image {
        aspect-ratio: 16 / 9;
    }
    .application-body {
        padding: 18px;
    }
    .application-heading {
        gap: 12px;
    }
}
.admin-thumb {
    width: 72px;
    height: 48px;
    object-fit: contain;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #dce5ef;
    padding: 4px;
    margin-inline-end: 8px;
}
.admin-sponsor-logo-preview {
    width: 180px;
    height: 96px;
    object-fit: contain;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #dce5ef;
    padding: 10px;
}
.article-hero-image,
.article-image-gallery {
    max-width: 100%;
    overflow: hidden;
}
.article-image-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}
.article-hero-image img,
.article-image-gallery img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    max-width: 100%;
    object-fit: contain;
}
.article-hero-image {
    width: min(100%, 900px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background: #f8fafc;
    border: 1px solid #dde6ef;
    border-radius: 8px;
    padding: 14px;
}
.article-hero-image .article-image-trigger {
    display: flex;
    justify-content: center;
}
.article-hero-image img {
    max-height: 450px;
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    box-shadow: 0 8px 24px rgba(16, 42, 67, .12);
}
.article-hero-image figcaption,
.article-image-gallery figcaption {
    color: #66788a;
    font-size: .9rem;
    margin-top: 8px;
}
.article-image-gallery {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: 16px;
}
.article-image-gallery.gallery-count-1 {
    grid-template-columns: 1fr;
}
.article-image-gallery.gallery-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.article-image-gallery.gallery-count-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.article-image-gallery.gallery-count-3 figure:first-child {
    grid-column: 1 / -1;
}
.article-image-gallery.gallery-count-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.article-image-gallery figure {
    margin: 0;
}
.article-image-gallery img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background: #f4f7fa;
    border: 1px solid #dde6ef;
    padding: 8px;
}
.image-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(0, 0, 0, .88);
}
.image-preview-modal.is-open {
    display: flex;
}
.image-preview-modal img {
    max-width: 96vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
}
.image-preview-close {
    position: absolute;
    top: 18px;
    right: 24px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 32px;
    line-height: 1;
}
.image-preview-open {
    overflow: hidden;
}
@media (max-width: 991.98px) {
    .article-shell {
        padding: 28px;
    }
    .article-return-nav {
        align-items: stretch;
    }
    .article-image-gallery.gallery-count-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .site-brand-logo,
    .site-logo {
        width: 180px;
        max-height: 48px;
    }
    .article-detail {
        padding-top: 24px;
    }
    .article-shell {
        width: calc(100% - 20px);
        padding: 22px 16px;
    }
    .article-return-nav {
        display: grid;
        grid-template-columns: 1fr;
    }
    .article-return-link {
        width: 100%;
        justify-content: center;
    }
    .article-heading h1 {
        font-size: 1.35rem;
    }
    .article-hero-image {
        padding: 8px;
    }
    .article-image-gallery,
    .article-image-gallery.gallery-count-2,
    .article-image-gallery.gallery-count-3,
    .article-image-gallery.gallery-count-4 {
        grid-template-columns: 1fr;
    }
    .image-preview-modal {
        padding: 16px;
    }
}
.admin-shell {
    min-height: 100vh;
    background: #f6f8fb;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 1040;
    box-shadow: 0 10px 28px rgba(14, 34, 56, .14);
}

.admin-menu-toggle {
    border: 1px solid rgba(255, 255, 255, .35);
    min-width: 44px;
    min-height: 44px;
}

.admin-sidebar {
    max-width: 100%;
}

.admin-sidebar-inner {
    position: sticky;
    top: 96px;
    padding: 10px;
    border: 1px solid #d9e3ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(14, 34, 56, .08);
}

.admin-nav-accordion {
    display: grid;
    gap: 8px;
}

.admin-nav-section {
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    background: transparent;
}

.admin-nav-category {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-height: 48px;
    gap: 11px;
    padding: 12px 13px;
    border-radius: 8px;
    background: #f7f9fc;
    color: #25384c;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    box-shadow: none;
}

.admin-nav-category-link {
    border-radius: 8px;
    text-decoration: none;
}

.admin-nav-category.accordion-button:not(.collapsed),
.admin-nav-section.is-active .admin-nav-category,
.admin-nav-category-link.is-current {
    background: #102a43;
    color: #fff;
    box-shadow: none;
}

.admin-nav-category:focus {
    box-shadow: 0 0 0 .2rem rgba(199, 154, 56, .25);
}

.admin-nav-category-icon,
.admin-nav-link-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    color: #9b6f16;
}

.admin-nav-section.is-active .admin-nav-category-icon,
.admin-nav-category-link.is-current .admin-nav-category-icon {
    color: #e8be57;
}

.admin-nav-links {
    display: grid;
    gap: 4px;
    padding: 8px 6px 8px 22px;
    background: #fff;
}

.admin-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 10px;
    border-radius: 8px;
    color: #30455b;
    text-decoration: none;
    font-weight: 650;
    line-height: 1.25;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.admin-nav-link:hover {
    background: #f2f5f9;
    color: #102a43;
    transform: translateX(2px);
}

.admin-nav-link.active {
    background: #fff4d6;
    color: #102a43;
    box-shadow: inset 3px 0 0 #c79a38;
}

[dir="rtl"] .admin-nav-links {
    padding-right: 22px;
    padding-left: 6px;
}

[dir="rtl"] .admin-nav-link.active {
    box-shadow: inset -3px 0 0 #c79a38;
}

[dir="rtl"] .admin-nav-link:hover {
    transform: translateX(-2px);
}

@media (max-width: 991.98px) {
    .admin-topbar .container-fluid {
        gap: 10px;
    }

    .admin-topbar .navbar-brand {
        max-width: 42vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-sidebar {
        width: 100%;
    }

    .admin-sidebar-inner {
        position: static;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        overflow-x: hidden;
        margin-bottom: 16px;
        border-radius: 8px;
        box-shadow: 0 10px 24px rgba(14, 34, 56, .1);
    }

    .admin-nav-category {
        min-height: 52px;
        padding: 14px 13px;
    }

    .admin-nav-link {
        min-height: 46px;
        padding: 11px 10px;
    }
}

.article-language-section {
    border: 1px solid;
    border-radius: 12px;
    padding: 24px;
    margin: 18px 0 28px;
}

.article-language-section.english-section {
    background: #f4f8fc;
    border-color: #b8d4ee;
}

.article-language-section.arabic-section {
    background: #fff9ed;
    border-color: #e4c98a;
    direction: rtl;
    text-align: right;
}

.article-language-section .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(16, 42, 67, .12);
}

.article-language-section .section-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.english-section .section-icon {
    background: #dcecff;
    color: #1f4e79;
}

.arabic-section .section-icon {
    background: #f5e8ca;
    color: #a77a16;
}

.arabic-section input,
.arabic-section textarea,
.arabic-section select,
.arabic-section .tox-edit-area__iframe {
    direction: rtl;
    text-align: right;
}

.arabic-section input[type="url"],
.arabic-section input[name^="slug_"],
.arabic-section .article-import-tool input {
    direction: ltr;
    text-align: left;
}

.article-import-tool,
.language-image-list {
    border: 1px solid rgba(16, 42, 67, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .7);
    padding: 16px;
}

.article-import-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.article-import-actions input {
    flex: 1 1 320px;
}

.article-import-actions .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.smart-paste-raw {
    min-height: 320px;
    font-family: Inter, Arial, sans-serif;
    line-height: 1.65;
}

.smart-paste-rtl,
.smart-paste-rtl input,
.smart-paste-rtl textarea {
    direction: rtl;
    text-align: right;
}

.smart-paste-rtl input[type="url"],
.smart-paste-rtl input[type="datetime-local"],
.smart-paste-rtl #smart-preview-slug {
    direction: ltr;
    text-align: left;
}

.smart-paste-loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #17324d;
    font-weight: 600;
}

.article-admin-image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
}

.article-admin-image-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #d9e3ee;
    border-radius: 8px;
    background: #fff;
    padding: 10px;
}

.article-admin-image-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 6px;
    background: #eef3f8;
}

.article-admin-image-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.article-admin-image-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    font-size: .9rem;
}

.article-admin-image-meta a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.article-admin-image-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.article-editor-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 767.98px) {
    .article-language-section {
        padding: 16px;
    }
    .article-import-actions .btn,
    .article-import-actions input {
        width: 100%;
        flex-basis: 100%;
    }
    .article-editor-actions {
        justify-content: stretch;
    }
    .article-editor-actions .btn {
        width: 100%;
    }
}
.tox-tinymce {
    border-color: #d9e3ee !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.tox .tox-edit-area__iframe {
    background: #fff;
}
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4 {
    margin-top: 1.6em;
    margin-bottom: .6em;
    color: #0e2238;
    line-height: 1.25;
}
.article-content h1 { font-size: 32px; }
.article-content h2 { font-size: 26px; }
.article-content h3 { font-size: 22px; }
.article-content h4 { font-size: 20px; }
.article-content p {
    margin-top: 0;
    margin-bottom: 1.15rem;
}
.article-content ul,
.article-content ol {
    margin-top: 10px;
    margin-bottom: 16px;
    padding-left: 28px;
}
[dir="rtl"] .article-content ul,
.article-content[dir="rtl"] ul,
[dir="rtl"] .article-content ol,
.article-content[dir="rtl"] ol {
    padding-left: 0;
    padding-right: 28px;
}
.article-content li {
    margin-bottom: .45rem;
}
.article-content blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--gold);
    background: #f8fafc;
    color: #425466;
}
[dir="rtl"] .article-content blockquote {
    border-left: 0;
    border-right: 4px solid var(--gold);
}
.article-content table {
    width: 100%;
    margin: 1.5rem 0;
    border-collapse: collapse;
}
.article-content th,
.article-content td {
    border: 1px solid #d9e3ee;
    padding: .65rem;
}
.article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
.stat {
    border-left: 4px solid var(--gold);
}
[dir="rtl"] .stat {
    border-left: 0;
    border-right: 4px solid var(--gold);
}

body.login-body {
    min-height: 100vh;
    margin: 0;
    background: linear-gradient(135deg, rgba(5, 30, 55, .97), rgba(13, 59, 102, .92));
    font-family: Arial, Tahoma, sans-serif;
}

.login-page {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
}

.login-brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(14, 34, 56, .88), rgba(13, 59, 102, .55)),
        radial-gradient(circle at 20% 20%, rgba(215, 166, 52, .22), transparent 26%);
}

.login-brand-panel h1 {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    font-weight: 800;
    line-height: 1.05;
}

.login-brand-panel p {
    max-width: 620px;
    font-size: 1.25rem;
    color: rgba(255, 255, 255, .78);
}

.login-form-panel {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    background: rgba(255, 255, 255, .06);
}

.login-card {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border-radius: 18px;
    padding: 2rem;
    box-shadow: 0 22px 65px rgba(0, 0, 0, .28);
}

.login-card .form-control,
.login-card .btn {
    min-height: 48px;
    border-radius: 10px;
}

.password-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.password-card {
    max-width: 520px;
}

.password-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(215, 166, 52, .16);
    color: var(--gold);
    font-size: 1.45rem;
    margin-bottom: 1rem;
}

html[dir="rtl"] .login-card {
    text-align: right;
}

@media (max-width: 900px) {
    .login-page {
        grid-template-columns: 1fr;
    }
    .login-brand-panel {
        display: none;
    }
}

/* Cost-estimation wizard extension */
.wizard-steps{grid-template-columns:repeat(8,minmax(0,1fr));row-gap:16px}
.cost-notice{border:2px solid #e1b84d;background:#fff9e8;border-radius:12px;padding:18px;color:#263b50}
.cost-notice h3{color:#7c5700}.cost-notice .form-check{border-top:1px solid #e7cf91;padding-top:14px;margin-top:14px;padding-inline-start:1.8rem}
@media(max-width:1199px){.wizard-steps{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:16px}}
@media(max-width:991px){.wizard-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.password-strength-panel{border:1px solid #d9e1ea;border-radius:10px;background:#f8fafc;padding:14px 16px}.password-strength-panel .progress{height:8px}.password-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;color:#687587;font-size:.9rem}.password-rule-grid .valid{color:#198754;font-weight:600}@media(max-width:575px){.password-rule-grid{grid-template-columns:1fr}}
.registration-legal-summary{border:1px solid #cfd9e5;border-radius:10px;background:#f8fafc;padding:16px}.registration-legal-summary ul{margin-bottom:.6rem}.registration-legal-summary p:last-child{margin-bottom:0}.legal-page h1{color:var(--navy)}.legal-section{padding:1.1rem 0;border-bottom:1px solid #e5eaf0}.legal-section:last-of-type{border-bottom:0}

/* Visitor account public pages */
.account-portal:has(> .container > .row.g-4.justify-content-center),
.account-portal:has(> .container > .card.mx-auto),
.account-portal:has(> .container > .card.p-4.mx-auto){
    min-height:calc(100vh - 94px);
    background:
        linear-gradient(180deg,#f7fafc 0%,#eef5f8 100%);
}
.account-portal:has(> .container > .row.g-4.justify-content-center)>.container,
.account-portal:has(> .container > .card.mx-auto)>.container,
.account-portal:has(> .container > .card.p-4.mx-auto)>.container{
    max-width:1120px;
}
.account-portal .row.g-4.justify-content-center{
    position:relative;
    align-items:stretch;
    padding:18px;
    border:1px solid #dce6ee;
    border-radius:18px;
    background:
        linear-gradient(135deg,rgba(13,59,102,.08),rgba(22,169,199,.08)),
        #fff;
    box-shadow:0 22px 60px rgba(18,45,68,.12);
}
.account-portal .row.g-4.justify-content-center::before{
    content:"Secure visitor portal\A\A ✓ Verified account access\A ✓ Saved projects and report history\A ✓ Professional calculation workspace";
    white-space:pre-line;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:460px;
    padding:34px 34px 34px 42px;
    border-radius:12px;
    background:
        linear-gradient(145deg,rgba(13,59,102,.28),rgba(22,169,199,.08)),
        url("data:image/svg+xml,%3Csvg width='520' height='360' viewBox='0 0 520 360' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='128' y='72' width='264' height='170' rx='18' fill='%23ffffff' fill-opacity='.13' stroke='%23ffffff' stroke-opacity='.32'/%3E%3Crect x='154' y='104' width='102' height='12' rx='6' fill='%2316a9c7' fill-opacity='.9'/%3E%3Crect x='154' y='132' width='206' height='10' rx='5' fill='%23ffffff' fill-opacity='.36'/%3E%3Crect x='154' y='154' width='176' height='10' rx='5' fill='%23ffffff' fill-opacity='.25'/%3E%3Ccircle cx='342' cy='106' r='22' fill='%23d7a634' fill-opacity='.92'/%3E%3Cpath d='M330 106l8 8 18-20' stroke='%230d3b66' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='154' y='190' width='54' height='30' rx='8' fill='%23ffffff' fill-opacity='.2'/%3E%3Crect x='226' y='178' width='54' height='42' rx='8' fill='%2316a9c7' fill-opacity='.62'/%3E%3Crect x='298' y='162' width='54' height='58' rx='8' fill='%23d7a634' fill-opacity='.86'/%3E%3Cpath d='M92 262h336' stroke='%23ffffff' stroke-opacity='.22' stroke-width='8' stroke-linecap='round'/%3E%3Ccircle cx='118' cy='82' r='24' fill='%2316a9c7' fill-opacity='.16'/%3E%3Ccircle cx='414' cy='250' r='34' fill='%23d7a634' fill-opacity='.14'/%3E%3C/svg%3E") no-repeat center 46px/70% auto,
        linear-gradient(145deg,rgba(13,59,102,.96),rgba(16,98,128,.86)),
        url("../images/dcknowledge-logo-dark-header.png") no-repeat 30px 28px/230px auto;
    color:#fff;
    font-size:.94rem;
    font-weight:800;
    line-height:1.85;
    text-shadow:0 2px 18px rgba(0,0,0,.2);
}
.account-portal .row.g-4.justify-content-center::first-line{
    font-size:2.05rem;
    font-weight:850;
    line-height:1.08;
}
html[dir="rtl"] .account-portal .row.g-4.justify-content-center::before{
    content:"بوابة الزائر الآمنة\A\A ✓ وصول بحساب موثّق\A ✓ مشاريع محفوظة وسجل تقارير\A ✓ مساحة عمل احترافية للحسابات";
    direction:rtl;
    text-align:right;
    padding:34px 42px 34px 34px;
}
html[dir="rtl"] .account-portal .row.g-4.justify-content-center::first-line{
    font-size:2rem;
}
.account-portal .row.g-4.justify-content-center>.col-lg-5{
    flex:1 1 330px;
    max-width:440px;
}
.account-portal .row.g-4.justify-content-center .card,
.account-portal>.container>.card.mx-auto{
    border:1px solid #dce6ee;
    border-radius:14px;
    box-shadow:0 18px 45px rgba(18,45,68,.1);
}
.account-portal .row.g-4.justify-content-center .card{
    border-radius:12px;
    box-shadow:none;
}
.account-portal .row.g-4.justify-content-center h1,
.account-portal .row.g-4.justify-content-center h2,
.account-portal>.container>.card.mx-auto h1{
    color:var(--navy);
    font-weight:800;
}
.account-portal .row.g-4.justify-content-center label,
.account-portal>.container>.card.mx-auto label{
    font-weight:650;
    color:#18364f;
}
.account-portal .row.g-4.justify-content-center .form-control,
.account-portal>.container>.card.mx-auto .form-control,
.account-portal>.container>.card.mx-auto .form-select{
    min-height:48px;
    border-color:#cfdbe7;
    border-radius:9px;
    background:#fbfdff;
}
.account-portal .row.g-4.justify-content-center .form-control:focus,
.account-portal>.container>.card.mx-auto .form-control:focus,
.account-portal>.container>.card.mx-auto .form-select:focus{
    border-color:#16a9c7;
    box-shadow:0 0 0 .2rem rgba(22,169,199,.14);
}
.account-portal .row.g-4.justify-content-center a,
.account-portal>.container>.card.mx-auto a{
    font-weight:700;
    text-decoration:none;
}
.account-portal .row.g-4.justify-content-center form>a{
    display:inline-flex;
    width:max-content;
    color:#0d3b66;
}
.account-portal>.container>.card.mx-auto[style*="max-width:600px"]{
    max-width:560px!important;
    padding:34px!important;
}
.account-portal>.container>.card.mx-auto[style*="max-width:720px"]{
    max-width:760px!important;
    padding:38px!important;
    border-top:5px solid var(--gold);
}
.account-portal>.container>.card.mx-auto[style*="max-width:820px"]{
    max-width:940px!important;
    padding:34px!important;
}
.account-portal>.container>.card.mx-auto[style*="max-width:820px"]::before,
.account-portal>.container>.card.mx-auto[style*="max-width:600px"]::before{
    content:"DCKnowledge";
    display:block;
    margin-bottom:8px;
    color:#16a9c7;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])){
    position:relative;
    display:grid;
    grid-template-columns:minmax(260px,.82fr) minmax(320px,1fr);
    gap:0;
    max-width:920px!important;
    min-height:360px;
    padding:0!important;
    overflow:hidden;
    border:1px solid rgba(22,169,199,.22);
    border-radius:8px;
    background:#fff;
    box-shadow:0 24px 70px rgba(18,45,68,.14);
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::before{
    content:"DCKnowledge\A\A Secure password recovery\A\A Enter your registered email to receive a single-use reset link.";
    grid-column:1;
    grid-row:1 / span 2;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:360px;
    margin:0;
    padding:34px;
    color:#fff;
    font-size:.95rem;
    font-weight:650;
    line-height:1.65;
    letter-spacing:0;
    text-transform:none;
    white-space:pre-line;
    background:
        linear-gradient(145deg,rgba(13,59,102,.94),rgba(13,59,102,.78)),
        radial-gradient(circle at 18% 18%,rgba(22,169,199,.2),transparent 32%),
        linear-gradient(135deg,#102945,#17456e);
    text-shadow:0 2px 18px rgba(0,0,0,.25);
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::after{
    content:"";
    position:absolute;
    inset:34px auto auto 34px;
    width:118px;
    aspect-ratio:1;
    border:1px solid rgba(255,255,255,.26);
    border-radius:8px;
    background:
        linear-gradient(90deg,transparent 46%,rgba(22,169,199,.9) 47% 53%,transparent 54%),
        linear-gradient(0deg,transparent 46%,rgba(215,166,52,.9) 47% 53%,transparent 54%),
        linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) h1,
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form{
    grid-column:2;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) h1{
    margin:0;
    align-self:end;
    padding:46px 46px 10px;
    font-size:2rem;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form{
    align-self:start;
    padding:0 46px 46px;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form::before{
    content:"Email address";
    color:#18364f;
    font-weight:700;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) .form-control{
    min-height:54px;
    border-radius:8px;
    background:#f8fbfd;
}
.account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) .btn{
    min-height:52px;
    border-radius:8px;
    box-shadow:0 12px 24px rgba(215,166,52,.2);
}
html[dir="rtl"] .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::before{
    direction:rtl;
    text-align:right;
}
html[dir="rtl"] .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::after{
    inset:34px 34px auto auto;
}
html[dir="rtl"] .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) h1,
html[dir="rtl"] .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form{
    grid-column:2;
    text-align:right;
}
@media(max-width:991px){
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])){
        grid-template-columns:1fr;
        max-width:620px!important;
    }
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::before{
        grid-row:auto;
        min-height:220px;
        padding:124px 26px 26px;
    }
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::after{
        inset:24px auto auto 26px;
        width:82px;
    }
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) h1,
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form{
        grid-column:1;
    }
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) h1{
        padding:30px 28px 6px;
        font-size:1.7rem;
    }
    .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"])) form{
        padding:0 28px 30px;
    }
    html[dir="rtl"] .account-portal>.container>.card.mx-auto:has(input[name="email"][type="email"]):not(:has(input[name="password"]))::after{
        inset:24px 26px auto auto;
    }
    .account-portal .row.g-4.justify-content-center::before{
        min-height:auto;
        padding:170px 26px 26px;
        font-size:.9rem;
        background:
            linear-gradient(145deg,rgba(13,59,102,.3),rgba(22,169,199,.08)),
            url("data:image/svg+xml,%3Csvg width='520' height='360' viewBox='0 0 520 360' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='128' y='72' width='264' height='170' rx='18' fill='%23ffffff' fill-opacity='.13' stroke='%23ffffff' stroke-opacity='.32'/%3E%3Crect x='154' y='104' width='102' height='12' rx='6' fill='%2316a9c7' fill-opacity='.9'/%3E%3Crect x='154' y='132' width='206' height='10' rx='5' fill='%23ffffff' fill-opacity='.36'/%3E%3Crect x='154' y='154' width='176' height='10' rx='5' fill='%23ffffff' fill-opacity='.25'/%3E%3Ccircle cx='342' cy='106' r='22' fill='%23d7a634' fill-opacity='.92'/%3E%3Cpath d='M330 106l8 8 18-20' stroke='%230d3b66' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='154' y='190' width='54' height='30' rx='8' fill='%23ffffff' fill-opacity='.2'/%3E%3Crect x='226' y='178' width='54' height='42' rx='8' fill='%2316a9c7' fill-opacity='.62'/%3E%3Crect x='298' y='162' width='54' height='58' rx='8' fill='%23d7a634' fill-opacity='.86'/%3E%3Cpath d='M92 262h336' stroke='%23ffffff' stroke-opacity='.22' stroke-width='8' stroke-linecap='round'/%3E%3Ccircle cx='118' cy='82' r='24' fill='%2316a9c7' fill-opacity='.16'/%3E%3Ccircle cx='414' cy='250' r='34' fill='%23d7a634' fill-opacity='.14'/%3E%3C/svg%3E") no-repeat center 16px/210px auto,
            linear-gradient(145deg,rgba(13,59,102,.96),rgba(16,98,128,.86));
    }
    .account-portal .row.g-4.justify-content-center::first-line{font-size:1.55rem}
    html[dir="rtl"] .account-portal .row.g-4.justify-content-center::before{
        padding:170px 26px 26px;
    }
    html[dir="rtl"] .account-portal .row.g-4.justify-content-center::first-line{
        font-size:1.5rem;
    }
}
@media(max-width:575px){
    .account-portal .row.g-4.justify-content-center{
        padding:10px;
    }
    .account-portal>.container>.card.mx-auto[style]{
        padding:24px!important;
    }
}
.report-recipient-card{border:1px solid #cbd9e7;border-inline-start:4px solid #d7a634;background:#fbfcfe}.report-recipient-card .text-uppercase{letter-spacing:.08em;font-weight:700}.wizard-actions #wizardSubmit:disabled{opacity:.55;cursor:not-allowed}
.report-action-icons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.report-action-icons form{display:inline-flex;margin:0}.report-icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:8px}.report-icon-btn i{font-size:1rem}.report-icon-btn.btn-gold{color:#061b31}.report-icon-btn:focus-visible{outline:3px solid rgba(22,169,199,.35);outline-offset:2px}

/* Contact page */
.contact-page{min-height:calc(100vh - 94px);background:linear-gradient(180deg,#f7fafc 0%,#eef5f8 100%)}
.contact-intro{padding:10px 0 24px}.contact-intro h1{color:#172235;font-size:3rem;font-weight:850;margin:.4rem 0 1rem}.contact-intro .lead{max-width:560px;color:#42566d;font-size:1.08rem}
.contact-methods{display:grid;gap:14px;margin-top:28px}.contact-method{display:grid;grid-template-columns:46px 1fr;gap:4px 14px;align-items:center;padding:16px;border:1px solid #d8e3ec;border-radius:10px;background:#fff;text-decoration:none;box-shadow:0 12px 34px rgba(18,45,68,.07)}
.contact-method i{grid-row:1/3;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#eef9fc;color:#0d3b66;font-size:1.2rem}.contact-method span{color:#60758a;font-size:.86rem}.contact-method strong{color:#0d3b66;overflow-wrap:anywhere}.contact-method:hover{border-color:#16a9c7;box-shadow:0 16px 38px rgba(18,45,68,.11)}
.contact-form-card{height:100%;padding:30px;border:1px solid #dce6ee;border-radius:14px;box-shadow:0 22px 60px rgba(18,45,68,.11)}.contact-form-card h2{color:var(--navy);font-weight:800}.contact-form-card .form-control{min-height:48px;border-color:#cfdbe7;border-radius:9px;background:#fbfdff}.contact-form-card textarea.form-control{min-height:150px}.contact-form-card .form-control:focus{border-color:#16a9c7;box-shadow:0 0 0 .2rem rgba(22,169,199,.14)}
.contact-status-message{display:flex;gap:13px;align-items:flex-start;margin:0 0 20px;padding:14px 16px;border:1px solid #cfdbe7;border-radius:11px;background:#f8fafc;color:#19324d}.contact-status-message i{font-size:1.35rem;margin-top:2px}.contact-status-message strong{display:block;margin-bottom:2px;font-weight:800}.contact-status-message span{display:block;color:inherit;line-height:1.45}.contact-status-message.success{border-color:#a9dfbf;background:#effaf3;color:#155b33}.contact-status-message.danger{border-color:#f2b8bc;background:#fff3f4;color:#8a1f2d}.contact-status-message.warning{border-color:#f0d38a;background:#fff9e8;color:#73530a}.contact-status-message.info{border-color:#b8d8ed;background:#eef8fc;color:#0d4f69}
html[dir="rtl"] .contact-method{text-align:right}
@media(max-width:767px){.contact-intro h1{font-size:2.35rem}.contact-form-card{padding:22px}}

/* CAPEX, OPEX and management cost estimator */
.cost-estimator-form{border-top:4px solid var(--gold)}
.cost-method-card{display:flex;gap:12px;align-items:flex-start;height:100%;padding:18px;border:1px solid #cbd8e5;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cost-method-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px rgba(211,165,34,.14)}
.cost-method-card input{margin-top:4px}.cost-method-card span,.cost-method-card small{display:block}.cost-method-card small{color:#66788a;margin-top:5px}
.cost-baseline-selector{padding:18px;border:1px solid #cfe0ec;border-radius:12px;background:#f6fbfd}.cost-scenario-card strong{font-size:1.05rem;color:var(--navy)}.cost-scenario-card small{line-height:1.35}
.import-panel{padding:18px;border:1px solid #cfe0ec;border-radius:12px;background:#f5fafc}
.cost-kpi{height:100%;padding:16px;border:1px solid #d7e0e8;border-radius:10px;background:#f8fafc}.cost-kpi span{display:block;color:#60758a;font-size:.86rem}.cost-kpi strong{display:block;color:var(--navy);font-size:1.12rem;margin-top:5px;overflow-wrap:anywhere}
.cost-assumption-list{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:0}.cost-assumption-list dt{color:#60758a;font-weight:500}.cost-assumption-list dd{margin:0;font-weight:700;text-align:end}
.cost-chart-card{height:100%;padding:18px;border:1px solid #d7e0e8;border-radius:12px;background:#fff}.cost-chart-card h3{color:var(--navy);text-align:center;margin-bottom:15px}
.cost-pie{width:148px;aspect-ratio:1;margin:0 auto 18px;border-radius:50%;box-shadow:inset 0 0 0 20px #fff}
.cost-chart-legend{display:grid;gap:7px}.cost-chart-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:.78rem}.cost-chart-legend i{display:block;width:9px;height:9px;border-radius:2px}.cost-chart-legend span{color:#52687b}.cost-chart-legend strong{color:var(--navy)}
.cost-bar-row{margin-bottom:18px}.cost-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.cost-bar-row strong{color:var(--navy);overflow-wrap:anywhere;text-align:end}.cost-bar-track{height:13px;margin-top:7px;border-radius:20px;background:#e8eef3;overflow:hidden}.cost-bar-track span{display:block;height:100%;min-width:2px;border-radius:20px;background:linear-gradient(90deg,#0d3b66,#16a9c7)}
.pue-note{padding:13px 15px;border-inline-start:4px solid #16a9c7;border-radius:8px;background:#eef9fc;color:#37586d;font-size:.9rem}.monthly-rack-input{padding:20px;border:1px solid #d9e3ec;border-radius:12px;background:#fbfcfe}.monthly-rack-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border-radius:12px;background:#0d3b66;color:#fff}.monthly-rack-result>div{padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:9px}.monthly-rack-result span,.monthly-rack-result strong{display:block}.monthly-rack-result span{color:#b9d5e8;font-size:.85rem}.monthly-rack-result strong{margin-top:5px;font-size:1.25rem}.monthly-rack-result small{grid-column:1/-1;color:#d9e8f2}
html[dir="rtl"] .cost-method-card{text-align:right}
@media(max-width:767px){.cost-estimator-form{padding:1.2rem!important}.cost-kpi strong{font-size:1rem}.cost-pie{width:132px}.cost-chart-card{padding:15px}.monthly-rack-result{grid-template-columns:1fr}}

/* Knowledge Hub assessment */
.kh-answer-option{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:2px solid #d7e2ee;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.kh-answer-option:hover{border-color:#90b7d4;background:#f7fbfd}
.kh-answer-option:has(.kh-answer-input:focus-visible){outline:3px solid rgba(22,169,199,.22);outline-offset:2px}
.kh-answer-option:has(.kh-answer-input:checked){border-color:#c99d1e;background:#fff8df;box-shadow:0 0 0 4px rgba(201,157,30,.18)}
.kh-answer-input{flex:0 0 auto;margin-top:2px!important;width:1.25rem;height:1.25rem;border:2px solid #8aa2b8;accent-color:#c99d1e}
.kh-answer-option .form-check-label{font-weight:650;color:#172235;line-height:1.45}
.kh-submit-button:disabled{opacity:.55;cursor:not-allowed}
.kh-submit-hint{min-height:1.25rem;color:#8a6500!important;font-weight:650}
html[dir="rtl"] .kh-answer-option{text-align:right}

/* Home page enterprise layout */
.home-hero{position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0;background:linear-gradient(110deg,rgba(14,34,56,.96),rgba(13,59,102,.9));color:#fff}
.home-hero::after{content:"";position:absolute;inset:auto -8% -35% auto;width:46%;aspect-ratio:1;border-radius:50%;background:rgba(53,216,242,.12);filter:blur(2px);pointer-events:none}
.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(34px,5vw,76px)}
.home-hero-copy h1{max-width:780px;margin:0;color:#fff;font-size:clamp(2.4rem,4.8vw,4.8rem);font-weight:900;line-height:.98;letter-spacing:0}
.home-eyebrow{margin:0 0 12px;color:#d6a51f;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.home-hero-lead{max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.86);font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.65}
.home-hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.home-hero-chips span{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-weight:750}
.home-hero-chips i{color:#e7bd46}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.home-hero-visual{display:flex;justify-content:center;align-items:center;min-height:420px}
.home-hero-visual img{display:block;width:min(100%,980px);height:auto;filter:drop-shadow(0 28px 48px rgba(0,0,0,.28))}
.home-stats{position:relative;z-index:2;margin-top:-34px}
.home-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:22px;border:1px solid #d9e4ee;border-radius:16px;background:#fff;box-shadow:0 22px 54px rgba(14,34,56,.13)}
.home-stats-grid div{padding:12px 18px;border-inline-start:1px solid #e3ebf2}
.home-stats-grid div:first-child{border-inline-start:0}
.home-stats-grid strong{display:block;color:#0d3b66;font-size:clamp(1.6rem,3vw,2.35rem);font-weight:900;line-height:1}
.home-stats-grid span{display:block;margin-top:8px;color:#5f7286;font-weight:700}
.home-section{position:relative}
.home-section-head{max-width:820px;margin-bottom:30px}
.home-section-head h2{margin:0;color:#172235;font-size:clamp(1.6rem,2.88vw,2.72rem);font-weight:850;letter-spacing:0}
.home-section-head p:not(.home-eyebrow){margin:12px 0 0;color:#5d7185;font-size:1.08rem;line-height:1.6}
.home-section-head-row{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:none}
.home-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-category-card{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;padding:18px;border:1px solid #dbe5ee;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 14px 36px rgba(14,34,56,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-category-card:hover{transform:translateY(-5px);border-color:#b7d4e7;box-shadow:0 22px 48px rgba(14,34,56,.12)}
.home-category-icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,var(--category-color,#0d3b66) 13%,#fff);color:var(--category-color,#0d3b66);font-size:1.35rem}
.home-category-card strong,.home-category-card small{display:block}.home-category-card strong{color:#122235;font-size:1.05rem}.home-category-card small{margin-top:4px;color:#63788d}
.home-resource-section{padding-top:42px;padding-bottom:42px}
.home-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-resource-card{display:grid;gap:10px;align-content:start;min-height:164px;padding:20px;border:1px solid #dbe5ef;border-radius:8px;background:#fff;color:#10233f;text-decoration:none;box-shadow:0 14px 30px rgba(11,36,68,.05);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.home-resource-card:hover,.home-resource-card:focus-visible{transform:translateY(-3px);border-color:#9fc0ee;box-shadow:0 18px 38px rgba(11,36,68,.09);color:#10233f;outline:0}
.home-resource-card span{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#eef6ff;color:#2548ff;font-size:1.2rem}
.home-resource-card strong{font-size:1.06rem;color:#0b2545}
.home-resource-card small{color:#5b6f84;line-height:1.55}
.home-note-day-section{padding-top:48px}
.home-note-day-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start;padding:26px;border:1px solid #d7e4ee;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--note-category-bg,#eef6ff) 58%,#fff),#fff 48%);box-shadow:0 18px 44px rgba(14,34,56,.09)}
.home-note-day-category{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid color-mix(in srgb,var(--note-category-color,#0b2545) 18%,#d7e4ee);border-radius:14px;background:#fff;color:#102a43;text-decoration:none;font-weight:850}
.home-note-day-category:hover{color:var(--note-category-color,#0b2545);border-color:color-mix(in srgb,var(--note-category-color,#0b2545) 42%,#d7e4ee)}
.home-note-day-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;border-radius:12px;background:var(--note-category-bg,#eef6ff);color:var(--note-category-color,#0b2545);font-size:1.22rem}
.home-note-day-content h3{max-width:920px;margin:0;color:#11213a;font-size:clamp(1.35rem,2.15vw,2.05rem);font-weight:900;line-height:1.22}
.home-note-day-content h3 a{color:inherit;text-decoration:none}.home-note-day-content h3 a:hover{color:var(--note-category-color,#0b2545)}
.home-note-day-content p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:900px;margin:12px 0 0;color:#455e76;font-size:1.04rem;line-height:1.65}
.home-note-day-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;color:#5f7185;font-weight:800}
.home-note-day-meta span+span::before{content:"·";margin-inline-end:9px;color:#91a3b4}
.home-note-day-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}
.home-note-day-all{display:inline-flex;align-items:center;gap:8px;color:#0d3b66;font-weight:850;text-decoration:none}.home-note-day-all:hover{text-decoration:underline}
.home-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-article-card{display:flex;flex-direction:column;overflow:hidden;min-height:100%;border:1px solid #dbe5ee;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(14,34,56,.08);transition:transform .22s ease,box-shadow .22s ease}
.home-article-card:hover{transform:translateY(-6px);box-shadow:0 28px 62px rgba(14,34,56,.14)}
.home-article-thumb{display:block;overflow:hidden;aspect-ratio:16/9;background:#eef4f8}
.home-article-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.home-article-card:hover .home-article-thumb img{transform:scale(1.05)}
.home-article-body{display:flex;flex:1;flex-direction:column;padding:22px}
.home-article-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#60758a;font-size:.86rem;font-weight:750}
.home-article-meta span:first-child{padding:5px 9px;border-radius:99px;background:#eef7fb;color:#0d3b66}
.home-article-body h3{margin:16px 0 10px;color:#132237;font-size:1.35rem;font-weight:850;line-height:1.25}.home-article-body h3 a{text-decoration:none;color:inherit}
.home-article-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#50677d;line-height:1.62}
.home-article-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:18px;color:#60758a;font-size:.9rem}
.home-article-footer i{margin-inline-end:5px;color:#d1a11d}.home-article-footer a{margin-inline-start:auto;font-weight:800;text-decoration:none}
.home-feature-card{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);gap:34px;align-items:center;padding:clamp(28px,4vw,54px);border:1px solid #cfdfe9;border-radius:18px;background:linear-gradient(135deg,#0d223a,#123d69 62%,#155b78);color:#fff;box-shadow:0 28px 70px rgba(14,34,56,.17)}
.home-feature-card h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.88rem);font-weight:900}.home-feature-card p{max-width:620px;color:rgba(255,255,255,.82);font-size:1.1rem;line-height:1.7}
.home-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:24px 0 28px;padding:0;list-style:none}
.home-feature-list li{display:flex;align-items:center;gap:8px;color:#fff;font-weight:750}.home-feature-list i{color:#2ed27a}
.home-feature-visual{display:flex;align-items:end;justify-content:center;gap:18px;min-height:260px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.08)}
.home-feature-visual img{width:auto;height:clamp(150px,18vw,240px);object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.28))}
.home-feature-visual img:nth-child(2){height:clamp(130px,16vw,210px);opacity:.86}.home-feature-visual img:nth-child(3){height:clamp(116px,14vw,185px);opacity:.72}
.home-tool-grid,.home-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-tool-card,.home-app-card{display:flex;flex-direction:column;min-height:220px;padding:24px;border:1px solid #dbe5ee;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 16px 44px rgba(14,34,56,.08);transition:transform .2s ease,box-shadow .2s ease}
.home-tool-card:hover,.home-app-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(14,34,56,.13)}
.home-tool-card span,.home-app-icon{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#fff5d8;color:#b28300;font-size:1.45rem}
.home-tool-card strong,.home-app-card h3{display:block;margin-top:18px;color:#122235;font-size:1.25rem;font-weight:850;line-height:1.25}.home-tool-card small{display:block;margin-top:8px;color:#62768a}
.home-app-card p{color:#536a80;line-height:1.58}.home-app-card a{margin-top:auto;font-weight:800;text-decoration:none}.home-app-logo{max-width:68px;max-height:68px;object-fit:contain}
.home-app-card-coming-soon>span:last-child{margin-top:auto;font-weight:800;color:#0d3b66}
.home-publication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-publication-grid .publication-card{border-radius:16px}
html[dir="rtl"] .home-section-head,html[dir="rtl"] .home-hero-copy{text-align:right}
html[dir="rtl"] .home-hero-grid,html[dir="rtl"] .home-feature-card,html[dir="rtl"] .home-note-day-card{direction:rtl}
@media(max-width:1100px){.home-hero-grid,.home-feature-card{grid-template-columns:1fr}.home-hero-visual{min-height:0}.home-note-day-card{grid-template-columns:1fr}.home-note-day-category{width:auto}.home-category-grid,.home-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-article-grid,.home-tool-grid,.home-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home-hero{padding:52px 0}.home-hero-copy h1{font-size:2.65rem}.home-stats{margin-top:0}.home-stats-grid,.home-category-grid,.home-resource-grid,.home-article-grid,.home-tool-grid,.home-app-grid,.home-publication-grid{grid-template-columns:1fr}.home-stats-grid div{border-inline-start:0;border-top:1px solid #e3ebf2}.home-stats-grid div:first-child{border-top:0}.home-section-head-row{display:block}.home-note-day-card{padding:20px}.home-note-day-actions{align-items:stretch;flex-direction:column}.home-note-day-actions .btn,.home-note-day-all{width:100%;justify-content:center}.home-feature-list{grid-template-columns:1fr}.home-feature-visual{align-items:center;min-height:0}.home-feature-visual img{height:120px}.home-feature-visual img:nth-child(2),.home-feature-visual img:nth-child(3){height:96px}}

/* Knowledge Hub certificates */
.certificate-stage{padding:18px 0 8px;background:radial-gradient(circle at top left,rgba(22,169,199,.13),transparent 34%),linear-gradient(180deg,#f5f9fc,#eef5f8);border-radius:16px}
.certificate-card-pro{position:relative;overflow:hidden;max-width:980px;margin:0 auto;padding:54px 58px;border:3px solid #c99d1e;border-radius:12px;background:linear-gradient(135deg,#fff 0%,#fbfcfe 54%,#eef9fc 100%);box-shadow:0 24px 70px rgba(15,37,56,.15);color:#142235}
.certificate-watermark{position:absolute;inset:auto auto 18px 28px;font-size:8rem;font-weight:900;line-height:1;color:#0d3b66;opacity:.035;pointer-events:none}
.certificate-topline{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;text-align:start}
.certificate-logo{height:58px;width:auto;object-fit:contain}
.certificate-topline span{color:#9a7200;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.certificate-card-pro h2{font-size:2.65rem;font-weight:500;margin:.25rem 0 1.2rem;color:#142235}
.certificate-lead{font-size:1.13rem;color:#43566a;margin-bottom:1.4rem}
.certificate-card-pro h3{font-size:2.2rem;font-weight:800;margin-bottom:1rem;color:#0d223a}
.certificate-course{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;margin:.15rem 0 1.65rem;color:#22384f}
.certificate-course span{font-size:1rem;color:#526478;letter-spacing:.04em;text-transform:uppercase}
.certificate-course strong{display:block;padding:.2rem 1rem;border-top:1px solid rgba(199,157,30,.42);border-bottom:1px solid rgba(199,157,30,.42);color:#0b2545;font-size:1.25rem;font-weight:800;letter-spacing:.01em}
.certificate-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:34px 0 26px}
.certificate-facts>div{padding:18px;border:1px solid #d6e1ea;border-radius:10px;background:rgba(255,255,255,.78)}
.certificate-facts span{display:block;color:#61748a;font-size:.88rem}.certificate-facts strong{display:block;margin-top:4px;color:#102033;font-size:1.05rem;overflow-wrap:anywhere}
.certificate-verify-block{display:grid;grid-template-columns:1fr;gap:16px;margin:0 auto 22px;padding:18px 20px;border:1px solid #cde4ee;border-radius:12px;background:#f3fbfd;text-align:start}
.certificate-verify-block p{margin:.25rem 0 .45rem;color:#52687b}.certificate-verify-block a{overflow-wrap:anywhere}
.certificate-disclaimer{max-width:900px;margin:0 auto;color:#5b6878;font-size:.9rem;line-height:1.5;text-align:center}
.certificate-verification-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;margin-top:28px;padding:0 70px;box-sizing:border-box}
.certificate-qr-block,.certificate-initials-block{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:#475569;font-size:.84rem;font-weight:700}
.certificate-qr-block{justify-self:start}.certificate-initials-block{justify-self:end}
.certificate-qr-block img{display:block;width:90px;height:90px;object-fit:contain}
.certificate-initials-block img{display:block;width:auto;max-width:45%;height:90px;object-fit:contain}
.verification-label,.initials-label{margin-top:4px;text-align:center;font-weight:600}
.certificate-level-medal{justify-self:center;display:flex;align-items:center;justify-content:center;min-width:118px}
.certificate-level-medal img{display:block;width:auto;height:118px;max-width:86px;object-fit:contain}
.certificate-verification-summary{padding:22px 26px;border:1px solid #cde4ee;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(15,37,56,.09)}
.certificate-initials-admin-preview{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:160px;padding:16px;border:1px solid #d6e1ea;border-radius:10px;background:linear-gradient(45deg,#f2f5f8 25%,transparent 25%),linear-gradient(-45deg,#f2f5f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f2f5f8 75%),linear-gradient(-45deg,transparent 75%,#f2f5f8 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.certificate-initials-admin-preview img{display:block;max-width:180px;max-height:140px;width:auto;height:auto;object-fit:contain}
html[dir="rtl"] .certificate-topline,html[dir="rtl"] .certificate-verify-block{text-align:right}
@media print{.certificate-verification-row{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;width:100%!important;page-break-inside:avoid}.certificate-qr-block{justify-self:start!important}.certificate-initials-block{justify-self:end!important}}
@media(max-width:767px){.certificate-card-pro{padding:34px 24px}.certificate-card-pro h2{font-size:2rem}.certificate-card-pro h3{font-size:1.6rem}.certificate-topline{align-items:flex-start;flex-direction:column}.certificate-logo{height:46px}.certificate-facts{grid-template-columns:1fr}.certificate-watermark{font-size:5rem}.certificate-verification-row{padding:0 16px;gap:12px}.certificate-qr-block img{width:78px;height:78px}.certificate-initials-block img{width:auto;max-width:45%;height:78px}.certificate-level-medal{min-width:76px}.certificate-level-medal img{height:82px;max-width:60px}}

.planning-toolset-flow{padding:34px 0 0;background:#f4f8fb}.planning-flow-card{border:1px solid #d7e2ec;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(14,34,56,.08);padding:24px}.planning-flow-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.planning-flow-head h2{margin:0;color:#0e2238;font-weight:850}.planning-flow-head p{margin:0;max-width:620px;color:#5c7187}.planning-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planning-step{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d7e2ec;border-radius:12px;background:#fbfdff;color:#122235;text-decoration:none;min-height:88px}.planning-step:hover{border-color:#b7d0df;box-shadow:0 12px 26px rgba(14,34,56,.08)}.planning-step:not(:last-child)::after{content:"\f061";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset-inline-end:-16px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#9a6a00;font-size:.75rem;z-index:2}.planning-step-number{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff4d6;color:#9a6a00;font-weight:900;flex:0 0 auto}.planning-step strong,.planning-step small{display:block}.planning-step strong{line-height:1.2}.planning-step small{margin-top:5px;color:#63778d;font-weight:700}.planning-step.is-current{border-color:#d7a634;background:#fffdf4;box-shadow:0 0 0 3px rgba(215,166,52,.16)}.planning-step.is-current .planning-step-number{background:#d7a634;color:#102236}.planning-dependency{padding:28px 0 0;background:#f4f8fb}.planning-info-box{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;border:1px solid #cfe0ec;border-inline-start:5px solid #16a9c7;border-radius:16px;background:#fff;padding:24px;box-shadow:0 14px 36px rgba(14,34,56,.07)}.planning-info-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#eaf8fb;color:#0d7890;font-size:1.35rem}.planning-info-box p{color:#536a80}.planning-toolset-notices{padding:20px 0 72px;background:#f4f8fb}.planning-notice-card,.planning-engineering-notice{border:1px solid #d8e4ee;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(14,34,56,.07);padding:24px}.planning-notice-card>i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff4d6;color:#9a6a00;font-size:1.2rem;margin-bottom:16px}.planning-notice-card p,.planning-engineering-notice p{color:#536a80;line-height:1.65}.planning-reference{display:inline-flex;gap:12px;align-items:center;margin:0 0 18px;padding:10px 13px;border-radius:10px;background:#f4f8fb;border:1px solid #d8e4ee}.planning-reference span{color:#687d91;font-size:.85rem;font-weight:700}.planning-reference strong{color:#0e2238}.planning-engineering-notice{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start}.planning-engineering-notice>i{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#eef4fa;color:#0d3b66;font-size:1.25rem}.planning-tool-overview .card{border-radius:16px}.planning-cta-card{border-inline-start:5px solid #d7a634}.planning-capability{display:flex;gap:10px;align-items:flex-start}.planning-capability i{color:#198754;margin-top:4px}.planning-start-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#fff4d6;color:#755000;font-weight:850;font-size:.82rem;margin-bottom:14px}
html[dir="rtl"] .planning-step:not(:last-child)::after{content:"\f060"}html[dir="rtl"] .planning-info-box,html[dir="rtl"] .planning-engineering-notice{text-align:right}
@media(max-width:991px){.planning-flow-head{display:block}.planning-flow-head p{margin-top:8px}.planning-flow-steps{grid-template-columns:1fr}.planning-step:not(:last-child)::after{content:"\f063";inset-inline-end:auto;left:50%;top:auto;bottom:-17px;transform:translateX(-50%)}html[dir="rtl"] .planning-step:not(:last-child)::after{content:"\f063"}.planning-info-box,.planning-engineering-notice{grid-template-columns:1fr}.planning-toolset-notices{padding-bottom:48px}}
