.docs-page { background: #fff; }
.docs-page main { position: relative; z-index: 0; }
.docs-page .doc-hero { background: radial-gradient(ellipse at 75% 10%, #e9e5ff, transparent 60%), #f7f6fe; border-bottom: 1px solid #eceaf7; padding: 55px 0; }
.docs-page .docs-home-hero { padding: 70px 0 60px; text-align: center; }
.docs-home-hero h1 { font-size: clamp(2.6rem, 5vw, 4.2rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.1; }
.docs-home-hero h1 span { color: var(--md-primary); }
.docs-hero-description { font-size: 1.1rem; color: var(--md-text-secondary); margin: 24px 0 30px; }
.docs-search { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #dfdced; border-radius: 16px; padding: 17px 20px; max-width: 690px; margin: auto; box-shadow: 0 10px 35px #413a8110; text-align: left; }
.docs-search > .material-symbols-outlined { color: var(--md-primary); }
.docs-search input { width: 100%; min-width: 0; border: 0; background: transparent; color: var(--md-text-primary); }
.docs-search:focus-within { outline: 2px solid var(--md-primary); outline-offset: 3px; }
.docs-search input:focus-visible { outline: none; }
.docs-search-hint { flex-shrink: 0; color: #74788d; font-size: .7rem; }
.docs-home-main { padding-top: 60px; padding-bottom: 64px; }
.docs-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.docs-section-heading h2 { font-size: 1.9rem; font-weight: 700; }
.docs-section-heading > p { font-size: .8rem; color: var(--md-text-secondary); flex-shrink: 0; }
.docs-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.docs-guide-link { position: relative; display: flex; flex-direction: column; height: 100%; padding: 28px; border: 1px solid var(--md-divider); border-radius: 20px; text-decoration: none; color: var(--md-text-primary); transition: border-color .2s, box-shadow .2s; }
.docs-guide-link:hover { border-color: #b4ace7; box-shadow: 0 12px 32px #413a8110; }
.docs-guide-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f0edfc; color: var(--md-primary); margin-bottom: 22px; }
.docs-guide:nth-child(3n+2) .docs-guide-icon { background: #eaf5ef; color: #32765b; }
.docs-guide:nth-child(3n) .docs-guide-icon { background: #fff2e5; color: #9d622b; }
.docs-guide-category { font-size: .7rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--md-text-secondary); margin-bottom: 8px; }
.docs-guide h2 { font-size: 1.2rem; line-height: 1.4; font-weight: 700; }
.docs-guide p { font-size: .9rem; color: var(--md-text-secondary); }
.docs-guide-action { display: flex; justify-content: space-between; margin-top: auto; padding-top: 18px; color: var(--md-primary); font-size: .8rem; font-weight: 500; }
.docs-empty { padding: 28px; border: 1px dashed var(--md-divider); border-radius: 18px; color: var(--md-text-secondary); }
.docs-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #f2f0fc; border-radius: 22px; padding: 36px; margin-top: 48px; }
.docs-help h2 { font-size: 1.7rem; font-weight: 700; }
.docs-help p:last-child { color: var(--md-text-secondary); margin: 0; }
.docs-help .btn { flex-shrink: 0; }
.docs-back { display: inline-flex; gap: 10px; text-decoration: none; font-size: .85rem; margin-bottom: 25px; }
.docs-article-hero h1 { font-size: clamp(2rem, 4vw, 3rem); max-width: 900px; letter-spacing: -.045em; }
.docs-article-main { padding-top: 44px; padding-bottom: 64px; }
.docs-sidebar { position: sticky; top: var(--docs-nav-offset, 150px); max-height: calc(100vh - var(--docs-nav-offset, 150px) - 20px); overflow-y: auto; padding: 4px 12px 8px 0; }
.docs-sidebar-label { color: #73778b; font-size: .66rem; font-weight: 700; letter-spacing: .1em; margin: 0 0 14px; }
.docs-sidebar nav { display: grid; gap: 5px; }
.docs-sidebar nav a { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: #62677d; font-size: .8rem; line-height: 1.5; }
.docs-sidebar nav a:hover { background: #f7f6fc; color: var(--md-primary); }
.docs-sidebar nav a[aria-current="page"] { background: #eeebfb; color: var(--md-primary); font-weight: 500; }
.docs-sidebar nav .material-symbols-outlined { font-size: 19px; }
.docs-toc { border-top: 1px solid var(--md-divider); margin-top: 24px; padding-top: 24px; }
.docs-toc nav a { font-size: .75rem; padding-block: 7px; }
.docs-sidebar-contact { display: block; margin-top: 24px; font-size: .75rem; }
.docs-page .docs-article .doc-card { border: 1px solid #e8e7f0; border-radius: 18px; padding: 30px !important; box-shadow: none; margin-bottom: 22px; }
.docs-article .doc-card h2 { color: var(--md-text-primary); font-size: 1.3rem; margin-bottom: 18px; scroll-margin-top: var(--docs-nav-offset, 150px); }
.docs-article p, .docs-article li { color: #5e6478; font-size: .96rem; line-height: 1.9; }
.docs-article strong { color: #303650; }
.docs-article li + li { margin-top: 10px; }
.docs-article a { text-underline-offset: 3px; }
.docs-article-end { display: flex; gap: 18px; align-items: center; padding: 25px 28px; border-radius: 18px; background: #f5f4fc; margin-top: 30px; }
.docs-article-end > .material-symbols-outlined { color: var(--md-primary); font-size: 30px; }
.docs-article-end p { margin: 0; font-size: .8rem; }
.docs-article-end > a { margin-left: auto; white-space: nowrap; font-size: .8rem; }
@media (max-width: 991.98px) {
 .docs-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .docs-sidebar { position: static; max-height: none; padding: 0; }
 .docs-sidebar > nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .docs-toc, .docs-sidebar-contact { display: none; }
 .docs-section-heading { display: block; }
}
@media (max-width: 575.98px) {
 .docs-page .doc-hero { padding: 36px 0; }
 .docs-search { padding: 15px; }
 .docs-search-hint { display: none; }
 .docs-guide-grid { grid-template-columns: 1fr; gap: 16px; }
 .docs-home-main { padding-top: 36px; }
 .docs-guide-link { padding: 24px; }
 .docs-help { flex-direction: column; align-items: flex-start; padding: 26px; }
 .docs-page .docs-article .doc-card { padding: 22px !important; }
 .docs-article-end { flex-wrap: wrap; padding: 22px; }
 .docs-article-end > a { margin-left: 0; }
}
