/* Thư viện báo cáo (/thu-vien-bao-cao/).
   Bố cục do chủ dự án gửi, giữ gần như nguyên vẹn. Chỗ đổi: phông và bảng màu lấy theo bộ
   thương hiệu của site (Nunito Sans, Insight Navy #052698, Spark Amber #FFB13C) để trang không
   lạc lõng cạnh /aoc2026/ — hai trang đứng cạnh nhau trong cùng một tên miền. */

/* Nunito Sans — tự lưu trữ, không phụ thuộc Google Fonts (CSP font-src 'self'). */
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;
  src:url(/brand-assets/fonts/nunito-sans-vietnamese.woff2) format('woff2');
  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:'Nunito Sans';font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;
  src:url(/brand-assets/fonts/nunito-sans-latin-ext.woff2) format('woff2');
  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:'Nunito Sans';font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;
  src:url(/brand-assets/fonts/nunito-sans-latin.woff2) format('woff2');
  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}

:root{font-family:'Nunito Sans',"Segoe UI",Arial,sans-serif;color:#182d4d;background:#f4f7fb;font-synthesis:none;--navy:#052698;--blue:#052698;--amber:#FFB13C;--muted:#52627a;--line:#dce4ee}*{box-sizing:border-box}body{margin:0}a{color:inherit}.site-header{background:var(--navy);border-bottom:3px solid var(--amber)}.header-inner{max-width:1240px;margin:auto;padding:13px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;line-height:0}.brand img{width:162px;height:64px;object-fit:contain}.header-label{font-size:.8rem;letter-spacing:.15em;color:#c8d7ff}main{max-width:1240px;margin:auto;padding:46px 32px 64px}.page-intro{display:flex;justify-content:space-between;gap:32px;align-items:center;margin-bottom:34px}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:700;color:var(--blue);margin:0 0 12px}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 16px;font-weight:750}.intro-text{font-size:1rem;line-height:1.7;color:var(--muted);margin:0;max-width:620px}.library-note{border-left:2px solid var(--amber);padding:8px 0 8px 23px;flex-shrink:0}.library-note span{font-size:.75rem;letter-spacing:.1em;color:#69768b;font-weight:650}.library-note p{font-size:.94rem;line-height:1.7;margin:8px 0 0;color:#31486e}.event{border:1px solid #d5deef;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 32px #182d4d05}.event-heading{display:flex;align-items:center;gap:23px}.event-monogram{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:12px;width:88px;height:88px;flex-shrink:0}.event-monogram strong{font-size:1.8rem;letter-spacing:-.04em}.event-monogram span{font-size:.88rem;letter-spacing:.19em;margin-top:2px}.event-place{display:block;margin-top:9px;font-size:.875rem}.event-count{padding-left:26px;white-space:nowrap}.event-count strong{font-size:1.4rem;margin-right:8px}.event-count span{font-size:.875rem}.event-count p{margin-top:6px;font-size:.8rem}.event-content{padding:28px 30px 32px}.event-caption{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;color:var(--muted);font-size:.875rem}.event-caption strong{color:#243c64;font-weight:650}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.report{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .2s,border-color .2s}.report:hover{box-shadow:0 8px 24px #122f6510;border-color:#a8bce5}.speaker-band{padding:24px;display:flex;align-items:center;gap:20px;background:#eef3fa;min-height:157px;border-bottom:1px solid #e3eaf5}.portrait{width:102px;height:114px;object-fit:cover;object-position:center 24%;border-radius:9px;background:#dce5f1;flex-shrink:0}.speaker-name{font-size:1.12rem;font-weight:700;margin:4px 0 7px;line-height:1.4}.speaker-label{font-size:.73rem;letter-spacing:.12em;font-weight:700;color:#647691}.speaker-role{font-size:.875rem;color:var(--muted);line-height:1.55;margin:0}.speaker-band.panel{padding:21px 20px;align-items:flex-start;gap:12px;min-height:157px}.panel-member{flex:1;min-width:0;text-align:center}.panel-member img{width:58px;height:62px;border-radius:50%;object-fit:cover;object-position:center 18%;background:#dde6f3}.panel-member strong{display:block;font-size:.8rem;line-height:1.35;margin-top:5px}.panel-member span{font-size:.73rem;color:var(--muted);display:block;margin-top:3px}.report-body{padding:25px 25px 20px;flex:1;display:flex;flex-direction:column}.report-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:13px;color:#60718a;font-size:.8rem}.session{font-size:.73rem;letter-spacing:.075em;font-weight:750;color:var(--blue)}.report h4{margin:0 0 13px;font-size:1.23rem;line-height:1.5;font-weight:700;letter-spacing:-.013em}.description{margin:0;color:#56667c;font-size:.94rem;line-height:1.75}.pdf-actions{padding-top:23px;margin-top:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pdf-link{border:1px solid #d3ddf0;border-radius:6px;padding:11px 14px;text-decoration:none;font-size:.875rem;font-weight:650;display:inline-flex;align-items:center;gap:9px;color:var(--blue);background:#fff;min-height:44px}.pdf-link.primary{background:var(--blue);border-color:var(--blue);color:white}.pdf-link:hover{background:#e7eefc}.pdf-link.primary:hover{background:#041F7A}.pdf-link svg{width:16px;height:16px;flex-shrink:0}.pdf-hint{font-size:.75rem;color:#63738a;margin:12px 0 0}.kich-thuoc{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}footer{max-width:1176px;margin:0 auto;padding:26px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#6a7890;font-size:.8rem}footer strong{color:var(--navy);margin-right:16px;font-size:1rem}footer p{margin:0;line-height:1.6}a:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.credit{font-size:.7rem;margin:5px 0 0;color:#63738a}.credit a{text-underline-offset:2px}@media(max-width:850px){.library-note{display:none}.event-content{padding:23px}.speaker-band{padding:20px;gap:15px}.portrait{width:82px;height:100px}.speaker-name{font-size:1rem}.report-body{padding:20px}.event-count{padding-left:15px}footer{margin:0 24px}}@media(max-width:640px){.header-inner{padding:10px 20px}.brand img{width:136px;height:53px}.header-label{font-size:.65rem;letter-spacing:.06em;max-width:110px;text-align:right;line-height:1.7}main{padding:30px 16px 36px}.page-intro{margin-bottom:26px}.intro-text{font-size:.94rem}h1{font-size:2rem}.event-heading{gap:16px}.event-monogram{width:70px;height:77px}.event-content{padding:20px 14px}.event-caption{font-size:.8rem;gap:12px}.report-grid{grid-template-columns:1fr;gap:18px}.speaker-band{min-height:135px}.portrait{width:86px;height:98px}.speaker-name{font-size:1.05rem}.report h4{font-size:1.18rem}.report-body{padding:21px}.pdf-actions{gap:8px}.pdf-link{padding:11px 12px}footer{flex-direction:column;padding:23px 0;margin:0 20px}footer span{display:block;margin-top:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Kho sự kiện: mỗi sự kiện dùng chung một khối gập được, thêm sự kiện mới không phải viết CSS. */
.library-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 0 22px;border-top:1px solid var(--line)}
.library-heading h2{font-size:1.5rem;margin:0 0 8px}.library-heading p{margin:0;color:var(--muted);font-size:1rem}.library-heading>span{color:#52627a;font-size:.875rem}
.event-year{margin-bottom:30px}.year-heading{display:flex;align-items:center;gap:16px;margin:0 0 15px}.year-heading h3{font-size:1.12rem;margin:0;color:#29456f}.year-heading span{font-size:.875rem;color:#63738a}.year-heading>div{height:1px;background:var(--line);flex:1}.year-events{display:grid;gap:16px}
.event-header{list-style:none;cursor:pointer;background:#fff;color:var(--navy);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.event-header::-webkit-details-marker{display:none}.event-header:hover{background:#f7f9ff}.event-header:focus-visible{outline:3px solid var(--amber);outline-offset:-4px}.event-header h3{font-size:1.45rem;margin:0 0 7px}.event-header p{margin:0;line-height:1.5;font-size:.94rem}.event-header p,.event-place{color:#52627a}.event-monogram{background:#eaf0fc;border:1px solid #d7e1f4;width:82px;height:82px}.event-monogram span{color:#294f9a}.event-count{border-left:1px solid var(--line)}.event-count span{color:#52627a}.event-summary-end{display:flex;align-items:center;gap:28px}.event-toggle{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:650;color:var(--blue);white-space:nowrap}.event-toggle svg{height:23px;width:23px}.when-open{display:none}.event[open] .when-open{display:inline}.event[open] .when-closed{display:none}.event[open] .event-toggle svg{transform:rotate(180deg)}.event[open]>.event-header{border-bottom:1px solid var(--line);background:#f0f4fc}.event-content{background:#fff}.event-empty{color:var(--muted);line-height:1.6;padding:16px 0;margin:0}
@media(max-width:850px){.event-summary-end{gap:18px}.event-header{padding:22px}.event-toggle{font-size:.8rem}}
@media(max-width:640px){.library-heading{align-items:flex-start;flex-direction:column;gap:13px}.library-heading h2{font-size:1.3rem}.event-header{padding:20px;gap:18px;align-items:flex-start;flex-direction:column}.event-heading{align-items:center;width:100%}.event-header h3{font-size:1.2rem}.event-header p{font-size:.875rem}.event-monogram{width:67px;height:73px}.event-summary-end{width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px}.event-count{display:block;border:0;padding:0}.event-count p{border:0;padding:0;margin:4px 0 0}.event-count strong{font-size:1rem;margin-right:6px}.event-count span{font-size:.8rem}.event-toggle{font-size:.8rem}.event-place{font-size:.8rem}.event-toggle svg{width:20px;height:20px}}
