/* Records-specific product experiences, source gallery and resilient navigation. */
:root{--max:1440px;--header:80px;--accent:#6ce3cc}
html{scroll-padding-top:110px}body{font-size:1rem}.wrap{max-width:var(--max)}
.site-header{z-index:50}.nav-shell{gap:18px}.brand{white-space:nowrap}.primary-nav{gap:0}.navdrop>summary{font-size:14px;padding-inline:9px;min-height:48px}.nav-actions{gap:8px}.nav-actions>.btn{font-size:14px;padding:10px 14px}
.mega{max-height:calc(100dvh - 140px);overscroll-behavior:contain}.mega-item{padding:12px;min-height:76px;gap:10px}.mega-item b{font-size:15px}.mega-item small{font-size:14px;line-height:1.45}.mega-item>i{display:none}.mega-layout{grid-template-columns:1fr 1fr .95fr;gap:24px}.mega-preview{min-height:0;padding:24px}.mega-preview h3{font-size:24px}.mega-group h3{margin-bottom:12px;color:var(--accent);font-size:15px}.preview-steps{display:grid;gap:6px}.preview-steps li{margin:0;font-size:14px}
.record-card{border-radius:8px;min-width:0}.record-card .text-link>.ico{display:none}.metro-grid.count-1{grid-template-columns:1fr}.metro-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metro-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.metro-grid.count-5{grid-template-columns:repeat(6,minmax(0,1fr))}.count-5>.record-card{grid-column:span 2}.count-5>.record-card:nth-last-child(-n+2){grid-column:span 3}
.portal-card{padding:0;overflow:hidden;display:flex;flex-direction:column;align-self:stretch}.portal-card>img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#03131f;flex:none}.portal-card .card-body{padding:26px;display:flex;flex-direction:column;flex:1 1 auto;gap:0}.portal-card h3{font-size:24px;margin:14px 0}.portal-card .card-body>.text-link{display:inline-block;margin-top:auto}.portal-card:hover img{filter:brightness(1.08)}
.source-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.source-gallery:has(>:only-child){grid-template-columns:1fr}
.source-gallery:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
/* Cùng hàng: để height:auto để grid stretch; flex lấp phần caption ngắn */
.source-shot{border:1px solid var(--line);background:#0b202e;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;align-self:stretch;min-width:0}
.source-shot>.image-open{flex:none}
.source-shot figcaption{padding:20px;display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted);flex:1 1 auto}
.source-shot figcaption strong{font-size:18px;color:var(--ink)}
.source-shot .image-open{aspect-ratio:16/9;overflow:hidden}
.source-shot img{aspect-ratio:16/9;object-fit:contain;width:100%;height:100%}
.image-open{display:block;width:100%;padding:0;background:#03131f;border-radius:4px}.image-open:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.source-note{font-size:14px;line-height:1.65;margin:20px 0;color:#b8cdd7}.task-switch{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.task-switch .btn{border:1px solid var(--line);background:#0d2432}.task-switch .active{border-color:var(--accent);color:var(--accent);background:#123d45}.split-story article{min-width:0}.split-story article h3{margin-bottom:16px}.split-story article p{font-size:17px}.split-story article>.eyebrow{display:block;margin-bottom:16px}
.library-controls{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.library-controls label{display:grid;gap:8px;font-size:16px}.library-controls select,.library-controls input{width:100%;min-width:0;min-height:48px;padding:12px;background:#0d2432;border:1px solid #456777;border-radius:5px}#screen-count{margin-bottom:16px}
.screen-library{display:grid;grid-template-columns:minmax(230px,.32fr) minmax(0,1fr);gap:24px;align-items:start}#screen-list{max-height:820px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#081e2b;overscroll-behavior:contain}#screen-list>button{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;background:transparent;padding:16px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}#screen-list>button span{font-family:var(--mono);font-size:14px;color:var(--accent)}#screen-list>.selected{background:#154251;box-shadow:inset 3px 0 var(--accent)}#screen-list>p{padding:20px}.screen-detail{min-width:0}#screen-title{font-size:23px;margin-bottom:14px}#screen-image{width:100%;max-height:650px;object-fit:contain;aspect-ratio:16/9}.screen-pager{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0}.contract-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:#0b202e;border-radius:7px}.contract-meta>div{padding:18px;border-bottom:1px solid var(--line);min-width:0}.contract-meta dt{font-size:14px;color:var(--accent);margin-bottom:8px}.contract-meta dd{margin:0;font-size:15px;overflow-wrap:anywhere}
#image-dialog{width:min(96vw,1900px);max-width:none;max-height:94dvh;padding:24px;background:#071925;border:1px solid #416677}#image-dialog h2{font-size:22px;max-width:calc(100% - 60px)}#image-close{width:48px;height:48px;background:#153443;border-radius:5px}#image-full{max-height:76dvh;max-width:100%;object-fit:contain;margin:20px auto}#image-dialog>p{font-size:14px}.dialog-head{gap:20px}dialog::backdrop{background:#000c}
.hardware-profile{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(0,1fr);gap:64px;align-items:center}.hardware-profile figure{max-width:360px;margin:auto}.hardware-profile figure img{max-height:520px;object-fit:contain}.hardware-profile figcaption{font-size:14px;margin-top:12px}.hardware-profile h3{font-size:30px;margin:18px 0}.hardware-profile p{margin:18px 0}.hardware-profile .text-link{display:block;margin-top:20px}.status-label{font:14px var(--mono);letter-spacing:.03em;color:#ffdaa2;background:#47391f;padding:8px 12px;border:1px solid #a18a5a;border-radius:4px;display:inline-block}
.component-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:28px}.component-map article{padding:22px;background:#0b2331;border:1px solid var(--line);border-top:3px solid var(--accent);min-width:0}.component-map h3{font-size:19px;margin:15px 0 10px}.component-map p{font-size:15px}
.policy-meta{margin-block:24px;padding:24px;background:#172531;border:1px solid var(--line);border-left:4px solid var(--warn)}.policy-meta dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}.policy-meta dt{font-size:14px;color:var(--muted)}.policy-meta dd{margin:6px 0 0;font-size:16px}
.context-panel .records-flow{gap:9px}.context-panel>.ico{width:32px;height:32px}.context-panel>p{display:none}.hero-grid{gap:55px}.hero-copy h1{font-size:clamp(40px,4vw,66px)}.records-visual{background:linear-gradient(140deg,#143845,#0b1f2b)}.hero-statement{font-size:17px}.section{padding:54px 0}.section-head{margin-bottom:30px}.page-hero .hero-actions{margin-top:28px}.table-wrap td,.table-wrap th{overflow-wrap:anywhere}.table-wrap{max-width:100%;overscroll-behavior:contain}.breadcrumbs{font-size:14px}.contact-line{font-size:15px;overflow-wrap:anywhere}.code-grid>div,.code-grid>label{min-width:0}pre{max-width:100%;overflow:auto}.footer-grid{gap:36px}.footer-link{min-height:44px;font-size:15px}.footer-bottom{font-size:14px}.search-open,.menu-toggle,.lang-switch{min-width:44px;min-height:44px}.brand small{font-size:12px}
@media(max-width:1250px){.nav-actions>.btn{display:none}.nav-shell{gap:12px}.navdrop>summary{padding-inline:7px}.hero-grid{gap:32px}.hardware-profile{gap:36px}}
@media(max-width:1100px){.menu-toggle{display:block;margin-left:auto}.nav-shell{height:74px}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;max-height:calc(100dvh - 90px);overflow:auto;margin:0;background:#0b1e2b;border:1px solid var(--line);padding:14px}.primary-nav.mobile-open{display:block}.navdrop{display:block}.navdrop>summary{min-height:50px;padding:12px;font-size:16px}.mega{position:static;max-height:none!important;padding:16px;border-radius:7px}.mega-layout{grid-template-columns:1fr 1fr}.mega-preview{display:none}.nav-actions{margin-left:0}.hero-grid,.detail-grid{grid-template-columns:1fr;gap:30px}.records-visual{max-width:none}.hero-copy{max-width:850px}.component-map{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-library{grid-template-columns:260px minmax(0,1fr)}.source-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.source-gallery .source-shot:last-child:nth-child(3){grid-column:1/-1;max-width:720px;width:100%;justify-self:center}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.section{padding:38px 0}.source-gallery,.hardware-profile,.library-controls{grid-template-columns:1fr;gap:24px}.source-gallery .source-shot:last-child:nth-child(3){grid-column:auto}.screen-library{grid-template-columns:1fr}#screen-list{max-height:260px}.contract-meta{grid-template-columns:1fr}.component-map{grid-template-columns:1fr 1fr}.policy-meta dl{grid-template-columns:1fr}.metro-grid.count-2,.metro-grid.count-4,.metro-grid.count-5{grid-template-columns:1fr 1fr}.count-5>.record-card,.count-5>.record-card:nth-last-child(-n+2){grid-column:auto}.count-5>.record-card:last-child{grid-column:1/-1}.mega-layout{grid-template-columns:1fr}.hardware-profile figure{max-width:320px}.footer-grid{gap:24px}.context-panel .records-flow{grid-template-columns:1fr}.context-panel .records-flow li{display:flex;align-items:center}.hero-copy h1{font-size:42px}.hero-grid{gap:28px}.policy-meta{padding:18px}.table-wrap table{min-width:620px}#image-dialog{padding:16px}.nav-actions{gap:2px}.brand{font-size:18px}.brand>.ico{width:26px}.hero-actions .btn{width:auto}}
@media(max-width:480px){.metro-grid.count-2,.metro-grid.count-4,.metro-grid.count-5,.component-map{grid-template-columns:1fr}.count-5>.record-card:last-child{grid-column:auto}.brand-logo{height:32px;max-width:min(200px,58vw)}.nav-shell{gap:6px}.nav-actions{gap:0}.hero-actions .btn{width:100%}.hero-copy h1{font-size:38px}.portal-card h3{font-size:22px}.portal-card .card-body{padding:22px}.screen-pager .btn{width:100%}.hardware-profile h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.idempotency-control{display:block;width:100%;max-width:none;margin:1.5rem 0}.idempotency-control input{display:block;width:100%;margin-top:.6rem}
