/* Trusted LTANS — one authoritative stylesheet. No V2/V3 cascade. */
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-vietnamese-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-ext-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-vietnamese-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-ext-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-vietnamese-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-ext-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-vietnamese-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-ext-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}



@font-face{font-family:LTANSMono;src:url('../fonts/DejaVuSansMono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--font:Montserrat,sans-serif;--mono:LTANSMono,monospace;--type-hero:56px;--type-page:60px;--type-section:25px;--type-card:18px;--type-lead:18px;--type-body:15px;--type-ui:15px;--type-meta:14px;--type-caption:12px;--type-code:14px;--bg:#081620;--panel:#102631;--panel-raised:#14323f;--panel-soft:#0d202b;--text:#f1f7f9;--muted:#bfd0d7;--accent:#83e0d1;--amber:#f0c591;--border:#35515e;--radius:14px;--space-unit:8px;--max-width:1320px;--brand-logo-w:140px}
*{box-sizing:border-box}html{font-size:16px;scroll-padding-top:1.5rem}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--type-body)/1.75 var(--font);overflow-wrap:break-word}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:#adefe3;text-decoration:underline}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:4px}button{cursor:pointer;background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.65rem 1rem;font-size:var(--type-ui)}button:hover{border-color:var(--accent)}button:disabled{cursor:default;opacity:.65}img{max-width:100%;height:auto}svg{max-width:100%}h1,h2,h3,h4{font-weight:600;line-height:1.35;color:var(--text);margin:0 0 1rem;letter-spacing:-.025em}h1{font-size:var(--type-page);font-weight:700}h2{font-size:var(--type-section)}h3,h4{font-size:var(--type-card)}p{margin:.75rem 0 1.25rem;max-width:none;color:var(--muted)}small{font-size:var(--type-caption);color:var(--muted)}strong,b{font-weight:600}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}.skip{position:fixed;top:-160px;left:1rem;padding:.8rem 1rem;background:var(--text);color:var(--bg);z-index:100}.skip:focus{top:1rem}.icon{display:block;flex:0 0 auto;width:28px;height:28px}.eyebrow{display:block;font-size:var(--type-meta);font-weight:600;letter-spacing:.05em;color:var(--accent);margin-bottom:.85rem}.lead{font-size:var(--type-lead);line-height:1.8;max-width:none}.actions,.related,.pill-row{display:flex;gap:.75rem 1rem;align-items:center;flex-wrap:wrap;margin:1.5rem 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.7rem 1.1rem;background:var(--accent);border:1px solid var(--accent);border-radius:8px;font-size:var(--type-ui);font-weight:600;color:#09242c;line-height:1.5;text-align:center}.button:hover,a.button:hover{background:#adefe3;border-color:#adefe3;color:#09242c;text-decoration:none}.button.secondary{background:transparent;color:var(--accent);border-color:var(--border)}.button.secondary:hover,a.button.secondary:hover{background:transparent;border-color:var(--accent);color:var(--accent);text-decoration:none}.compact{min-height:42px;white-space:nowrap}.badge,.status-pill{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;padding:.35rem .65rem;border:1px solid #7b654b;background:#292820;color:var(--amber);font-size:var(--type-meta);line-height:1.5;border-radius:6px}.pill-row>span{border:1px solid var(--border);border-radius:24px;padding:.4rem .9rem;color:var(--muted);font-size:var(--type-meta)}
/* Navigation */
.trust-strip{min-height:42px;display:flex;justify-content:space-between;gap:1rem;padding:.55rem max(24px,calc((100vw - var(--max-width))/2));border-bottom:0;font-size:var(--type-meta)}.trust-strip>span{color:var(--muted)}.trust-strip>div{display:flex;gap:1.3rem}.trust-strip a{color:var(--muted)}.trust-strip a:hover{color:var(--accent);text-decoration:none}
header{position:relative;z-index:30;display:grid;grid-template-columns:240px minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.15rem max(24px,calc((100vw - var(--max-width))/2));border-bottom:1px solid var(--border);background:#0a1c27}
.brand{display:block;min-width:0}.brand:hover{text-decoration:none}.brand img,.footer-brand,img.footer-brand{width:var(--brand-logo-w)!important;max-width:var(--brand-logo-w);height:auto!important;display:block;flex-shrink:0}.brand img{margin:0!important}.brand-owner{display:block;font-size:var(--type-meta);color:var(--muted);font-weight:500;margin-bottom:.3rem}.brand-slogan{font-size:var(--type-meta);color:var(--muted);display:flex;flex-wrap:wrap;gap:0 .35em;max-width:100%;line-height:1.65}.brand-slogan>span{display:block;text-wrap:balance;max-width:100%}.brand-divider{display:inline-block;width:24px;border-top:1px solid var(--border);vertical-align:middle;margin:0 .4rem}.mobile-toggle{display:none;align-items:center;justify-content:center;width:var(--util-h,42px);height:var(--util-h,42px);min-height:var(--util-h,42px);padding:0;border:1px solid var(--border);border-radius:8px;background:#0a1b25;color:var(--accent)}.mobile-toggle:hover,.mobile-toggle:focus,.mobile-toggle:active,.mobile-toggle[aria-expanded=true]{border-color:var(--accent);background:#0a1b25;color:var(--accent)}.mobile-toggle svg{display:block;width:22px;height:22px;flex:0 0 auto;color:var(--accent)}.mobile-toggle svg path{stroke:currentColor;fill:none}.mobile-toggle:not([aria-expanded=true]) .hamburger-icon,.mobile-toggle:not([aria-expanded=true]) .hamburger-icon[hidden]{display:block!important}.mobile-toggle:not([aria-expanded=true]) .hamburger-close,.mobile-toggle:not([aria-expanded=true]) .hamburger-close[hidden]{display:none!important}.mobile-toggle[aria-expanded=true] .hamburger-icon,.mobile-toggle[aria-expanded=true] .hamburger-icon[hidden]{display:none!important}.mobile-toggle[aria-expanded=true] .hamburger-close,.mobile-toggle[aria-expanded=true] .hamburger-close[hidden]{display:block!important;color:var(--accent)}#primary{display:flex;gap:1rem;justify-content:flex-end;align-items:center;min-width:0}.nav-item>summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;list-style:none;font-size:var(--type-ui);font-weight:500;line-height:1.5;padding:1rem 0;white-space:nowrap}.nav-item>summary::-webkit-details-marker{display:none}.nav-item>summary::marker{content:""}.chevron{width:16px;height:16px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.7;transition:transform .16s ease}.nav-item[open]>summary .chevron{transform:rotate(180deg)}.nav-item[open]>summary,.nav-item.is-active>summary{color:var(--accent)}.nav-item.is-active>summary .chevron{stroke:var(--accent)}.mega a.is-active,.mega a[aria-current=page]{color:var(--accent);background:#173b49;text-decoration:none}.mega a.is-active b,.mega a[aria-current=page] b{color:var(--accent)}.mega{position:absolute;left:24px;right:24px;top:100%;max-height:min(75vh,840px);overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:1.5rem;background:#102a37;border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 20px 40px #0005}.mega-intro{grid-column:1/-1;display:flex;justify-content:flex-start;gap:1rem;align-items:center;border:0;border-bottom:none;padding-bottom:0}.mega-intro>a{font-weight:600;border:0;border-bottom:none;text-decoration:none}.mega-intro>span{display:none!important}.mega h2{font-size:var(--type-ui);letter-spacing:0;color:var(--accent);margin-bottom:.75rem}.mega a{display:flex;gap:.75rem;padding:.75rem .4rem;color:var(--text);border-bottom:1px solid #2a4553}.mega-col>a:last-child{border-bottom:none}.mega a:hover{background:#173b49;text-decoration:none}.mega .icon{width:24px;height:24px}.mega b{display:block;font-size:var(--type-ui);font-weight:500;line-height:1.6}.mega small{display:block;font-size:var(--type-meta);line-height:1.65;margin-top:.3rem}.mega aside{display:none}.utilities{--util-h:42px;display:flex;gap:.7rem;align-items:center;font-size:var(--type-ui)}.utilities>button{display:inline-flex;align-items:center;justify-content:center;height:var(--util-h);min-height:var(--util-h);padding:0 .75rem;box-sizing:border-box}.utilities .icon{width:22px;height:22px}.utilities .button.compact{display:inline-flex;align-items:center;justify-content:center;height:var(--util-h);min-height:var(--util-h);padding:0 1rem;box-sizing:border-box;line-height:1}.language{font-weight:600}.portal-link{display:none}.nav-mobile-tools{display:none}
.lang-select{position:relative;display:inline-flex;align-items:center;height:var(--util-h,42px);margin:0;min-width:0;color:var(--text)}.lang-select-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:.45rem;height:var(--util-h,42px);min-height:var(--util-h,42px);padding:0 .7rem;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:#0a1b25;color:var(--text);font-size:var(--type-ui);font-weight:600;line-height:1;cursor:pointer}.lang-select-trigger:hover{border-color:var(--accent)}.lang-select.is-open .lang-select-trigger{border-color:var(--accent)}.lang-select-flag,.lang-select-menu img{display:block;width:20px;height:20px;flex:0 0 auto;border-radius:50%;object-fit:cover}.lang-select-code{min-width:0;white-space:nowrap;flex:0 1 auto;text-align:left}.lang-select-chevron{width:12px;height:8px;flex:0 0 auto;margin-left:auto;color:var(--accent);transition:transform .16s ease}.lang-select.is-open .lang-select-chevron{transform:rotate(180deg)}.lang-select-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:max(100%,11.5rem);margin:0;padding:.35rem;list-style:none;background:#102a37;border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 28px #0007}.lang-select-menu[hidden]{display:none!important}.lang-select-menu a{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border-radius:7px;color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap}.lang-select-menu a:hover,.lang-select-menu li[aria-selected=true] a{background:#163d48;color:var(--accent);text-decoration:none}
/* Main narrative */
main{max-width:var(--max-width);padding:1.5rem 24px 0;margin:auto;min-width:0}.breadcrumb{font-size:var(--type-meta);color:var(--muted);margin:0 0 1.75rem}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--accent);text-decoration:none}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center;padding:2.5rem 0 4rem}.hero h1{font-size:var(--type-hero);line-height:1.25;max-width:16ch;letter-spacing:-.035em}.hero .lead{max-width:54ch}.hero-note{font-size:var(--type-meta)}.page-intro{padding:1.2rem 0 2.25rem;max-width:none;width:100%}.page-intro h1{max-width:none}.page-intro .lead{max-width:none}.section{padding:clamp(2rem,4vw,3.25rem) 0;border-top:1px solid var(--border)}.section>h2{max-width:none;margin-bottom:1.4rem}.section.accent{margin:0 0 2.5rem;padding:2rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.section-heading p{max-width:none}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.split>article,.info-box{border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;background:var(--panel)}.metro,.feature-grid,.policy-list,.info-grid{display:grid;grid-template-columns:repeat(var(--auto-cols,3),minmax(0,1fr));gap:1.25rem;margin:0 0 1.5rem;align-items:stretch}.tile,.feature-card,.policy-card,.certificate-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;padding:1.5rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-sizing:border-box}.tile:hover{border-color:var(--accent);background:var(--panel-raised);text-decoration:none}.tile h3,.feature-card h3{margin:1rem 0 .75rem}.tile p,.feature-card p,.policy-card p{font-size:var(--type-body);line-height:1.75;margin:0 0 1.1rem;flex:1 1 auto}.tile-action{font-size:var(--type-ui);margin-top:auto;color:var(--accent);font-weight:500}.feature-number{font-family:var(--mono);font-size:var(--type-meta);color:var(--accent)}.feature-card .icon{margin-bottom:.25rem}.policy-list{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-card-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1.1rem}.policy-card h3{font-size:var(--type-card);margin-bottom:.75rem}.policy-card .button{margin-top:auto;align-self:flex-start}.policy-card .status-pill{font-size:var(--type-meta)}.policy-card p{max-width:none;border-left:3px solid #83e0d1;border-radius:0 8px 8px 0;background:#14323f;color:var(--muted);margin:1.5rem 0;padding:.75rem 1rem .75rem 1.1rem}.policy-status-banner p{margin:0}.policy-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);font-size:var(--type-meta)}.policy-meta dt{color:var(--muted)}.policy-meta dd{margin:.4rem 0 0;font-weight:500}.info-grid{grid-template-columns:repeat(var(--auto-cols,2),minmax(0,1fr))}.info-box h3{display:flex;align-items:center;gap:.7rem}.info-box p:last-child{margin-bottom:0}.exception-box{background:#29261f;border:1px solid #756349;border-radius:var(--radius);padding:1.5rem}.exception-box h3{color:var(--amber)}.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;counter-reset:process}.process-grid:has(> .process-step:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.process-step{padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft)}.process-step>span{display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-family:var(--mono);font-size:var(--type-meta);margin-bottom:.75rem}.process-step p{font-size:var(--type-ui);margin-bottom:0}.process-step h3{font-size:var(--type-card)}.state-flow{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:1.2rem;background:var(--panel-soft);border:1px solid var(--border);border-radius:10px;margin:1rem 0}.state-flow code{padding:.45rem .65rem;background:#143b46;color:var(--accent);border-radius:6px;font-size:var(--type-code);white-space:normal}.state-flow>span{color:var(--muted)}.flow-caption{font-size:var(--type-meta)}.lifecycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;padding:0}.lifecycle li{padding:1.3rem;border:1px solid var(--border);background:var(--panel-soft);border-radius:var(--radius)}.lifecycle b{display:block;color:var(--accent);font-size:var(--type-card);margin-bottom:.4rem}.check-list{padding-left:1.25rem;color:var(--muted);max-width:none}.steps li{padding:.6rem 0;color:var(--muted)}.notice{margin:1rem 0 1.5rem;padding:1rem 1.25rem;border-left:3px solid var(--amber);background:#28291f;color:#ecdcc6;font-size:var(--type-ui)}
/* Technology illustration and evidence */
.evidence-map{position:relative;padding:1.75rem;background:linear-gradient(135deg,#153d49,#0d2532);border:1px solid #456a77;border-radius:20px;box-shadow:0 20px 60px #0003}.evidence-map-head{display:flex;align-items:center;gap:.85rem;margin-bottom:1.3rem}.evidence-map-head img{width:48px;height:48px}.evidence-map-head b{font-size:var(--type-card)}.evidence-layer{display:grid;grid-template-columns:32px 1fr;gap:.9rem;padding:1rem;background:#0b222e;border:1px solid #3e626f;border-radius:10px;margin:.85rem 0}.evidence-layer b{font-size:var(--type-ui);display:block}.evidence-layer small{display:block;font-size:var(--type-meta);margin-top:.3rem}.evidence-loop{padding:.8rem 1rem;border:1px dashed #72bcae;border-radius:8px;text-align:center;font-size:var(--type-meta);color:var(--accent);margin-top:1rem}.trust-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 2rem}.trust-ribbon a{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft)}.trust-ribbon b{display:block;font-size:var(--type-ui);color:var(--text)}.trust-ribbon small{font-size:var(--type-meta);line-height:1.5}.trust-feature,.certificate-grid{display:grid;grid-template-columns:repeat(var(--auto-cols,3),minmax(0,1fr));gap:1.25rem}.trust-feature>div{padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.certificate-card .badge{align-self:flex-start;margin-bottom:1rem}.certificate-card h3{font-size:var(--type-card)}.certificate-card dl{margin:0 0 1rem}.certificate-card dt{font-size:var(--type-meta);color:var(--muted)}.certificate-card dd{margin:.3rem 0 1rem;font-size:var(--type-ui)}.certificate-card .actions{margin-top:auto}.certificate{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem}.certificate img{max-width:280px}.certificate table{min-width:0}.certificate-source{padding:1.5rem;background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius)}.evidence-facts{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.evidence-facts span{font-size:var(--type-meta);background:#16333e;padding:.45rem .75rem;border-radius:6px}.portal-grid{display:grid;grid-template-columns:repeat(var(--auto-cols,3),minmax(0,1fr));gap:1rem}.portal-card{padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);display:flex;flex-direction:column;color:var(--text)}.portal-card h3{margin:1rem 0 .75rem}.portal-card p{font-size:var(--type-body)}.portal-card span{font-size:var(--type-ui);margin-top:auto;color:var(--accent)}.portal-card:hover{border-color:var(--accent);text-decoration:none}.case-scenario{border-left:3px solid var(--accent);padding:1.5rem;background:#12313c;border-radius:0 var(--radius) var(--radius) 0}.case-scenario>span{font-size:var(--type-meta);color:var(--accent)}
/* Technical reference */
.toc{margin:0 0 2rem;padding:1rem 1.25rem;background:var(--panel-soft);border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:var(--type-meta)}.toc b{width:100%;color:var(--text)}.toc a{line-height:1.8}.subnav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft);font-size:var(--type-meta);margin-bottom:1.5rem}.subnav span{color:var(--amber)}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--border);border-radius:10px;margin:1.25rem 0 1.75rem}table{width:100%;min-width:620px;border-collapse:collapse;text-align:left;font-size:var(--type-ui);line-height:1.75}th,td{padding:1rem 1.15rem;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere}th{font-weight:600;background:#183744;color:var(--text)}td{color:var(--muted)}tr:nth-child(even){background:#0e2530}tr:last-child td{border-bottom:0}.code{min-width:0;max-width:100%;background:#05121b;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:1.25rem 0}.codebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:#15313f;font-size:var(--type-meta)}.codebar button{font-size:var(--type-meta);padding:.35rem .65rem}pre{overflow:auto;margin:0;padding:1.1rem;max-width:100%;font:400 var(--type-code)/1.8 var(--mono);tab-size:2}code{font-family:var(--mono);font-size:var(--type-code);overflow-wrap:anywhere}p code{color:var(--accent)}details:not(.nav-item){margin:1rem 0;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft)}details:not(.nav-item)>summary{padding:1rem 1.25rem;cursor:pointer;font-size:var(--type-ui);font-weight:500}details:not(.nav-item)>div{padding:0 1.25rem 1.25rem}details:not(.nav-item)>.code,.schema-card>.code{padding:0;margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;width:100%}.api-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1.25rem;margin-top:1.5rem}.api-groups{border:1px solid var(--border);border-radius:10px;padding:1rem;align-self:start}.api-groups h2{font-size:var(--type-card)}.api-groups button{display:block;width:100%;text-align:left;margin:.5rem 0;font-size:var(--type-ui)}.api-list{min-width:0}.endpoint summary{display:flex;gap:.75rem;align-items:flex-start}.endpoint summary code{white-space:normal;word-break:break-word}.method{font:500 var(--type-meta)/1.6 var(--mono);color:var(--accent);padding:.15rem .4rem;border:1px solid #437c7d;border-radius:4px}.method.post{color:var(--amber);border-color:#8e7657}.method.delete{color:#f4b3a4;border-color:#946658}.endpoint-body{min-width:0}.tabs{display:flex;gap:.5rem;margin:1rem 0}.tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.simulation{display:block;padding:1rem;color:var(--accent);white-space:pre-wrap}.references{display:flex;gap:1rem;flex-wrap:wrap;font-size:var(--type-ui)}.reference-details p{font-size:var(--type-ui)}.diagram{width:100%;padding:1rem;background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius)}figure{margin:1.5rem 0;padding:1rem;background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius)}figure img{display:block;max-height:720px;width:100%;object-fit:contain}figcaption{margin-top:.8rem;font-size:var(--type-caption);color:var(--muted)}.figure-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem;font-size:var(--type-meta)}.faq-list details>div{color:var(--muted)}
/* Forms and simulation */
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.25rem;max-width:980px;width:100%;align-items:start}#poc-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;width:100%}#poc-form>.poc-context,#poc-form>label:not(.consent){grid-column:span 1}#poc-form>.poc-context-note,#poc-form>.consent,#poc-form>button,#poc-form>output{grid-column:1/-1}#poc-form>button{width:auto;max-width:max-content;justify-self:start}label{display:block;color:var(--muted);font-size:var(--type-ui);min-width:0}input,select,textarea{display:block;width:100%;padding:.75rem;margin:.5rem 0 0;border:1px solid #63838e;border-radius:7px;color:var(--text);background:#0a1b25;font-size:var(--type-body);box-sizing:border-box}textarea{min-height:140px;resize:vertical}input[type=checkbox]{display:inline-block;width:auto;margin:.2rem .55rem 0 0;flex:0 0 auto}.consent,form .actions,form output,#prepared-mail,form label:has(textarea),form label:has([name=message]),.contact-form-full{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:.15rem;line-height:1.7;margin:0}.consent input[type=checkbox]{margin-top:.35rem}form .actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:0}form output{display:block;color:var(--accent);min-height:1.5em}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.85fr);gap:1.5rem;align-items:start;margin-top:1.25rem}
.contact-form-panel,.contact-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.contact-form{max-width:none;width:100%;gap:1rem 1.1rem}
.contact-form label span[aria-hidden]{color:var(--accent)}
.contact-sidebar{display:flex;flex-direction:column;gap:1rem;min-width:0}
.contact-card h3{font-size:var(--type-card);margin:0 0 .85rem}
.contact-card-org{margin:.15rem 0 1rem;color:var(--text);font-weight:600}
.contact-card .footer-contacts{max-width:none}
.contact-card-note{margin:1rem 0 0;font-size:var(--type-meta);color:var(--muted)}
.contact-card>p:last-child{margin-bottom:0}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}}.demo-console{padding:1.5rem;max-width:none;width:100%;border:1px solid #517b87;border-radius:var(--radius);background:var(--panel)}.demo-state{padding:1.5rem;margin:1.25rem 0;background:#153d46;border-radius:10px}.demo-state h3{font-family:var(--mono);font-size:var(--type-card);color:var(--accent);overflow-wrap:anywhere}.demo-console ol{color:var(--muted)}.demo-console>label{max-width:none;width:100%}.toast{display:none;position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:#dcf4ee;color:#0b2832;padding:.8rem 1.1rem;border-radius:8px;z-index:100;font-size:var(--type-ui)}.toast.show{display:block}dialog{color:var(--text);background:var(--panel);border:1px solid #688f9a;border-radius:var(--radius);padding:1.5rem;width:min(850px,94vw);max-width:94vw;max-height:90vh;overflow:auto}dialog::backdrop{background:#000b}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-head h2{font-size:var(--type-card)}#search-results a{display:block;padding:1rem;border-bottom:1px solid var(--border)}#search-results b{font-size:var(--type-body)}#search-results small{display:block;font-size:var(--type-meta)}#image-dialog{position:relative;width:min(1500px,96vw);max-width:96vw;height:90vh;max-height:90vh;padding:1.25rem;overflow:hidden}
#image-dialog[open]{display:flex;flex-direction:column;gap:1rem}
#image-dialog .image-dialog-toolbar{display:flex;flex-wrap:wrap;align-items:center;flex-shrink:0;gap:.75rem;margin:0;padding:0 3rem 0 0;background:var(--panel)}
#image-dialog .image-dialog-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
#image-dialog .image-dialog-body{flex:1 1 0;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
#image-dialog .btn-dialog,.dialog-head button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--panel-raised);color:var(--text);font-size:var(--type-ui);font-weight:600;line-height:1.4;white-space:nowrap;cursor:pointer}
#image-dialog .btn-dialog:hover,.dialog-head button:hover{border-color:var(--accent);color:var(--accent)}
#image-dialog .btn-dialog-close{position:absolute;top:.75rem;right:.75rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--panel-raised);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}
#image-dialog .btn-dialog-close:hover{border-color:var(--accent);color:var(--accent);background:rgba(125,214,199,.08)}
#image-dialog img{display:block;object-fit:contain;max-width:100%;height:auto;margin:auto}
/* Footer and identity guide */
footer{background:#06121a;border-top:1px solid var(--border);padding:2.5rem max(24px,calc((100vw - var(--max-width))/2)) 1rem;margin-top:2rem;font-size:var(--type-ui)}.footer-lead{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;border-bottom:1px solid var(--border);padding-bottom:2rem}.footer-lead h2{font-size:var(--type-section)}.footer-brand,img.footer-brand{margin:0 0 1.25rem}.company-details{font-size:var(--type-ui)}.company-details strong{display:block;margin-bottom:1rem}.footer-contacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;max-width:52ch}.footer-contact{display:flex;align-items:flex-start;gap:.85rem}.footer-contact-icon{flex:0 0 auto;width:22px;height:22px;margin-top:.15rem;color:#c5d4db}.footer-contact-icon img{display:block;width:20px;height:20px}.footer-contact-body{min-width:0;display:flex;flex-direction:column;gap:.2rem}.footer-contact-body address{font-style:normal;color:var(--muted);margin:0;max-width:none;display:flex;flex-direction:column;gap:.15rem;line-height:1.55}.footer-contact-body a{color:var(--muted);line-height:1.55}.footer-contact-body a:hover{color:var(--accent)}.footer-contact-phones a{display:block}.footer-contact-body a.footer-map-link{margin-top:.25rem;font-size:var(--type-meta);color:var(--accent)}.footer-contact-body a.footer-map-link:hover{color:#adefe3;text-decoration:underline}.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;padding-top:2rem}.footer-grid h2{font-size:var(--type-ui);letter-spacing:0}.footer-grid a{display:block;color:var(--muted);font-size:var(--type-meta);margin:.6rem 0;line-height:1.7}.footer-grid a:hover{color:var(--accent);text-decoration:none}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-size:var(--type-meta)}footer>.footer-bottom+p,footer>p:last-child{margin:.75rem 0 0;color:var(--muted);font-size:var(--type-meta)}.footer-copy{margin:0;color:var(--muted);max-width:none}.footer-copy a{color:inherit;text-decoration:underline;text-underline-offset:2px}.footer-copy a:hover{color:var(--accent)}.footer-legal{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.footer-legal a{color:var(--muted)}.footer-legal a:hover{color:var(--accent)}.brand-preview{padding:2rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0}.brand-preview img{max-width:465px}.brand-preview.light{background:white;color:#102d3c}.brand-preview.light p{color:#3f5c69}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
/* Breakpoints change composition, not isolated font sizes. */
@media(max-width:1320px){header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem;grid-template-columns:none}.brand{flex:1 1 auto;min-width:0;margin-right:auto}.mobile-toggle{display:inline-flex;flex:0 0 auto;grid-column:auto;grid-row:auto;margin:0}.utilities{flex:0 0 auto;grid-column:auto;grid-row:auto;gap:.5rem;margin:0}#primary{display:none;position:absolute;top:100%;left:0;right:0;z-index:40;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:.5rem 1.5rem 1.25rem;max-height:min(70vh,640px);overflow:auto;background:#0a1c27;border-bottom:1px solid var(--border);box-shadow:0 16px 32px #0007;text-align:left}#primary.open{display:flex}.nav-item{width:100%;border-bottom:1px solid #2a4553;padding:0}.nav-item>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.85rem 0;white-space:normal;text-align:left}.mega{position:static;left:auto;right:auto;top:auto;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr;gap:.35rem;padding:.15rem 0 .9rem;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none}.mega-intro{display:block;grid-column:auto;border:0;border-bottom:none;padding-bottom:0;margin-bottom:.15rem}.mega-intro>span{display:none!important}.mega-intro>a{border:0!important;border-bottom:none!important;text-decoration:none}.mega-col{margin:0}.mega h2{margin:.65rem 0 .35rem;text-align:left}.mega a{display:flex;width:100%;align-items:center;gap:.75rem;text-align:left;padding:.7rem .35rem;min-height:44px;box-sizing:border-box}.mega .icon{display:block;width:24px;height:24px;flex:0 0 auto}.mega small{display:none}.mega b{display:block;font-weight:500;line-height:1.45;text-align:left}.hero{gap:2rem}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.metro,.feature-grid,.policy-list,.certificate-grid,.portal-grid,.info-grid,.trust-feature{grid-template-columns:repeat(var(--auto-cols,2),minmax(0,1fr))}.hero{grid-template-columns:1fr 1fr}.trust-feature{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid:has(> .process-step:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.trust-ribbon{grid-template-columns:1fr}.footer-lead{grid-template-columns:1fr;gap:1.5rem}.mega{grid-template-columns:1fr}.section-heading{display:block}.certificate{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:640px){:root{--type-body:15px;--type-lead:18px;--type-card:18px}main{padding:1rem 20px 0}.trust-strip{padding:.6rem 20px;justify-content:flex-end}.trust-strip>span{display:none}.trust-strip>div{gap:1rem}.trust-strip a{font-size:var(--type-meta)}header{padding:1rem 20px;gap:.65rem}:root{--brand-logo-w:115px}.brand img,.footer-brand{width:var(--brand-logo-w)}.brand-slogan{display:none}.brand-owner{font-size:var(--type-meta)}.utilities{gap:.6rem}.utilities>button{padding:0 .65rem;height:var(--util-h,42px)}.mobile-toggle{padding:.5rem .65rem;min-height:42px}.hero{grid-template-columns:1fr;gap:1.5rem;padding:1.75rem 0 2.5rem}.hero h1{max-width:18ch}.hero .lead{font-size:var(--type-body)}.section{padding:2rem 0}.section.accent{padding:1.25rem;margin-bottom:1.5rem}.page-intro{padding:.5rem 0 1.5rem}.metro,.feature-grid,.policy-list,.info-grid,.certificate-grid,.portal-grid,.identity-grid{grid-template-columns:1fr}.split{grid-template-columns:minmax(0,1fr)}.process-grid,.lifecycle{grid-template-columns:1fr}.tile,.feature-card,.policy-card,.certificate-card,.portal-card{padding:1.25rem}.policy-meta{grid-template-columns:1fr;gap:.6rem}.evidence-map{padding:1.25rem}.api-layout{grid-template-columns:1fr}.api-groups{display:flex;flex-wrap:wrap;gap:.5rem}.api-groups h2{width:100%}.api-groups button{width:auto;margin:0;padding:.5rem .75rem}.toc{padding:1rem;gap:.4rem .9rem}.subnav{padding:1rem}.certificate{grid-template-columns:1fr}.certificate img{display:block;margin:auto}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-lead{gap:1rem}.company-details>div{flex-direction:column}.company-details address{max-width:100%}form{grid-template-columns:1fr}.demo-console{padding:1.1rem}.demo-state{padding:1.1rem}.actions{align-items:stretch}.codebar{padding:.6rem .8rem;flex-wrap:wrap}pre{padding:1rem}.endpoint summary{padding:1rem!important;flex-wrap:wrap}details:not(.nav-item)>div{padding:0 1rem 1rem}details:not(.nav-item)>.code,.schema-card>.code{padding:0}.table-wrap{border-radius:8px}.brand-preview{padding:1.25rem}}
@media(max-width:380px){header{gap:.4rem;padding-left:14px;padding-right:14px}:root{--brand-logo-w:103px}.brand img,.footer-brand{width:var(--brand-logo-w)}.utilities>button{padding:0 .55rem;height:var(--util-h,42px)}.mobile-toggle{padding:.45rem}.brand-owner{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{header,.trust-strip,footer,dialog,.toast,.toc,button,.actions{display:none!important}body,main,.section,.tile,.feature-card,.policy-card,.info-box,.table-wrap{background:white!important;color:black!important}p,td,th,small,h1,h2,h3,a{color:black!important}.section{break-inside:avoid}main{padding:0}.metro,.info-grid{display:block}.tile,.info-box{margin:1rem 0}.code,pre{background:white;color:black;white-space:pre-wrap}}

/* Architecture, governance and task-oriented documentation */
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word}p,li{text-wrap:pretty}.info-grid,.metro,.feature-grid{align-items:stretch}.tile h3,.feature-card h3{max-width:none}
/* Link/related ngay dưới lưới card — tách khoảng cách (vd. Danh mục sự kiện) */
.info-grid + a,.feature-grid + a,.metro + a,.policy-list + a,.certificate-grid + a,.portal-grid + a,.trust-ribbon + a,.split + a,.journey-grid + a,.layer-detail + a{display:inline-block;margin-top:.35rem}
.info-grid + .related,.feature-grid + .related,.metro + .related,.policy-list + .related,.certificate-grid + .related,.portal-grid + .related,.journey-grid + .related{margin-top:1.5rem}
/* Không match a.tile/a.feature-card — tránh lệch grid (margin + display:inline-block) */
.info-box + a:not(.tile):not(.feature-card),.tile + a:not(.tile):not(.feature-card),.feature-card + a:not(.tile):not(.feature-card){display:inline-block;margin-top:1.25rem}.process-step h3{max-width:24ch}.architecture-diagram{padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft)}.diagram-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}.diagram-scroll>svg{display:block;width:100%;min-width:1100px;height:auto}.architecture-diagram figcaption{font-size:var(--type-meta);margin:1rem 0;color:var(--muted)}.architecture-diagram a{font-size:var(--type-ui)}.architecture-diagram svg a:focus{outline:3px solid var(--amber)}.architecture-diagram svg a:hover text{fill:var(--accent)}.layer-detail{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;width:100%}.layer-detail>a{grid-column:1/-1}.layer-detail p{margin-top:0}.flow-index,.schema-index{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0 1.5rem}.flow-index a,.schema-index a{display:inline-flex;padding:.55rem .8rem;border:1px solid var(--border);border-radius:6px;font-size:var(--type-ui);overflow-wrap:anywhere}.endpoint-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0}.endpoint-links a{font-size:var(--type-meta)}.reference-details[id]{scroll-margin-top:1rem}.reference-details[open]{border-color:var(--accent)}.portal-preview{border:1px solid var(--border);background:var(--panel-soft);border-radius:var(--radius);overflow:hidden;margin:1.5rem 0}.preview-bar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.25rem;background:var(--panel-raised);font-size:var(--type-ui)}.preview-body{padding:1.25rem}.preview-body h3{font-size:var(--type-card)}.layer-detail .info-box{padding:1.25rem}.section:target,.reference-details:target{outline:2px solid var(--accent);outline-offset:5px}.search-empty{color:var(--muted);font-size:var(--type-body)}
@media(max-width:900px){.layer-detail{grid-template-columns:1fr}.mega-intro{display:block}.mega-intro>span{display:none!important}.brand-slogan{max-width:240px}.architecture-diagram{padding:1rem}}
@media(max-width:640px){.brand-slogan{display:none}.preview-bar{align-items:flex-start;flex-direction:column}.preview-body{padding:1rem}.architecture-diagram{margin:1rem 0}.flow-index a,.schema-index a{max-width:100%;overflow-wrap:anywhere}.mega small{display:none}.mega a{min-height:44px}.layer-detail{gap:1rem}}

