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

/* FONTS */
.banner *, .header, .header *, .header-links, .header-links * { font-family: 'Inter', sans-serif !important; }
.article-page, .article-page *, .article-body, .article-body *, .article-page header, .article-page header *, .tree, .tree *, .toc, .toc * { font-family: 'DM Sans', sans-serif !important; }

/* BACKGROUNDS */
.home-page { background-color: #F2EFEC !important; }
.article-page, .fb-layout-body, .article-body, .body, .main-content { background-color: #FFFFFF !important; }

/* BANNER */
.banner { padding-bottom: 3rem !important; padding-top: 1.5rem !important; }
.banner * { color: white !important; }
.banner *:after { display: none !important; }
.banner h1 { color: white !important; font-size: 55px !important; font-weight: 700 !important; margin-bottom: 1.5rem !important; }
.banner p { color: white !important; font-size: 24px !important; font-weight: 400 !important; margin-bottom: 0.5rem !important; }

/* HEADER */
.header-links a, .topbar a { font-weight: 700 !important; font-size: 16px !important; }

/* SEARCH */
.search-bar, .search-input, .search-input__input { border-radius: 50px !important; }
.search-input__input:focus { border-color: #FF914C !important; outline: none !important; box-shadow: 0 0 0 2px rgba(255, 145, 76, 0.3) !important; }
.search-bar:focus-within { border-color: #FF914C !important; box-shadow: 0 0 0 2px rgba(255, 145, 76, 0.3) !important; }
.banner .search-input__input, .search-input__input, .search-bar *, .search-input * { color: #0A3230 !important; }
.search-input__submit svg, .search-input__icon svg { color: #595959 !important; }

/* LAYOUT */
.article-page .article-body, .article-page h1 { max-width: 3000px !important; }
.article-page header { margin-bottom: 7px; }

/* HEADINGS */
h1, h2, h3, h4, h5, h6 { font-weight: 600; letter-spacing: -.025rem; line-height: 1.2; margin: -0.1rem 0 -0.25rem; }
h2[id*="ReadNext"] { color: #325452; margin-top: 1rem !important; }
.article-page h1 { font-size: 2.5rem; color: #0A3230 !important; }
.article-page h1:after { content: ""; display: block; width: 60px; height: 4px; background-color: #FF914C !important; margin-top: 0.5rem; border-radius: 2px; }
.article-body h2 { font-size: 2rem; color: #0A3230 !important; margin-top: 2rem !important; margin-bottom: 1rem !important; }
.article-page h2:after, .article-body h2:after { content: ""; display: block; max-width: 5.75rem; height: 3px; outline: none !important; background-color: #FF914C !important; margin-top: 0.5rem; margin-bottom: 2rem; }
.article-body h3 { color: #0A3230 !important; margin-top: 1.5rem !important; margin-bottom: 0.75rem !important; }
.article-page h3:after, .article-body h3:after { content: ""; display: block; max-width: 5.75rem; height: 2px; outline: none !important; background-color: #FF914C !important; margin-top: 0.5rem; margin-bottom: 1rem; }
.article-body h4 { font-size: 16px; color: #0A3230 !important; margin-top: 1.25rem !important; margin-bottom: 0.5rem !important; }
.article-body h5 { font-size: 14px !important; color: #0A3230 !important; }
.article-body h6 { color: #0A3230 !important; }

/* HOME PAGE */
.home-page h2 { color: #0A3230 !important; font-size: 2.5rem !important; font-weight: 700 !important; line-height: 1.2 !important; position: relative; padding-bottom: 12px; margin-top: 1rem !important; margin-bottom: 1.5rem !important; }
.home-page h2:after { content: ""; display: block; width: 40px; height: 4px; background-color: #FF914C; position: absolute; bottom: 0; left: 0; border-radius: 2px; }
.home-page hr { display: none !important; }

/* TILES */
.tile { background-color: #FFFFFF !important; border: 2px solid transparent !important; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); border-radius: 8px; text-align: center !important; transition: transform 0.2s ease, box-shadow 0.2s ease, border 0.2s ease; }
.tile:hover { transform: translateY(-4px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1); border: 2px solid #325452 !important; }
.tile *, .tile-title, .tile-body, .tile-text { text-align: center !important; }
.tile-body { margin-bottom: 0rem; }
.tile-image { border-radius: 8px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); }
h3.tile-title { margin-left: 0 !important; text-align: center !important; }
h3.tile-title a, .tile h3 a, .tile h3.tile-title a, .tile-title a, .tile a, .home-page .tile-title a { color: #0A3230 !important; font-size: 24px !important; font-weight: 700 !important; line-height: 1.3 !important; }
h3.tile-title a:hover, .tile h3 a:hover, .tile-title a:hover, .tile a:hover { color: #0A3230 !important; }
.tile-title a:before { transition: transform 0.2s ease-in-out; transform-origin: center center; }
.tile-title a[href$="global-configuration-principles"]:not(.vp-button):before, .tile-title a[href$="data-model"]:before, .tile-title a[href$="features"]:before, .tile-title a[href$="workflows"]:before, .tile-title a[href$="policies"]:before, .tile-title a[href$="login-tasks"]:before, .tile-title a[href$="rules-actions-api"]:before, .tile-title a[href$="api-guardian-guide"]:before, .tile-title a[href$="notifications"]:before, .tile-title a[href$="synchronization"]:before, .tile-title a[href$="recertification"]:before, .tile-title a[href$="reporting"]:before, .tile-title a[href$="rights"]:before, .tile-title a[href$="system"]:before, .tile-title a[href$="customization"]:before, .tile-title a[href$="access"]:before, .tile-title a[href$="public-access"]:before, .tile-title a[href$="authentication"]:before, .tile-title a[href$="federation"]:before { font-family: "Material Icons"; color: #325452; position: absolute; left: 25px; top: 18px; }
.tile-title a[href$="global-configuration-principles"]:not(.vp-button):before { content: "\FE98"; }
.tile-title a[href$="data-model"]:before { content: "\F1A8"; }
.tile-title a[href$="features"]:before { content: "\F1C4"; }
.tile-title a[href$="workflows"]:before { content: "\F134"; }
.tile-title a[href$="policies"]:before { content: "\0F0150"; }
.tile-title a[href$="login-tasks"]:before { content: "\F17E"; }
.tile-title a[href$="rules-actions-api"]:before { content: "\0F0125"; }
.tile-title a[href$="api-guardian-guide"]:before { content: "\0F00C6"; }
.tile-title a[href$="notifications"]:before { content: "\f1ee"; }
.tile-title a[href$="synchronization"]:before { content: "\F06A"; }
.tile-title a[href$="recertification"]:before { content: "\F23D"; }
.tile-title a[href$="reporting"]:before { content: "\F12B"; }
.tile-title a[href$="rights"]:before { content: "\0F0167"; }
.tile-title a[href$="system"]:before { content: "\0F0086"; }
.tile-title a[href$="customization"]:before { content: "\F27C"; }
.tile-title a[href$="access"]:before { content: "\F342"; }
.tile-title a[href$="public-access"]:before { content: "\0F0149"; }
.tile-title a[href$="authentication"]:before { content: "\F341"; }
.tile-title a[href$="federation"]:before { content: "\f5fc"; }
/* MISC */
hr { margin: 1rem 0; border: solid #DCDCDC; border-width: 1px 0 0; }
.reading-time { color: #595959; font-size: 14px !important; font-weight: 500; margin-bottom: 1.5rem; padding: 8px 0; border-bottom: 1px solid #DCDCDC; }
.breadcrumbs, .breadcrumbs a { font-size: 14px !important; }
.expand-control-text { font-size: 14px !important; }
.numberingColumn { background-color: white !important; font-size: 14px !important; }
.aui-lozenge-progress { background-color: #E3E1DE; color: black; font-weight: 500; }
.aui-lozenge-error { background-color: #DE4F00; color: #f2efec; font-weight: 500; }

/* ARTICLE BODY TEXT */
.article-body, .article-body p, .article-body span, .article-body li, .article-body td { color: #252525 !important; }
.article-body p { margin-top: 10px !important; margin-bottom: 1rem !important; font-size: 16px !important; line-height: 1.6 !important; }
.article-body p span { font-size: 14px !important; }
.article-body li { font-size: 16px !important; line-height: 1.6 !important; margin-bottom: 0.5rem !important; }
.article-body strong, .article-body b, .article-body p strong, .article-body li strong { font-size: inherit !important; }
.article-body p strong, .article-body p strong span, .article-body li strong { color: #325452 !important; }
.article-body p strong span { font-size: 14px !important; }
.article-body a, .article-body * a { color: #0A3230 !important; font-weight: 500; font-size: inherit !important; text-decoration: underline !important; }
.article-body * a span { font-size: 14px !important; }
.article-body a:hover, .article-body * a:hover { color: #325452 !important; text-decoration: underline !important; }
.article-body :not(pre) > code { border-style: none; background-color: #E3E1DE; font-size: 14px !important; padding: 3px; white-space: nowrap !important; }
.article-body code, .article-body pre { font-size: 15px !important; }

/* PANELS */
div[data-type="note"] { background-color: rgba(227, 225, 222, 0.3) !important; color: black !important; }
div[data-type="info"] { background-color: rgba(103, 124, 108, 0.1) !important; }
div[data-type="tip"] { background-color: rgba(103, 124, 108, 0.2) !important; }
div[data-type="success"] { background-color: rgba(50, 84, 82, 0.1) !important; }
div[data-type="warning"], div[data-type="caution"] { background-color: rgba(222, 79, 0, 0.1) !important; }
.panel-macros--info__content p, .panel-macro__content p { margin-top: 1px !important; }
.panel-macro { margin-bottom: 1rem !important; padding: 5px !important; }
.panel-macros--panel__content p strong { color: black !important; font-size: 14px !important; }

/* IMAGES + LIGHTBOX */
.article-body .block-image, .article-body .theme-block-image { max-width: 600px; height: auto; }
.article-body .block-image img, .article-body .theme-block-image img { border: none; }
.article-body .theme-block-image:has(.block-image[slot="lightbox"]) { max-width: none !important; width: auto !important; }
.article-body .block-image[slot="lightbox"], .article-body .block-image[slot="lightbox"] img { max-width: 90vw !important; max-height: 90vh !important; width: auto !important; height: auto !important; min-width: 0 !important; }

/* TABLES */
.confluenceTable, .article-body table { width: 100% !important; table-layout: auto !important; }
.confluenceTable colgroup col, .article-body table colgroup col { width: auto !important; }
.confluenceTable thead th, thead th { background-color: #F2EFEC !important; color: #0A3230 !important; font-size: 16px !important; font-weight: 600 !important; }
.confluenceTable tbody tr:nth-child(even) { background-color: #FAFAFA !important; }
.confluenceTable tbody tr:hover { background-color: #F2EFEC !important; }
.article-body td, .confluenceTable td { font-size: 15px !important; line-height: 1.5 !important; padding: 10px !important; }
.confluenceTable td, .confluenceTable th, .confluenceTd, .confluenceTh { word-break: normal !important; overflow-wrap: break-word !important; }
.confluenceTable p { margin-top: 2px !important; font-size: 14px !important; }
.confluenceTable p span { font-size: 14px !important; }
.confluenceTable p strong { margin-top: 2px !important; color: black !important; font-size: 14px !important; }
/* TABLE CODE */
.confluenceTable :not(pre) > code, .article-body table :not(pre) > code { white-space: nowrap !important; word-break: normal !important; overflow-wrap: normal !important; }
.confluenceTable pre[class*="language-"], .article-body table pre[class*="language-"] { max-width: 100% !important; white-space: pre-wrap !important; overflow-wrap: anywhere !important; overflow-x: auto !important; padding-left: 1em !important; }
.confluenceTable pre[class*="language-"] > code, .article-body table pre[class*="language-"] > code { white-space: pre-wrap !important; overflow-wrap: anywhere !important; }
.confluenceTable pre .line-numbers-rows, .article-body table pre .line-numbers-rows { display: none !important; }

/* NAV TREE */
[aria-current] > .tree-item-header { color: #325452; font-weight: 700; }
.list__topic { color: #57918e; font-weight: 700; }
.tree-item-header { font-size: 14px !important; line-height: 1.4 !important; display: flex !important; align-items: center !important; white-space: normal !important; word-break: break-word !important; padding: 4px 8px !important; max-width: 220px !important; transition: transform 0.2s ease-in-out; }
.tree-item-header:hover { transform: none !important; }
.navigator a, .tree a { font-size: 14px !important; line-height: 1.4 !important; white-space: normal !important; word-break: break-word !important; }

/* TOC */
.toc { border: solid #ea2328; border-width: 0 0 0 0.25rem; border-image: linear-gradient(#f5f5f5, #325452) 0 0 0 100%; margin-bottom: 1.5rem; }
.toc-heading, [data-component="toc"] h2 { font-size: 16px !important; }
.toc-link, #root .toc-link, .toc-list .toc-link, .toc-list-item a, ol.toc-list a, .toc a, nav.toc.sticky .toc-link, nav.toc.sticky a.toc-link { font-size: 15px !important; line-height: 1.5 !important; }
nav.toc.sticky a { font-size: 16px !important; line-height: 1.5 !important; }
.toc-list .toc-link { transition: transform 0.2s ease-in-out; display: inline-block; }
.toc-list .toc-link:hover { transform: scale(1.05); }
.toc-link.is-active-link { color: #FFFFFF !important; background-color: #325452 !important; }

/* TOC TOGGLE */
.toc-toggle-btn { position: fixed !important; top: 100px !important; right: 20px !important; z-index: 1000 !important; background: #0A3230 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 6px 12px !important; font-size: 13px !important; cursor: pointer !important; font-family: inherit !important; }
.toc-toggle-btn:hover { background: #325452 !important; }
main.main-content.toc-collapsed { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "toolbar" "content" !important; }
main.main-content.toc-collapsed nav.toc { display: none !important; }

/* FOCUS */
a:focus, button:focus, input:focus, textarea:focus, select:focus, [tabindex]:focus, .search-input__input:focus, .tree-item-header:focus, .toc-link:focus { outline: 2px solid #FF914C !important; outline-offset: 2px !important; box-shadow: 0 0 0 4px rgba(255, 145, 76, 0.2) !important; transition: outline 0.2s ease, box-shadow 0.2s ease !important; }
.article-body a:focus { outline: 2px solid #FF914C !important; outline-offset: 2px !important; box-shadow: 0 0 0 4px rgba(255, 145, 76, 0.2) !important; background-color: rgba(255, 145, 76, 0.1) !important; }
.tile:focus, .tile a:focus { outline: 2px solid #FF914C !important; outline-offset: 3px !important; box-shadow: 0 0 0 4px rgba(255, 145, 76, 0.15), 0 8px 20px rgba(0, 0, 0, 0.12) !important; transform: translateY(-2px) !important; }