/* V9 brand, complete grouped navigation and native metro. Extends retained V8 tokens. */
header{position:sticky;top:0;grid-template-columns:290px minmax(0,1fr) auto;gap:1rem;padding-block:.85rem;box-shadow:0 1px 0 var(--border)}
.brand img{width:220px;height:auto;margin:0 0 .35rem}.brand-slogan{display:block;font-size:12px;line-height:1.55;color:var(--muted);max-width:290px}.brand-owner{display:none}header.is-compact{padding-block:.55rem}header.is-compact .brand img{width:195px}#primary{gap:1rem}.nav-item>summary{font-size:14px;padding:.8rem 0}
.mega{left:max(24px,calc((100vw - 1320px)/2));right:max(24px,calc((100vw - 1320px)/2));max-height:calc(100dvh - var(--header-offset,130px) - 24px);overscroll-behavior:contain;padding:1.35rem;gap:1rem 1.5rem;grid-template-columns:repeat(var(--menu-columns,3),minmax(0,1fr))}.mega .mega-intro{position:relative;grid-column:1/-1;margin:0}.mega small{display:none}.mega h2{font-size:14px;line-height:1.5;letter-spacing:0;margin-bottom:.4rem}.mega a{padding:.55rem .2rem;gap:.6rem;align-items:flex-start}.mega b{font-size:14px;line-height:1.6}.mega .icon{width:22px;height:22px;margin-top:.15rem}.mega-col{min-width:0}.mega-intro>a{padding:0;min-height:28px}.mega-intro>span{max-width:42ch;text-align:right}.nav-item[open] .mega{animation:menu-in .12s ease-out}@keyframes menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
html{scroll-padding-top:calc(var(--header-offset,130px) + 20px)}.section h2,[id^=v9-layer-],details.endpoint{scroll-margin-top:calc(var(--header-offset,130px) + 20px)}
.metro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.metro-card{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,#14333f,#102631);color:var(--text);min-width:0}.metro-card .icon{width:30px;height:30px}.metro-card h3{font-size:18px;line-height:1.55;margin:.2rem 0 .5rem}.metro-card p{font-size:14px;margin:0;line-height:1.7}.metro-card:hover{border-color:var(--accent);background:#163d48;text-decoration:none}.metro-index{color:var(--accent);font:600 14px var(--font)}.metro-layer{padding:1.25rem 0;border-top:1px solid var(--border)}.metro-layer>h3{display:flex;align-items:center;gap:.7rem;font-size:18px}.metro-layer .metro-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.5rem}.metro-layer .metro-card{min-height:126px}.metro-layer[data-layer=core] .metro-card{border-left:3px solid #6ed3b6}
.workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.workflow-step{border:1px solid var(--border);border-radius:12px;padding:1.2rem;background:var(--panel)}.workflow-step .icon{margin-bottom:.7rem}.workflow-step p{font-size:15px}.renewal-fork{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.2rem;border:1px solid var(--border);background:#14323f;border-radius:12px;margin:1.4rem 0}.renewal-fork article{background:var(--panel);padding:1rem;border-radius:8px}.renewal-fork p{font-size:15px}.renewal-fork>strong{color:#83e0d1}.diagram-export img{display:block;width:100%;height:auto;background:#fff;border-radius:12px}.diagram-export figcaption{padding:.75rem 0;font-size:14px}.diagram-export .actions{margin-top:.5rem}.integration-spine{display:flex;gap:.75rem;align-items:stretch;flex-wrap:wrap;margin:1rem 0}.integration-spine>span{flex:1 1 180px;padding:1rem;background:var(--panel-raised);border-radius:8px;border:1px solid var(--border)}.integration-spine small{display:block;margin-top:.4rem}
.api-reference-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.25rem;align-items:start;margin:1.5rem 0}.api-operation-index{position:sticky;top:calc(var(--header-offset,130px) + 15px);max-height:calc(100dvh - var(--header-offset,130px) - 35px);overflow:auto;padding:.9rem;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.api-operation-index h3{font-size:15px}.api-operation-index input{width:100%;padding:.6rem;border-radius:6px;margin:.5rem 0 1rem;background:var(--bg);color:var(--text);border:1px solid var(--border)}.api-operation-index a{display:block;padding:.5rem 0;font-size:12px;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}.api-operation-index a b{display:block;color:var(--accent);font-size:12px}
/* Swagger dark mode — khớp theme site */
.swagger-panel{min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:.75rem}
.swagger-ui{color:var(--text);font-family:var(--font)}
.swagger-ui .wrapper{padding:0 8px}
.swagger-ui .info{margin:20px 0}
.swagger-ui .info .title,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table,.swagger-ui .opblock-tag,.swagger-ui .opblock-tag small,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated,.swagger-ui .opblock .opblock-summary-description,.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited,.swagger-ui .tab li,.swagger-ui .tab li button,.swagger-ui table thead tr td,.swagger-ui table thead tr th,.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .parameter__deprecated,.swagger-ui .parameter__in,.swagger-ui .response-col_status,.swagger-ui .response-col_links,.swagger-ui .responses-header td,.swagger-ui .responses-header th,.swagger-ui .response-col_description,.swagger-ui .model,.swagger-ui .model-title,.swagger-ui .prop-type,.swagger-ui .prop-format,.swagger-ui label,.swagger-ui .btn,.swagger-ui select,.swagger-ui .filter-container .operation-filter-input,.swagger-ui .dialog-ux .modal-ux-header h3,.swagger-ui .dialog-ux .modal-ux-content h4,.swagger-ui .dialog-ux .modal-ux-content p{color:var(--text)!important}
.swagger-ui .info .title{font-size:25px}
.swagger-ui .info a,.swagger-ui .info a:hover{color:var(--accent)}
.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown li{max-width:none;color:var(--muted)!important}
.swagger-ui .auth-wrapper{display:none}
.swagger-ui .scheme-container{background:var(--panel-soft);box-shadow:none;padding:28px 12px 14px;border-radius:8px;border:1px solid var(--border)}
.swagger-ui .servers>label,.swagger-ui .scheme-container .schemes>.schemes-server-container>label{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;margin:0!important}
.swagger-ui .servers-title{display:block;margin:0 0 .15rem;line-height:1.4;color:var(--muted)!important}
.swagger-ui .servers>label select,.swagger-ui .scheme-container select{width:100%;max-width:100%;margin:0;padding:.55rem .7rem;line-height:1.45}
.swagger-ui .opblock-tag{font-size:18px;border-bottom:1px solid var(--border)}
.swagger-ui .opblock{background:var(--panel-soft);border:1px solid var(--border);box-shadow:none;border-radius:8px}
.swagger-ui .opblock .opblock-summary{align-items:flex-start;border-color:var(--border)}
.swagger-ui .opblock .opblock-summary .opblock-summary-description{font-size:12px;line-height:1.5}
.swagger-ui .opblock-summary-path,.swagger-ui .opblock-summary-path__deprecated,.swagger-ui .opblock-summary-operation-id{font-size:12px;white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-wrap:nowrap}
.swagger-ui .opblock .opblock-summary{flex-wrap:nowrap;overflow-x:auto}
.swagger-ui .opblock .opblock-summary-control{min-width:0}
.swagger-ui .authorization__btn{flex:0 0 auto;white-space:nowrap}
.swagger-ui .opblock-summary-method{min-width:65px}
.swagger-ui .opblock .opblock-section-header{background:var(--panel-raised);border-color:var(--border);box-shadow:none}
.swagger-ui .opblock .opblock-section-header h4,.swagger-ui .opblock .opblock-section-header label{color:var(--text)}
.swagger-ui .opblock-body pre,.swagger-ui .highlight-code,.swagger-ui .microlight{background:#0a1b25!important;color:var(--text)!important;border:1px solid var(--border);border-radius:8px}
.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:var(--muted)}
.swagger-ui section.models{border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}
.swagger-ui section.models h4,.swagger-ui section.models h5{color:var(--text)}
.swagger-ui .model-box,.swagger-ui .model-container{background:var(--bg);border-color:var(--border)}
.swagger-ui .model-box{overflow:auto}
.swagger-ui .model-toggle:after{background:currentColor}
.swagger-ui table{background:transparent}
.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid var(--border);color:var(--muted)!important}
.swagger-ui table td,.swagger-ui table th{min-width:0;font-size:12px;border-color:var(--border);color:var(--text)}
.swagger-ui .response-col_description__inner div.markdown,.swagger-ui .response-col_description__inner div.renderedMarkdown{background:transparent;color:var(--muted)}
.swagger-ui button,.swagger-ui input,.swagger-ui select,.swagger-ui textarea{font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}
.swagger-ui .btn{box-shadow:none;border:1px solid var(--border);background:var(--panel-raised);color:var(--text)}
.swagger-ui .btn:hover{border-color:var(--accent);color:var(--accent)}
.swagger-ui .btn.execute{background:var(--accent);border-color:var(--accent);color:#09242c}
.swagger-ui select{background:var(--bg)}
.swagger-ui input[type=text],.swagger-ui textarea,.swagger-ui .filter-container .operation-filter-input{background:var(--bg);border:1px solid var(--border);color:var(--text)}
.swagger-ui .filter .operation-filter-input{border-color:var(--border)}
.swagger-ui pre{font-size:12px;line-height:1.6}
.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:var(--bg);color:var(--accent);padding:.1rem .35rem;border-radius:4px}
.swagger-ui .dialog-ux .modal-ux{background:var(--panel);border:1px solid var(--border);color:var(--text)}
.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--border)}
.swagger-ui .backdrop-ux{background:#000a}
.swagger-panel .loading-container{min-height:120px}
/* Override table global min-width:620px — giữ layout Swagger, scroll khi cần */
.swagger-panel{max-width:100%;min-width:0;overflow-x:auto}
.swagger-ui .opblock-body,.swagger-ui .responses-wrapper,.swagger-ui .parameters-container,.swagger-ui .model-box{max-width:100%;min-width:0;overflow-x:auto}
.swagger-ui table{min-width:0!important;width:100%;table-layout:auto}
.swagger-ui table thead tr td,.swagger-ui table thead tr th,.swagger-ui table tbody tr td{background:transparent!important;vertical-align:top;white-space:normal}
.swagger-ui .parameters-col_name,.swagger-ui .parameter__name,.swagger-ui .response-col_status{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.swagger-ui .parameters-col_description,.swagger-ui .response-col_description,.swagger-ui .response-col_links{overflow-wrap:break-word;word-break:normal}
.swagger-ui .opblock-body pre,.swagger-ui .microlight,.swagger-ui .highlight-code>.microlight{max-width:100%;overflow-x:auto}
/* Chữ tối của Swagger light (#3b4151/#555/#6b6b6b) → sáng trên dark mode */
.swagger-ui table td,
.swagger-ui table th,
.swagger-ui table tbody tr td,
.swagger-ui table thead tr th,
.swagger-ui table thead tr td,
.swagger-ui .headers-wrapper,
.swagger-ui .headers-wrapper td,
.swagger-ui .headers-wrapper th,
.swagger-ui .headers-wrapper *,
.swagger-ui .response-col_description,
.swagger-ui .response-col_description td,
.swagger-ui .response-col_description th,
.swagger-ui .response-col_links,
.swagger-ui .response-col_status,
.swagger-ui .parameters-col_name,
.swagger-ui .parameters-col_description,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .parameter__deprecated,
.swagger-ui .parameter__in,
.swagger-ui .prop-name,
.swagger-ui .prop-type,
.swagger-ui .prop-format,
.swagger-ui .model,
.swagger-ui .model-title,
.swagger-ui .property-row,
.swagger-ui .property-row .star,
.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-title_normal,
.swagger-ui .tab li,
.swagger-ui .tab li button,
.swagger-ui .markdown,
.swagger-ui .markdown p,
.swagger-ui .renderedMarkdown,
.swagger-ui .renderedMarkdown p,
.swagger-ui label,
.swagger-ui .servers-title,
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock .opblock-section-header label{
  color:var(--text)!important;
}
.swagger-ui .parameter__type,
.swagger-ui .prop-type,
.swagger-ui .parameter__in,
.swagger-ui .prop-format{
  color:var(--accent)!important;
}
.swagger-ui .parameter__name.required:after,
.swagger-ui .parameter__name.required span{
  color:#f0a0a0!important;
}
.v9-callout{padding:1rem 1.2rem;border-left:3px solid var(--accent);background:var(--panel-soft);border-radius:0 8px 8px 0}.v9-guide{max-width:100%}.v9-guide>p{max-width:78ch}.v9-guide .actions a{min-height:32px}.v9-status{font-size:14px;color:var(--amber)}
@media(max-width:1199px){header{grid-template-columns:250px minmax(0,1fr) auto}.brand-slogan{max-width:245px}#primary{gap:.65rem}.nav-item>summary{font-size:14px}.metro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mega{left:16px;right:16px}}
@media(max-width:1050px){header{grid-template-columns:minmax(0,1fr) auto auto}.mobile-toggle{display:block}#primary{display:none;position:absolute;top:100%;left:0;right:0;background:#0a1c27;padding:1rem 1.5rem;max-height:calc(100dvh - var(--header-offset,125px));overflow:auto;border-bottom:1px solid var(--border)}#primary.open{display:block}.nav-item>summary{font-size:15px;padding:.8rem 0}.mega{position:static;max-height:none;overflow:visible;display:block;border-radius:10px;padding:1rem;margin:0 0 1rem;box-shadow:none}.mega-col{margin:1rem 0}.mega-intro{display:block}.mega-intro>span{display:none}.mega b{font-size:15px}.mega h2{font-size:15px}.utilities .compact{min-height:38px}.api-reference-grid{grid-template-columns:1fr}.api-operation-index{position:relative;top:auto;max-height:260px}.api-operation-index a{font-size:14px}}
@media(max-width:767px){header{gap:.5rem;padding-inline:16px}.brand img{width:195px}.brand-slogan{font-size:12px;max-width:230px}.utilities .button{display:none}.utilities{gap:.5rem}.metro-layer .metro-grid,.metro-grid,.workflow-steps{grid-template-columns:1fr}.metro-layer .metro-card{min-height:0}.metro-card h3{font-size:15px}.renewal-fork{grid-template-columns:1fr}.renewal-fork>strong{text-align:center}.swagger-panel{padding:.5rem}.swagger-ui .opblock .opblock-summary{flex-wrap:wrap}.swagger-ui .opblock .opblock-summary .opblock-summary-description{flex-basis:100%;padding-top:.4rem}.diagram-export{margin-inline:0}.integration-spine>span{flex-basis:100%}.v9-guide .table-wrap td{min-width:165px}}
@media(prefers-reduced-motion:reduce){.nav-item[open] .mega{animation:none}html{scroll-behavior:auto}}