/* Local integrity workbench and explicit document boundaries */
#integrity-result{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:var(--panel-soft);border-radius:8px}#integrity-result:empty{display:none}.layer-detail .table-wrap{grid-column:1/-1}td a{display:inline-block;min-height:24px}noscript{display:block;padding:1rem;color:var(--amber)}.nav-item{min-width:0}input[type=file]{max-width:100%}

/* Task-led reading components: one current stylesheet, no runtime version cascade. */
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.journey-grid article{padding:1.5rem;border-top:2px solid var(--accent);background:var(--panel-soft);border-radius:0 0 var(--radius) var(--radius)}.journey-grid h3{margin:1rem 0 .6rem}.journey-grid p{font-size:var(--type-ui)}.journey-grid .actions{display:block;margin-bottom:0}.journey-grid .actions a{display:block;margin:.7rem 0;line-height:1.65}.scope-note{font-size:var(--type-meta);color:var(--muted);border-left:2px solid var(--border);padding:.5rem 1rem;margin:1rem 0 1.5rem}.scope-note>span{color:var(--accent);font-weight:600}.case-heading{padding:1.3rem 1.5rem;background:var(--panel);border-radius:var(--radius);margin:1.5rem 0}.case-heading>span{font-size:var(--type-caption);letter-spacing:.06em;color:var(--accent)}.case-heading h3{margin:.65rem 0}.poc-context,.poc-context-note{grid-column:1/-1}.poc-context-note:empty{display:none}.section>p a,.reference-details p a,td a{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}.section>.actions a:not(.button){padding:.4rem 0;line-height:1.7}.related{gap:.75rem 1.5rem}.related a{padding:.55rem 0;text-decoration:underline;text-underline-offset:.25em}.section code{letter-spacing:0}td code{font-size:var(--type-code)}.table-wrap table{min-width:640px}.section .table-wrap:focus-visible{outline-offset:3px}.process-step p{font-size:var(--type-body)}.subnav{gap:.65rem 1.25rem}.subnav a{padding:.3rem 0}.toc{gap:.5rem 1.2rem}.toc a{padding:.2rem 0}.footer-grid a{padding:.2rem 0}.brand{max-width:240px}.brand-slogan{font-size:var(--type-meta)}
@media(max-width:900px){.journey-grid{grid-template-columns:1fr}.journey-grid article{padding:1.25rem}.journey-grid .actions{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.journey-grid .actions a{margin:0}.table-wrap table{min-width:620px}}
@media(max-width:640px){.process-grid{grid-template-columns:1fr}.case-heading{padding:1.1rem}.actions>.button{max-width:100%;white-space:normal}.related{flex-direction:column;align-items:flex-start;gap:.2rem}.brand{max-width:100%}.scope-note{padding:.5rem .8rem}.table-wrap table{min-width:580px}}


.mega small{display:none}.mega>div>a{padding-block:.55rem}.v8-section>p{max-width:none}.schema-card{border:1px solid var(--line,#345);border-radius:10px;padding:0;margin:1rem 0;overflow:hidden}.schema-card>summary{cursor:pointer;font-size:18px;font-weight:600;padding:1rem 1.25rem}.section h2,.schema-card{scroll-margin-top:7rem}.v8-tag{font-size:14px;color:var(--muted,#aebdc8)}.actions{flex-wrap:wrap;gap:.8rem}.actions a{overflow-wrap:anywhere}th,td{vertical-align:top}.table-wrap{max-width:100%;overflow-x:auto}main{min-width:0}pre code{tab-size:2}.v8-section details{margin:1rem 0}.v8-section details>summary{cursor:pointer;font-weight:600;padding:.85rem 1.25rem}.v8-section details>p,.v8-section details>div{padding:0 1.25rem 1.15rem;margin:0}.section p+p{margin-top:.9rem}@media(max-width:767px){.v8-section th,.v8-section td{min-width:140px}.v8-section h2{font-size:25px}}

/* 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:none}
.brand img{width:var(--brand-logo-w)!important;height:auto!important;margin:0!important}.footer-brand,img.footer-brand{width:var(--brand-logo-w)!important;height:auto!important}.brand-slogan{display:block;font-size:12px;line-height:1.55;color:var(--muted);max-width:290px}.brand-owner{display:none}#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 0 .35rem;border:0;border-bottom:1px solid #2a4553;padding-bottom:.55rem}.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;border:0;border-bottom:none;text-decoration:none}.mega-intro>span{display:none!important}.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-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)}.swagger-ui .wrapper{padding:0 8px}.swagger-ui .info .title,.swagger-ui .opblock-tag,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-description,.swagger-ui .btn,.swagger-ui .parameter__name,.swagger-ui .model-title,.swagger-ui label{color:var(--text)!important}.swagger-ui .info .title{font-size:25px}.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{overflow-x:auto}.swagger-ui .authorization__btn{flex:0 0 auto;white-space:nowrap}.swagger-ui .auth-wrapper{display:none}.swagger-ui .scheme-container{background:var(--panel-soft);box-shadow:none;padding:28px 12px 14px;border:1px solid var(--border);border-radius:8px}.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 .renderedMarkdown p{max-width:none;color:var(--muted)!important}.swagger-ui .opblock{background:var(--panel-soft);border:1px solid var(--border);box-shadow:none}.swagger-ui .opblock .opblock-section-header{background:var(--panel-raised);box-shadow:none}.swagger-ui .opblock-body pre,.swagger-ui .microlight{background:#0a1b25!important;color:var(--text)!important}.swagger-ui button,.swagger-ui input,.swagger-ui select{font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border)}.swagger-ui .btn{box-shadow:none;background:var(--panel-raised);border:1px solid var(--border);color:var(--text)}.swagger-ui pre{font-size:12px;line-height:1.6}.swagger-ui .model-box{overflow:auto;background:var(--bg)}.swagger-ui section.models{border:1px solid var(--border);background:var(--panel-soft)}.swagger-ui .opblock .opblock-summary{align-items:flex-start}.swagger-ui .opblock .opblock-summary .opblock-summary-description{font-size:12px;line-height:1.5}.swagger-ui .info{margin:20px 0}.swagger-ui .opblock-tag{font-size:18px;border-bottom-color:var(--border)}.swagger-ui .opblock-summary-method{min-width:65px}.swagger-ui table td,.swagger-ui table th{min-width:0;font-size:12px;color:var(--text);border-color:var(--border)}.swagger-panel .loading-container{min-height:120px}.swagger-panel{max-width:100%;min-width:0;overflow-x:auto}.swagger-ui .opblock-body,.swagger-ui .responses-wrapper,.swagger-ui .parameters-container{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}.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 .opblock-body pre,.swagger-ui .microlight{max-width:100%;overflow-x:auto}.swagger-ui table td,.swagger-ui table th,.swagger-ui table tbody 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 .parameters-col_name,.swagger-ui .parameter__name,.swagger-ui .prop-name,.swagger-ui .model,.swagger-ui .model-title,.swagger-ui .markdown,.swagger-ui .renderedMarkdown,.swagger-ui .renderedMarkdown p,.swagger-ui label{color:var(--text)!important}.swagger-ui .parameter__type,.swagger-ui .prop-type,.swagger-ui .parameter__in{color:var(--accent)!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:none;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{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem;grid-template-columns:none}.brand{flex:1 1 auto;min-width:0;margin-right:auto}.mobile-toggle{display:inline-flex;flex:0 0 auto}.utilities{flex:0 0 auto;gap:.5rem}#primary{display:none;position:absolute;top:100%;left:0;right:0}#primary.open{display:flex}.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}:root{--brand-logo-w:124px}.brand img,.footer-brand{width:var(--brand-logo-w)}.brand-slogan{font-size:12px;max-width:230px}.utilities{gap:.5rem}.utilities .lang-select,.utilities .button.compact{display:none!important}.nav-mobile-tools{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;width:100%;margin-top:.35rem;padding:1rem 0 .25rem;border-top:1px solid #2a4553}.nav-mobile-tools .lang-select{width:100%;height:auto}.nav-mobile-tools .lang-select-trigger{width:100%;justify-content:flex-start;gap:.55rem}.nav-mobile-tools .lang-select-chevron{margin-left:auto}.nav-mobile-tools .lang-select-menu{left:0;right:auto;min-width:100%}.nav-mobile-tools .button.compact{width:100%;justify-content:center}.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}}
@media(max-width:768px){:root{--type-hero:40px;--type-page:60px;--type-section:18px;--type-card:15px;--type-lead:15px}}

/* Cookie consent — full width, chừa chỗ để không che footer */
html.cookie-modal-open{overflow:hidden}
body.cookie-banner-visible{padding-bottom:var(--cookie-banner-offset,0)!important}
.cookie-banner-shell{position:fixed;z-index:90;left:0;right:0;bottom:0;width:100%;max-width:none;transform:none;display:flex;gap:1.25rem;align-items:center;justify-content:space-between;padding:1rem max(24px,calc((100vw - var(--max-width))/2));background:#102a37;border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:0 -10px 28px #0006}
.cookie-banner-copy{min-width:0;flex:1 1 auto}.cookie-banner-copy strong{display:block;font-size:var(--type-ui);color:var(--text);margin-bottom:.35rem}.cookie-banner-copy p{margin:0;max-width:none;font-size:var(--type-meta);line-height:1.65;color:var(--muted)}
.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;flex:0 0 auto}
.cookie-banner .btn,.cookie-modal .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;border-radius:8px;border:1px solid var(--border);font-size:var(--type-ui);font-weight:600;line-height:1.4;cursor:pointer}
.cookie-banner .btn.primary,.cookie-modal .btn.primary{background:var(--accent);border-color:var(--accent);color:#09242c}
.cookie-banner .btn.secondary,.cookie-modal .btn.secondary{background:transparent;color:var(--accent)}
.cookie-banner .btn.primary:hover{background:#adefe3}.cookie-banner .btn.secondary:hover,.cookie-modal .btn.secondary:hover{border-color:var(--accent)}
.cookie-modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#000a}
.cookie-modal-overlay[hidden],.cookie-banner[hidden],.cookie-launcher[hidden]{display:none!important}
.cookie-modal{width:min(640px,100%);max-height:min(90vh,760px);overflow:auto;background:#102a37;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #000a}
.cookie-modal-head{padding:1.25rem 1.35rem .75rem;border-bottom:1px solid var(--border)}.cookie-modal-head h3{margin:0;font-size:var(--type-card)}
.cookie-modal-body{padding:.5rem 1.35rem}
.cookie-modal-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #2a4553}
.cookie-modal-row:last-child{border-bottom:0}.cookie-modal-row-text{min-width:0;flex:1 1 auto}
.cookie-modal-row-title{font-size:var(--type-ui);font-weight:600;color:var(--text);margin-bottom:.35rem}
.cookie-modal-row-desc{font-size:var(--type-meta);line-height:1.65;color:var(--muted)}
.cookie-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.35rem 1.35rem;border-top:1px solid var(--border)}
.cookie-switch{position:relative;display:inline-block;width:48px;height:28px;flex:0 0 auto;cursor:pointer}
.cookie-switch input{opacity:0;width:0;height:0;position:absolute}
.cookie-slider{position:absolute;inset:0;background:#243843;border:1px solid var(--border);border-radius:999px;transition:.18s ease}
.cookie-slider::before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#d7e4e9;transition:.18s ease}
.cookie-switch input:checked+.cookie-slider{background:#2f6f66;border-color:var(--accent)}
.cookie-switch input:checked+.cookie-slider::before{transform:translateX(20px);background:var(--accent)}
.cookie-switch input:disabled+.cookie-slider{opacity:.75;cursor:not-allowed}
.cookie-launcher{position:fixed;z-index:85;left:1.1rem;bottom:1.1rem;width:48px;height:48px;border-radius:999px;border:1px solid var(--border);background:#102a37;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #0007;padding:0}
.cookie-launcher:hover{border-color:var(--accent)}.cookie-launcher-icon{width:24px;height:24px}
@media(max-width:767px){.cookie-banner-shell{flex-direction:column;align-items:stretch;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px))}.cookie-banner-actions{width:100%}.cookie-banner-actions .btn{flex:1 1 auto}.cookie-modal-row{align-items:flex-start}.cookie-launcher{left:.85rem;bottom:.85rem;width:44px;height:44px}}

/* header-utils-cluster: search + hamburger sát nhau */
@media(max-width:1320px){header{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start!important;gap:.5rem!important;grid-template-columns:none!important}.brand{flex:1 1 auto;min-width:0;margin-right:auto}.utilities{display:flex;flex:0 0 auto;gap:.5rem;margin:0}.mobile-toggle{display:inline-flex!important;flex:0 0 auto;margin:0;grid-column:auto!important;grid-row:auto!important}}

/* Mobile sidebar: item con mỗi mục 1 hàng (ghi đè mega desktop multi-col) */
@media(max-width:1320px){
  #primary{align-items:stretch!important;justify-content:flex-start!important;text-align:left!important}
  #primary .nav-item{width:100%}
  #primary .nav-item>summary{display:flex!important;justify-content:space-between;align-items:center;width:100%;text-align:left;white-space:normal}
  #primary .mega{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.25rem!important;
    padding:.25rem 0 .85rem!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    animation:none!important
  }
  /* mega-intro: có border-bottom tách với column; bỏ padding-left */
  #primary .mega .mega-intro{grid-column:1/-1;display:block;border:0;border-bottom:1px solid #2a4553!important;padding:0;margin:0 0 .35rem;justify-content:flex-start}
  #primary .mega .mega-intro>span{display:none!important}
  #primary .mega .mega-col{display:block;width:100%;margin:0}
  #primary .mega h2{width:100%;text-align:left;margin:.7rem 0 .35rem;padding-left:0;padding-right:.85rem}
  #primary .mega a{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%;
    gap:.75rem;
    padding:.7rem .85rem .7rem 0!important;
    min-height:44px;
    text-align:left!important;
    border-bottom:1px solid #2a4553
  }
  /* Link title: không border riêng; padding-left = 0 */
  #primary .mega .mega-intro>a{
    border:0!important;
    border-bottom:none!important;
    text-decoration:none!important;
    box-shadow:none!important;
    padding:.7rem .85rem .7rem 0!important;
    min-height:44px;
  }
  /* Item cuối mỗi column không cần border-bottom */
  #primary .mega .mega-col>a:last-child{
    border-bottom:none!important;
  }
  #primary .mega .icon{display:block!important;width:24px;height:24px;flex:0 0 auto}
  #primary .mega small{display:none!important}
  #primary .mega b,#primary .mega a>span{text-align:left;flex:1 1 auto;min-width:0}
}

/* mega-intro: ẩn text phải; border-bottom tách column; bỏ padding-left */
.mega-intro,
.mega .mega-intro{
  border:0;
  border-bottom:1px solid #2a4553!important;
  padding-bottom:.55rem!important;
  margin-bottom:.35rem;
  justify-content:flex-start!important;
}
.mega-intro>span,
.mega .mega-intro>span{
  display:none!important;
}
.mega-intro>a,
.mega .mega-intro>a{
  border:0!important;
  border-bottom:none!important;
  text-decoration:none!important;
  box-shadow:none!important;
  padding-left:0!important;
}

/* /trust-center/certifications: 1 thẻ mỗi hàng */
.certificate-grid.stack{grid-template-columns:1fr!important}

/* Liên kết liền kề trong section (ngoài .related) không dính chữ */
.section > a + a{margin-inline-start:.85rem}
.related{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center}

/* Code trong .split: không đẩy tràn viewport (mobile) */
.split > *{min-width:0;max-width:100%}
.code{width:100%;max-width:100%;overflow:hidden}
.codebar{min-width:0;overflow-wrap:anywhere}
.code pre{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.code pre code{display:block;white-space:pre;overflow-wrap:normal;word-break:normal}
