:root{--blue:#0d64d7;--deep:#123c70;--text:#172d4c;--muted:#6f8097;--line:#dfe7f1;--bg:#f4f8fd}*{box-sizing:border-box}body{margin:0;font-family:Arial,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.lookup-header,.profile-header{height:76px;padding:0 max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:20}.lookup-header>a:last-child,.profile-header>a:last-child{color:var(--blue);text-decoration:none;font-weight:800}.lookup-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.lookup-brand>span:last-child{display:grid}.lookup-brand small{font-size:.76rem;color:var(--muted);margin-top:2px}.logo-mark{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#8a342e;color:#fff;font-weight:900}.lookup-main{width:min(900px,calc(100% - 32px));margin:50px auto}.lookup-main.narrow{width:min(820px,calc(100% - 32px))}.lookup-intro{text-align:center;margin-bottom:24px}.lookup-intro>span,.student-identity>span,.profile-section-title span{font-size:.78rem;font-weight:900;letter-spacing:.12em;color:var(--blue)}.lookup-intro h1{font-size:clamp(1.7rem,4vw,2.55rem);margin:9px 0}.lookup-intro p{color:var(--muted);line-height:1.65;max-width:720px;margin:0 auto}.lookup-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 50px rgba(24,61,106,.1)}.lookup-card form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lookup-card label{display:grid;gap:8px;font-weight:800}.lookup-card label:last-of-type{grid-column:1/-1}.lookup-card input,.lookup-card select{height:48px;border:1px solid #cdd9e8;border-radius:12px;padding:0 13px;font:inherit;background:#fff}.lookup-actions{grid-column:1/-1;display:flex;gap:10px}.lookup-actions button{border:0;border-radius:11px;padding:13px 20px;background:var(--blue);color:#fff;font-weight:900;cursor:pointer}.lookup-actions button.secondary{background:#edf2f8;color:#465b77}.lookup-alert{background:#fff1f1;color:#9c2424;border:1px solid #f0c5c5;padding:12px 14px;border-radius:11px;margin-bottom:16px}.lookup-note{margin-top:18px;padding:18px 20px;border-radius:16px;background:#eaf4ff}.lookup-note p{margin:5px 0 0;color:#496783}.student-choice-list{display:grid;gap:14px}.student-choice{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px}.student-choice-avatar,.student-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#1677e9,#0d4c9d);color:#fff;font-weight:900}.student-choice-avatar{width:54px;height:54px;font-size:1.25rem}.student-choice h2{font-size:1.05rem;margin:0 0 5px}.student-choice p{margin:0;color:var(--muted)}.student-choice>a{background:var(--blue);color:#fff;padding:10px 13px;border-radius:10px;text-decoration:none;font-weight:800}.profile-main{width:min(1180px,calc(100% - 32px));margin:28px auto 70px}.student-hero{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#edf6ff);border:1px solid #dce8f6;border-radius:22px;padding:24px}.student-avatar{width:84px;height:84px;font-size:2rem}.student-identity h1{margin:6px 0;font-size:clamp(1.6rem,3vw,2.2rem)}.student-identity p{margin:0;color:var(--muted)}.effective-chip{background:#fff;border:1px solid #d5e2f1;border-radius:14px;padding:12px 15px;display:grid;text-align:right}.effective-chip span{color:var(--muted);font-size:.76rem}.student-tabs{display:flex;gap:7px;overflow:auto;padding:16px 0 10px}.student-tabs a{white-space:nowrap;text-decoration:none;padding:10px 14px;border-radius:999px;background:#e9eef5;color:#425875;font-weight:800}.student-tabs a.active{background:var(--blue);color:#fff}.student-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.2);font-size:.72rem;margin-left:4px}.tab-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.profile-section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;border-bottom:1px solid #edf1f5;padding-bottom:13px;margin-bottom:16px}.profile-section-title h2{margin:4px 0 0}.profile-section-title small{color:var(--muted)}.student-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-info-grid>div,.generic-data-card>div{padding:11px;border-radius:10px;background:#f7f9fc;display:grid;gap:4px}.student-info-grid span,.generic-data-card span{font-size:.75rem;color:var(--muted)}.student-info-grid strong,.generic-data-card strong{overflow-wrap:anywhere}.schedule-cards{display:grid;gap:10px}.schedule-card{display:grid;grid-template-columns:100px 120px 1fr;gap:15px;align-items:center;padding:15px;border:1px solid #e0e8f2;border-radius:14px}.schedule-day{font-weight:900;color:var(--blue)}.schedule-time{font-weight:900}.schedule-main h3{margin:0 0 4px}.schedule-main p{margin:0;color:var(--muted);line-height:1.5}.generic-data-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #e3e9f1;border-radius:14px;margin-bottom:12px}.empty-tab{text-align:center;padding:34px;color:var(--muted)}@media(max-width:760px){.lookup-header,.profile-header{height:64px;padding:0 14px}.lookup-header>a:last-child,.profile-header>a:last-child{font-size:.85rem}.lookup-main{margin-top:28px}.lookup-card{padding:18px}.lookup-card form{grid-template-columns:1fr}.lookup-card label:last-of-type,.lookup-actions{grid-column:auto}.student-choice{grid-template-columns:46px 1fr}.student-choice-avatar{width:46px;height:46px}.student-choice>a{grid-column:1/-1;text-align:center}.student-hero{grid-template-columns:58px 1fr;padding:17px}.student-avatar{width:58px;height:58px;font-size:1.5rem}.effective-chip{grid-column:1/-1;text-align:left}.tab-panel{padding:15px}.student-info-grid,.generic-data-card{grid-template-columns:1fr}.schedule-card{grid-template-columns:85px 1fr}.schedule-main{grid-column:1/-1;border-top:1px dashed #dae3ee;padding-top:9px}.profile-section-title{align-items:flex-start;flex-direction:column}}
.brand-logo{width:42px;height:42px;object-fit:contain;display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.08))}
.lookup-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.lookup-brand strong{display:block;color:#17345a}
.lookup-brand small{display:block;color:#6f8097;font-size:.82rem;margin-top:2px}
@media(max-width:700px){.brand-logo{width:36px;height:36px}}

.online-class-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#ff1010;
    font-weight:900;
    font-size:1rem;
    text-decoration:none;
}
.online-class-link:hover{text-decoration:underline}
.online-class-link.no-link{cursor:default;text-decoration:none}

/* TKB học sinh - bảng gọn giống hệ thống cũ */
.tkb-sheet{display:grid;gap:14px}
.tkb-sheet-title{text-align:center;color:#0b35ff;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:900;padding:4px 0 10px;border-bottom:1px solid #bcc7d7}
.table-scroll{overflow:auto}
.tkb-meta-table,.tkb-table{width:100%;border-collapse:collapse;background:#fff}
.tkb-meta-table th,.tkb-meta-table td,.tkb-table th,.tkb-table td{border:1px solid #aab5c4;padding:7px 9px;vertical-align:middle}
.tkb-meta-table th{background:#f3f5f8;text-align:left;width:96px}
.tkb-meta-table .is-name,.tkb-meta-table .is-birth{color:#f51515;font-weight:900;font-size:1.08rem}
.tkb-block h3{margin:0 0 7px;color:#0b35ff;font-weight:900}
.tkb-table thead th{background:#1d9fbe;color:#fff;text-align:center;font-weight:900}
.registration-table tbody th{background:#e3f9fd;color:#1b5b72}
.registration-table td{background:#d6f6fb;color:#323cd0;text-align:center;font-weight:900}
.schedule-table td,.schedule-table th{font-size:.9rem}
.text-center{text-align:center}
.teacher-wrap{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.zalo-mini-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:999px;background:#1677ff;color:#fff!important;text-decoration:none;font-size:.75rem;font-weight:900}
.online-class-link{color:#f00!important;font-weight:900;text-decoration:none;font-size:1rem}
.online-class-link:hover{text-decoration:underline}
.tkb-emphasis{color:#0b35ff;font-size:1.04rem;font-weight:900}
.tkb-alert-note{color:#08375d;font-weight:900;line-height:1.45}
.tkb-notes{border-top:1px solid #bec9d7;padding-top:8px}
.tkb-notes h4{color:#0b35ff;margin:0 0 6px}
.tkb-notes ul{margin:0;padding-left:18px;color:#0b35ff;font-weight:800;line-height:1.45}
.tkb-grade-image-block{margin-top:14px;border-top:1px solid #d3dce8;padding-top:16px}
.tkb-grade-image-title{text-align:center;font-weight:900;font-size:1.2rem;margin-bottom:10px}
.tkb-grade-image-title small{display:block;font-size:.82rem;font-weight:600;color:#6d7b90;margin-top:3px}
.tkb-grade-image-block img{display:block;width:min(100%,1000px);height:auto;margin:0 auto;border:1px solid #d4dce7;background:#fff}
@media(max-width:760px){
 .tkb-meta-table,.tkb-table{min-width:720px}
 .tkb-grade-image-block img{width:100%}
}


/* ===== Zalo lớp theo bảng {year}_zalo_6 ===== */
.zalo-class-pulse{
    position:relative;
    isolation:isolate;
    overflow:visible;
    min-width:52px;
    min-height:26px;
    background:#0866ff;
    box-shadow:0 0 0 0 rgba(8,102,255,.45),0 5px 14px rgba(8,102,255,.23);
    animation:zaloClassGlow 1.75s ease-in-out infinite;
}
.zalo-class-pulse>span{position:relative;z-index:2}
.zalo-class-pulse::before,
.zalo-class-pulse::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:100%;
    height:100%;
    border-radius:999px;
    transform:translate(-50%,-50%) scale(.22);
    pointer-events:none;
    z-index:-1;
}
.zalo-class-pulse::before{
    background:radial-gradient(circle,rgba(100,190,255,.7) 0%,rgba(8,102,255,.25) 42%,rgba(8,102,255,0) 72%);
    animation:zaloCenterLight 1.75s ease-out infinite;
}
.zalo-class-pulse::after{
    border:2px solid rgba(8,102,255,.48);
    animation:zaloRingOut 1.75s ease-out infinite;
}
.zalo-class-pulse:hover{
    transform:translateY(-1px);
    background:#0057e7;
    box-shadow:0 7px 18px rgba(8,102,255,.35);
}
@keyframes zaloCenterLight{
    0%{opacity:.95;transform:translate(-50%,-50%) scale(.18)}
    55%{opacity:.44}
    100%{opacity:0;transform:translate(-50%,-50%) scale(2.25)}
}
@keyframes zaloRingOut{
    0%{opacity:.8;transform:translate(-50%,-50%) scale(.65)}
    75%{opacity:.18}
    100%{opacity:0;transform:translate(-50%,-50%) scale(1.85)}
}
@keyframes zaloClassGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(8,102,255,.38),0 5px 14px rgba(8,102,255,.20)}
    50%{box-shadow:0 0 16px 4px rgba(8,102,255,.35),0 6px 18px rgba(8,102,255,.28)}
}
@media (prefers-reduced-motion:reduce){
    .zalo-class-pulse,.zalo-class-pulse::before,.zalo-class-pulse::after{animation:none}
}
