:root {
  color-scheme: light;
  --bg: #eef3f8;
  --surface: #ffffff;
  --soft: #f7fafc;
  --ink: #16212f;
  --muted: #617083;
  --line: #d7e1ea;
  --primary: #176b87;
  --primary-dark: #0e4057;
  --green: #227a4a;
  --amber: #9a6400;
  --red: #b42318;
  --code: #101d2b;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif; line-height: 1.6; }
button, input { font: inherit; }
code, pre { font-family: Consolas, "Cascadia Mono", monospace; }
pre { overflow-x: auto; margin: 12px 0; padding: 16px; color: #edf7fb; background: var(--code); border-left: 4px solid var(--primary); }

.ams-shell-header { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: minmax(280px, 1fr) auto auto; align-items: center; gap: 18px; padding: 14px 24px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.ams-brand { display: inline-flex; align-items: center; min-width: 0; gap: 12px; color: var(--ink); text-decoration: none; }
.ams-brand-mark { display: grid; width: 42px; height: 42px; place-items: center; color: #fff; background: var(--primary-dark); font-weight: 800; }
.ams-brand strong, .ams-brand small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ams-brand small { color: var(--muted); font-size: 12px; }
.ams-primary-nav { display: flex; align-items: center; gap: 6px; }
.ams-primary-nav a, .ams-user-menu a, .ams-nav-toggle, .ams-primary-button { color: var(--ink); text-decoration: none; }
.ams-primary-nav a { padding: 9px 11px; border: 1px solid transparent; font-size: 14px; font-weight: 700; }
.ams-primary-nav a:hover, .ams-primary-nav a.is-active { color: var(--primary-dark); background: #e8f4f7; border-color: #b9dce6; }
.ams-user-menu { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 14px; }
.ams-user-menu a { color: var(--primary-dark); font-weight: 700; }
.ams-nav-toggle { display: none; padding: 8px 10px; background: #fff; border: 1px solid var(--line); cursor: pointer; }

.ams-page-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 48px; }
.ams-page-hero, .ams-panel, .ams-card, .ams-stat-card, .ams-solution, .ams-login-card { background: var(--surface); border: 1px solid var(--line); }
.ams-page-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; padding: 28px; }
.ams-compact-hero { align-items: center; }
.ams-page-hero h1, .ams-login-intro h1 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.12; }
.ams-page-hero p, .ams-login-intro p, .ams-card p, .ams-solution p { max-width: 840px; color: var(--muted); }
.ams-kicker, .ams-card-label { margin: 0 0 8px; color: var(--primary); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ams-hero-metrics { display: grid; min-width: 260px; gap: 10px; }
.ams-hero-metrics div { padding: 14px; background: var(--soft); border: 1px solid var(--line); }
.ams-hero-metrics strong, .ams-hero-metrics span { display: block; }
.ams-hero-metrics strong { font-size: 22px; }
.ams-hero-metrics span, .ams-stat-card small { color: var(--muted); font-size: 13px; }
.ams-grid { display: grid; gap: 16px; margin-top: 16px; }
.ams-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ams-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ams-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ams-card, .ams-stat-card, .ams-panel, .ams-solution { padding: 22px; }
.ams-card h2, .ams-solution h2, .ams-stat-card strong { margin: 0; line-height: 1.25; }
.ams-card h2 { font-size: 22px; }
.ams-guide-card { min-height: 210px; }
.ams-solution { margin-top: 16px; }
.ams-solution header { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.ams-solution section { padding-top: 18px; }
.ams-stat-card span, .ams-stat-card strong, .ams-stat-card small { display: block; }
.ams-stat-card span { color: var(--muted); font-size: 13px; font-weight: 800; }
.ams-stat-card strong { margin-top: 8px; font-size: 24px; }
.ams-status { display: inline-flex; padding: 7px 10px; border: 1px solid var(--line); font-size: 13px; font-weight: 800; }
.ams-status.is-ready { color: var(--green); background: #edf8f1; border-color: #b9dfc7; }
.ams-status.is-waiting { color: var(--amber); background: #fff7e8; border-color: #efd39d; }

.ams-login-body { min-height: 100vh; background: linear-gradient(135deg, #e8f1f6 0%, #f7fafc 50%, #edf4ee 100%); }
.ams-login-shell { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, 440px); gap: 28px; width: min(1120px, calc(100% - 40px)); min-height: 100vh; margin: 0 auto; align-items: center; padding: 40px 0; }
.ams-login-intro { padding-right: 30px; }
.ams-login-modules { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ams-login-modules span { padding: 8px 10px; background: rgba(255,255,255,.8); border: 1px solid var(--line); font-weight: 800; }
.ams-login-card { padding: 28px; }
.ams-login-card h2 { margin: 0; font-size: 28px; }
.ams-login-card label { display: grid; gap: 6px; margin-top: 14px; color: var(--muted); font-size: 13px; font-weight: 800; }
.ams-login-card input { width: 100%; padding: 11px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); }
.ams-primary-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 18px; padding: 12px 14px; color: #fff; background: var(--primary-dark); border: 1px solid var(--primary-dark); cursor: pointer; font-weight: 800; }
.ams-login-error { margin-top: 14px; padding: 10px 12px; color: var(--red); background: #fff0ee; border: 1px solid #f0b8b2; }
.ams-admin-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 880px; }
.ams-admin-form label { display: grid; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 800; }
.ams-admin-form input, .ams-admin-form select { width: 100%; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); }
.ams-admin-form .ams-check-row { grid-template-columns: auto 1fr; align-items: center; }
.ams-admin-form .ams-check-row input { width: auto; }
.ams-admin-form .ams-primary-button { max-width: 220px; }
.ams-table-wrap { overflow-x: auto; }
.ams-table { width: 100%; border-collapse: collapse; }
.ams-table th, .ams-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.ams-table th { color: var(--muted); font-size: 13px; text-transform: uppercase; }

@media (max-width: 1060px) { .ams-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .ams-shell-header { grid-template-columns: 1fr auto; }
  .ams-nav-toggle { display: inline-flex; }
  .ams-primary-nav { display: none; grid-column: 1 / -1; align-items: stretch; flex-direction: column; }
  .ams-primary-nav.is-open { display: flex; }
  .ams-user-menu { grid-column: 1 / -1; justify-content: space-between; }
  .ams-page-hero, .ams-login-shell { grid-template-columns: 1fr; }
  .ams-hero-metrics { min-width: 0; }
  .ams-grid-3, .ams-grid-2 { grid-template-columns: 1fr; }
  .ams-admin-form { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .ams-shell-header { padding: 12px 16px; }
  .ams-page-shell, .ams-login-shell { width: min(100% - 28px, 1240px); }
  .ams-page-hero, .ams-card, .ams-stat-card, .ams-solution, .ams-login-card { padding: 18px; }
  .ams-grid-4 { grid-template-columns: 1fr; }
  .ams-solution header { display: block; }
}



.ams-inline-button, .ams-text-link { color: var(--primary-dark); font-weight: 800; text-decoration: none; }
.ams-inline-button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; background: #e8f4f7; border: 1px solid #b9dce6; }
.ams-inline-button:hover, .ams-text-link:hover { text-decoration: underline; }
.ams-post-feed { display: grid; gap: 18px; margin-top: 18px; }
.ams-post { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); background: var(--surface); border: 1px solid var(--line); }
.ams-post:not(:has(.ams-post-image)) { grid-template-columns: 1fr; }
.ams-post-image { width: 100%; height: 100%; min-height: 260px; object-fit: cover; background: var(--soft); border-right: 1px solid var(--line); }
.ams-post-body { padding: 24px; }
.ams-post-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ams-post-meta span { padding: 4px 8px; background: var(--soft); border: 1px solid var(--line); }
.ams-post h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); line-height: 1.18; }
.ams-post-summary { max-width: 860px; margin: 10px 0 18px; color: var(--muted); font-size: 17px; }
.ams-post-content { max-width: 920px; white-space: normal; color: var(--ink); }
.ams-post-content br { line-height: 1.8; }
.ams-editor-layout { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 16px; margin-top: 16px; align-items: start; }
.ams-topic-list { position: sticky; top: 88px; }
.ams-topic-list h2, .ams-panel h2 { margin-top: 0; }
.ams-topic-row { display: grid; gap: 4px; padding: 12px 0; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.ams-topic-row strong { line-height: 1.25; }
.ams-topic-row span { color: var(--muted); font-size: 13px; }
.ams-topic-row:hover strong { color: var(--primary-dark); text-decoration: underline; }
.ams-topic-form { display: grid; gap: 14px; }
.ams-topic-form label { display: grid; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 800; }
.ams-topic-form input, .ams-topic-form select, .ams-topic-form textarea { width: 100%; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); }
.ams-topic-form textarea { resize: vertical; line-height: 1.55; }
.ams-topic-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ams-category-multiselect { grid-column: 1 / -1; margin: 0; border: 1px solid var(--line); background: #fbfcfd; border-radius: 8px; }
.ams-category-multiselect summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; color: var(--ink); cursor: pointer; font-size: 13px; font-weight: 900; list-style: none; }
.ams-category-multiselect summary::-webkit-details-marker { display: none; }
.ams-category-multiselect summary::after { content: '+'; color: var(--muted); font-size: 18px; line-height: 1; }
.ams-category-multiselect[open] summary { border-bottom: 1px solid var(--line); }
.ams-category-multiselect[open] summary::after { content: '-'; }
.ams-category-multiselect summary small { margin-left: auto; color: var(--muted); font-size: 12px; font-weight: 800; }
.ams-category-multiselect > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; }
.ams-topic-form .ams-category-multiselect label { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-weight: 800; }
.ams-topic-form .ams-category-multiselect input { width: auto; margin: 0; padding: 0; }
.ams-current-image { display: grid; gap: 10px; max-width: 420px; }
.ams-current-image img { width: 100%; border: 1px solid var(--line); }
.ams-check-row { display: inline-grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; }
.ams-check-row input { width: auto; }
.ams-success-message { color: var(--green); background: #edf8f1; border-color: #b9dfc7; }

@media (max-width: 860px) {
  .ams-post, .ams-post:not(:has(.ams-post-image)), .ams-editor-layout { grid-template-columns: 1fr; }
  .ams-post-image { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
  .ams-topic-list { position: static; }
  .ams-topic-form-grid { grid-template-columns: 1fr; }
  .ams-category-multiselect > div { grid-template-columns: 1fr; }
}

/* Documentation layout */
.ams-doc-shell { width: min(1500px, calc(100% - 36px)); }
.ams-doc-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 22px; align-items: start; }
.ams-doc-sidebar { position: sticky; top: 88px; max-height: calc(100vh - 116px); overflow: auto; padding: 18px; background: var(--surface); border: 1px solid var(--line); }
.ams-doc-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ams-doc-sidebar-head strong { font-size: 16px; }
.ams-doc-sidebar a { color: var(--ink); text-decoration: none; }
.ams-doc-sidebar a:hover { color: var(--primary-dark); text-decoration: underline; }
.ams-doc-nav-group { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.ams-doc-module { padding: 8px 10px; font-weight: 800; background: var(--soft); border: 1px solid transparent; }
.ams-doc-section { padding: 7px 10px 7px 22px; color: var(--muted); font-size: 14px; }
.ams-doc-module.is-active, .ams-doc-section.is-active, .ams-doc-tags a.is-active { color: var(--primary-dark); background: #e8f4f7; border-color: #b9dce6; text-decoration: none; }
.ams-doc-tags { display: grid; gap: 10px; padding-top: 14px; }
.ams-doc-tags div, .ams-doc-tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.ams-doc-tags a, .ams-doc-tag-row a { padding: 5px 8px; color: var(--primary-dark); background: #eef6f8; border: 1px solid #c9e3eb; font-size: 12px; font-weight: 800; text-decoration: none; }
.ams-doc-main { min-width: 0; }
.ams-doc-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: end; padding: 24px; background: var(--surface); border: 1px solid var(--line); }
.ams-doc-header h1 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; }
.ams-doc-header p { max-width: 850px; color: var(--muted); }
.ams-doc-filter-row { display: flex; flex-wrap: wrap; gap: 8px; min-height: 24px; margin: 14px 0; }
.ams-doc-filter-row span { padding: 5px 8px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); font-size: 12px; font-weight: 800; }
.ams-doc-articles { display: grid; gap: 18px; }
.ams-doc-article { padding: 28px; background: var(--surface); border: 1px solid var(--line); }
.ams-doc-image { width: 100%; max-height: 420px; object-fit: cover; margin-bottom: 18px; border: 1px solid var(--line); }
.ams-doc-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ams-doc-meta span { padding: 4px 8px; background: var(--soft); border: 1px solid var(--line); }
.ams-doc-article h2 { margin: 0; font-size: clamp(26px, 3vw, 40px); line-height: 1.15; }
.ams-doc-summary { max-width: 900px; margin: 10px 0 18px; color: var(--muted); font-size: 17px; }
.ams-doc-content { max-width: 920px; margin-top: 22px; }
.ams-doc-content h3 { margin: 28px 0 8px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 21px; }
.ams-doc-content h3:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.ams-doc-content p { color: var(--ink); }
.ams-doc-content li { margin: 6px 0; }
.ams-doc-empty { padding: 22px; color: var(--muted); background: var(--surface); border: 1px solid var(--line); }

@media (max-width: 980px) {
  .ams-doc-layout { grid-template-columns: 1fr; }
  .ams-doc-sidebar { position: static; max-height: none; }
  .ams-doc-header { grid-template-columns: 1fr; }
}

/* Minimag-inspired documentation skin */
.ams-doc-mode {
  --doc-bg: #fbfbfc;
  --doc-line: #e8e8eb;
  --doc-muted: #70727a;
  --doc-soft: #f6f7f9;
  --doc-accent: #ff5a2c;
  background: var(--doc-bg);
}
.ams-doc-mode .ams-shell-header { position: sticky; top: 0; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(320px, 520px) auto auto; min-height: 66px; padding: 0 34px; gap: 22px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--doc-line); box-shadow: none; backdrop-filter: blur(12px); }
.ams-doc-mode .ams-brand-mark { width: 38px; height: 38px; border-radius: 8px; background: #101114; }
.ams-doc-mode .ams-brand strong { font-size: 18px; }
.ams-doc-search { position: relative; display: flex; align-items: center; width: 100%; }
.ams-doc-search span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ams-doc-search input { width: 100%; height: 40px; padding: 0 46px 0 42px; color: var(--ink); background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; outline: none; }
.ams-doc-search::before { content: ''; position: absolute; left: 16px; width: 13px; height: 13px; border: 2px solid #9aa0aa; border-radius: 50%; }
.ams-doc-search::after { content: '?K'; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); padding: 1px 6px; color: #8d929c; background: var(--doc-soft); border: 1px solid var(--doc-line); border-radius: 6px; font-size: 12px; font-weight: 700; }
.ams-doc-mode .ams-primary-nav a { border-radius: 0; border: 0; border-bottom: 2px solid transparent; padding: 22px 10px 20px; color: #5d626b; }
.ams-doc-mode .ams-primary-nav a:hover, .ams-doc-mode .ams-primary-nav a.is-active { color: #15171d; background: transparent; border-bottom-color: var(--doc-accent); }
.ams-doc-mode .ams-user-menu a { color: #15171d; }
.ams-doc-tabs { position: sticky; top: 66px; z-index: 19; display: flex; gap: 24px; height: 50px; padding: 0 74px; align-items: center; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--doc-line); }
.ams-doc-tabs a { display: inline-flex; align-items: center; height: 100%; color: var(--doc-muted); border-bottom: 2px solid transparent; text-decoration: none; font-weight: 700; }
.ams-doc-tabs a.is-active { color: #15171d; border-bottom-color: var(--doc-accent); }
.ams-doc-shell { width: 100%; margin: 0; padding: 0; }
.ams-doc-layout { display: grid; grid-template-columns: 330px minmax(0, 780px) 250px; gap: 56px; align-items: start; min-height: calc(100vh - 116px); }
.ams-doc-sidebar { position: sticky; top: 116px; height: calc(100vh - 116px); max-height: none; overflow: auto; padding: 28px 28px 42px 74px; background: #fff; border: 0; border-right: 1px solid var(--doc-line); }
.ams-doc-sidebar-head { padding: 0 0 18px; border-bottom: 0; }
.ams-doc-sidebar-head strong { color: #15171d; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.ams-doc-sidebar-head a { color: var(--doc-muted); font-size: 14px; }
.ams-doc-nav-group { gap: 0; padding: 18px 0; border-bottom: 0; }
.ams-doc-module { display: flex; justify-content: space-between; padding: 9px 0; color: #343740; background: transparent; border: 0; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ams-doc-module::after { content: '?'; color: var(--doc-muted); font-size: 14px; }
.ams-doc-section { position: relative; display: block; margin-left: 2px; padding: 8px 12px 8px 18px; color: var(--doc-muted); border-left: 1px solid var(--doc-line); font-size: 15px; line-height: 1.35; }
.ams-doc-section.is-active { color: #15171d; background: #fff1ed; border-left-color: var(--doc-accent); font-weight: 800; }
.ams-doc-section.is-active::before { content: ''; position: absolute; left: -1px; top: 10px; bottom: 10px; width: 2px; background: var(--doc-accent); }
.ams-doc-module.is-active, .ams-doc-tags a.is-active { color: #15171d; background: #fff1ed; border-color: transparent; }
.ams-doc-tags { gap: 10px; padding-top: 18px; }
.ams-doc-tags strong { color: #15171d; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.ams-doc-tags a, .ams-doc-tag-row a { border: 1px solid var(--doc-line); border-radius: 999px; background: #fff; color: #4d535e; font-size: 12px; }
.ams-doc-main { padding: 72px 0 80px; min-width: 0; }
.ams-doc-header { display: block; padding: 0 0 28px; background: transparent; border: 0; }
.ams-doc-breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--doc-muted); font-size: 14px; }
.ams-doc-breadcrumb a { color: var(--doc-muted); text-decoration: none; }
.ams-doc-header h1 { max-width: 780px; margin: 0; color: #111318; font-size: clamp(38px, 4vw, 54px); line-height: 1.06; letter-spacing: 0; }
.ams-doc-header p { max-width: 760px; color: #4c515c; font-size: 18px; }
.ams-doc-filter-row { margin: 16px 0 0; min-height: 0; }
.ams-doc-filter-row span { border-radius: 999px; color: #65707c; background: #fff; border-color: var(--doc-line); }
.ams-doc-articles { gap: 34px; }
.ams-doc-article { padding: 0; background: transparent; border: 0; scroll-margin-top: 138px; }
.ams-doc-meta { gap: 8px; margin-bottom: 16px; color: var(--doc-muted); text-transform: none; }
.ams-doc-meta span { padding: 4px 8px; background: #fff; border: 1px solid var(--doc-line); border-radius: 999px; }
.ams-doc-article h2 { max-width: 780px; margin: 0 0 8px; color: #111318; font-size: clamp(34px, 4vw, 52px); line-height: 1.06; }
.ams-read-time { display: inline-flex; margin: 0 0 30px; padding: 4px 12px; color: #68707c; background: #fff; border: 1px solid var(--doc-line); border-radius: 999px; font-size: 13px; }
.ams-doc-summary { max-width: 760px; margin: 0 0 26px; color: #252932; font-size: 18px; line-height: 1.75; }
.ams-doc-tag-row { margin-bottom: 28px; }
.ams-doc-image { border-radius: 8px; border-color: var(--doc-line); }
.ams-doc-content { max-width: 780px; margin-top: 22px; color: #1b1e25; font-size: 17px; line-height: 1.85; }
.ams-doc-content h3 { margin: 48px 0 18px; padding-top: 0; color: #050608; border-top: 0; font-size: 30px; line-height: 1.2; scroll-margin-top: 138px; }
.ams-doc-content p { color: #1f2430; }
.ams-doc-content ul, .ams-doc-content ol { margin: 16px 0 28px; padding: 18px 24px 18px 48px; background: #effaf4; border: 1px solid #d8f0e3; border-radius: 8px; }
.ams-doc-content ul { background: #eef5ff; border-color: #d9e8ff; }
.ams-doc-content li { margin: 8px 0; }
.ams-doc-onpage { position: sticky; top: 148px; align-self: start; padding: 0 42px 0 0; color: var(--doc-muted); }
.ams-doc-onpage strong { display: block; margin-bottom: 14px; color: #6f747d; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.ams-doc-onpage a { display: block; padding: 7px 0 7px 14px; color: #4f5662; border-left: 2px solid var(--doc-line); text-decoration: none; font-size: 14px; line-height: 1.35; }
.ams-doc-onpage a:hover { color: #111318; border-left-color: var(--doc-accent); }
.ams-doc-onpage .ams-onpage-title { color: #111318; font-weight: 800; }
.ams-doc-empty { border: 1px solid var(--doc-line); border-radius: 8px; background: #fff; }
.ams-doc-mode .ams-inline-button { color: #fff; background: var(--doc-accent); border-color: var(--doc-accent); border-radius: 7px; }
.ams-doc-mode .ams-text-link { display: inline-flex; margin-top: 20px; color: var(--doc-accent); }

@media (max-width: 1180px) {
  .ams-doc-layout { grid-template-columns: 290px minmax(0, 1fr); gap: 34px; }
  .ams-doc-onpage { display: none; }
  .ams-doc-sidebar { padding-left: 34px; }
  .ams-doc-tabs { padding: 0 34px; }
}
@media (max-width: 900px) {
  .ams-doc-mode .ams-shell-header { grid-template-columns: 1fr auto; padding: 12px 18px; }
  .ams-doc-search { grid-column: 1 / -1; order: 3; }
  .ams-doc-layout { grid-template-columns: 1fr; gap: 0; }
  .ams-doc-sidebar { position: static; height: auto; padding: 18px; border-right: 0; border-bottom: 1px solid var(--doc-line); }
  .ams-doc-main { padding: 34px 18px 64px; }
  .ams-doc-tabs { top: auto; padding: 0 18px; overflow-x: auto; }
}


/* Unified documentation experience */
.ams-doc-app-shell { width: min(1240px, calc(100% - 40px)); padding-top: 28px; }
.ams-doc-mode .ams-doc-search-placeholder { min-width: 320px; }
.ams-doc-mode .ams-page-hero,
.ams-doc-mode .ams-card,
.ams-doc-mode .ams-stat-card,
.ams-doc-mode .ams-panel,
.ams-doc-mode .ams-solution { border-color: var(--doc-line); box-shadow: none; }
.ams-doc-mode .ams-page-hero { border-radius: 0; }
.ams-doc-mode .ams-card,
.ams-doc-mode .ams-stat-card { border-radius: 8px; }
.ams-doc-nav-group { display: block; }
.ams-doc-nav-group summary { list-style: none; cursor: pointer; }
.ams-doc-nav-group summary::-webkit-details-marker { display: none; }
.ams-doc-nav-group summary a { color: inherit; text-decoration: none; }
.ams-doc-nav-group:not([open]) .ams-doc-section { display: none; }
.ams-doc-module { width: 100%; }
.ams-doc-module::after { content: '+'; margin-left: auto; color: var(--doc-muted); }
.ams-doc-nav-group[open] .ams-doc-module::after { content: '-'; }
.ams-doc-tag-row span { display: inline-flex; padding: 5px 8px; color: #4d535e; background: #fff; border: 1px solid var(--doc-line); border-radius: 999px; font-size: 12px; font-weight: 800; }
.ams-doc-search input::placeholder { color: #8a909a; }
.ams-doc-topic-hidden { display: none; }
.ams-doc-articles.is-list { display: grid; gap: 18px; }
.ams-doc-post-card { display: grid; gap: 12px; padding: 22px 24px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-doc-post-card h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; }
.ams-doc-post-card h2 a { color: #111318; text-decoration: none; }
.ams-doc-post-card h2 a:hover { color: var(--doc-accent); }
.ams-doc-post-card .ams-doc-summary { margin: 0; color: #3c424d; font-size: 16px; line-height: 1.65; }
.ams-doc-post-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; color: var(--doc-muted); font-size: 13px; font-weight: 800; }
.ams-doc-post-card footer a, .ams-back-link { color: var(--doc-accent); font-weight: 900; text-decoration: none; }
.ams-doc-post-card footer a:hover, .ams-back-link:hover { text-decoration: underline; }
.ams-back-link { display: inline-flex; margin-bottom: 18px; }
.ams-onpage-note { display: block; margin-top: 10px; color: var(--doc-muted); font-size: 13px; }
@media (max-width: 900px) {
  .ams-doc-mode .ams-doc-search-placeholder { display: none; }
  .ams-doc-app-shell { width: min(100% - 28px, 1240px); }
}

/* Header menu refinement */
.ams-doc-topbar .ams-primary-nav { display: none; }
.ams-doc-topbar .ams-user-menu { justify-content: flex-end; }
.ams-doc-topbar .ams-user-menu .ams-inline-button { color: #fff; background: var(--doc-accent); border-color: var(--doc-accent); text-decoration: none; }
.ams-content-tools { display: grid; gap: 8px; padding: 14px; background: #f7f9fb; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-content-tools p { margin: 0; color: var(--muted); font-size: 13px; }
.ams-doc-figure { margin: 28px 0; }
.ams-doc-figure img { display: block; width: 100%; max-height: 520px; object-fit: contain; border: 1px solid var(--doc-line); border-radius: 8px; background: #fff; }
.ams-wizard-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 22px; }
.ams-wizard-choice a { display: flex; justify-content: center; padding: 12px; color: var(--ink); text-decoration: none; border: 1px solid var(--doc-line); border-radius: 8px; background: #fff; font-weight: 800; }
.ams-wizard-choice a.is-active { color: #fff; background: var(--doc-accent); border-color: var(--doc-accent); }

/* Modular post content */
.ams-content-section { margin: 48px 0; scroll-margin-top: 138px; }
.ams-content-section > h3 { margin: 0 0 20px; color: #050608; font-size: clamp(30px, 3vw, 42px); line-height: 1.12; }
.ams-content-card { padding: 28px 36px; border-radius: 8px; border: 1px solid var(--doc-line); font-size: 18px; line-height: 1.9; }
.ams-content-card.is-blue { background: #eef5ff; border-color: #d8e8ff; }
.ams-content-card.is-green { background: #ecfaf3; border-color: #d8f0e3; }
.ams-content-card p { margin: 0 0 14px; }
.ams-content-card ul, .ams-content-card ol { margin: 0; padding: 0 0 0 28px; background: transparent; border: 0; }
.ams-content-card li { margin: 10px 0; padding-left: 6px; }
.ams-content-card .ams-doc-figure { margin: 24px 0; }
.ams-section-builder { display: grid; gap: 16px; }
.ams-section-builder-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ams-section-builder-head h2 { margin: 0; }
.ams-section-editor { display: grid; gap: 12px; padding: 16px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-section-editor-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.ams-section-editor-head button { padding: 9px 12px; color: var(--red); background: #fff6f5; border: 1px solid #f0b8b2; border-radius: 7px; cursor: pointer; font-weight: 800; }
.ams-section-editor textarea { min-height: 180px; }
.ams-module-image-input { padding: 12px; background: #f7f9fb; border: 1px dashed var(--doc-line); border-radius: 8px; }
.ams-topic-form .ams-module-image-input input { background: #fff; }
.ams-code-editor { display: grid; gap: 8px; padding: 14px; background: #f7f9fb; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-code-editor-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; color: var(--ink); font-size: 13px; font-weight: 800; }
.ams-code-editor-tools { display: flex; align-items: end; justify-content: flex-end; gap: 10px; width: min(360px, 65%); }
.ams-code-editor-head label { width: min(220px, 65%); }
.ams-code-editor-tools > button { margin-bottom: 1px; padding: 9px 12px; color: #244456; background: #fff; border: 1px solid #b9cbd5; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ams-code-editor-tools > button:hover { color: #fff; background: #226c83; border-color: #226c83; }
.ams-section-editor .ams-code-editor textarea { min-height: 150px; color: #dbe7f3; background: #17212b; border-color: #17212b; font: 13px/1.6 Consolas, "SFMono-Regular", Menlo, monospace; tab-size: 2; }
.ams-code-editor .CodeMirror { min-height: 220px; color: #dbe7f3; background: #111a22; border: 1px solid #243645; border-radius: 7px; font: 14px/1.65 Consolas, "SFMono-Regular", Menlo, monospace; }
.ams-code-editor .CodeMirror-scroll { min-height: 220px; }
.ams-code-editor .CodeMirror-gutters { background: #17242e; border-right-color: #2a3b48; }
.ams-code-editor .CodeMirror-linenumber { color: #6f8797; }
.ams-code-editor .CodeMirror-cursor { border-left-color: #eaf5fb; }
.ams-code-editor .CodeMirror-selected { background: #28465a; }
.ams-code-editor .cm-keyword, .ams-code-editor .cm-operator { color: #ff7ab2; }
.ams-code-editor .cm-string, .ams-code-editor .cm-string-2 { color: #a8d783; }
.ams-code-editor .cm-number, .ams-code-editor .cm-atom { color: #f7c66b; }
.ams-code-editor .cm-variable-2, .ams-code-editor .cm-variable-3, .ams-code-editor .cm-def, .ams-code-editor .cm-builtin { color: #76c7f2; }
.ams-code-editor .cm-comment { color: #7f96a6; font-style: italic; }
.ams-code-block { overflow: hidden; margin: 18px 0 0; color: #dbe7f3; background: #111a22; border: 1px solid #243645; border-radius: 8px; box-shadow: 0 8px 24px rgba(18, 37, 49, .12); }
.ams-code-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 7px 10px 7px 16px; color: #9fb3c3; background: #17242e; border-bottom: 1px solid #2a3b48; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ams-code-toolbar button { padding: 6px 10px; color: #d8e6ef; background: transparent; border: 1px solid #425665; border-radius: 5px; cursor: pointer; font: inherit; text-transform: none; letter-spacing: 0; }
.ams-code-toolbar button:hover, .ams-code-toolbar button.is-copied { color: #fff; background: #226c83; border-color: #3189a5; }
.ams-code-block pre { overflow-x: auto; margin: 0; padding: 22px; background: transparent; }
.ams-code-block code { display: block; color: #dbe7f3; background: transparent; font: 14px/1.65 Consolas, "SFMono-Regular", Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 2; }
.ams-code-block .hljs-keyword, .ams-code-block .hljs-selector-tag, .ams-code-block .hljs-literal { color: #ff7ab2; }
.ams-code-block .hljs-string, .ams-code-block .hljs-attr, .ams-code-block .hljs-template-variable { color: #a8d783; }
.ams-code-block .hljs-number, .ams-code-block .hljs-symbol, .ams-code-block .hljs-bullet { color: #f7c66b; }
.ams-code-block .hljs-title, .ams-code-block .hljs-section, .ams-code-block .hljs-function { color: #76c7f2; }
.ams-code-block .hljs-comment, .ams-code-block .hljs-quote { color: #7f96a6; font-style: italic; }
.ams-code-block .hljs-variable, .ams-code-block .hljs-params, .ams-code-block .hljs-type { color: #d7b8ff; }
@media (max-width: 640px) {
  .ams-code-editor-head { align-items: stretch; flex-direction: column; }
  .ams-code-editor-tools { align-items: stretch; flex-direction: column-reverse; width: 100%; }
  .ams-code-editor-head label { width: 100%; }
}

/* Plan schedule */
.ams-plan-command { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: stretch; padding: 26px; background: #fff; border: 1px solid var(--doc-line); }
.ams-plan-command-main { display: grid; align-content: center; }
.ams-plan-command h1 { max-width: 920px; margin: 0; color: #101114; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: 0; }
.ams-plan-command p:not(.ams-kicker) { max-width: 900px; color: #4e5663; font-size: 17px; }
.ams-plan-progress-panel { display: grid; align-content: center; gap: 10px; padding: 18px; background: #f8fafc; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-plan-progress-panel > span, .ams-plan-progress-panel small { color: #68707d; font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.ams-plan-progress-panel strong { color: #101114; font-size: 38px; line-height: 1; }
.ams-plan-meter, .ams-plan-card-progress div { overflow: hidden; height: 8px; background: #e6eaf0; border-radius: 999px; }
.ams-plan-meter span, .ams-plan-card-progress span[data-card-meter] { display: block; height: 100%; width: 0; background: #ff5a2c; border-radius: inherit; transition: width .2s ease; }
.ams-plan-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.ams-plan-kpi-grid article { min-height: 116px; padding: 16px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-plan-kpi-grid span, .ams-plan-kpi-grid small { display: block; color: #6b7280; font-size: 12px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.ams-plan-kpi-grid strong { display: block; margin: 8px 0 4px; color: #111318; font-size: 32px; line-height: 1; }
.ams-plan-roadmap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 26px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; overflow: hidden; }
.ams-plan-roadmap-item { position: relative; display: grid; gap: 6px; min-height: 116px; padding: 18px 18px 18px 54px; border-right: 1px solid var(--doc-line); }
.ams-plan-roadmap-item:last-child { border-right: 0; }
.ams-plan-roadmap-item::before { content: ''; position: absolute; left: 20px; top: 22px; bottom: 22px; width: 3px; background: #c7cdd6; border-radius: 999px; }
.ams-plan-roadmap-item span { position: absolute; left: 12px; top: 14px; display: grid; width: 20px; height: 20px; place-items: center; color: #fff; background: #111318; border-radius: 50%; font-size: 10px; font-weight: 900; }
.ams-plan-roadmap-item strong { color: #111318; font-size: 16px; }
.ams-plan-roadmap-item small { color: #626b78; line-height: 1.35; }
.ams-plan-roadmap-item.is-done::before { background: #2f8f57; }
.ams-plan-roadmap-item.is-done span { background: #2f8f57; }
.ams-plan-roadmap-item.is-critical::before { background: #b42318; }
.ams-plan-roadmap-item.is-critical span { background: #b42318; }
.ams-plan-roadmap-item.is-hardening::before { background: #176b87; }
.ams-plan-roadmap-item.is-hardening span { background: #176b87; }
.ams-plan-roadmap-item.is-acceptance::before { background: #7b4b00; }
.ams-plan-roadmap-item.is-acceptance span { background: #7b4b00; }
.ams-plan-baseline { margin: 0 0 28px; }
.ams-plan-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 12px; padding: 0 0 10px; border-bottom: 1px solid var(--doc-line); }
.ams-plan-section-head h2 { margin: 0; color: #111318; font-size: 26px; line-height: 1.16; }
.ams-plan-baseline-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ams-plan-card { min-width: 0; padding: 16px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-plan-card-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 12px; }
.ams-plan-card-head span { display: grid; width: 30px; height: 30px; place-items: center; color: #fff; background: #2f8f57; border-radius: 8px; font-size: 12px; font-weight: 900; }
.ams-plan-card h3 { margin: 0; color: #111318; font-size: 16px; line-height: 1.25; }
.ams-schedule-board { background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; overflow: hidden; }
.ams-schedule-board-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--doc-line); }
.ams-schedule-board-head h2 { margin: 0; color: #111318; font-size: 28px; line-height: 1.1; }
.ams-schedule-board-head > span { color: #68707d; font-size: 13px; font-weight: 800; }
.ams-schedule-table-head { display: grid; grid-template-columns: 110px minmax(0, 1fr) 180px 150px; gap: 0; padding: 10px 20px; color: #68707d; background: #f6f7f9; border-bottom: 1px solid var(--doc-line); font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.ams-schedule-phase { border-bottom: 1px solid var(--doc-line); }
.ams-schedule-phase:last-child { border-bottom: 0; }
.ams-schedule-phase-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 20px; background: #fbfcfd; border-bottom: 1px solid var(--doc-line); }
.ams-schedule-phase-head div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ams-schedule-phase-head span { display: inline-grid; width: 34px; height: 30px; place-items: center; color: #fff; background: #111318; border-radius: 8px; font-size: 12px; font-weight: 900; }
.ams-schedule-phase-head h3 { margin: 0; color: #111318; font-size: 18px; }
.ams-schedule-phase-head small { color: #6b7280; font-weight: 800; }
.ams-schedule-phase-head strong { color: #111318; font-size: 18px; }
.ams-schedule-phase.is-critical .ams-schedule-phase-head span, .ams-schedule-phase.is-critical .ams-schedule-phase-cell span { background: #b42318; }
.ams-schedule-phase.is-hardening .ams-schedule-phase-head span, .ams-schedule-phase.is-hardening .ams-schedule-phase-cell span { background: #176b87; }
.ams-schedule-phase.is-acceptance .ams-schedule-phase-head span, .ams-schedule-phase.is-acceptance .ams-schedule-phase-cell span { background: #7b4b00; }
.ams-schedule-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 180px 150px; column-gap: 0; padding: 0 20px; background: #fff; border-bottom: 1px solid var(--doc-line); }
.ams-schedule-row:last-child { border-bottom: 0; }
.ams-schedule-row.is-complete { background: #fbfffd; }
.ams-schedule-phase-cell, .ams-schedule-work-cell, .ams-schedule-window-cell, .ams-plan-card-progress { padding: 18px 12px 18px 0; }
.ams-schedule-phase-cell { display: grid; align-content: start; gap: 6px; }
.ams-schedule-phase-cell span { display: inline-grid; width: 34px; height: 30px; place-items: center; color: #fff; background: #111318; border-radius: 8px; font-size: 12px; font-weight: 900; }
.ams-schedule-phase-cell small { color: #6b7280; font-weight: 900; }
.ams-schedule-work-cell { min-width: 0; }
.ams-schedule-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ams-schedule-title-row h4 { margin: 0; color: #111318; font-size: 18px; line-height: 1.25; }
.ams-schedule-title-row span { flex: 0 0 auto; padding: 4px 8px; color: #4f5662; background: #f4f6f8; border: 1px solid var(--doc-line); border-radius: 999px; font-size: 12px; font-weight: 900; }
.ams-schedule-work-cell p { max-width: 880px; margin: 8px 0 0; color: #4c515c; line-height: 1.55; }
.ams-schedule-window-cell { display: grid; align-content: start; gap: 5px; color: #68707d; font-size: 13px; }
.ams-schedule-window-cell strong { color: #111318; font-size: 14px; }
.ams-schedule-window-cell b { color: #111318; }
.ams-plan-card-progress { display: grid; align-content: start; gap: 9px; text-align: right; }
.ams-plan-card-progress strong { color: #111318; font-size: 18px; line-height: 1; }
.ams-plan-goal { display: grid; gap: 4px; margin-top: 12px; padding: 10px 12px; background: #f8fafc; border-left: 3px solid #c7cdd6; }
.ams-plan-goal strong { color: #111318; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.ams-plan-goal span { color: #3f4652; line-height: 1.45; }
.ams-schedule-details { grid-column: 2 / 5; margin: 0 0 18px; border: 1px solid var(--doc-line); border-radius: 8px; background: #fbfcfd; }
.ams-schedule-details summary { padding: 10px 12px; color: #111318; cursor: pointer; font-weight: 900; }
.ams-plan-notes { display: grid; gap: 10px; padding: 0 12px 12px; }
.ams-plan-notes figure { margin: 0; }
.ams-plan-notes figcaption { margin-bottom: 6px; color: #68707d; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.ams-plan-notes pre { margin: 0; padding: 12px 14px; color: #111318; background: #fff; border: 1px solid var(--doc-line); border-left: 4px solid #ff5a2c; border-radius: 8px; white-space: pre-wrap; }
.ams-plan-check-wrap { padding: 0 12px 14px; }
.ams-plan-checks { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ams-plan-checks .ams-plan-checks { margin: 8px 0 4px 28px; padding-left: 14px; border-left: 1px solid var(--doc-line); }
.ams-plan-checks li { min-width: 0; }
.ams-plan-check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; color: #20242d; line-height: 1.45; cursor: pointer; }
.ams-plan-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #ff5a2c; }
.ams-plan-check span { min-width: 0; overflow-wrap: anywhere; }
.ams-plan-check input:checked + span { color: #69717d; text-decoration: line-through; }
.ams-plan-baseline .ams-plan-check input { accent-color: #2f8f57; }
.ams-plan-baseline .ams-plan-check input:checked + span { text-decoration: none; }

@media (max-width: 1060px) {
  .ams-plan-command { grid-template-columns: 1fr; }
  .ams-plan-kpi-grid, .ams-plan-roadmap, .ams-plan-baseline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ams-schedule-table-head { display: none; }
  .ams-schedule-row { grid-template-columns: 76px minmax(0, 1fr) 150px; }
  .ams-plan-card-progress { text-align: left; }
  .ams-schedule-details { grid-column: 2 / 4; }
}
@media (max-width: 720px) {
  .ams-plan-command { padding: 20px; }
  .ams-plan-kpi-grid, .ams-plan-roadmap, .ams-plan-baseline-grid { grid-template-columns: 1fr; }
  .ams-plan-roadmap-item { border-right: 0; border-bottom: 1px solid var(--doc-line); }
  .ams-plan-roadmap-item:last-child { border-bottom: 0; }
  .ams-schedule-board-head, .ams-plan-section-head, .ams-schedule-phase-head { display: grid; grid-template-columns: 1fr; }
  .ams-schedule-phase-head div { flex-wrap: wrap; }
  .ams-schedule-row { grid-template-columns: 1fr; padding: 16px; }
  .ams-schedule-phase-cell, .ams-schedule-work-cell, .ams-schedule-window-cell, .ams-plan-card-progress { padding: 0 0 12px; }
  .ams-schedule-title-row { display: grid; justify-content: start; }
  .ams-schedule-details { grid-column: 1; margin-bottom: 0; }
  .ams-plan-checks .ams-plan-checks { margin-left: 12px; padding-left: 10px; }
}
/* Cost management */
.ams-cost-command { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; padding: 26px; background: #fff; border: 1px solid var(--doc-line); }
.ams-cost-command h1 { margin: 0; color: #101114; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; }
.ams-cost-command p:not(.ams-kicker) { max-width: 920px; color: #4e5663; font-size: 17px; }
.ams-cost-config { display: grid; align-content: center; gap: 6px; padding: 18px; background: #f8fafc; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-cost-config span, .ams-cost-config small { color: #68707d; font-size: 12px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.ams-cost-config strong { color: #111318; font-size: 24px; }
.ams-cost-alert { margin-top: 14px; padding: 16px 18px; color: #6d3d00; background: #fff8e8; border: 1px solid #efd39d; border-radius: 8px; }
.ams-cost-alert strong, .ams-cost-alert p, .ams-cost-alert small { display: block; margin: 0; }
.ams-cost-alert p { margin-top: 6px; color: #50320b; }
.ams-cost-alert small { margin-top: 8px; color: #7a5a22; }
.ams-cost-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.ams-cost-kpis article { min-height: 122px; padding: 16px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-cost-kpis span, .ams-cost-kpis small { display: block; color: #68707d; font-size: 12px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.ams-cost-kpis strong { display: block; margin: 8px 0 4px; color: #111318; font-size: 28px; line-height: 1.05; overflow-wrap: anywhere; }
.ams-cost-analytics-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr); gap: 14px; margin-top: 14px; }
.ams-cost-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.ams-cost-trends { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ams-cost-panel { min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-cost-wide { margin-top: 14px; }
.ams-cost-panel header { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--doc-line); }
.ams-cost-panel h2 { margin: 0; color: #111318; font-size: 24px; line-height: 1.15; }
.ams-cost-panel header > span { color: #68707d; font-size: 13px; font-weight: 900; }
.ams-cost-line-chart { position: relative; min-height: 280px; padding-right: 58px; }
.ams-cost-line-chart svg { display: block; width: 100%; height: auto; max-height: 320px; background: linear-gradient(180deg, #fbfcfd 0%, #fff 100%); border: 1px solid #eef1f4; border-radius: 8px; }
.ams-cost-line-chart line { stroke: #c9d0da; stroke-width: 1.5; }
.ams-cost-line-chart line.is-grid { stroke: #edf0f4; }
.ams-cost-line-chart polyline { fill: none; stroke: #176b87; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.ams-cost-line-chart circle { fill: #fff; stroke: #176b87; stroke-width: 2; }
.ams-cost-chart-scale { position: absolute; top: 8px; right: 0; bottom: 30px; display: flex; flex-direction: column; justify-content: space-between; width: 52px; color: #68707d; font-size: 12px; font-weight: 800; text-align: right; }
.ams-cost-chart-caption { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; color: #68707d; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.ams-cost-chart-caption strong { color: #111318; }
.ams-cost-donut-layout { display: grid; gap: 18px; justify-items: center; }
.ams-cost-donut { position: relative; display: grid; width: min(250px, 100%); aspect-ratio: 1; place-items: center; background: conic-gradient(var(--segments)); border-radius: 50%; }
.ams-cost-donut::after { content: ''; position: absolute; inset: 26px; background: #fff; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--doc-line); }
.ams-cost-donut span, .ams-cost-donut small { position: relative; z-index: 1; display: block; max-width: 150px; text-align: center; }
.ams-cost-donut span { color: #111318; font-size: 22px; font-weight: 900; overflow-wrap: anywhere; }
.ams-cost-donut small { color: #68707d; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.ams-cost-legend { display: grid; gap: 9px; width: 100%; }
.ams-cost-legend div { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 8px; align-items: center; color: #303641; font-weight: 800; }
.ams-cost-legend i { width: 10px; height: 10px; border-radius: 50%; background: #176b87; }
.ams-cost-legend i.is-1 { background: #ff5a2c; }
.ams-cost-legend i.is-2 { background: #2f8f57; }
.ams-cost-legend i.is-3 { background: #7b4b00; }
.ams-cost-legend i.is-4 { background: #6d5dfc; }
.ams-cost-legend i.is-5 { background: #8792a2; }
.ams-cost-legend i.is-6 { background: #c2c9d3; }
.ams-cost-legend span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ams-cost-legend strong { color: #111318; }
.ams-cost-bars { display: grid; gap: 12px; }
.ams-cost-bar-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid #eef1f4; }
.ams-cost-bar-row span { min-width: 0; color: #20242d; font-weight: 800; overflow-wrap: anywhere; }
.ams-cost-bar-row strong { color: #111318; }
.ams-cost-bar-row i { position: absolute; left: 0; bottom: -1px; height: 4px; background: linear-gradient(90deg, #176b87, #2f8f57); border-radius: 999px; }
.ams-cost-column-chart { display: grid; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 12px; align-items: end; min-height: 240px; padding: 8px 4px 0; }
.ams-cost-column-chart div { display: grid; grid-template-rows: 1fr auto auto; gap: 7px; height: 230px; min-width: 0; }
.ams-cost-column-chart div > span { align-self: end; display: block; min-height: 5px; background: linear-gradient(180deg, #ff5a2c, #b42318); border-radius: 7px 7px 0 0; }
.ams-cost-column-chart small { color: #68707d; font-size: 12px; font-weight: 900; text-align: center; }
.ams-cost-column-chart strong { color: #111318; font-size: 12px; text-align: center; overflow-wrap: anywhere; }
.ams-cost-month-strip { display: grid; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--doc-line); }
.ams-cost-month-strip div { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.ams-cost-month-strip span { color: #4f5662; font-weight: 900; }
.ams-cost-month-strip i { overflow: hidden; height: 8px; background: #edf0f4; border-radius: 999px; }
.ams-cost-month-strip b { display: block; height: 100%; background: #176b87; border-radius: inherit; }
.ams-cost-month-strip strong { color: #111318; }
.ams-cost-filter-tabs { display: grid; gap: 10px; margin: 0 0 14px; padding: 12px; background: #f8fafc; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-cost-filter-tabs > button, .ams-cost-filter-tabs button { width: fit-content; max-width: 100%; padding: 7px 10px; color: #4f5662; background: #fff; border: 1px solid var(--doc-line); border-radius: 999px; cursor: pointer; font-size: 12px; font-weight: 900; }
.ams-cost-filter-tabs button.is-active { color: #fff; background: #176b87; border-color: #176b87; }
.ams-cost-filter-tabs div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; }
.ams-cost-filter-tabs strong { color: #68707d; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.ams-cost-date-control { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 0 0 14px; padding: 12px; background: #f8fafc; border: 1px solid var(--doc-line); border-radius: 8px; }
.ams-cost-date-control button { width: 38px; height: 38px; color: #111318; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; cursor: pointer; font-size: 20px; font-weight: 900; line-height: 1; }
.ams-cost-date-control button:hover:not(:disabled) { border-color: #0b6f8f; box-shadow: 0 0 0 3px rgba(11, 111, 143, .12); }
.ams-cost-date-control button:disabled { color: #a5adba; background: #edf0f3; cursor: not-allowed; }
.ams-cost-date-control label { display: grid; gap: 5px; min-width: min(240px, 100%); }
.ams-cost-date-control label span { color: #68707d; font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.ams-cost-date-control input { height: 38px; padding: 0 12px; color: #111318; background: #fff; border: 1px solid var(--doc-line); border-radius: 8px; font: inherit; font-weight: 800; }
.ams-cost-date-control input:focus { outline: 3px solid rgba(11, 111, 143, .16); border-color: #0b6f8f; }
.ams-cost-date-control small { align-self: center; margin-left: auto; color: #68707d; font-size: 12px; font-weight: 900; }
.ams-cost-table tr[hidden] { display: none; }
.ams-cost-daily-resource .ams-cost-table { min-width: 1080px; }
.ams-cost-table-wrap { overflow-x: auto; }
.ams-cost-table { width: 100%; border-collapse: collapse; min-width: 920px; }
.ams-cost-table th, .ams-cost-table td { padding: 11px 10px; border-bottom: 1px solid var(--doc-line); text-align: left; vertical-align: top; }
.ams-cost-table th { color: #68707d; background: #f6f7f9; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.ams-cost-table td:last-child { color: #111318; font-weight: 900; white-space: nowrap; }
.ams-cost-table td strong, .ams-cost-table td small { display: block; }
.ams-cost-table td small { max-width: 560px; margin-top: 4px; color: #68707d; font-size: 12px; overflow-wrap: anywhere; }
.ams-cost-trends .ams-cost-panel { max-height: 420px; overflow: auto; }
.ams-cost-trend-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 9px 0; border-bottom: 1px solid #eef1f4; }
.ams-cost-trend-row span { color: #4f5662; font-weight: 800; }
.ams-cost-trend-row strong { color: #111318; }
.ams-cost-empty { margin: 0; color: #68707d; }

@media (max-width: 1120px) {
  .ams-cost-command, .ams-cost-analytics-grid, .ams-cost-grid, .ams-cost-trends { grid-template-columns: 1fr; }
  .ams-cost-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .ams-cost-command { padding: 20px; }
  .ams-cost-kpis { grid-template-columns: 1fr; }
  .ams-cost-panel header, .ams-cost-bar-row, .ams-cost-month-strip div { grid-template-columns: 1fr; }
  .ams-cost-line-chart { padding-right: 0; }
  .ams-cost-chart-scale { position: static; flex-direction: row; width: auto; margin-top: 8px; }
}
/* Unified operations workspace refinement */
.ams-doc-mode {
  --doc-bg: #f4f7fa;
  --doc-line: #dbe3ea;
  --doc-muted: #5d6a78;
  --doc-soft: #eef3f7;
  --doc-accent: #0b7490;
  background: var(--doc-bg);
}
.ams-doc-mode .ams-shell-header {
  min-height: 64px;
  padding: 0 40px;
  gap: 28px;
  border-bottom-color: var(--doc-line);
  box-shadow: 0 1px 0 rgba(17, 34, 51, .03);
}
.ams-doc-mode .ams-brand-mark { border-radius: 6px; background: #123448; }
.ams-doc-mode .ams-brand strong { font-size: 16px; letter-spacing: .01em; }
.ams-doc-mode .ams-brand small { margin-top: 1px; color: #71808e; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ams-doc-mode .ams-doc-search input { height: 38px; border-radius: 6px; background: #f9fbfc; }
.ams-doc-mode .ams-doc-search input:focus { border-color: var(--doc-accent); box-shadow: 0 0 0 3px rgba(11, 116, 144, .12); }
.ams-doc-mode .ams-user-menu { gap: 14px; font-size: 13px; }
.ams-doc-mode .ams-inline-button { padding: 7px 11px; color: #fff; background: #123448; border-color: #123448; border-radius: 5px; text-decoration: none; }
.ams-doc-mode .ams-inline-button:hover { color: #fff; background: #0b7490; text-decoration: none; }
.ams-doc-tabs { top: 64px; height: 46px; padding: 0 40px; gap: 26px; background: #fff; }
.ams-doc-tabs a { color: #64717e; font-size: 13px; letter-spacing: .01em; }
.ams-doc-tabs a:hover { color: #123448; }
.ams-doc-tabs a.is-active { color: #123448; border-bottom-width: 3px; }
.ams-doc-layout { grid-template-columns: 292px minmax(560px, 860px) 210px; gap: 32px; min-height: calc(100vh - 110px); }
.ams-doc-sidebar { top: 110px; height: calc(100vh - 110px); padding: 28px 24px 42px 40px; background: #fff; border-right-color: var(--doc-line); }
.ams-doc-sidebar-head { padding-bottom: 16px; }
.ams-doc-sidebar-head strong, .ams-doc-onpage strong { color: #64717e; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.ams-doc-sidebar-head a { padding: 4px 7px; color: var(--doc-accent); background: #eaf5f7; border-radius: 4px; font-size: 11px; font-weight: 800; }
.ams-doc-nav-group { padding: 10px 0; }
.ams-doc-module { padding: 9px 10px; color: #263643; border-radius: 5px; font-size: 13px; }
.ams-doc-section { padding: 7px 10px 7px 24px; border-radius: 5px; font-size: 13px; }
.ams-doc-module.is-active, .ams-doc-section.is-active, .ams-doc-tags a.is-active { color: #073d4c; background: #e6f3f6; border-color: transparent; }
.ams-doc-main { padding: 30px 0 64px; }
.ams-doc-header { grid-template-columns: minmax(0, 1fr) 148px; gap: 24px; align-items: stretch; padding: 26px 28px; background: #fff; border: 1px solid var(--doc-line); border-top: 4px solid #123448; border-radius: 6px; }
.ams-doc-header h1 { max-width: 740px; margin: 9px 0 8px; color: #152733; font-size: clamp(28px, 3.1vw, 40px); letter-spacing: 0; }
.ams-doc-header p { margin: 0; max-width: 720px; color: #61707d; font-size: 15px; line-height: 1.65; }
.ams-doc-breadcrumb { margin: 0; color: #6f7c88; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ams-doc-breadcrumb a { color: #0b7490; }
.ams-doc-filter-row { margin: 16px 0 0; }
.ams-doc-filter-row span { padding: 5px 8px; color: #315160; background: #eef6f8; border-color: #cfe2e7; border-radius: 4px; }
.ams-doc-header-stat { display: grid; align-content: center; padding-left: 22px; border-left: 1px solid var(--doc-line); }
.ams-doc-header-stat strong { color: #123448; font-size: 34px; line-height: 1; font-variant-numeric: tabular-nums; }
.ams-doc-header-stat span { margin-top: 6px; color: #71808e; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ams-doc-articles { margin-top: 16px; gap: 10px; }
.ams-doc-articles.is-list { border-top: 1px solid var(--doc-line); }
.ams-doc-post-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) 130px; gap: 16px; align-items: start; padding: 20px 18px; background: #fff; border: 1px solid transparent; border-bottom-color: var(--doc-line); border-radius: 0; box-shadow: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ams-doc-post-card:hover { position: relative; z-index: 1; border-color: #b9cbd5; box-shadow: 0 7px 18px rgba(23, 48, 65, .08); transform: translateY(-1px); }
.ams-doc-post-index { padding-top: 3px; color: #93a2ad; font-family: Consolas, "Cascadia Mono", monospace; font-size: 12px; font-weight: 800; }
.ams-doc-post-content { min-width: 0; }
.ams-doc-meta { gap: 6px; margin-bottom: 9px; font-size: 10px; }
.ams-doc-meta span { padding: 3px 6px; color: #527180; background: #f0f5f7; border: 0; border-radius: 3px; }
.ams-doc-post-card h2 { margin: 0; font-size: 18px; line-height: 1.32; }
.ams-doc-post-card h2 a { color: #172a36; text-decoration: none; }
.ams-doc-post-card h2 a:hover { color: #0b7490; }
.ams-doc-post-card .ams-doc-summary { display: -webkit-box; margin: 7px 0 11px; overflow: hidden; color: #64727e; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ams-doc-tag-row { gap: 5px; }
.ams-doc-tag-row span { padding: 3px 6px; color: #607380; background: #f6f8fa; border-color: #e0e7ec; border-radius: 3px; font-size: 10px; }
.ams-doc-post-card footer { display: grid; justify-items: end; gap: 8px; padding-top: 3px; color: #84909a; font-size: 11px; font-weight: 700; text-align: right; }
.ams-doc-post-card footer a { color: #0b7490; font-size: 12px; font-weight: 900; text-decoration: none; }
.ams-doc-post-card footer a:hover { color: #123448; }
.ams-doc-article { padding: 34px 38px 42px; background: #fff; border: 1px solid var(--doc-line); border-radius: 6px; }
.ams-doc-article h2 { color: #152733; font-size: clamp(26px, 3vw, 36px); }
.ams-doc-article .ams-doc-summary { color: #536572; font-size: 16px; }
.ams-back-link { display: inline-flex; gap: 7px; align-items: center; margin-bottom: 22px; color: #0b7490; font-size: 12px; font-weight: 800; text-decoration: none; }
.ams-back-link::before { content: '←'; }
.ams-back-link:hover { color: #123448; }
.ams-doc-content { max-width: 760px; color: #2b3c47; }
.ams-doc-content h3 { color: #17303e; font-size: 20px; }
.ams-doc-image { border-radius: 5px; }
.ams-doc-onpage { top: 140px; padding: 12px 0 12px 16px; border-left: 1px solid var(--doc-line); }
.ams-doc-onpage a { color: #657582; font-size: 12px; }
.ams-doc-onpage a:hover, .ams-doc-onpage .ams-onpage-title { color: #0b7490; }
.ams-doc-onpage .ams-onpage-title { font-weight: 800; }

/* Consistent panels for schedule, cost and editor surfaces */
.ams-plan-command, .ams-cost-command, .ams-add-shell, .ams-editor-shell { border-radius: 6px; box-shadow: 0 2px 5px rgba(23, 48, 65, .03); }
.ams-cost-panel, .ams-cost-kpis article, .ams-cost-config, .ams-cost-filter-tabs, .ams-cost-date-control { border-radius: 6px; }
.ams-cost-panel h2, .ams-cost-command h1 { letter-spacing: 0; }
.ams-cost-kpis article { border-top: 3px solid #d4e3e8; }
.ams-cost-kpis article:first-child { border-top-color: #0b7490; }
.ams-cost-panel header { align-items: center; }
.ams-category-multiselect { border-radius: 6px; }

@media (max-width: 1120px) {
  .ams-doc-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 24px; }
  .ams-doc-onpage { display: none; }
}
@media (max-width: 760px) {
  .ams-doc-mode .ams-shell-header { padding: 0 18px; }
  .ams-doc-tabs { top: 64px; padding: 0 18px; gap: 18px; overflow-x: auto; }
  .ams-doc-layout { display: block; }
  .ams-doc-sidebar { position: static; height: auto; padding: 18px; border-right: 0; border-bottom: 1px solid var(--doc-line); }
  .ams-doc-main { padding: 18px; }
  .ams-doc-header { grid-template-columns: 1fr; padding: 20px; }
  .ams-doc-header-stat { display: flex; gap: 10px; align-items: baseline; padding: 12px 0 0; border-top: 1px solid var(--doc-line); border-left: 0; }
  .ams-doc-post-card { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 16px 12px; }
  .ams-doc-post-card footer { grid-column: 2; display: flex; justify-items: initial; justify-content: space-between; padding-top: 8px; border-top: 1px solid #edf1f4; text-align: left; }
  .ams-doc-article { padding: 24px 20px; }
}
.ams-doc-header { grid-template-columns: minmax(0, 1fr); }
.ams-doc-post-actions { display: inline-flex; gap: 12px; align-items: center; }
.ams-doc-post-card footer .ams-doc-edit-link { color: #61707d; font-weight: 800; }
.ams-doc-post-card footer .ams-doc-edit-link:hover { color: #123448; }


/* Field preset groups */
.ams-doc-module-link { display: block; margin: 10px 0; text-decoration: none; }
.ams-field-preset-forms { display: grid; gap: 16px; }
.ams-field-preset-form { padding: 16px; background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.ams-field-preset-form h3 { margin: 0; color: var(--ink); }
.ams-field-preset-form .ams-topic-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ams-preset-groups { display: grid; gap: 12px; }
.ams-preset-groups > h2 { margin-bottom: 0; }
.ams-preset-group { background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.ams-preset-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; cursor: pointer; }
.ams-preset-group > summary span { color: var(--muted); font-size: 12px; font-weight: 800; }
.ams-preset-group-body { display: grid; gap: 16px; padding: 0 14px 14px; border-top: 1px solid var(--line); }
.ams-preset-group-body section { padding-top: 12px; }
.ams-preset-group-body h3 { margin: 0 0 4px; color: var(--muted); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.ams-preset-group-body p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
@media (max-width: 860px) { .ams-field-preset-form .ams-topic-form-grid { grid-template-columns: 1fr; } }
