/*!
 * File: assets/css/frontend.css
 * Plugin: Shorai Do Karate Management
 * Version: 2.5.3
 * Modified: 2026-07-14
 * Changes: Mobile-first UI, dashboard responsive, card lists, AJAX states and certificate A4 preview.
 */
:root{
  --skm-red:#d60718;
  --skm-red-dark:#a90814;
  --skm-black:#111214;
  --skm-gold:#b88a2e;
  --skm-gold-light:#dfc27a;
  --skm-cream:#f7f3eb;
  --skm-bg:#f4f5f7;
  --skm-surface:#fff;
  --skm-text:#1b1d21;
  --skm-muted:#6f747d;
  --skm-border:#e3e5e8;
  --skm-success:#18794e;
  --skm-warning:#a86509;
  --skm-danger:#b42318;
  --skm-radius:16px;
  --skm-shadow:0 12px 34px rgba(22,28,36,.08);
}
.skm-app,.skm-auth,.skm-lookup,.skm-verify,.skm-certificate-stage{font-family:inherit;color:var(--skm-text);box-sizing:border-box}
.skm-app *,.skm-auth *,.skm-lookup *,.skm-verify *,.skm-certificate-stage *{box-sizing:border-box}
.skm-app a,.skm-auth a,.skm-lookup a,.skm-verify a{text-decoration:none}
.skm-app{display:block;position:relative;width:100%;min-height:760px;background:var(--skm-bg);border:1px solid var(--skm-border);border-radius:18px;overflow:hidden;box-shadow:var(--skm-shadow)}
.skm-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,290px);z-index:1002;display:flex;flex-direction:column;padding:20px;background:#111214;color:#fff;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto}
.skm-app.is-menu-open .skm-sidebar{transform:translateX(0)}
.skm-mobile-backdrop{position:fixed;inset:0;z-index:1001;background:rgba(7,8,10,.62);opacity:0;visibility:hidden;transition:.2s}
.skm-app.is-menu-open .skm-mobile-backdrop{opacity:1;visibility:visible}
.skm-brand{display:flex;align-items:center;gap:12px;color:#fff;padding:2px 2px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.skm-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}
.skm-brand span{display:grid;gap:2px}.skm-brand strong{font-size:19px;letter-spacing:.13em}.skm-brand small{font-size:10px;letter-spacing:.07em;color:#c8cbd0}
.skm-nav{display:grid;gap:5px;padding:18px 0;flex:1}
.skm-nav a{display:flex;align-items:center;gap:11px;min-height:46px;padding:10px 12px;border-radius:11px;color:#d9dce1;font-size:14px;font-weight:650;transition:.18s}
.skm-nav a:hover,.skm-nav a.is-active{background:var(--skm-red);color:#fff;transform:translateX(2px)}
.skm-nav__icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.08);font-size:15px}
.skm-user-card{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding-top:15px;border-top:1px solid rgba(255,255,255,.12)}
.skm-user-card__avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--skm-red);font-weight:800}
.skm-user-card strong,.skm-user-card small{display:block}.skm-user-card small{font-size:11px;color:#bfc3ca}.skm-logout{grid-column:1/-1;color:#f3c6ca;font-size:12px;padding-left:47px}
.skm-main{min-width:0;background:var(--skm-bg)}
.skm-mobile-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:42px 34px 1fr;align-items:center;gap:9px;min-height:62px;padding:9px 14px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--skm-border);backdrop-filter:blur(10px)}
.skm-mobile-topbar img{width:34px;height:34px;object-fit:contain}.skm-mobile-topbar strong{font-size:15px}.skm-mobile-menu{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--skm-border);background:#fff;border-radius:10px;font-size:20px;cursor:pointer}
.skm-top-tabs{display:flex;gap:7px;overflow-x:auto;padding:10px 14px;background:#fff;border-bottom:1px solid var(--skm-border);scrollbar-width:none}.skm-top-tabs::-webkit-scrollbar{display:none}.skm-top-tabs a{flex:0 0 auto;padding:8px 11px;border:1px solid var(--skm-border);border-radius:999px;color:#4c515a;font-size:12px;font-weight:700}.skm-top-tabs a.is-active{background:var(--skm-black);border-color:var(--skm-black);color:#fff}
.skm-content{padding:15px;max-width:1500px;margin:0 auto}
.skm-section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:17px}.skm-section-head>div:first-child>span,.skm-eyebrow,.skm-section-mini span{display:block;color:var(--skm-red);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.skm-section-head h1,.skm-section-head h2{margin:3px 0 4px;font-size:27px;line-height:1.15}.skm-section-head p{margin:0;color:var(--skm-muted);font-size:14px}.skm-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.skm-card{background:var(--skm-surface);border:1px solid var(--skm-border);border-radius:var(--skm-radius);padding:17px;box-shadow:0 5px 18px rgba(22,28,36,.04)}.skm-card h2,.skm-card h3{margin-top:0}.skm-card--flush{padding:0;overflow:hidden}.skm-card--accent{background:linear-gradient(140deg,#111214,#272a30);color:#fff;border:0}.skm-card--accent p{color:#d5d7db}
.skm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border:1px solid #cfd2d6;border-radius:10px;background:#fff;color:#24272c;font:inherit;font-size:13px;font-weight:750;line-height:1.2;cursor:pointer;transition:.16s;white-space:nowrap}.skm-btn:hover{border-color:#aeb3ba;transform:translateY(-1px)}.skm-btn:disabled,.skm-btn[aria-disabled=true]{opacity:.62;cursor:wait;transform:none}.skm-btn--primary{background:var(--skm-red);border-color:var(--skm-red);color:#fff}.skm-btn--primary:hover{background:var(--skm-red-dark);border-color:var(--skm-red-dark)}.skm-btn--danger{background:#fff0ef;border-color:#f0b8b3;color:var(--skm-danger)}.skm-btn--danger:hover{background:var(--skm-danger);border-color:var(--skm-danger);color:#fff}.skm-btn--ghost{background:transparent}.skm-btn--small{min-height:34px;padding:7px 10px;font-size:12px}.skm-btn--block{width:100%}
.skm-alert{padding:12px 14px;border-radius:11px;margin:0 0 15px;font-size:13px}.skm-alert--success{background:#e9f7ef;color:#14603e;border:1px solid #bee6cf}.skm-alert--error{background:#fff0ef;color:#97251c;border:1px solid #f4c6c2}.skm-alert--warning{background:#fff8e7;color:#80500a;border:1px solid #ecd39b}.skm-help,.skm-privacy-note{color:var(--skm-muted);font-size:12px;line-height:1.6}.skm-empty{grid-column:1/-1;text-align:center;padding:32px 18px;color:var(--skm-muted);background:#fff;border:1px dashed #cfd3d8;border-radius:14px}.skm-empty strong{display:block;color:var(--skm-text);font-size:16px}.skm-empty p{margin:6px 0 0}
.skm-form{display:grid;gap:14px}.skm-form label,.skm-filter label,.skm-fee-fields label,.skm-exam-card label,.skm-certificate-meta-form label{display:grid;gap:6px;color:#363a41;font-size:12px;font-weight:700}.skm-form input,.skm-form select,.skm-form textarea,.skm-filter input,.skm-filter select,.skm-fee-fields input,.skm-fee-fields select,.skm-exam-card input,.skm-exam-card select,.skm-exam-card textarea,.skm-note,.skm-certificate-meta-form input{width:100%;min-height:43px;padding:9px 11px;border:1px solid #ccd0d5;border-radius:9px;background:#fff;color:var(--skm-text);font:inherit;font-size:14px;outline:none}.skm-form textarea,.skm-exam-card textarea{min-height:76px;resize:vertical}.skm-form input:focus,.skm-form select:focus,.skm-form textarea:focus,.skm-filter input:focus,.skm-filter select:focus,.skm-fee-fields input:focus,.skm-fee-fields select:focus,.skm-exam-card input:focus,.skm-exam-card select:focus,.skm-exam-card textarea:focus,.skm-note:focus{border-color:var(--skm-red);box-shadow:0 0 0 3px rgba(214,7,24,.09)}
.skm-form-grid{display:grid;grid-template-columns:1fr;gap:13px}.skm-col-full{grid-column:1/-1}.skm-check{display:flex!important;align-items:center;gap:8px!important;font-weight:650!important}.skm-check input{width:18px!important;height:18px!important;min-height:auto!important;flex:0 0 auto}.skm-sticky-actions{position:sticky;bottom:7px;z-index:20;display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:17px;padding:10px;background:rgba(255,255,255,.95);border:1px solid var(--skm-border);border-radius:13px;box-shadow:0 9px 30px rgba(22,28,36,.13);backdrop-filter:blur(10px)}.skm-save-hint{color:var(--skm-muted);font-size:11px;text-align:center}
.skm-filter{display:grid;grid-template-columns:1fr;gap:11px;align-items:end;margin-bottom:17px}.skm-filter label>span{font-size:11px;color:var(--skm-muted)}.skm-inline-search{min-width:180px}
.skm-grid-2,.skm-split{display:grid;grid-template-columns:1fr;gap:15px}.skm-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.skm-metrics article{background:#fff;border:1px solid var(--skm-border);border-radius:14px;padding:14px}.skm-metrics small,.skm-metrics span{display:block;color:var(--skm-muted);font-size:11px}.skm-metrics strong{display:block;margin:5px 0;font-size:23px;line-height:1.1}.skm-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.skm-quick-actions a{display:flex;align-items:center;gap:10px;padding:12px;background:var(--skm-bg);border:1px solid var(--skm-border);border-radius:11px;color:var(--skm-text);font-size:12px;font-weight:700}.skm-quick-actions a strong{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--skm-red);color:#fff;font-size:17px}
.skm-card-grid{display:grid;grid-template-columns:1fr;gap:13px}.skm-student-card,.skm-certificate-card{background:#fff;border:1px solid var(--skm-border);border-radius:15px;padding:14px;box-shadow:0 4px 15px rgba(22,28,36,.04)}.skm-student-card__head{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center}.skm-student-card__head img{width:76px;height:96px;object-fit:cover;border-radius:11px;background:#eee}.skm-student-card h2{font-size:18px;margin:4px 0}.skm-student-card p{margin:0;color:var(--skm-muted);font-size:12px}.skm-code{display:inline-block;color:var(--skm-red);font-size:11px;font-weight:800;letter-spacing:.05em}.skm-student-card__badges,.skm-certificate-card__meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.skm-meta-list{display:grid;gap:0;margin:0}.skm-meta-list>div{display:grid;grid-template-columns:minmax(92px,.8fr) 1.2fr;gap:8px;padding:8px 0;border-bottom:1px solid #eceef0}.skm-meta-list>div:last-child{border-bottom:0}.skm-meta-list dt{color:var(--skm-muted);font-size:11px}.skm-meta-list dd{margin:0;text-align:right;font-size:12px;font-weight:700;word-break:break-word}.skm-card-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:12px}
.skm-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.skm-badge--success{background:#e7f5ec;color:var(--skm-success)}.skm-badge--danger{background:#fff0ef;color:var(--skm-danger)}.skm-badge--warning{background:#fff5df;color:var(--skm-warning)}.skm-badge--muted{background:#eceef1;color:#626870}.skm-badge--belt{background:#fff4f4;color:var(--skm-red);border:1px solid #f5c7cb}
.skm-person{display:flex;align-items:center;gap:10px;min-width:0}.skm-person img{width:45px;height:56px;object-fit:cover;border-radius:9px;background:#eee;flex:0 0 auto}.skm-person strong,.skm-person small,.skm-person span{display:block}.skm-person strong{font-size:14px}.skm-person small,.skm-person span{color:var(--skm-muted);font-size:11px;margin-top:2px}.skm-person--large img{width:66px;height:84px}.skm-person--large strong{font-size:17px}
.skm-profile-form{display:grid;grid-template-columns:1fr;gap:18px}.skm-avatar-upload{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;background:var(--skm-cream);border-radius:13px}.skm-avatar-upload img{width:145px;aspect-ratio:3/4;object-fit:cover;border:3px solid #fff;border-radius:13px;box-shadow:0 5px 18px rgba(22,28,36,.12)}.skm-avatar-upload small{text-align:center;color:var(--skm-muted);font-size:11px}
.skm-attendance-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:13px}.skm-attendance-summary>span{padding:10px;border-radius:10px;background:#fff;border:1px solid var(--skm-border);font-size:11px}.skm-attendance-summary>span strong{font-size:16px;margin-left:3px}.skm-attendance-summary .is-present{color:var(--skm-success)}.skm-attendance-summary .is-absent{color:var(--skm-danger)}.skm-attendance-summary .is-excused{color:var(--skm-warning)}.skm-attendance-summary .skm-inline-search{grid-column:1/-1}.skm-attendance-grid{display:grid;grid-template-columns:1fr;gap:12px}.skm-attendance-card{background:#fff;border:1px solid var(--skm-border);border-left:4px solid var(--skm-success);border-radius:14px;padding:13px;transition:.16s}.skm-attendance-card[data-status=absent]{border-left-color:var(--skm-danger);background:#fffafa}.skm-attendance-card[data-status=excused]{border-left-color:var(--skm-warning);background:#fffcf5}.skm-segmented{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0}.skm-segmented label{cursor:pointer}.skm-segmented input{position:absolute;opacity:0;pointer-events:none}.skm-segmented span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:7px;border:1px solid var(--skm-border);border-radius:9px;font-size:11px;font-weight:800}.skm-segmented input:checked+span{color:#fff}.skm-segmented .is-present input:checked+span{background:var(--skm-success);border-color:var(--skm-success)}.skm-segmented .is-absent input:checked+span{background:var(--skm-danger);border-color:var(--skm-danger)}.skm-segmented .is-excused input:checked+span{background:var(--skm-warning);border-color:var(--skm-warning)}
.skm-exam-toolbar{display:flex;flex-direction:column;gap:8px;padding:11px 13px;margin-bottom:12px;border:1px solid var(--skm-border);border-radius:12px;background:#fff;font-size:12px}.skm-exam-toolbar>span{color:var(--skm-muted)}.skm-exam-grid{display:grid;grid-template-columns:1fr;gap:13px}.skm-exam-card{display:grid;gap:13px;background:#fff;border:1px solid var(--skm-border);border-radius:15px;padding:14px}.skm-exam-card__select{padding-bottom:9px;border-bottom:1px solid var(--skm-border)}.skm-belt-transition{display:grid;grid-template-columns:1fr 28px 1fr;align-items:end;gap:7px;padding:10px;border-radius:11px;background:var(--skm-cream)}.skm-belt-transition>span{text-align:center;font-size:18px;color:var(--skm-red)}.skm-belt-transition small{display:block;color:var(--skm-muted);font-size:10px}.skm-belt-transition strong{display:block;margin-top:5px;font-size:14px}.skm-belt-transition label{margin:0}.skm-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.skm-score-grid label:last-child{grid-column:1/-1}.skm-result-field select{font-weight:800}.skm-result-field select:has(option[value=pass]:checked){color:var(--skm-success)}
.skm-fee-grid{display:grid;grid-template-columns:1fr;gap:13px}.skm-fee-card{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--skm-border);border-left:5px solid var(--skm-success);border-radius:15px}.skm-fee-card.is-debt{border-left-color:var(--skm-danger);background:#fffafa}.skm-fee-card__select{padding-bottom:8px;border-bottom:1px solid var(--skm-border)}.skm-debt-box{padding:11px;border-radius:10px;background:var(--skm-bg)}.skm-debt-box small,.skm-debt-box strong{display:block}.skm-debt-box small{color:var(--skm-muted);font-size:10px}.skm-debt-box strong{margin:3px 0 8px;font-size:13px}.skm-fee-fields{display:grid;grid-template-columns:1fr;gap:9px}.skm-fee-waiver{padding:9px;background:#f5f5f5;border-radius:9px}.skm-handover{margin-top:17px}.skm-section-mini{display:flex;justify-content:space-between;align-items:center;gap:10px}.skm-section-mini h2{margin:2px 0;font-size:19px}.skm-list{display:grid;gap:8px;margin-top:12px}.skm-list-item{display:grid;gap:8px;padding:11px;border:1px solid var(--skm-border);border-radius:10px}.skm-list-item small{display:block;color:var(--skm-muted);font-size:10px;margin-top:3px}.skm-money-income{color:var(--skm-success)}.skm-money-expense{color:var(--skm-danger)}
.skm-table-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.skm-table{width:100%;min-width:680px;border-collapse:collapse;font-size:12px}.skm-table th{padding:11px;background:#f0f1f3;text-align:left;color:#565c65;font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.skm-table td{padding:11px;border-top:1px solid var(--skm-border);vertical-align:middle}.skm-table small{display:block;color:var(--skm-muted);font-size:10px;margin-top:2px}.skm-table code{font-size:10px}.skm-row-debt{background:#fff4f3!important}.skm-row-void{opacity:.56;text-decoration:line-through;background:#f3f4f5!important}
.skm-auth{width:min(510px,calc(100% - 24px));margin:28px auto;padding:24px;background:#fff;border:1px solid var(--skm-border);border-top:5px solid var(--skm-red);border-radius:20px;box-shadow:var(--skm-shadow)}.skm-auth__brand{text-align:center;margin-bottom:20px}.skm-auth__logo{display:block;width:92px;height:92px;object-fit:contain;margin:0 auto 10px}.skm-auth__brand>span{color:var(--skm-red);font-size:11px;font-weight:850;letter-spacing:.13em}.skm-auth h1,.skm-auth h2{margin:5px 0;font-size:27px}.skm-auth p{color:var(--skm-muted);font-size:13px}.skm-auth__help{text-align:center;margin:16px 0 0!important;font-size:11px!important}.skm-password-field{display:grid;grid-template-columns:1fr auto}.skm-password-field input{border-radius:9px 0 0 9px}.skm-password-toggle{border:1px solid #ccd0d5;border-left:0;border-radius:0 9px 9px 0;background:#f5f6f7;padding:0 12px;font-size:11px;font-weight:750;cursor:pointer}.skm-auth--logged{text-align:center}
.skm-lookup{width:min(1000px,calc(100% - 24px));margin:25px auto}.skm-lookup:not(.skm-lookup-v2)>header{text-align:center;margin-bottom:18px}.skm-lookup__logo{display:block;width:82px;height:82px;object-fit:contain;margin:0 auto 10px}.skm-lookup:not(.skm-lookup-v2)>header span{color:var(--skm-red);font-size:11px;font-weight:800;letter-spacing:.13em}.skm-lookup:not(.skm-lookup-v2)>header h2{font-size:29px;margin:5px}.skm-lookup:not(.skm-lookup-v2)>header p{color:var(--skm-muted)}.skm-lookup__form{display:grid;gap:8px;padding:11px;background:#fff;border:1px solid var(--skm-border);border-radius:14px;box-shadow:var(--skm-shadow)}.skm-lookup__form input{min-height:46px;padding:9px 12px;border:1px solid #ccd0d5;border-radius:9px;font:inherit}.skm-public-profile{padding:18px;margin-top:14px;background:#fff;border:1px solid var(--skm-border);border-radius:16px}.skm-public-profile__head{display:flex;align-items:flex-start;gap:13px}.skm-public-profile__head img{width:83px;aspect-ratio:3/4;object-fit:cover;border-radius:11px}.skm-public-profile__head small,.skm-public-profile__head strong{display:block}.skm-public-profile__head small{color:var(--skm-muted);font-size:10px}.skm-public-profile__head h3{font-size:22px;margin:5px 0}.skm-public-profile__head p{margin:0;color:var(--skm-muted)}.skm-public-profile__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.skm-public-profile__stats div{padding:10px;background:var(--skm-bg);border-radius:9px}.skm-public-profile__stats small,.skm-public-profile__stats strong{display:block}.skm-public-profile__stats small{color:var(--skm-muted);font-size:10px}.skm-public-profile__stats strong{font-size:13px;margin-top:3px}.skm-timeline{border-left:2px solid #dedfe2;margin-left:6px}.skm-timeline>div{display:grid;grid-template-columns:82px 1fr;gap:8px;position:relative;padding:0 0 14px 16px}.skm-timeline>div:before{content:"";position:absolute;width:9px;height:9px;background:var(--skm-red);border-radius:50%;left:-5.5px;top:4px}.skm-timeline time{font-size:11px}.skm-timeline p{margin:0}.skm-timeline span{display:block;color:var(--skm-muted);font-size:10px}
.skm-asset-upload{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;border:1px solid var(--skm-border);border-radius:11px}.skm-asset-upload>div{display:flex;align-items:center;gap:9px}.skm-asset-upload img,.skm-asset-upload .is-empty>span{width:60px;height:60px;object-fit:contain;border-radius:9px;background:#f3f3f3}.skm-asset-upload .is-empty>span{display:grid;place-items:center;font-size:10px;color:var(--skm-muted)}.skm-asset-upload strong{font-size:12px}.skm-route-list{display:grid;gap:8px}.skm-route-list article{display:grid;gap:7px;padding:10px;border:1px solid var(--skm-border);border-radius:10px}.skm-route-list article>div{display:grid;gap:3px}.skm-route-list code{font-size:10px;word-break:break-all}.skm-route-list small{color:var(--skm-muted);font-size:10px}.skm-route-list a{font-size:11px;font-weight:750;color:var(--skm-red)}
.skm-certificate-list{grid-template-columns:1fr}.skm-certificate-card{display:grid;gap:10px}.skm-certificate-card p{margin:0;color:var(--skm-muted);font-size:12px}.skm-certificate-controls{display:grid;gap:12px;margin-bottom:14px}.skm-switch{display:grid;grid-template-columns:44px 1fr;column-gap:10px;align-items:center;cursor:pointer}.skm-switch input{position:absolute;opacity:0}.skm-switch>span{grid-row:1/3;position:relative;width:44px;height:25px;border-radius:999px;background:#cfd2d7;transition:.2s}.skm-switch>span:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}.skm-switch input:checked+span{background:var(--skm-red)}.skm-switch input:checked+span:after{transform:translateX(19px)}.skm-switch strong{font-size:13px}.skm-switch small{color:var(--skm-muted);font-size:10px}.skm-certificate-meta-form{display:grid;grid-template-columns:1fr;gap:8px}.skm-certificate-stage{width:100%;overflow:auto;padding:8px;background:#d9dde2;border-radius:12px}.skm-certificate-a4{position:relative;width:1120px;aspect-ratio:297/210;margin:0 auto;background:#fbf7ec;color:#17120b;overflow:hidden;font-family:Arial,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.18);isolation:isolate}.skm-certificate-a4:before{content:"";position:absolute;inset:8px;border:4px double #b48729;z-index:4;pointer-events:none}.skm-certificate-a4:after{content:"";position:absolute;inset:16px;border:1px solid #d1a94e;z-index:4;pointer-events:none}.skm-certificate-a4__border{position:absolute;inset:25px;border:1px dotted rgba(184,138,46,.6);z-index:1}.skm-certificate-a4__border:before,.skm-certificate-a4__border:after{content:"✦";position:absolute;color:#b48729;font-size:38px;line-height:1}.skm-certificate-a4__border:before{top:-16px;left:-11px}.skm-certificate-a4__border:after{right:-11px;bottom:-16px;transform:rotate(180deg)}.skm-certificate-a4__watermark{position:absolute;left:50%;top:52%;width:430px;height:430px;object-fit:contain;transform:translate(-50%,-50%);opacity:.055;z-index:0}.skm-cert-header{position:absolute;left:385px;right:165px;top:37px;height:112px;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:20px;text-align:center;z-index:2}.skm-cert-header__logo{width:90px;height:90px;object-fit:contain}.skm-cert-header div{display:grid;gap:3px}.skm-cert-header strong{font-size:24px}.skm-cert-header h2{margin:0;color:#c20d1e;font-size:26px}.skm-cert-header span{display:block;margin-top:8px;padding-top:8px;border-top:2px solid #c59a3f;font-size:13px;font-weight:700;letter-spacing:.035em}.skm-cert-photo-area{position:absolute;left:71px;top:76px;width:245px;height:326px;z-index:3}.skm-cert-photo-frame{width:100%;height:100%;padding:7px;border:3px solid #b88a2e;background:#fff;box-shadow:inset 0 0 0 2px #e5c77f}.skm-cert-photo-frame img{width:100%;height:100%;object-fit:cover}.skm-cert-photo-stamp{position:absolute;right:-53px;bottom:-30px;width:128px;height:128px;object-fit:contain;transform:rotate(-8deg);z-index:5}.skm-cert-stamp-guide{position:absolute;right:-52px;bottom:-20px;width:115px;height:115px;display:grid;place-items:center;border:1px dashed #999;border-radius:50%;color:#777;font:11px Arial;text-align:center}.skm-cert-title{position:absolute;left:365px;right:70px;top:163px;text-align:center;z-index:2}.skm-cert-title h1{margin:0;color:#ad0c19;font-size:55px;line-height:1;letter-spacing:.02em}.skm-cert-title h3{margin:10px 0 5px;color:#8e6b21;font-size:38px;letter-spacing:.16em;font-weight:500}.skm-cert-title>span{display:block;width:330px;height:2px;margin:0 auto;background:linear-gradient(90deg,transparent,#b88a2e 18%,#b88a2e 82%,transparent)}.skm-cert-intro{position:absolute;left:390px;right:90px;top:292px;text-align:center;font-size:18px;line-height:1.35;z-index:2}.skm-cert-data{position:absolute;left:365px;right:75px;top:359px;display:grid;grid-template-columns:1.15fr 1fr;gap:26px;z-index:2}.skm-cert-data dl{margin:0}.skm-cert-data dl>div{display:grid;grid-template-columns:145px 1fr;gap:7px;align-items:end;min-height:33px}.skm-cert-data dt{font-size:15px}.skm-cert-data dd{margin:0;padding:0 3px 4px;border-bottom:1px dotted #9e9587;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skm-cert-data .skm-cert-belt{color:#13823f;font-size:18px}.skm-cert-message{position:absolute;left:245px;right:155px;top:545px;margin:0;text-align:center;font-size:14px;line-height:1.5;font-style:italic;z-index:2}.skm-cert-qr{position:absolute;left:72px;bottom:50px;width:145px;text-align:center;z-index:2}.skm-cert-qr>strong{display:block;margin-bottom:5px;font:700 12px Arial}.skm-cert-qr__code{width:112px;height:112px;margin:0 auto;padding:4px;background:#fff;border:1px solid #a57e2b}.skm-cert-qr__code svg{display:block;width:100%;height:100%}.skm-cert-qr small{display:block;margin-top:4px;font:8px Arial}.skm-cert-online-badge{position:absolute;left:380px;bottom:63px;min-width:325px;padding:11px 17px;border:3px double #c10f20;color:#b70d1c;text-align:center;font:bold 17px Arial,sans-serif;z-index:3}.skm-cert-signature{position:absolute;right:65px;bottom:38px;width:270px;text-align:center;z-index:3}.skm-cert-signature p{margin:0 0 2px;font-size:13px;font-style:italic}.skm-cert-signature h3{margin:0;font-size:16px}.skm-cert-signature__canvas{position:relative;height:91px}.skm-cert-signature__image{position:absolute;left:70px;top:8px;width:150px;height:70px;object-fit:contain;z-index:3}.skm-cert-signature__stamp{position:absolute;left:12px;top:-3px;width:105px;height:105px;object-fit:contain;z-index:2}.skm-cert-signature__guide{position:absolute;inset:8px 35px;display:grid;place-items:center;border:1px dashed #888;color:#777;font:10px Arial}.skm-cert-signature>strong{display:block;font-size:15px}.skm-certificate-a4.is-manual-print .skm-electronic-mark{display:none!important}.skm-certificate-a4:not(.is-manual-print) .skm-manual-guide{display:none!important}
.skm-verify{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--skm-bg)}.skm-verify section{width:min(560px,100%);padding:26px;background:#fff;border:1px solid var(--skm-border);border-radius:20px;text-align:center;box-shadow:var(--skm-shadow)}.skm-verify__logo{width:90px;height:90px;object-fit:contain}.skm-verify__icon{display:grid;place-items:center;width:68px;height:68px;margin:14px auto;border-radius:50%;color:#fff;font-size:35px}.skm-verify__icon.is-valid{background:var(--skm-success)}.skm-verify__icon.is-invalid{background:var(--skm-danger)}.skm-verify h1{font-size:27px;margin:8px}.skm-verify__student{display:flex;align-items:center;justify-content:center;gap:12px;margin:17px 0;padding:12px;background:var(--skm-bg);border-radius:12px;text-align:left}.skm-verify__student img{width:67px;height:85px;object-fit:cover;border-radius:9px}.skm-verify__student h2{margin:0;font-size:20px}.skm-verify__student p{margin:4px 0 0;color:var(--skm-muted)}
.skm-toast-region{position:fixed;right:14px;bottom:14px;z-index:99999;display:grid;gap:8px;width:min(360px,calc(100vw - 28px))}.skm-toast{padding:12px 14px;border-radius:11px;background:#17241d;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.2);opacity:0;transform:translateY(12px);transition:.22s;font-size:13px}.skm-toast--error{background:#8f1d16}.skm-toast.is-visible{opacity:1;transform:none}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
[hidden]{display:none!important}
@media(min-width:620px){
  .skm-content{padding:22px}.skm-section-head{flex-direction:row;justify-content:space-between;align-items:flex-end}.skm-section-head h1,.skm-section-head h2{font-size:32px}.skm-filter{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.skm-filter__search{grid-column:span 2}.skm-form-grid{grid-template-columns:1fr 1fr}.skm-sticky-actions{flex-direction:row;justify-content:flex-end;align-items:center}.skm-save-hint{margin-right:auto;text-align:left}.skm-card-grid,.skm-attendance-grid,.skm-fee-grid,.skm-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-metrics{grid-template-columns:repeat(4,1fr)}.skm-profile-form{grid-template-columns:175px 1fr}.skm-score-grid{grid-template-columns:repeat(5,1fr)}.skm-score-grid label:last-child{grid-column:auto}.skm-fee-fields{grid-template-columns:1fr 1fr}.skm-segmented{grid-template-columns:repeat(3,1fr)}.skm-attendance-summary{grid-template-columns:repeat(4,1fr) minmax(210px,1.7fr)}.skm-attendance-summary .skm-inline-search{grid-column:auto}.skm-exam-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.skm-list-item{grid-template-columns:1fr auto auto;align-items:center}.skm-lookup__form{grid-template-columns:1fr auto}.skm-public-profile__stats{grid-template-columns:repeat(4,1fr)}.skm-certificate-meta-form{grid-template-columns:1fr 1fr auto auto;align-items:end}.skm-route-list article{grid-template-columns:1fr 1fr auto;align-items:center}.skm-certificate-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:960px){
  .skm-app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:820px}.skm-sidebar{position:relative;width:auto;transform:none;z-index:1}.skm-mobile-backdrop,.skm-mobile-topbar{display:none}.skm-main{min-width:0}.skm-top-tabs{padding:12px 28px}.skm-content{padding:28px}.skm-grid-2,.skm-split{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-certificate-list{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-filter{display:flex;align-items:end;flex-wrap:wrap}.skm-filter label{min-width:180px}.skm-filter__search{flex:1;min-width:260px}.skm-quick-actions{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1280px){.skm-app{grid-template-columns:270px minmax(0,1fr)}.skm-attendance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-fee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.1.2 layout + certificate fixes */

:root{
  --skm-red:#ef4444;
  --skm-red-dark:#dc2626;
  --skm-black:#0f172a;
  --skm-gold:#c89632;
  --skm-gold-light:#ecd39b;
  --skm-cream:#fffaf0;
  --skm-bg:#f6f9ff;
  --skm-surface:#ffffff;
  --skm-text:#0f172a;
  --skm-muted:#64748b;
  --skm-border:#dbe5f2;
  --skm-success:#16a34a;
  --skm-warning:#d97706;
  --skm-danger:#dc2626;
  --skm-shadow:0 16px 40px rgba(15,23,42,.08);
}
.skm-shell{width:100vw;max-width:1740px;position:relative;left:50%;transform:translateX(-50%);padding:0 14px;margin:0}
.skm-shell--auth,.skm-shell--lookup{max-width:980px}
.skm-app,.skm-auth,.skm-lookup,.skm-verify{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-color:#dbe5f2;border-radius:24px;box-shadow:var(--skm-shadow)}
.skm-auth,.skm-lookup{padding:22px}
.skm-app{min-height:calc(100vh - 140px)}
.skm-sidebar{background:linear-gradient(180deg,#0f172a 0%,#111827 58%,#1e293b 100%)}
.skm-nav a{color:#dbeafe}
.skm-nav a:hover,.skm-nav a.is-active{background:linear-gradient(135deg,#ef4444 0%,#fb7185 100%);color:#fff;transform:none;box-shadow:0 10px 22px rgba(239,68,68,.28)}
.skm-mobile-topbar,.skm-top-tabs,.skm-card,.skm-student-card,.skm-fee-card,.skm-attendance-card,.skm-exam-card,.skm-certificate-card{box-shadow:0 10px 26px rgba(15,23,42,.05)}
.skm-mobile-topbar,.skm-top-tabs{background:rgba(255,255,255,.98)}
.skm-top-tabs a{background:#fff;border-color:#dbeafe;color:#2563eb}
.skm-top-tabs a.is-active{background:linear-gradient(135deg,#ef4444 0%,#fb7185 100%);border-color:#ef4444;color:#fff}
.skm-content{max-width:none;padding:18px}
.skm-section-head h1,.skm-section-head h2{font-size:clamp(34px,4vw,56px);line-height:1.04;color:#0f172a}
.skm-section-head p{font-size:15px}
.skm-btn--primary{background:linear-gradient(135deg,#ef4444 0%,#fb7185 100%);border-color:#ef4444}
.skm-btn--primary:hover{background:linear-gradient(135deg,#dc2626 0%,#f43f5e 100%);border-color:#dc2626}
.skm-card--accent{background:linear-gradient(135deg,#eff6ff 0%,#fff1f2 100%);border:1px solid #dbeafe;color:#0f172a}
.skm-card--accent h2,.skm-card--accent p,.skm-card--accent span{color:#0f172a!important}
.skm-quick-actions a{background:#fff;border-color:#dbeafe}
.skm-quick-actions a strong{background:linear-gradient(135deg,#ef4444 0%,#fb7185 100%)}
.skm-student-card__head{grid-template-columns:88px 1fr;gap:14px;align-items:flex-start}
.skm-student-card__head img{width:88px;height:112px;border-radius:12px}
.skm-student-card h2{font-size:clamp(22px,2.4vw,34px);line-height:1.02;letter-spacing:-.02em;margin:2px 0 8px;word-break:break-word}
.skm-student-card p,.skm-certificate-card p,.skm-meta-list dd,.skm-meta-list dt{font-size:13px}
.skm-meta-list>div{grid-template-columns:minmax(110px,.9fr) 1.2fr;padding:9px 0}.skm-meta-list dd{text-align:left;font-weight:600}
.skm-code{font-size:13px;letter-spacing:.08em}
.skm-filter,.skm-card-grid,.skm-student-grid,.skm-fee-grid,.skm-attendance-grid,.skm-exam-grid,.skm-grid-2,.skm-split{gap:18px}
.skm-form input,.skm-form select,.skm-form textarea,.skm-filter input,.skm-filter select,.skm-fee-fields input,.skm-fee-fields select,.skm-exam-card input,.skm-exam-card select,.skm-exam-card textarea,.skm-note,.skm-certificate-meta-form input{font-size:15px;min-height:46px}
.skm-metrics article{background:#fff;border-color:#dbeafe}
.skm-metrics strong{font-size:clamp(24px,2.2vw,36px)}
.skm-certificate-stage{padding:18px;background:linear-gradient(180deg,#edf2fb,#dbe7f5);overflow:auto}
.skm-certificate-a4{width:min(1120px,100%);min-width:980px;box-shadow:0 18px 40px rgba(15,23,42,.18)}
.skm-cert-header{left:338px;right:72px;top:34px;grid-template-columns:78px 1fr;gap:14px;height:auto}
.skm-cert-header__logo{width:76px;height:76px}.skm-cert-header strong{font-size:18px;line-height:1.1}.skm-cert-header h2{font-size:22px;line-height:1.08}.skm-cert-header span{font-size:11px;line-height:1.35;margin-top:6px;padding-top:6px}
.skm-cert-photo-area{left:58px;top:58px;width:214px;height:282px}.skm-cert-photo-stamp{right:-44px;bottom:-26px;width:114px;height:114px}.skm-cert-stamp-guide{right:-42px;bottom:-18px;width:102px;height:102px}
.skm-cert-title{left:320px;right:60px;top:148px}.skm-cert-title h1{font-size:42px;letter-spacing:.015em}.skm-cert-title h3{font-size:24px;letter-spacing:.12em}.skm-cert-title>span{width:280px}
.skm-cert-intro{left:338px;right:68px;top:250px;font-size:15px;line-height:1.32}
.skm-cert-data{left:322px;right:62px;top:315px;gap:16px}.skm-cert-data dl>div{grid-template-columns:122px 1fr;min-height:29px}.skm-cert-data dt{font-size:13px}.skm-cert-data dd{font-size:14px;padding:0 2px 3px}.skm-cert-data .skm-cert-belt{font-size:16px}
.skm-cert-message{left:195px;right:120px;top:492px;font-size:12px;line-height:1.45}
.skm-cert-qr{left:64px;bottom:34px;width:132px}.skm-cert-qr>strong{font-size:11px}.skm-cert-qr__code{width:104px;height:104px}
.skm-cert-online-badge{left:352px;bottom:46px;min-width:290px;padding:9px 16px;font-size:14px}
.skm-cert-signature{right:58px;bottom:24px;width:250px}.skm-cert-signature p{font-size:12px}.skm-cert-signature h3{font-size:14px}.skm-cert-signature__canvas{height:74px}.skm-cert-signature__image{left:82px;top:8px;width:138px;height:58px}.skm-cert-signature__stamp{left:16px;top:-2px;width:90px;height:90px}.skm-cert-signature>strong{font-size:14px}
@media (max-width:1023px){
  .skm-shell{padding:0 10px}
  .skm-auth,.skm-lookup{padding:18px}
  .skm-student-card h2{font-size:26px}
  .skm-certificate-stage{padding:12px}
}
@media (min-width:768px){
  .skm-content{padding:26px}
  .skm-card-grid,.skm-attendance-grid,.skm-fee-grid,.skm-exam-grid,.skm-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1180px){
  .skm-app{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 160px)}
  .skm-top-tabs{padding:14px 30px;gap:10px}
  .skm-content{padding:34px 36px}
  .skm-grid-2,.skm-split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skm-student-grid,.skm-card-grid,.skm-fee-grid,.skm-attendance-grid,.skm-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1440px){
  .skm-content{padding:36px 42px}
  .skm-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .skm-certificate-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .skm-student-card__head{grid-template-columns:74px 1fr;gap:12px}
  .skm-student-card__head img{width:74px;height:94px}
  .skm-student-card h2{font-size:22px}
  .skm-section-head h1,.skm-section-head h2{font-size:38px}
}


/* v2.1.2 tuning */

.skm-shell{max-width:1920px;padding:0 10px}
.skm-shell--auth,.skm-shell--lookup{max-width:1080px}
.skm-content{max-width:1780px;margin:0 auto;padding:22px 24px}
.skm-section-head h1,.skm-section-head h2{font-size:clamp(28px,3vw,42px);line-height:1.08}
.skm-section-head p{font-size:14px}
.skm-top-tabs a{font-size:13px;padding:9px 13px}
.skm-student-card,.skm-fee-card,.skm-attendance-card,.skm-exam-card,.skm-certificate-card{padding:16px}
.skm-student-card__head{grid-template-columns:84px 1fr;gap:14px}
.skm-student-card__head img{width:84px;height:106px;border-radius:12px}
.skm-student-card h2{font-size:clamp(18px,1.8vw,26px)!important;line-height:1.12;letter-spacing:-.01em;margin:4px 0 6px;word-break:break-word}
.skm-code{font-size:12px}
.skm-meta-list dt,.skm-meta-list dd,.skm-student-card p,.skm-certificate-card p{font-size:13px}
.skm-card-actions .skm-btn{min-height:38px;padding:8px 12px;font-size:13px}
.skm-filter{gap:14px}
.skm-filter label{min-width:180px}
.skm-btn{min-height:40px}
.skm-metrics strong{font-size:clamp(22px,1.9vw,32px)}
.skm-quick-actions a{font-size:13px}
.skm-certificate-stage{padding:10px;background:#eef3f9}
.skm-certificate-a4{width:1122px;height:793px;aspect-ratio:auto;min-width:auto;background:#fbf7ee;box-shadow:0 10px 30px rgba(15,23,42,.12)}
.skm-certificate-a4:before{inset:10px;border:3px solid #c79c37}
.skm-certificate-a4:after{inset:16px;border:1px solid #e0bc69}
.skm-certificate-a4__border{inset:22px;border:1px dotted rgba(196,148,45,.75)}
.skm-certificate-a4__border:before,.skm-certificate-a4__border:after{font-size:34px;color:#c79c37}
.skm-certificate-a4__watermark{width:400px;height:400px;top:51%;opacity:.07}
.skm-cert-header{left:402px;right:84px;top:28px;grid-template-columns:106px 1fr;gap:18px}
.skm-cert-header__logo{width:100px;height:100px}
.skm-cert-header div{gap:4px}
.skm-cert-header strong{font-size:17px;line-height:1.15;letter-spacing:.02em}
.skm-cert-header h2{margin:0;color:#bc1b1b;font-size:20px;line-height:1.18}
.skm-cert-header__rule{display:block;width:100%;height:2px;background:linear-gradient(90deg,#c79c37 0%,#c79c37 72%,transparent 100%);margin:2px 0 6px}
.skm-cert-header span:last-child{display:block;margin-top:0;padding-top:0;border-top:0;font-size:10px;font-weight:700;letter-spacing:.055em;color:#4b3b1c}
.skm-cert-photo-area{left:38px;top:78px;width:275px;height:332px}
.skm-cert-photo-frame{padding:6px;border:2px solid #c79c37;box-shadow:inset 0 0 0 1px #edd49b;background:#fffdf8}
.skm-cert-photo-stamp{right:-46px;bottom:-18px;width:118px;height:118px;transform:rotate(-12deg)}
.skm-cert-stamp-guide{right:-35px;bottom:-12px;width:95px;height:95px;font-size:10px}
.skm-cert-title{left:388px;right:74px;top:158px}
.skm-cert-title h1{font-size:58px;line-height:1.03;letter-spacing:.01em;color:#b41b1b;font-weight:700}
.skm-cert-title h3{margin:6px 0 6px;font-size:32px;color:#b4882b;letter-spacing:.1em;line-height:1.05}
.skm-cert-title>span{width:340px;height:2px;background:linear-gradient(90deg,transparent,#c79c37 14%,#c79c37 86%,transparent)}
.skm-cert-intro{left:430px;right:120px;top:305px;font-size:15px;line-height:1.32;font-weight:600;color:#2e2516}
.skm-cert-data{left:350px;right:72px;top:388px;grid-template-columns:1fr 1fr;gap:24px}
.skm-cert-data dl>div{grid-template-columns:145px 1fr;gap:10px;min-height:38px}
.skm-cert-data dt{font-size:15px;line-height:1.2;color:#231c12}
.skm-cert-data dd{font-size:16px;line-height:1.2;padding:0 4px 5px;border-bottom:1px dotted #908472;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skm-cert-data .skm-cert-belt{font-size:16px;color:#198754}
.skm-cert-message{left:235px;right:165px;top:607px;font-size:14px;line-height:1.42;font-style:italic;color:#342819}
.skm-cert-qr{left:48px;bottom:40px;width:130px}
.skm-cert-qr>strong{font-size:12px;color:#231c12}
.skm-cert-qr__code{width:104px;height:104px;padding:4px;border:1px solid #b6913a}
.skm-cert-qr small{font-size:8px}
.skm-cert-online-badge{left:404px;bottom:50px;min-width:314px;padding:10px 16px;border:2px solid #c82929;color:#c82929;background:#fffaf8;font-size:15px;font-weight:700;letter-spacing:.02em}
.skm-cert-signature{right:52px;bottom:32px;width:292px}
.skm-cert-signature p{font-size:12px;margin:0 0 3px;color:#342819}
.skm-cert-signature h3{font-size:17px;line-height:1.1;margin:0 0 2px}
.skm-cert-signature__canvas{height:92px}
.skm-cert-signature__image{left:108px;top:20px;width:150px;height:48px}
.skm-cert-signature__stamp{left:30px;top:-6px;width:96px;height:96px}
.skm-cert-signature__guide{inset:8px 30px;font-size:10px}
.skm-cert-signature>strong{font-size:14px;line-height:1.2}
@media (max-width:1023px){
  .skm-content{padding:16px}
  .skm-section-head h1,.skm-section-head h2{font-size:32px}
  .skm-student-card h2{font-size:20px!important}
}
@media (max-width:767px){
  .skm-shell{padding:0 8px}
  .skm-content{padding:14px}
  .skm-top-tabs{padding:10px 12px}
  .skm-top-tabs a{font-size:12px;padding:8px 11px}
  .skm-student-card__head{grid-template-columns:72px 1fr;gap:12px}
  .skm-student-card__head img{width:72px;height:90px}
  .skm-student-card h2{font-size:18px!important;line-height:1.15}
  .skm-meta-list>div{grid-template-columns:1fr;gap:4px;padding:8px 0}
  .skm-meta-list dd{text-align:left}
  .skm-card-actions{justify-content:stretch}.skm-card-actions .skm-btn{flex:1 1 calc(50% - 4px)}
  .skm-filter{grid-template-columns:1fr!important}
  .skm-filter label,.skm-filter__search{min-width:0;width:100%}
  .skm-quick-actions{grid-template-columns:1fr}
  .skm-metrics{grid-template-columns:1fr 1fr}
  .skm-certificate-stage{padding:8px;overflow-x:auto}
}
@media (min-width:1200px){
  .skm-app{grid-template-columns:290px minmax(0,1fr)}
  .skm-content{padding:28px 30px}
  .skm-student-grid,.skm-fee-grid,.skm-attendance-grid,.skm-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1500px){
  .skm-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v2.1.4 standalone system pages + student import/export */
html:has(body.skm-standalone-page),body.skm-standalone-page{margin:0!important;padding:0!important;min-height:100%;background:#f4f7fb!important}
body.skm-standalone-page{overflow-x:hidden}
body.skm-standalone-page .skm-system-page{width:100%;min-height:100vh;padding:18px 0 28px}
body.skm-standalone-page .skm-shell{max-width:none;width:100%;left:auto;transform:none;padding:0 18px}
body.skm-standalone-page .skm-app{min-height:calc(100vh - 46px);border-radius:22px}
.skm-transfer-card{margin-bottom:18px}
.skm-transfer-card__head{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.skm-transfer-card__head h2{margin:3px 0 5px;font-size:23px}
.skm-transfer-card__head p{margin:0;color:var(--skm-muted);font-size:13px}
.skm-import-box{margin-top:14px;border-top:1px solid var(--skm-border);padding-top:14px}
.skm-import-box>summary{cursor:pointer;font-weight:800;color:var(--skm-text);padding:4px 0}
.skm-import-box form{display:grid;gap:12px;margin-top:14px;padding:15px;background:var(--skm-bg);border:1px solid var(--skm-border);border-radius:12px}
.skm-import-file{display:grid;gap:7px;font-size:13px;font-weight:700}
.skm-import-file input{display:block;width:100%;padding:10px;background:#fff;border:1px dashed #b8c4d4;border-radius:9px}
.skm-import-result{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid #b8e0c7;background:#eefaf2;border-radius:10px;color:#14532d;font-size:13px}
.skm-import-result.has-errors{border-color:#f2c7c7;background:#fff5f5;color:#7f1d1d}
.skm-import-result details{width:100%}
.skm-import-result summary{cursor:pointer;font-weight:700}
.skm-import-result ol{max-height:220px;overflow:auto;margin:8px 0 0;padding-left:24px}
@media(min-width:900px){
  .skm-transfer-card__head{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(max-width:767px){
  body.skm-standalone-page .skm-system-page{padding:0}
  body.skm-standalone-page .skm-shell{padding:0}
  body.skm-standalone-page .skm-app{border-radius:0;border-left:0;border-right:0;min-height:100vh}
  .skm-transfer-card__head .skm-toolbar-actions{width:100%}
  .skm-transfer-card__head .skm-toolbar-actions .skm-btn{flex:1 1 100%;width:100%}
  .skm-import-box form{padding:12px}
}


/* v2.1.5: classes, fee filters, compact student cards and finance categories */
.skm-staff-classes{display:grid;gap:12px;margin:0;padding:14px;border:1px solid var(--skm-border);border-radius:12px;background:#f8fbff}
.skm-staff-classes legend{padding:0 6px;font-size:12px;font-weight:800;color:var(--skm-text)}
.skm-check--featured{align-items:flex-start!important;padding:10px;border-radius:10px;background:#fff;border:1px solid #dbeafe}
.skm-check--featured span{display:grid;gap:3px}.skm-check--featured small{color:var(--skm-muted);font-weight:500;line-height:1.45}
.skm-meta-list--two-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.skm-meta-list--two-columns>div{display:block;min-width:0;padding:9px 0}
.skm-meta-list--two-columns dt{margin-bottom:4px}.skm-meta-list--two-columns dd{text-align:left;white-space:normal;overflow-wrap:anywhere}
.skm-metric--branches{grid-column:span 2}
.skm-branch-counts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.skm-branch-counts>span{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:145px;padding:8px 10px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;color:var(--skm-text)}
.skm-branch-counts b{font-size:12px}.skm-branch-counts strong{margin:0!important;font-size:20px!important}
.skm-fee-status-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.skm-fee-status-summary a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--skm-border);border-radius:12px;background:#fff;color:var(--skm-text);font-size:12px;font-weight:700}
.skm-fee-status-summary a strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#2563eb}
.skm-fee-status-summary a.is-active{border-color:#ef4444;background:#fff1f2;color:#be123c}.skm-fee-status-summary a.is-active strong{background:#ef4444;color:#fff}
.skm-finance-category-manager{margin:16px 0}
.skm-inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px}.skm-inline-form label{display:grid;gap:6px;min-width:160px;font-size:12px;font-weight:700}.skm-inline-form__grow{flex:1 1 260px}.skm-inline-form input,.skm-inline-form select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #ccd0d5;border-radius:9px;background:#fff;font:inherit}
.skm-finance-category-groups{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--skm-border)}
.skm-finance-category-groups>div>strong{display:block;margin-bottom:8px;font-size:13px}.skm-chip-list{display:flex;flex-wrap:wrap;gap:7px}.skm-chip-list span{padding:6px 9px;border-radius:999px;background:#eef6ff;border:1px solid #dbeafe;color:#334155;font-size:11px;font-weight:650}
@media(min-width:768px){.skm-fee-status-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-finance-category-groups{grid-template-columns:1fr 1fr}}
@media(min-width:1180px){.skm-fee-status-summary{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:520px){.skm-meta-list--two-columns{grid-template-columns:1fr 1fr;column-gap:10px}.skm-meta-list--two-columns dt{font-size:10px}.skm-meta-list--two-columns dd{font-size:12px}.skm-metric--branches{grid-column:1/-1}.skm-branch-counts>span{min-width:0;flex:1 1 100%}.skm-inline-form{display:grid;grid-template-columns:1fr}.skm-inline-form label,.skm-inline-form__grow{min-width:0;width:100%}}

/* v2.2.0 - preview phôi nền văn bằng */
.skm-asset-upload--wide{align-items:flex-start;flex-direction:column}
.skm-asset-upload--wide>div{width:100%;align-items:flex-start;flex-direction:column}
.skm-asset-upload--wide img{width:100%;height:auto;max-height:220px;object-fit:contain;border:1px solid var(--skm-border);background:#fff}
.skm-asset-upload--wide .is-empty>span{width:100%;height:140px}
.skm-asset-upload--wide .skm-btn{align-self:flex-start}


/* v2.2.2 - student reservation and certificate history */
.skm-student-certificates{margin-top:18px}
.skm-history-certificate-list,.skm-public-certificate-list{display:grid;gap:10px;margin-top:14px}
.skm-history-certificate-card,.skm-public-certificate-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--skm-border);border-radius:12px;background:#fff}
.skm-history-certificate-card>div,.skm-public-certificate-list>article>div{display:grid;gap:3px}
.skm-history-certificate-card small,.skm-public-certificate-list small{color:var(--skm-muted);font-size:11px}
.skm-history-certificate-add{margin-top:16px;padding-top:14px;border-top:1px solid var(--skm-border)}
.skm-history-certificate-add>summary{cursor:pointer;font-weight:800;color:var(--skm-text)}
.skm-history-certificate-add form{margin-top:14px;padding:14px;background:var(--skm-bg);border:1px solid var(--skm-border);border-radius:12px}
.skm-public-certificates{margin-top:18px;padding-top:16px;border-top:1px solid var(--skm-border)}
.skm-public-certificates .skm-section-mini{align-items:center}
.skm-public-certificates h4{margin:2px 0 0}
@media(max-width:700px){
  .skm-history-certificate-card,.skm-public-certificate-list>article{grid-template-columns:1fr;align-items:start}
  .skm-history-certificate-card .skm-btn,.skm-public-certificate-list .skm-btn{width:100%}
}

.skm-reservation-summary{display:grid;gap:3px;margin:10px 0;padding:10px 12px;border:1px solid #f5d08a;border-radius:10px;background:#fff8e8;color:#7c4a03;font-size:12px}.skm-reservation-summary span{font-weight:700}.skm-reservation-summary small{color:#8a5a13}


/* v2.2.9 certificate verification page */
.skm-verification-page{margin:0;background:#f5f7fb;color:#0f172a}
.skm-verification-page .skm-verify{min-height:100svh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%)}
.skm-verification-page .skm-verify__card{width:min(720px,100%);padding:28px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.09);text-align:left}
.skm-verification-page .skm-verify__header{text-align:center}
.skm-verification-page .skm-verify__logo{display:block;width:82px;height:82px;margin:0 auto 12px;object-fit:contain}
.skm-verification-page .skm-verify__icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:50%;color:#fff;font-size:28px;font-weight:800;line-height:1}
.skm-verification-page .skm-verify__icon.is-valid{background:#16a34a}
.skm-verification-page .skm-verify__icon.is-invalid{background:#dc2626}
.skm-verification-page .skm-verify__club{display:block;margin:0 0 4px;color:#334155;font-size:14px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.skm-verification-page .skm-verify h1{margin:0;color:#0f172a;font-size:clamp(28px,4vw,40px);line-height:1.12;text-align:center}
.skm-verification-page .skm-verify__student{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:16px;margin:24px 0 18px;padding:16px;background:#f8fafc;border:1px solid #eef2f7;border-radius:16px;text-align:left}
.skm-verification-page .skm-verify__student img{width:84px;height:104px;object-fit:cover;object-position:center top;border-radius:12px;background:#e2e8f0}
.skm-verification-page .skm-verify__student h2{margin:0 0 6px;color:#0f172a;font-size:clamp(21px,3vw,28px);line-height:1.16;overflow-wrap:anywhere}
.skm-verification-page .skm-verify__student p{margin:0;color:#64748b;font-size:17px;font-weight:600;letter-spacing:.02em}
.skm-verification-page .skm-verify__details{margin:0;padding:0;border-top:1px solid #e2e8f0}
.skm-verification-page .skm-verify__details>div{display:grid;grid-template-columns:minmax(120px,40%) minmax(0,60%);align-items:center;gap:16px;min-height:54px;padding:12px 4px;border-bottom:1px solid #e2e8f0}
.skm-verification-page .skm-verify__details dt{margin:0;color:#64748b;font-size:15px;font-weight:500;text-align:left}
.skm-verification-page .skm-verify__details dd{margin:0;color:#0f172a;font-size:16px;font-weight:700;text-align:right;overflow-wrap:anywhere}
.skm-verification-page .skm-privacy-note{margin:18px 0 0;color:#64748b;font-size:13px;line-height:1.5;text-align:center}
.skm-verification-page .skm-verify__back{display:flex;width:max-content;margin:20px auto 0;justify-content:center}
.skm-verification-page .skm-verify__error{margin:18px 0;color:#475569;text-align:center}
@media (max-width:600px){
  .skm-verification-page .skm-verify{padding:12px 10px}
  .skm-verification-page .skm-verify__card{padding:20px 16px;border-radius:18px}
  .skm-verification-page .skm-verify__logo{width:70px;height:70px;margin-bottom:10px}
  .skm-verification-page .skm-verify__icon{width:48px;height:48px;margin-bottom:10px;font-size:25px}
  .skm-verification-page .skm-verify__club{font-size:12px}
  .skm-verification-page .skm-verify h1{font-size:30px}
  .skm-verification-page .skm-verify__student{grid-template-columns:72px minmax(0,1fr);gap:12px;margin:18px 0 14px;padding:12px}
  .skm-verification-page .skm-verify__student img{width:72px;height:90px;border-radius:10px}
  .skm-verification-page .skm-verify__student h2{font-size:21px}
  .skm-verification-page .skm-verify__student p{font-size:15px}
  .skm-verification-page .skm-verify__details>div{grid-template-columns:42% 58%;gap:10px;min-height:48px;padding:10px 2px}
  .skm-verification-page .skm-verify__details dt{font-size:14px}
  .skm-verification-page .skm-verify__details dd{font-size:14px}
  .skm-verification-page .skm-privacy-note{font-size:12px}
  .skm-verification-page .skm-verify__back{width:100%;min-height:44px}
}


/* v2.3.2 — student profile, compact verification and navigation */
.skm-nav{grid-auto-rows:minmax(42px,max-content);align-content:start!important;justify-content:stretch}
.skm-nav a{min-height:42px!important;max-height:52px;padding:8px 10px!important;align-self:start}
.skm-nav a.is-active{min-height:42px!important;height:auto!important}
.skm-sidebar{padding:16px!important}
.skm-top-tabs{min-height:0!important;align-items:center}
.skm-top-tabs a{min-height:36px;display:inline-flex;align-items:center;padding:7px 11px!important;font-size:12px!important}

.skm-student-profile-hero{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;padding:20px}
.skm-student-profile-avatar{width:120px;height:150px;object-fit:cover;object-position:center top;border-radius:14px;background:#e5e7eb}
.skm-student-profile-identity h2{margin:4px 0 8px;font-size:clamp(25px,3vw,38px);line-height:1.08}
.skm-student-profile-identity p{margin:8px 0 0;color:var(--skm-muted)}
.skm-student-profile-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.skm-student-profile-stats article,.skm-profile-training-summary article{padding:12px;border:1px solid var(--skm-border);border-radius:12px;background:var(--skm-bg)}
.skm-student-profile-stats small,.skm-profile-training-summary span{display:block;color:var(--skm-muted);font-size:12px}
.skm-student-profile-stats strong,.skm-profile-training-summary strong{display:block;margin-top:3px;font-size:24px}
.skm-student-profile-columns{margin-top:18px;align-items:start}
.skm-profile-detail-list{margin:0}
.skm-profile-detail-list>div{display:grid;grid-template-columns:minmax(125px,38%) minmax(0,62%);gap:14px;padding:10px 0;border-bottom:1px solid var(--skm-border)}
.skm-profile-detail-list dt{color:var(--skm-muted);font-size:13px}.skm-profile-detail-list dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere;font-size:13px}
.skm-profile-training-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}
.skm-profile-attendance-list,.skm-profile-history-list,.skm-profile-exam-list,.skm-profile-certificate-list{display:grid;gap:8px;margin-top:12px}
.skm-profile-attendance-list article,.skm-profile-history-list article,.skm-profile-exam-list article,.skm-profile-certificate-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--skm-border)}
.skm-profile-history-list article{grid-template-columns:82px minmax(0,1fr)}
.skm-profile-attendance-list time,.skm-profile-history-list time{font-size:12px;font-weight:700;color:var(--skm-muted)}
.skm-profile-attendance-list div,.skm-profile-history-list div,.skm-profile-exam-list div,.skm-profile-certificate-list div{display:grid;gap:2px}.skm-profile-attendance-list small,.skm-profile-history-list small,.skm-profile-exam-list small,.skm-profile-certificate-list small{color:var(--skm-muted);font-size:11px}
.skm-profile-subtitle{margin:20px 0 0;font-size:16px}

.skm-public-profile__details{margin:16px 0;padding:0;border-top:1px solid var(--skm-border)}
.skm-public-profile__details>div{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,62%);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--skm-border)}
.skm-public-profile__details dt{color:var(--skm-muted);font-size:13px}.skm-public-profile__details dd{margin:0;text-align:right;font-size:13px;font-weight:700;overflow-wrap:anywhere}

.skm-verification-page .skm-verify{min-height:100svh;padding:10px;align-items:center}
.skm-verification-page .skm-verify__card{width:min(860px,100%);padding:18px;border-radius:20px}
.skm-verification-page .skm-verify__header{display:flex;align-items:center;justify-content:center;gap:18px;text-align:left;padding-bottom:14px;border-bottom:1px solid #e2e8f0}
.skm-verification-page .skm-verify__brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.skm-verification-page .skm-verify__logo{width:58px;height:58px;margin:0}
.skm-verification-page .skm-verify__icon{width:38px;height:38px;margin:0;font-size:21px}
.skm-verification-page .skm-verify__club{margin:0 0 2px;font-size:12px}
.skm-verification-page .skm-verify h1{font-size:clamp(24px,3vw,34px);text-align:left}
.skm-verification-page .skm-verify__layout{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,66%);gap:18px;align-items:start;padding-top:14px}
.skm-verification-page .skm-verify__identity{display:grid;align-content:start}
.skm-verification-page .skm-verify__student{grid-template-columns:64px minmax(0,1fr);gap:11px;margin:0;padding:11px;border-radius:13px}
.skm-verification-page .skm-verify__student img{width:64px;height:78px;border-radius:9px}
.skm-verification-page .skm-verify__student h2{font-size:19px;margin:0 0 4px}.skm-verification-page .skm-verify__student p{font-size:14px}
.skm-verification-page .skm-verify__details{border-top:0}
.skm-verification-page .skm-verify__details>div{grid-template-columns:minmax(105px,38%) minmax(0,62%);min-height:40px;padding:7px 2px;gap:10px}
.skm-verification-page .skm-verify__details dt,.skm-verification-page .skm-verify__details dd{font-size:13px}
.skm-verification-page .skm-privacy-note{margin:10px 0 0;font-size:11px;line-height:1.35}
.skm-verification-page .skm-verify__back{width:100%;margin:10px 0 0;min-height:40px}
.skm-verification-page .skm-verify__error{margin:18px 0;text-align:center}

@media(max-width:700px){
  .skm-sidebar{width:min(82vw,260px)!important;padding:14px!important}
  .skm-nav{gap:3px;padding:12px 0}
  .skm-nav a{min-height:40px!important;max-height:48px;padding:7px 9px!important;font-size:13px}
  .skm-nav__icon{width:25px;height:25px;font-size:13px}
  .skm-top-tabs{padding:8px 10px!important;gap:6px}.skm-top-tabs a{min-height:34px;padding:6px 10px!important;font-size:11px!important}
  .skm-student-profile-hero{grid-template-columns:86px minmax(0,1fr);gap:13px;padding:14px}.skm-student-profile-avatar{width:86px;height:108px;border-radius:11px}.skm-student-profile-identity h2{font-size:22px}.skm-student-profile-stats{grid-template-columns:repeat(3,1fr);gap:7px}.skm-student-profile-stats article{padding:9px}.skm-student-profile-stats strong{font-size:19px}
  .skm-profile-detail-list>div,.skm-public-profile__details>div{grid-template-columns:42% 58%;gap:8px;padding:9px 0}.skm-profile-detail-list dt,.skm-profile-detail-list dd,.skm-public-profile__details dt,.skm-public-profile__details dd{font-size:12px}
  .skm-profile-training-summary{grid-template-columns:repeat(2,1fr)}
  .skm-profile-attendance-list article,.skm-profile-exam-list article,.skm-profile-certificate-list article{grid-template-columns:1fr auto;gap:8px}.skm-profile-attendance-list time{grid-column:1/-1}.skm-profile-certificate-list .skm-btn{grid-column:1/-1;width:100%}
  .skm-verification-page .skm-verify{padding:7px;align-items:flex-start}
  .skm-verification-page .skm-verify__card{padding:11px;border-radius:15px}
  .skm-verification-page .skm-verify__header{gap:10px;padding-bottom:9px;justify-content:flex-start}
  .skm-verification-page .skm-verify__logo{width:44px;height:44px}.skm-verification-page .skm-verify__icon{width:32px;height:32px;font-size:18px}
  .skm-verification-page .skm-verify__club{font-size:10px}.skm-verification-page .skm-verify h1{font-size:22px;line-height:1.05}
  .skm-verification-page .skm-verify__layout{grid-template-columns:1fr;gap:8px;padding-top:9px}
  .skm-verification-page .skm-verify__student{grid-template-columns:54px minmax(0,1fr);padding:8px}.skm-verification-page .skm-verify__student img{width:54px;height:66px}.skm-verification-page .skm-verify__student h2{font-size:17px}.skm-verification-page .skm-verify__student p{font-size:12px}
  .skm-verification-page .skm-verify__details>div{min-height:34px;padding:5px 1px;grid-template-columns:38% 62%}.skm-verification-page .skm-verify__details dt,.skm-verification-page .skm-verify__details dd{font-size:12px}
  .skm-verification-page .skm-privacy-note{margin:6px 0 0;font-size:10px}.skm-verification-page .skm-verify__back{min-height:36px;margin-top:7px;font-size:12px}
}


/* v2.3.2 — verification status moved to card footer */
.skm-verification-page .skm-verify__header{
  justify-content:flex-start;
}
.skm-verification-page .skm-verify__header .skm-verify__brand{
  flex:0 0 auto;
}
.skm-verification-page .skm-verify__subtitle{
  margin:2px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.35;
}
.skm-verification-page .skm-verify__status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:16px;
  padding:14px 16px 4px;
  border-top:1px solid #e2e8f0;
  text-align:left;
}
.skm-verification-page .skm-verify__status .skm-verify__icon{
  flex:0 0 auto;
  width:46px;
  height:46px;
  margin:0;
  font-size:25px;
}
.skm-verification-page .skm-verify__status span{
  display:block;
  margin:0 0 2px;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.skm-verification-page .skm-verify__status h1{
  margin:0;
  font-size:clamp(23px,3vw,32px);
  line-height:1.08;
  text-align:left;
}
.skm-verification-page .skm-verify__status.is-valid h1{color:#15803d}
.skm-verification-page .skm-verify__status.is-invalid h1{color:#b91c1c}

@media (max-width:640px){
  .skm-verification-page .skm-verify__header{
    gap:10px;
  }
  .skm-verification-page .skm-verify__subtitle{
    font-size:11px;
  }
  .skm-verification-page .skm-verify__status{
    gap:10px;
    margin-top:10px;
    padding:10px 6px 0;
  }
  .skm-verification-page .skm-verify__status .skm-verify__icon{
    width:38px;
    height:38px;
    font-size:21px;
  }
  .skm-verification-page .skm-verify__status span{
    font-size:9px;
  }
  .skm-verification-page .skm-verify__status h1{
    font-size:21px;
  }
}

/* v2.3.5 — finance overview and 3-month student trend */
.skm-chart-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.skm-chart-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--skm-muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}.skm-chart-legend i{width:10px;height:10px;border-radius:3px}.skm-chart-legend .is-income{background:#16a34a}.skm-chart-legend .is-expense{background:#ef4444}.skm-chart-legend .is-new-student{background:#2563eb}.skm-chart-legend .is-existing-student{background:#f59e0b}
.skm-finance-overview__filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.skm-finance-overview__filter label{min-width:190px}.skm-finance-kpis{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}.skm-finance-kpi{position:relative;padding:18px;background:#fff;border:1px solid var(--skm-border);border-radius:16px;box-shadow:0 10px 25px rgba(15,23,42,.05);overflow:hidden}.skm-finance-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#94a3b8}.skm-finance-kpi--income:before{background:#16a34a}.skm-finance-kpi--expense:before{background:#ef4444}.skm-finance-kpi--net:before{background:#2563eb}.skm-finance-kpi--count:before{background:#f59e0b}.skm-finance-kpi>small{display:block;color:var(--skm-muted);font-size:12px;font-weight:700}.skm-finance-kpi>strong{display:block;margin:7px 0 8px;color:var(--skm-text);font-size:clamp(22px,2vw,32px);line-height:1.05}.skm-finance-kpi>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.skm-finance-kpi>div span{padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}.skm-finance-kpi>div span.is-good{background:#dcfce7;color:#15803d}.skm-finance-kpi>div span.is-bad{background:#fee2e2;color:#b91c1c}.skm-finance-kpi>div span.is-flat{background:#f1f5f9;color:#475569}.skm-finance-kpi>div em{color:var(--skm-muted);font-size:11px;font-style:normal}.skm-finance-kpi>p{margin:8px 0 0;color:var(--skm-muted);font-size:11px}
.skm-finance-dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}.skm-finance-chart-card,.skm-finance-donut-card{min-width:0}.skm-cashflow-chart{display:grid;grid-template-columns:repeat(6,minmax(58px,1fr));align-items:end;gap:9px;height:260px;margin-top:16px;padding:18px 4px 0;border-bottom:1px solid var(--skm-border);overflow-x:auto}.skm-cashflow-chart__month{display:grid;grid-template-rows:1fr auto auto;gap:5px;min-width:58px;height:100%;text-align:center}.skm-cashflow-chart__bars{display:flex;align-items:end;justify-content:center;gap:5px;height:190px}.skm-cashflow-chart__bars i{display:block;width:16px;min-height:5px;border-radius:5px 5px 2px 2px;transition:height .25s ease}.skm-cashflow-chart__bars .is-income{background:linear-gradient(180deg,#22c55e,#15803d)}.skm-cashflow-chart__bars .is-expense{background:linear-gradient(180deg,#fb7185,#dc2626)}.skm-cashflow-chart__month>strong{font-size:11px}.skm-cashflow-chart__month>small{color:var(--skm-muted);font-size:9px;white-space:nowrap}
.skm-finance-donut-layout{display:grid;grid-template-columns:1fr;align-items:center;gap:18px;margin-top:16px}.skm-finance-donut{display:grid;place-items:center;width:190px;height:190px;margin:0 auto;border-radius:50%;background:conic-gradient(#16a34a 0 var(--income-share),#ef4444 var(--income-share) 100%);position:relative}.skm-finance-donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}.skm-finance-donut>div{position:relative;z-index:2;text-align:center}.skm-finance-donut strong{display:block;font-size:30px}.skm-finance-donut span{color:var(--skm-muted);font-size:11px}.skm-finance-ratio-list{display:grid;gap:0;margin:0}.skm-finance-ratio-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--skm-border)}.skm-finance-ratio-list>div:last-child{border-bottom:0}.skm-finance-ratio-list dt{color:var(--skm-muted)}.skm-finance-ratio-list dd{margin:0;font-weight:800;text-align:right}.skm-finance-ratio-list .is-positive dd{color:#15803d}.skm-finance-ratio-list .is-negative dd{color:#b91c1c}
.skm-finance-dashboard-grid--details{grid-template-columns:1fr}.skm-finance-bars{display:grid;gap:13px;margin-top:14px}.skm-finance-bars article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:end}.skm-finance-bars article>div strong,.skm-finance-bars article>div span{display:block}.skm-finance-bars article>div strong{font-size:13px}.skm-finance-bars article>div span{margin-top:2px;color:var(--skm-muted);font-size:10px}.skm-finance-bars article>b{font-size:12px;text-align:right}.skm-finance-bars article>i{grid-column:1/-1;display:block;height:7px;border-radius:999px;background:#eef2f7;overflow:hidden}.skm-finance-bars article>i span{display:block;height:100%;border-radius:inherit}.skm-finance-bars .is-income{background:#16a34a}.skm-finance-bars .is-expense{background:#ef4444}.skm-finance-bars .is-neutral{background:#3b82f6}
.skm-finance-branch-table{display:grid;margin-top:14px}.skm-finance-branch-table>div{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(3,minmax(90px,1fr));gap:10px;padding:10px 0;border-bottom:1px solid var(--skm-border);align-items:center}.skm-finance-branch-table__head{color:var(--skm-muted);font-size:10px;font-weight:800;text-transform:uppercase}.skm-finance-branch-table span,.skm-finance-branch-table b{font-size:11px;text-align:right}.skm-finance-branch-table>div>*:first-child{text-align:left}.skm-finance-branch-table .is-income{color:#15803d}.skm-finance-branch-table .is-expense{color:#b91c1c}.skm-finance-branch-table .is-positive{color:#15803d}.skm-finance-branch-table .is-negative{color:#b91c1c}
.skm-finance-recent{margin-top:16px}.skm-finance-recent-list{display:grid;margin-top:12px}.skm-finance-recent-list article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--skm-border)}.skm-finance-recent-list article:last-child{border-bottom:0}.skm-finance-recent-list time{display:grid;place-items:center;min-height:34px;border-radius:8px;background:var(--skm-bg);font-size:11px;font-weight:800}.skm-finance-recent-list strong,.skm-finance-recent-list small{display:block}.skm-finance-recent-list small{margin-top:3px;color:var(--skm-muted);font-size:10px}.skm-finance-recent-list b{font-size:12px;white-space:nowrap}.skm-finance-recent-list b.is-income{color:#15803d}.skm-finance-recent-list b.is-expense{color:#b91c1c}
.skm-student-trend-card{margin:18px 0}.skm-student-trend-chart{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:18px;align-items:end;height:250px;margin-top:16px;padding:18px 18px 0;border-bottom:1px solid var(--skm-border)}.skm-student-trend-chart article{display:grid;grid-template-rows:auto 1fr auto auto;gap:5px;height:100%;text-align:center}.skm-student-trend-chart__values{display:flex;justify-content:center;gap:18px}.skm-student-trend-chart__values span{min-width:28px;font-size:12px;font-weight:800}.skm-student-trend-chart__bars{display:flex;align-items:end;justify-content:center;gap:9px;height:170px}.skm-student-trend-chart__bars i{display:block;width:28px;min-height:7px;border-radius:7px 7px 2px 2px}.skm-student-trend-chart__bars .is-new-student{background:linear-gradient(180deg,#60a5fa,#2563eb)}.skm-student-trend-chart__bars .is-existing-student{background:linear-gradient(180deg,#fbbf24,#d97706)}.skm-student-trend-chart article>strong{font-size:12px}.skm-student-trend-chart article>small{color:var(--skm-muted);font-size:10px}.skm-chart-note{margin:10px 0 0;color:var(--skm-muted);font-size:10px;text-align:center}
@media(min-width:700px){.skm-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-finance-donut-layout{grid-template-columns:210px 1fr}.skm-finance-dashboard-grid--details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.skm-finance-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.skm-finance-dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr)}}
@media(max-width:640px){.skm-finance-overview__head .skm-toolbar-actions,.skm-finance-overview__filter{width:100%}.skm-finance-overview__filter{display:grid;grid-template-columns:1fr}.skm-finance-overview__filter label{min-width:0}.skm-cashflow-chart{gap:6px;height:220px;padding-left:0;padding-right:0}.skm-cashflow-chart__bars{height:150px}.skm-cashflow-chart__bars i{width:12px}.skm-finance-donut{width:160px;height:160px}.skm-finance-donut:after{inset:23px}.skm-finance-branch-table{overflow-x:auto}.skm-finance-branch-table>div{min-width:520px}.skm-finance-recent-list article{grid-template-columns:38px minmax(0,1fr)}.skm-finance-recent-list article>b{grid-column:2;text-align:left}.skm-student-trend-chart{gap:8px;height:215px;padding:12px 4px 0}.skm-student-trend-chart__bars{height:140px}.skm-student-trend-chart__bars i{width:20px}.skm-student-trend-chart__values{gap:9px}}

/* v2.3.5 final responsive audit, student selection and permissions */
.skm-shell{
  width:100%!important;
  max-width:1920px;
  left:auto!important;
  transform:none!important;
  margin:0 auto!important;
  padding-inline:10px;
  box-sizing:border-box;
}
.skm-app,.skm-main,.skm-content{min-width:0;max-width:100%}
.skm-app{overflow:hidden}
.skm-content{overflow-x:hidden}
.skm-nav{grid-auto-rows:min-content!important;align-content:start!important;flex:0 0 auto!important}
.skm-nav a{flex:none!important;height:auto!important;min-height:42px!important;max-height:none!important}
.skm-user-card{margin-top:auto}

.skm-student-bulk-form{display:block}
.skm-student-bulk-toolbar{
  position:sticky;
  top:8px;
  z-index:20;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 16px;
  padding:11px 13px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.skm-student-select-all{margin:0!important;white-space:nowrap}
.skm-student-selected-count{color:var(--skm-muted);font-size:12px;white-space:nowrap}
.skm-student-selected-count strong{color:var(--skm-text);font-size:14px}
.skm-student-bulk-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-left:auto}
.skm-student-card{position:relative;min-width:0;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.skm-student-card.is-selected{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12),0 12px 28px rgba(15,23,42,.08)}
.skm-student-selector{position:absolute;top:11px;right:11px;z-index:3;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#fff;border:1px solid var(--skm-border);box-shadow:0 4px 12px rgba(15,23,42,.08);cursor:pointer}
.skm-student-selector input{position:absolute;opacity:0;pointer-events:none}
.skm-student-selector span{display:grid;place-items:center;width:18px;height:18px;border:1.5px solid #94a3b8;border-radius:5px;background:#fff}
.skm-student-selector input:checked+span{border-color:#2563eb;background:#2563eb}
.skm-student-selector input:checked+span:after{content:"✓";color:#fff;font-size:12px;font-weight:900;line-height:1}
.skm-student-card__head>div{min-width:0;padding-right:34px}
.skm-student-card h2{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.skm-card-actions .skm-btn{white-space:nowrap}

.skm-permission-warning{margin-bottom:14px}
.skm-permissions-table-wrap{width:100%;overflow:auto;border:1px solid var(--skm-border);border-radius:12px;background:#fff}
.skm-permissions-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}
.skm-permissions-table th,.skm-permissions-table td{padding:11px 12px;border-right:1px solid var(--skm-border);border-bottom:1px solid var(--skm-border);text-align:center;vertical-align:middle}
.skm-permissions-table tr>*:last-child{border-right:0}
.skm-permissions-table tbody tr:last-child>*{border-bottom:0}
.skm-permissions-table thead th{position:sticky;top:0;z-index:4;background:#f8fafc;color:#334155;font-size:12px;font-weight:800}
.skm-permissions-table thead th:first-child,.skm-permissions-table tbody th[scope="row"]{position:sticky;left:0;z-index:3;text-align:left;background:#fff;min-width:300px}
.skm-permissions-table thead th:first-child{z-index:5;background:#f8fafc}
.skm-permissions-table tbody th[scope="row"] strong,.skm-permissions-table tbody th[scope="row"] small{display:block}
.skm-permissions-table tbody th[scope="row"] strong{font-size:13px;color:#0f172a}
.skm-permissions-table tbody th[scope="row"] small{margin-top:3px;color:var(--skm-muted);font-size:10px;font-weight:500;line-height:1.35}
.skm-permissions-group th{position:static!important;padding:8px 12px!important;background:#eef4ff!important;color:#1d4ed8!important;text-align:left!important;font-size:11px!important;letter-spacing:.05em;text-transform:uppercase}
.skm-permissions-table td.is-fixed{background:#f0fdf4}
.skm-permissions-table td.is-locked{background:#f8fafc}
.skm-permission-check{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;font-weight:900}
.skm-permission-check.is-checked{background:#dcfce7;color:#15803d}
.skm-permission-check.is-disabled{background:#f1f5f9;color:#94a3b8}
.skm-permission-toggle{display:inline-grid;place-items:center;cursor:pointer}
.skm-permission-toggle input{position:absolute;opacity:0}
.skm-permission-toggle span{position:relative;width:42px;height:24px;border-radius:999px;background:#cbd5e1;transition:.18s}
.skm-permission-toggle span:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.22);transition:.18s}
.skm-permission-toggle input:checked+span{background:#22c55e}
.skm-permission-toggle input:checked+span:after{transform:translateX(18px)}
.skm-permission-toggle input:focus-visible+span{outline:3px solid rgba(59,130,246,.25);outline-offset:2px}
.skm-permission-toggle input:disabled+span{opacity:.75;cursor:not-allowed}
.skm-permissions-actions{margin-top:14px}

@media (min-width:1024px){
  .skm-student-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important}
}

@media (max-width:782px){
  html,body{max-width:100%;overflow-x:hidden}
  .skm-shell{padding-inline:0!important}
  .skm-app{border-radius:0!important;min-height:100dvh}
  .skm-sidebar{width:min(82vw,264px)!important;padding:13px!important}
  .skm-brand{padding-bottom:13px}
  .skm-nav{gap:3px!important;padding:10px 0!important;overflow-y:auto}
  .skm-nav a{min-height:40px!important;padding:7px 9px!important;font-size:13px!important;border-radius:9px!important}
  .skm-user-card{padding-top:12px}
  .skm-mobile-topbar{min-height:54px;padding:8px 12px}
  .skm-mobile-topbar strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .skm-top-tabs{display:flex!important;flex-wrap:nowrap!important;max-width:100%;overflow-x:auto!important;padding:8px 10px!important;gap:6px!important;scroll-snap-type:x proximity}
  .skm-top-tabs a{scroll-snap-align:start;min-height:34px!important;padding:6px 10px!important;font-size:11px!important;white-space:nowrap}
  .skm-content{padding:14px!important}
  .skm-section-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .skm-section-head h1,.skm-section-head h2{font-size:28px!important;overflow-wrap:anywhere}
  .skm-section-head>.skm-btn,.skm-section-head>.skm-toolbar-actions{width:100%}
  .skm-toolbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .skm-toolbar-actions .skm-btn{width:100%;justify-content:center}
  .skm-filter{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
  .skm-filter label,.skm-filter__search{min-width:0!important;width:100%!important;grid-column:auto!important}
  .skm-filter .skm-btn{width:100%}
  .skm-card-grid,.skm-student-grid,.skm-attendance-grid,.skm-fee-grid,.skm-exam-grid,.skm-certificate-list,.skm-grid-2,.skm-split{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .skm-student-card{padding:13px!important}
  .skm-student-card__head{grid-template-columns:70px minmax(0,1fr)!important;gap:11px!important}
  .skm-student-card__head img{width:70px!important;height:90px!important}
  .skm-student-card h2{font-size:18px!important;line-height:1.2!important;margin:3px 0 5px!important;padding-right:0}
  .skm-meta-list--two-columns{grid-template-columns:minmax(0,1fr)!important;column-gap:0!important}
  .skm-meta-list--two-columns>div{display:grid!important;grid-template-columns:minmax(105px,.8fr) 1.2fr!important;gap:8px!important;padding:7px 0!important}
  .skm-meta-list--two-columns dt{margin:0!important;font-size:11px!important}
  .skm-meta-list--two-columns dd{text-align:right!important;font-size:12px!important}
  .skm-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
  .skm-card-actions .skm-btn{width:100%!important;min-width:0;justify-content:center;white-space:normal}
  .skm-student-bulk-toolbar{position:static;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px}
  .skm-student-bulk-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-left:0}
  .skm-student-bulk-actions .skm-btn{width:100%;white-space:normal}
  .skm-student-selector{top:9px;right:9px;width:29px;height:29px}
  .skm-form-grid,.skm-fee-fields,.skm-score-grid,.skm-certificate-meta-form{grid-template-columns:minmax(0,1fr)!important}
  .skm-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .skm-table{min-width:720px}
  .skm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .skm-finance-kpis,.skm-finance-dashboard-grid,.skm-finance-dashboard-grid--details{grid-template-columns:minmax(0,1fr)!important}
  .skm-student-trend-chart{overflow-x:auto;grid-template-columns:repeat(3,minmax(100px,1fr));padding-inline:4px}
  .skm-permissions-form{padding:10px!important}
  .skm-permissions-table{min-width:760px}
  .skm-permissions-table thead th:first-child,.skm-permissions-table tbody th[scope="row"]{min-width:245px}
  .skm-permissions-actions{position:static!important;display:grid!important;grid-template-columns:1fr!important}
  .skm-permissions-actions .skm-btn{width:100%}
}

@media (max-width:420px){
  .skm-content{padding:11px!important}
  .skm-section-head h1,.skm-section-head h2{font-size:25px!important}
  .skm-toolbar-actions,.skm-card-actions,.skm-student-bulk-actions{grid-template-columns:minmax(0,1fr)!important}
  .skm-metrics{grid-template-columns:minmax(0,1fr)!important}
  .skm-meta-list--two-columns>div{grid-template-columns:1fr!important;gap:3px!important}
  .skm-meta-list--two-columns dd{text-align:left!important}
}

/* v2.3.5 authentication fixes */
.skm-auth__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.skm-auth__options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px;font-size:13px}
.skm-auth__options>a,.skm-auth__help>a{color:#2563eb;font-weight:700}
.skm-auth__options>a:hover,.skm-auth__help>a:hover{text-decoration:underline}
.skm-password-requirements{margin:-4px 0 12px!important;font-size:12px!important;line-height:1.45;color:var(--skm-muted)!important}
@media(max-width:520px){.skm-auth__options{align-items:flex-start;flex-direction:column}.skm-auth__actions .skm-btn{width:100%}}


/* v2.3.6 avatar cropper */
.skm-avatar-preview-frame{position:relative;width:120px;aspect-ratio:3/4;margin:0 auto 10px;border:1px solid var(--skm-border);border-radius:14px;overflow:hidden;background:#f8fafc;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.skm-avatar-preview-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.skm-avatar-preview-frame span{position:absolute;right:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(15,23,42,.76);color:#fff;font-size:9px;font-weight:700;letter-spacing:.03em}
.skm-avatar-upload>[data-skm-avatar-edit]{width:100%;margin-top:7px}
.skm-crop-open{overflow:hidden!important}
.skm-avatar-crop-modal[hidden]{display:none!important}
.skm-avatar-crop-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:14px;opacity:0;transition:opacity .18s ease}
.skm-avatar-crop-modal.is-open{opacity:1}
.skm-avatar-crop-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.78);backdrop-filter:blur(4px)}
.skm-avatar-crop-dialog{position:relative;z-index:1;width:min(94vw,720px);max-height:94vh;display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.34)}
.skm-avatar-crop-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--skm-border)}
.skm-avatar-crop-dialog>header span{display:block;color:var(--skm-red);font-size:10px;font-weight:800;letter-spacing:.14em}
.skm-avatar-crop-dialog>header h2{margin:2px 0 0;font-size:21px}
.skm-avatar-crop-close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;font-size:25px;line-height:1;cursor:pointer}
.skm-avatar-crop-workspace{position:relative;display:grid;place-items:center;min-height:0;padding:14px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);overflow:auto}
#skm-avatar-crop-canvas{display:block;width:auto;height:min(56vh,560px);max-width:100%;aspect-ratio:3/4;background:#fff;cursor:grab;touch-action:none;box-shadow:0 12px 34px rgba(15,23,42,.2)}
#skm-avatar-crop-canvas.is-dragging{cursor:grabbing}
.skm-avatar-crop-guide{position:absolute;left:50%;top:50%;width:auto;height:min(56vh,560px);max-width:calc(100% - 28px);aspect-ratio:3/4;transform:translate(-50%,-50%);pointer-events:none;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px rgba(15,23,42,.18) inset}
.skm-avatar-crop-guide:before,.skm-avatar-crop-guide:after,.skm-avatar-crop-guide span:before,.skm-avatar-crop-guide span:after{content:"";position:absolute;background:rgba(255,255,255,.55)}
.skm-avatar-crop-guide:before{left:33.333%;top:0;bottom:0;width:1px}.skm-avatar-crop-guide:after{left:66.666%;top:0;bottom:0;width:1px}.skm-avatar-crop-guide span:before{top:33.333%;left:0;right:0;height:1px}.skm-avatar-crop-guide span:after{top:66.666%;left:0;right:0;height:1px}
.skm-avatar-crop-controls{display:grid;gap:12px;padding:14px 18px;border-top:1px solid var(--skm-border)}
.skm-avatar-crop-controls label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;font-size:13px;font-weight:700}
.skm-avatar-crop-controls input[type=range]{width:100%;accent-color:var(--skm-red)}
.skm-avatar-crop-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.skm-avatar-crop-dialog>footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 18px;background:#f8fafc;border-top:1px solid var(--skm-border)}
@media(max-width:640px){
  .skm-avatar-crop-modal{padding:0}
  .skm-avatar-crop-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .skm-avatar-crop-dialog>header{padding:12px 14px}
  .skm-avatar-crop-workspace{flex:1;padding:10px}
  #skm-avatar-crop-canvas,.skm-avatar-crop-guide{height:min(54vh,500px)}
  .skm-avatar-crop-controls{padding:12px 14px}.skm-avatar-crop-controls label{grid-template-columns:72px 1fr}
  .skm-avatar-crop-dialog>footer{padding:11px 14px}.skm-avatar-crop-dialog>footer .skm-btn{flex:1}
}

/* v2.4.0 attendance and inventory refinements */
.skm-attendance-clear{border:0;background:transparent;color:#6b7280;font-size:12px;cursor:pointer;padding:4px 0}.skm-attendance-card[data-status="unmarked"]{border-style:dashed;opacity:.92}.skm-attendance-day-view small{display:block;color:#6b7280}.skm-inventory-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.skm-inventory-tabs a{padding:9px 14px;border-radius:999px;background:#eef2f7;text-decoration:none;font-weight:700}.skm-inventory-tabs a.is-active{background:#0b2545;color:#fff}.skm-training-asset-row{background:#fffaf0}.skm-inventory-variant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:700px){.skm-inventory-variant-grid{grid-template-columns:1fr 1fr}.skm-attendance-day-view{padding:14px}.skm-inventory-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}}

/* v2.4.1 student archive, fee quick-pay and responsive hardening */
.skm-standalone-page{margin:0;overflow-x:hidden;background:#eef3f9}
.skm-system-page,.skm-shell,.skm-app,.skm-main,.skm-content,.skm-card,.skm-student-card,.skm-fee-card,.skm-filter,.skm-fee-quick-form{min-width:0;max-width:100%}
.skm-shell{width:min(100%,1920px)!important;left:auto!important;transform:none!important;margin:0 auto!important}
.skm-content input,.skm-content select,.skm-content textarea{min-width:0;max-width:100%}

.skm-student-status-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;padding:2px 1px 6px;scrollbar-width:thin}
.skm-student-status-tabs a{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;min-height:42px;padding:8px 12px;border:1px solid var(--skm-border);border-radius:12px;background:#fff;color:var(--skm-text);font-size:12px;font-weight:750;box-shadow:0 5px 15px rgba(15,23,42,.04)}
.skm-student-status-tabs a strong{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#eef2f7;color:#334155;font-size:12px}
.skm-student-status-tabs a.is-active{border-color:#ef4444;background:#fff1f2;color:#be123c}
.skm-student-status-tabs a.is-active strong{background:#ef4444;color:#fff}
.skm-student-card.is-archived,.skm-student-profile-hero.is-archived{background:#f8fafc;border-style:dashed;filter:saturate(.72)}
.skm-student-card.is-archived .skm-student-card__head img{opacity:.78}
.skm-archive-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#991b1b;font-size:12px}
.skm-archive-summary strong,.skm-archive-summary span{display:block}

.skm-fee-grid{align-items:start}
.skm-fee-card{overflow:hidden;min-width:0;padding:16px!important}
.skm-fee-card .skm-person{align-items:flex-start;min-width:0}
.skm-fee-card .skm-person>div{min-width:0}
.skm-fee-card .skm-person strong{font-size:18px;line-height:1.2;overflow-wrap:anywhere}
.skm-fee-card .skm-person img{display:block;overflow:hidden;color:transparent;font-size:0}
.skm-fee-quick-form{display:grid;gap:11px;padding-top:2px}
.skm-fee-quick-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.skm-fee-quick-form label{display:grid;gap:6px;color:#363a41;font-size:12px;font-weight:700}
.skm-fee-quick-form input[type=number],.skm-fee-quick-form select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--skm-text);font:inherit;font-size:15px;outline:none}
.skm-fee-quick-form input[readonly]{background:#f8fafc;color:#0f172a;cursor:default}
.skm-fee-quick-form input.is-editable{border-color:#ef4444;background:#fff}
.skm-fee-quick-form input:focus,.skm-fee-quick-form select:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.skm-fee-quick-form .skm-fee-waiver{display:flex!important;min-height:48px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.skm-fee-quick-form.is-waived .skm-fee-waiver{border-color:#f59e0b;background:#fffbeb;color:#92400e}
.skm-fee-readonly{display:grid;gap:0;margin:0;padding:0;border:1px solid var(--skm-border);border-radius:10px;overflow:hidden}
.skm-fee-readonly>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--skm-border)}
.skm-fee-readonly>div:last-child{border-bottom:0}
.skm-fee-readonly dt{color:var(--skm-muted);font-size:12px}.skm-fee-readonly dd{margin:0;text-align:right;font-size:13px;font-weight:750}

@media (min-width:1180px){
  .skm-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:782px){
  .skm-shell{padding:0!important}
  .skm-app{border-left:0;border-right:0;border-radius:0!important}
  .skm-content{width:100%;padding:12px!important;overflow:hidden}
  .skm-section-head{gap:10px;margin-bottom:13px}
  .skm-section-head h1,.skm-section-head h2{font-size:27px!important;line-height:1.12!important}
  .skm-section-head p{font-size:13px}
  .skm-student-status-tabs{margin-inline:-1px}
  .skm-student-bulk-toolbar{grid-template-columns:minmax(0,1fr)!important}
  .skm-student-selected-count{justify-self:start}
  .skm-fee-quick-fields{grid-template-columns:minmax(0,1fr)}
  .skm-fee-card{padding:13px!important;border-radius:14px}
  .skm-fee-card .skm-person--large img{width:58px;height:74px}
  .skm-fee-card .skm-person strong{font-size:17px}
  .skm-debt-box{padding:10px}
  .skm-filter{overflow:hidden}
}
@media (max-width:420px){
  .skm-content{padding:9px!important}
  .skm-card,.skm-student-card,.skm-fee-card{border-radius:12px!important}
  .skm-student-status-tabs a{padding:7px 10px;font-size:11px}
  .skm-student-bulk-actions{grid-template-columns:minmax(0,1fr)!important}
  .skm-archive-summary{align-items:flex-start;flex-direction:column;gap:3px}
}


/* v2.4.4 student portal, class-off and student cards */
.skm-dashboard-greeting{margin:0 0 14px;padding:14px 18px;border-radius:14px;background:#fff;border:1px solid #e8edf3;font-size:18px;font-weight:800;color:#102849}
.skm-class-off-panel{display:flex;align-items:flex-start;gap:20px;margin-bottom:16px}.skm-class-off-toggle{display:flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.skm-class-off-toggle input{width:20px;height:20px}.skm-class-off-reason{flex:1}.skm-class-off-reason label{display:grid;gap:6px;font-weight:700}.skm-class-off-reason textarea{min-height:72px}.skm-class-off-reason p{margin:6px 0 0;color:#667085;font-size:13px}
.skm-student-portal{max-width:1180px;margin:auto;padding:24px}.skm-student-portal-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.skm-student-portal-head img{width:56px;height:56px;object-fit:contain}.skm-student-portal-head div{flex:1}.skm-student-portal-head span{font-size:12px;letter-spacing:.12em;color:#667085}.skm-student-portal-head h1{margin:2px 0 0}.skm-student-identity{display:flex;align-items:center;gap:18px}.skm-student-identity>img{width:90px;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.skm-compact-list{display:grid;gap:8px}.skm-compact-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0f4}
.skm-card-page{margin:0;background:#eef2f6;font-family:Arial,sans-serif}.skm-student-card-print{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:15px;padding:20px}.skm-id-card{width:85.6mm;height:54mm;box-sizing:border-box;background:#fff;border-radius:4mm;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.18);border:1px solid #d7b96e}.skm-id-card header{height:12mm;background:#07182f;color:#fff;display:flex;align-items:center;gap:3mm;padding:0 4mm}.skm-id-card header img{width:9mm;height:9mm;object-fit:contain}.skm-id-card header strong,.skm-id-card header small{display:block}.skm-id-card main{height:34mm;display:flex;gap:4mm;padding:3mm 4mm;box-sizing:border-box}.skm-id-photo{width:21mm;height:28mm;object-fit:cover;border-radius:2mm}.skm-id-card h1{font-size:4.1mm;margin:0 0 1.5mm;color:#07182f}.skm-id-card dl{display:grid;grid-template-columns:22mm 1fr;margin:0;font-size:2.5mm;line-height:1.5}.skm-id-card dt{color:#667085}.skm-id-card dd{margin:0;font-weight:700}.skm-id-card footer{height:8mm;background:#f5efe1;display:flex;align-items:center;justify-content:space-between;padding:0 4mm;font-size:2.4mm}.skm-id-card footer [data-skm-qr]{width:7mm;height:7mm}.skm-id-card footer canvas,.skm-id-card footer img{width:7mm!important;height:7mm!important}.skm-card-valid{font-weight:800}.skm-card-valid.is-valid{color:#16803a}.skm-card-valid.is-invalid{color:#b42318}
@media(max-width:700px){.skm-class-off-panel{display:grid;gap:10px}.skm-student-portal{padding:12px}.skm-student-portal-head{align-items:flex-start;flex-wrap:wrap}.skm-student-portal-head .skm-btn{width:100%}.skm-student-identity{align-items:flex-start}.skm-compact-list>div{font-size:14px}.skm-id-card{transform-origin:center;transform:scale(.9)}}
@media print{.skm-card-page{background:#fff}.skm-student-card-print{padding:0;min-height:0}.skm-student-card-print>.skm-btn,.skm-card-valid{display:none}.skm-id-card{box-shadow:none}}

/* v2.4.4 account repair and student login tools */
.skm-account-sync{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr);gap:18px;align-items:center}
.skm-account-sync__intro h2{margin:0 0 5px}.skm-account-sync__intro p{margin:0;color:var(--skm-muted);line-height:1.55}
.skm-account-sync__actions{display:grid;grid-template-columns:max-content minmax(300px,1fr);gap:12px;align-items:end}
.skm-account-sync__actions>form{margin:0}
.skm-account-reset{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:9px;align-items:end}
.skm-account-reset label{display:grid;gap:6px;margin:0}.skm-account-reset label span{font-size:12px;font-weight:750;color:var(--skm-muted)}
.skm-account-reset select{width:100%;min-width:0}
@media(max-width:980px){.skm-account-sync,.skm-account-sync__actions{grid-template-columns:minmax(0,1fr)}.skm-account-sync__actions>form:first-child .skm-btn{width:100%}}
@media(max-width:580px){.skm-account-reset{grid-template-columns:minmax(0,1fr)}.skm-account-reset .skm-btn{width:100%}}

/* v2.4.5 — thẻ CR80 có vùng an toàn 5px và nút tải ảnh */
.skm-id-card{
  width:85.6mm;
  height:54mm;
  box-sizing:border-box;
  padding:5px;
  border:1px solid #d7b96e;
  border-radius:5px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.18)
}
.skm-id-card__inner{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:11mm minmax(0,1fr) 7mm;
  overflow:hidden;
  border-radius:3px;
  background:#fff
}
.skm-id-card__inner header{
  height:auto;
  min-width:0;
  padding:0 3mm;
  gap:2.6mm
}
.skm-id-card__inner header img{width:8mm;height:8mm}
.skm-id-card__inner main{
  height:auto;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:20mm minmax(0,1fr);
  align-items:center;
  gap:3mm;
  padding:2mm 3mm;
  overflow:hidden
}
.skm-id-photo{width:20mm;height:26.5mm;border-radius:5px}
.skm-id-card__details{min-width:0;overflow:hidden}
.skm-id-card__inner h1{
  max-width:100%;
  margin:0 0 1.2mm;
  font-size:3.85mm;
  line-height:1.08;
  overflow-wrap:anywhere
}
.skm-id-card__inner dl{
  grid-template-columns:20mm minmax(0,1fr);
  gap:.35mm 1.2mm;
  font-size:2.3mm;
  line-height:1.28
}
.skm-id-card__inner dd{min-width:0;overflow-wrap:anywhere}
.skm-id-card__inner footer{
  height:auto;
  min-width:0;
  padding:0 3mm;
  font-size:2.2mm
}
.skm-id-card__inner footer [data-skm-qr]{width:6mm;height:6mm;flex:0 0 6mm}
.skm-id-card__inner footer canvas,.skm-id-card__inner footer img,.skm-id-card__inner footer svg{width:6mm!important;height:6mm!important;display:block}
.skm-card-download-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.skm-card-download-actions .skm-btn{min-width:132px}
[data-skm-download-image][aria-busy="true"]{cursor:wait;opacity:.72}
@media(max-width:700px){
  .skm-student-card-print{padding:14px 8px}
  .skm-card-download-actions{width:min(100%,340px)}
  .skm-card-download-actions .skm-btn{flex:1 1 140px}
}
@media print{
  .skm-card-download-actions{display:none!important}
  .skm-id-card{padding:5px!important;border-radius:5px!important;box-shadow:none!important}
}

/* v2.4.6 — Lịch sử thu học phí và thao tác hủy ghi nhận */
.skm-fee-payment-history{display:grid;gap:8px;padding:11px;border:1px solid #fecaca;border-radius:11px;background:#fff7f7;min-width:0}
.skm-fee-payment-history__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.skm-fee-payment-history__head strong,.skm-fee-payment-history__head small{display:block}
.skm-fee-payment-history__head strong{font-size:12px;color:#7f1d1d}
.skm-fee-payment-history__head small{font-size:10px;color:#9f1239;text-align:right}
.skm-fee-payment-history>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:8px;border-top:1px dashed #fecaca}
.skm-fee-payment-history>article>div{min-width:0}
.skm-fee-payment-history>article strong,.skm-fee-payment-history>article small{display:block}
.skm-fee-payment-history>article strong{font-size:13px;color:#111827}
.skm-fee-payment-history>article small{margin-top:2px;color:#64748b;font-size:10px;overflow-wrap:anywhere}
.skm-fee-payment-history--waiver{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:#fde68a;background:#fffbeb}
.skm-fee-payment-history--waiver strong,.skm-fee-payment-history--waiver small{display:block}
.skm-fee-payment-history--waiver strong{font-size:12px;color:#92400e}
.skm-fee-payment-history--waiver small{margin-top:2px;color:#a16207;font-size:10px}
@media(max-width:560px){
  .skm-fee-payment-history__head{display:grid}
  .skm-fee-payment-history__head small{text-align:left}
  .skm-fee-payment-history>article,.skm-fee-payment-history--waiver{grid-template-columns:minmax(0,1fr)}
  .skm-fee-payment-history .skm-btn{width:100%}
}


/* v2.4.7 — Chính sách học phí trọn tháng */
.skm-fee-policy {
  margin: 0 0 16px;
}
.skm-person em {
  display: block;
  margin-top: 3px;
  color: #756b5f;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}
@media (max-width: 640px) {
  .skm-fee-policy {
    font-size: 13px;
    line-height: 1.45;
  }
}

.skm-alert--info{background:#eef6ff;color:#174b7a;border:1px solid #c9def2}

/* v2.5.0 — business rules, audit controls and responsive stability */
.skm-month-lock-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:13px 16px}
.skm-month-lock-bar>div{min-width:0}.skm-month-lock-bar strong,.skm-month-lock-bar small{display:block}.skm-month-lock-bar small{margin-top:3px;color:var(--skm-muted);line-height:1.4}
.skm-month-lock-bar.is-locked{border-color:#fecaca;background:#fff7f7}.skm-month-lock-bar.is-locked strong{color:#991b1b}
.skm-month-lock-bar .skm-inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.skm-month-lock-bar input{min-width:220px}
.skm-row-actions{position:relative;min-width:92px}.skm-row-actions>summary{list-style:none;cursor:pointer}.skm-row-actions>summary::-webkit-details-marker{display:none}
.skm-row-actions[open]{z-index:5}.skm-mini-form{display:grid;gap:8px;width:min(310px,80vw);margin-top:8px;padding:10px;border:1px solid var(--skm-border);border-radius:12px;background:#fff;box-shadow:0 16px 35px rgba(15,23,42,.13)}
.skm-mini-form label{display:grid;gap:4px;font-size:11px;font-weight:750}.skm-mini-form input,.skm-mini-form textarea,.skm-mini-form select{width:100%;min-width:0}
.skm-finance-accounting-note{margin:14px 0;background:linear-gradient(135deg,#f8fbff,#fff)}.skm-finance-accounting-note span{font-size:10px;font-weight:850;letter-spacing:.13em;color:#64748b}.skm-finance-accounting-note h2{margin:5px 0;color:#0b2545}.skm-finance-accounting-note p{margin:0;color:var(--skm-muted);line-height:1.55}
.skm-exam-eligibility{display:grid;gap:3px;padding:10px 12px;border-radius:11px;border:1px solid #bfdbfe;background:#eff6ff;font-size:12px}.skm-exam-eligibility strong{color:#1d4ed8}.skm-exam-eligibility span,.skm-exam-eligibility small{color:#475569}.skm-exam-eligibility.is-not-eligible{border-color:#fed7aa;background:#fff7ed}.skm-exam-eligibility.is-not-eligible strong{color:#c2410c}
.skm-exam-exception{padding:10px 12px;border:1px dashed #f59e0b;border-radius:11px;background:#fffbeb}.skm-exam-exception summary{cursor:pointer;font-weight:800;color:#92400e}.skm-exam-exception[open]{display:grid;gap:9px}.skm-exam-exception textarea{width:100%;min-width:0}
.skm-fee-waiver-details{display:grid;gap:8px;padding:10px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb}.skm-fee-waiver-details[hidden]{display:none!important}.skm-fee-quick-form.is-waived [data-skm-fee-due],.skm-fee-quick-form.is-waived [data-skm-fee-cycle]{opacity:.55}
.skm-lookup-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:10px;align-items:end}.skm-lookup-form label{display:grid;gap:6px}.skm-lookup-form input{width:100%;min-width:0}
.skm-form-grid__wide{grid-column:1/-1}.skm-inline-form input[name="reason"],.skm-inline-form input[name="bulk_reason"]{min-width:170px}
.skm-row-void{opacity:.64;text-decoration:none}.skm-row-void td:not(:last-child){text-decoration:line-through}
.skm-table td,.skm-table th{overflow-wrap:anywhere}.skm-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.skm-student-bulk-toolbar input[name="bulk_reason"]{width:min(100%,360px)}
@media(max-width:900px){
  .skm-month-lock-bar{align-items:stretch;flex-direction:column}.skm-month-lock-bar .skm-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.skm-month-lock-bar input{min-width:0}
  .skm-lookup-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.skm-lookup-form .skm-btn{grid-column:1/-1}
}
@media(max-width:620px){
  .skm-month-lock-bar .skm-inline-form,.skm-lookup-form{grid-template-columns:minmax(0,1fr)}.skm-month-lock-bar .skm-btn,.skm-lookup-form .skm-btn{width:100%;grid-column:auto}
  .skm-exam-card,.skm-student-card,.skm-fee-card{overflow:hidden}.skm-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .skm-belt-transition{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}.skm-belt-transition select{width:100%;min-width:0}
  .skm-inline-form input[name="reason"],.skm-inline-form input[name="bulk_reason"]{min-width:0;width:100%}
}

/* v2.5.0 – Cổng phụ huynh nhiều võ sinh */
.skm-child-switcher{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin:0 0 12px;scrollbar-width:thin}
.skm-child-switcher a{display:flex;flex:0 0 auto;flex-direction:column;gap:2px;min-width:150px;padding:10px 12px;border:1px solid var(--skm-border,#d9dee7);border-radius:10px;background:#fff;color:inherit;text-decoration:none}
.skm-child-switcher a.is-active{border-color:#b18a3b;box-shadow:0 0 0 2px rgba(177,138,59,.14)}
.skm-child-switcher strong,.skm-child-switcher a{font-weight:700}
.skm-child-switcher small{font-size:12px;font-weight:500;opacity:.72}
@media(max-width:600px){.skm-child-switcher{margin-inline:-2px}.skm-child-switcher a{min-width:135px;padding:9px 10px}.skm-student-portal-head{align-items:flex-start;gap:10px}.skm-student-portal-head .skm-btn{min-height:36px;padding:8px 10px}}

/* v2.5.3 — UX tra cứu, quản lý thẻ, cảnh báo dữ liệu và lỗi biểu mẫu */
.skm-form-error{grid-column:1/-1;margin:0 0 4px!important;white-space:normal}
.skm-form label.has-error>input,.skm-form label.has-error>select,.skm-form label.has-error>textarea,
.skm-filter label.has-error>input,.skm-filter label.has-error>select,
[aria-invalid="true"]{border-color:var(--skm-danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.10)!important}

.skm-lookup-v2{width:min(980px,calc(100% - 24px));padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.skm-lookup-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:22px;align-items:center;padding:22px;border:1px solid #dce5ef;border-radius:22px;background:linear-gradient(135deg,#07182f 0%,#102b4e 58%,#143961 100%);color:#fff;box-shadow:0 18px 45px rgba(7,24,47,.16)}
.skm-lookup-hero__brand{display:flex;align-items:center;gap:13px}.skm-lookup-hero__brand .skm-lookup__logo{width:72px;height:72px;margin:0;background:#fff;border-radius:50%;padding:3px}.skm-lookup-hero__brand span,.skm-lookup-hero__brand strong{display:block}.skm-lookup-hero__brand span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#e6c77d}.skm-lookup-hero__brand strong{margin-top:4px;font-size:14px}
.skm-lookup-hero__copy .skm-eyebrow{color:#e7ca82}.skm-lookup-hero__copy h1{margin:5px 0 8px;font-size:32px;line-height:1.12}.skm-lookup-hero__copy p{margin:0;color:#d7e1ee;line-height:1.6}
.skm-lookup-hero__trust{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08)}.skm-lookup-hero__trust>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f7ef;color:#18794e;font-weight:900}.skm-lookup-hero__trust p,.skm-lookup-hero__trust strong,.skm-lookup-hero__trust small{display:block;margin:0}.skm-lookup-hero__trust small{margin-top:2px;color:#d7e1ee}
.skm-lookup-panel{margin-top:16px;padding:20px;border:1px solid var(--skm-border);border-radius:18px;background:#fff;box-shadow:var(--skm-shadow)}
.skm-lookup-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.skm-lookup-panel__head span{color:var(--skm-red);font-size:10px;font-weight:850;letter-spacing:.15em}.skm-lookup-panel__head h2{margin:4px 0 0;font-size:22px}.skm-lookup-panel__head>small{color:var(--skm-muted)}
.skm-lookup-error{display:grid;gap:3px}.skm-lookup-error strong,.skm-lookup-error span{display:block}
.skm-lookup-v2 .skm-lookup__form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:0;border:0;border-radius:0;box-shadow:none}
.skm-lookup-field{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;margin:0}.skm-lookup-field__number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fce8ea;color:var(--skm-red);font-size:13px;font-weight:900}.skm-lookup-field__body{display:grid;gap:5px}.skm-lookup-field__body strong{font-size:12px}.skm-lookup-field__body small{min-height:30px;color:var(--skm-muted);font-size:11px;font-weight:500;line-height:1.35}.skm-lookup-field input{width:100%;min-width:0;min-height:48px;border-radius:10px}.skm-lookup-submit{min-height:48px;padding-inline:18px}
.skm-lookup-guidance{display:flex;gap:9px;align-items:flex-start;margin-top:13px;padding:10px 12px;border-radius:10px;background:#f6f8fb;color:#55606f}.skm-lookup-guidance>span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#dfe7f2;color:#1f4b7a;font-weight:850}.skm-lookup-guidance p{margin:0;font-size:12px;line-height:1.5}

.skm-data-health-alert,.skm-finance-warning{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;border-color:#efc76b;background:linear-gradient(135deg,#fff9e8,#fff)}
.skm-data-health-alert>div:first-child,.skm-finance-warning>div:first-child{min-width:0}.skm-data-health-alert span,.skm-finance-warning span{color:#9a5b00;font-size:10px;font-weight:850;letter-spacing:.15em}.skm-data-health-alert h2,.skm-finance-warning h2{margin:4px 0 5px;font-size:18px;color:#7a4300}.skm-data-health-alert p,.skm-finance-warning p{margin:0;color:#6d5a3f;font-size:12px;line-height:1.55}
.skm-data-warning{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:10px 0;padding:9px 10px;border:1px solid #f2c46d;border-radius:9px;background:#fff9e8;color:#7a4a00;font-size:11px}.skm-data-warning a{margin-left:auto;color:var(--skm-red);font-weight:800}

.skm-card-issue-panel,.skm-card-management{margin-top:16px}.skm-card-filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}.skm-card-filter-tabs a{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-height:38px;padding:8px 11px;border:1px solid var(--skm-border);border-radius:999px;background:#fff;color:var(--skm-text);font-size:12px;font-weight:750}.skm-card-filter-tabs a strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef1f5;font-size:11px}.skm-card-filter-tabs a.is-active{border-color:#07182f;background:#07182f;color:#fff}.skm-card-filter-tabs a.is-active strong{background:rgba(255,255,255,.16)}.skm-card-filter-tabs--secondary{padding-top:0}.skm-card-list-search{grid-template-columns:minmax(0,1fr) auto;margin:3px 0 14px}.skm-card-row-actions{display:grid;gap:7px;min-width:180px}.skm-card-row-actions .skm-inline-form{display:grid;gap:6px}.skm-card-row-actions input{width:100%;min-width:0}.skm-card-delete summary{cursor:pointer;color:var(--skm-danger);font-size:11px;font-weight:800}.skm-card-delete[open]{padding-top:3px}.skm-card-delete .skm-mini-form{width:min(280px,78vw);box-shadow:none;background:#fff8f7}
[data-skm-searchable-student-select].has-no-results{border-color:var(--skm-danger);background:#fff5f4}

@media(max-width:820px){
  .skm-lookup-hero{grid-template-columns:minmax(0,1fr)}.skm-lookup-hero__trust{grid-column:auto}.skm-lookup-v2 .skm-lookup__form{grid-template-columns:minmax(0,1fr)}.skm-lookup-submit{width:100%}
  .skm-data-health-alert,.skm-finance-warning{align-items:stretch;flex-direction:column}.skm-data-health-alert .skm-btn,.skm-finance-warning .skm-btn{width:100%}
}
@media(max-width:560px){
  .skm-lookup-v2{width:min(100%,calc(100% - 12px));margin:8px auto}.skm-lookup-hero,.skm-lookup-panel{padding:15px;border-radius:15px}.skm-lookup-hero__brand .skm-lookup__logo{width:58px;height:58px}.skm-lookup-hero__copy h1{font-size:26px}.skm-lookup-panel__head{display:grid}.skm-lookup-field{grid-template-columns:28px minmax(0,1fr)}.skm-lookup-field__number{width:26px;height:26px}.skm-lookup-field__body small{min-height:0}
  .skm-card-list-search{grid-template-columns:minmax(0,1fr)}.skm-card-list-search .skm-btn{width:100%}.skm-card-row-actions{min-width:0}.skm-card-row-actions .skm-btn{width:100%}
}
.skm-lookup-v2>.skm-lookup-hero{text-align:left!important;margin-bottom:0!important}

/* v2.5.4 - xem và tải ảnh đại diện tại tra cứu/điểm danh */
.skm-public-avatar-wrap{display:grid;justify-items:center;gap:8px;min-width:126px}
.skm-public-avatar-link{display:block;border-radius:14px;overflow:hidden;line-height:0;box-shadow:0 8px 20px rgba(15,23,42,.12)}
.skm-public-avatar-link img{display:block;width:118px!important;height:148px!important;object-fit:cover;object-position:center top}
.skm-avatar-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.skm-avatar-actions .skm-btn{min-height:30px;padding:5px 9px;font-size:11px}
.skm-attendance-avatar{display:block;flex:0 0 auto;border-radius:12px;overflow:hidden;line-height:0;cursor:zoom-in}
.skm-attendance-avatar img{display:block}
.skm-attendance-identity{min-width:0}
.skm-avatar-actions--compact{justify-content:flex-start;margin-top:5px;gap:10px}
.skm-avatar-actions--compact a,.skm-avatar-actions--inline a{font-size:11px;font-weight:800;color:var(--skm-red);text-decoration:none}
.skm-avatar-actions--compact a:hover,.skm-avatar-actions--inline a:hover{text-decoration:underline}
.skm-day-student{display:flex;align-items:center;gap:9px;min-width:190px}
.skm-day-student>a{display:block;flex:0 0 38px;width:38px;height:48px;border-radius:7px;overflow:hidden;line-height:0}
.skm-day-student img{width:100%;height:100%;object-fit:cover;object-position:center top}
.skm-day-student>span{display:grid;gap:2px}
.skm-avatar-actions--inline{display:inline-flex;justify-content:flex-start;gap:9px;margin-top:2px}
@media(max-width:640px){
  .skm-public-profile__head{align-items:flex-start}
  .skm-public-avatar-wrap{min-width:92px}
  .skm-public-avatar-link img{width:88px!important;height:110px!important}
  .skm-avatar-actions .skm-btn{padding:4px 7px;font-size:10px}
  .skm-attendance-card .skm-person--large{align-items:flex-start}
  .skm-avatar-actions--compact{gap:12px}
}


/* v2.5.6 — cô lập giao diện tra cứu khỏi CSS của theme/Breakdance */
.skm-shell--lookup{overflow:visible}
.skm-lookup-v2,
.skm-lookup-v2 *{box-sizing:border-box}
.skm-lookup-v2{isolation:isolate;color:#0f172a!important;font-size:16px;line-height:1.5}
.skm-lookup-v2 :where(h1,h2,h3,h4,p,small,strong,span,label,input,button){font-family:inherit;text-transform:none}
.skm-lookup-v2 :where(h1,h2,h3,h4,p){max-width:none}

.skm-lookup-v2>.skm-lookup-hero{
  grid-template-areas:"brand copy" "trust trust";
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.35fr);
  gap:24px 34px;
  align-items:center;
  min-height:0;
  padding:32px 34px;
  overflow:hidden;
}
.skm-lookup-v2 .skm-lookup-hero__brand{grid-area:brand;min-width:0}
.skm-lookup-v2 .skm-lookup-hero__copy{grid-area:copy;min-width:0}
.skm-lookup-v2 .skm-lookup-hero__trust{grid-area:trust}
.skm-lookup-v2 .skm-lookup-hero__brand span{
  margin:0!important;
  color:#f0c96a!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
}
.skm-lookup-v2 .skm-lookup-hero__brand strong{
  margin:5px 0 0!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
.skm-lookup-v2 .skm-lookup-hero__copy .skm-eyebrow{
  display:block;
  margin:0 0 8px!important;
  color:#f0c96a!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
}
.skm-lookup-v2 .skm-lookup-hero__copy h1{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:clamp(34px,3.1vw,48px)!important;
  line-height:1.08!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
}
.skm-lookup-v2 .skm-lookup-hero__copy p{
  margin:0!important;
  color:#dce8f5!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:450!important;
  letter-spacing:0!important;
  text-align:left!important;
}
.skm-lookup-v2 .skm-lookup-hero__trust p{margin:0!important}
.skm-lookup-v2 .skm-lookup-hero__trust strong{
  margin:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.skm-lookup-v2 .skm-lookup-hero__trust small{
  margin:3px 0 0!important;
  color:#dce8f5!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:450!important;
  letter-spacing:0!important;
}

.skm-lookup-v2 .skm-lookup-panel{padding:26px 28px}
.skm-lookup-v2 .skm-lookup-panel__head span{
  margin:0!important;
  color:var(--skm-red)!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
}
.skm-lookup-v2 .skm-lookup-panel__head h2{
  margin:5px 0 0!important;
  color:#0f172a!important;
  font-size:clamp(28px,2.4vw,36px)!important;
  line-height:1.12!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
  text-align:left!important;
}
.skm-lookup-v2 .skm-lookup-panel__head>small{
  margin:2px 0 0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.skm-lookup-v2 .skm-lookup-field__body strong{
  color:#1e293b!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
.skm-lookup-v2 .skm-lookup-field__body small{
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:450!important;
  letter-spacing:0!important;
}
.skm-lookup-v2 .skm-lookup-field input{
  appearance:none;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #cbd5e1!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:500!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.skm-lookup-v2 .skm-lookup-field input::placeholder{color:#94a3b8!important;opacity:1}
.skm-lookup-v2 .skm-lookup-field input:focus{
  border-color:var(--skm-red)!important;
  box-shadow:0 0 0 4px rgba(214,7,24,.10)!important;
  outline:0!important;
}
.skm-lookup-v2 .skm-lookup-submit{
  appearance:none;
  margin:0!important;
  border-radius:11px!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap;
}
.skm-lookup-v2 .skm-lookup-guidance p{
  margin:0!important;
  color:#55606f!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-weight:450!important;
  letter-spacing:0!important;
}

@media(max-width:820px){
  .skm-lookup-v2>.skm-lookup-hero{
    grid-template-areas:"brand" "copy" "trust";
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    padding:26px;
  }
  .skm-lookup-v2 .skm-lookup-hero__brand{align-items:center}
  .skm-lookup-v2 .skm-lookup-panel{padding:22px}
}
@media(max-width:560px){
  .skm-shell--lookup{padding-inline:6px}
  .skm-lookup-v2{width:100%;margin:8px auto 18px}
  .skm-lookup-v2>.skm-lookup-hero{gap:18px;padding:20px 18px;border-radius:16px}
  .skm-lookup-v2 .skm-lookup-hero__brand{gap:11px}
  .skm-lookup-v2 .skm-lookup-hero__brand .skm-lookup__logo{width:58px;height:58px}
  .skm-lookup-v2 .skm-lookup-hero__brand span{font-size:11px!important}
  .skm-lookup-v2 .skm-lookup-hero__brand strong{font-size:15px!important}
  .skm-lookup-v2 .skm-lookup-hero__copy h1{font-size:32px!important}
  .skm-lookup-v2 .skm-lookup-hero__copy p{font-size:14px!important;line-height:1.55!important}
  .skm-lookup-v2 .skm-lookup-hero__trust{align-items:flex-start;padding:12px}
  .skm-lookup-v2 .skm-lookup-panel{padding:18px 16px;border-radius:16px}
  .skm-lookup-v2 .skm-lookup-panel__head{gap:6px;margin-bottom:18px}
  .skm-lookup-v2 .skm-lookup-panel__head h2{font-size:28px!important}
  .skm-lookup-v2 .skm-lookup-field{grid-template-columns:30px minmax(0,1fr);gap:8px}
  .skm-lookup-v2 .skm-lookup-field__body small{min-height:0}
}

/* v2.5.7 — vùng xóa văn bằng chỉ dành cho Chủ nhiệm */
.skm-certificate-delete-zone{margin-top:14px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7;overflow:hidden}
.skm-certificate-delete-zone>summary{cursor:pointer;padding:12px 14px;color:#b42318;font-weight:800;list-style-position:inside}
.skm-certificate-delete-form{display:grid;gap:10px;padding:0 14px 14px}
.skm-certificate-delete-form label{display:grid;gap:6px;font-weight:700;color:#7f1d1d}
.skm-certificate-delete-form textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #fca5a5;border-radius:10px;padding:10px 12px;background:#fff;color:#111827;box-sizing:border-box}
.skm-certificate-delete-form p{margin:0;color:#7f1d1d;font-size:12px;line-height:1.5}
.skm-certificate-delete-form .skm-btn{justify-self:start}
@media(max-width:560px){.skm-certificate-delete-form .skm-btn{width:100%}.skm-certificate-delete-zone>summary{padding:11px 12px}.skm-certificate-delete-form{padding:0 12px 12px}}

/* ===== Birthday tab ===== */
.skm-birthday-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.skm-birthday-summary > div{padding:18px 20px;border:1px solid rgba(10,34,71,.08);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}
.skm-birthday-summary span,.skm-birthday-column__head span{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.14em;color:#f1565c;text-transform:uppercase}
.skm-birthday-summary strong{display:block;font-size:26px;color:#081a32}
.skm-birthday-summary small{display:block;margin-top:6px;color:#60708a}
.skm-birthday-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.skm-birthday-column{display:flex;flex-direction:column;gap:16px}
.skm-birthday-column__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(10,34,71,.08)}
.skm-birthday-column__head h2{margin:0;color:#081a32;font-size:24px;line-height:1.15}
.skm-birthday-column__head strong{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;background:#081a32;color:#fff;font-size:18px}
.skm-birthday-list{display:grid;gap:18px}
.skm-birthday-item{border:1px solid rgba(10,34,71,.08);border-radius:20px;padding:16px;background:#fbfcfe;box-shadow:0 10px 30px rgba(7,24,47,.04)}
.skm-birthday-item__meta{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;margin-bottom:14px}
.skm-birthday-item__meta img{width:72px;height:96px;object-fit:cover;border-radius:14px;border:1px solid rgba(10,34,71,.08);background:#eef3f9}
.skm-birthday-item__meta h3{margin:4px 0 6px;font-size:22px;line-height:1.2;color:#081a32}
.skm-birthday-item__meta p{margin:0;color:#5f6e85;font-size:14px}
.skm-birthday-item__actions{display:flex;justify-content:flex-end;margin-bottom:14px}
.skm-birthday-poster{width:100%;max-width:360px;margin:0 auto;padding:16px;border-radius:24px;background:linear-gradient(145deg,#07182f,#133864 60%,#1d4c80);color:#fff;box-shadow:0 16px 40px rgba(7,24,47,.18);overflow:hidden}
.skm-birthday-poster__top{display:grid;grid-template-columns:68px 1fr;gap:12px;align-items:center;margin-bottom:14px}
.skm-birthday-poster__logo{width:68px;height:68px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}
.skm-birthday-poster__top span{display:block;color:#ffd27b;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.skm-birthday-poster__top strong{display:block;margin-top:2px;font-size:28px;line-height:1.05}
.skm-birthday-poster__top small{display:block;margin-top:6px;color:rgba(255,255,255,.82);font-size:13px}
.skm-birthday-poster__body{padding:18px;border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px);text-align:center}
.skm-birthday-poster__avatar-wrap{width:170px;height:220px;padding:6px;margin:0 auto 16px;background:#fff;border-radius:24px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.skm-birthday-poster__avatar{width:100%;height:100%;object-fit:cover;border-radius:18px;background:#eef3f9}
.skm-birthday-poster__body h4{margin:0 0 8px;font-size:31px;line-height:1.15;color:#fff}
.skm-birthday-poster__body p{margin:0 0 6px;color:rgba(255,255,255,.92);font-size:16px}
.skm-birthday-poster__message{margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(255,210,123,.14);color:#fff4d7;font-size:15px;line-height:1.5}
.skm-empty--soft{padding:18px;border:1px dashed rgba(10,34,71,.15);border-radius:16px;background:#f7faff;color:#60708a;text-align:center}
@media (max-width: 1100px){.skm-birthday-columns{grid-template-columns:1fr}.skm-birthday-summary{grid-template-columns:1fr}}
@media (max-width: 640px){.skm-birthday-item__meta{grid-template-columns:60px 1fr}.skm-birthday-item__meta img{width:60px;height:80px}.skm-birthday-item__meta h3{font-size:18px}.skm-birthday-poster{max-width:100%;padding:14px}.skm-birthday-poster__top{grid-template-columns:56px 1fr}.skm-birthday-poster__logo{width:56px;height:56px}.skm-birthday-poster__top strong{font-size:22px}.skm-birthday-poster__avatar-wrap{width:140px;height:185px}.skm-birthday-poster__body h4{font-size:24px}}

/* ===== v2.5.9: full mobile navigation, smart search, certificate scan, UX/performance ===== */
.skm-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px -4px 12px;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.skm-mobile-menu-head strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.skm-mobile-menu-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.skm-sidebar{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.skm-nav{align-content:start;grid-auto-rows:minmax(44px,auto)}
.skm-nav a{content-visibility:auto;contain-intrinsic-size:46px}
html.skm-menu-open,html.skm-menu-open body{overflow:hidden}
.skm-smart-search{position:relative!important}
.skm-smart-search input[type=search]{padding-right:42px!important}
.skm-smart-search__clear{position:absolute;right:7px;bottom:6px;display:grid;place-items:center;width:31px;height:31px;padding:0;border:0;border-radius:8px;background:#eef3f9;color:#526174;font-size:21px;line-height:1;cursor:pointer}
.skm-smart-search__clear:hover{background:#dfe8f4;color:#0f172a}
.skm-search-result-count{position:absolute;right:44px;bottom:13px;color:#64748b;font-size:11px;font-weight:700;pointer-events:none}
.skm-smart-search input[type=search]:not(:placeholder-shown){padding-right:104px!important}
.skm-certificate-scan-field small{color:var(--skm-muted);font-weight:500;line-height:1.45}
.skm-certificate-scan-current{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--skm-border);border-radius:12px;background:#f8fbff}
.skm-certificate-scan-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0}
.skm-certificate-scan-panel span{display:block;color:var(--skm-red);font-size:11px;font-weight:800;letter-spacing:.14em}
.skm-certificate-scan-panel h2{margin:3px 0 4px;font-size:22px}
.skm-certificate-scan-panel p{margin:0;color:var(--skm-muted)}
.skm-verify__scan{margin:14px auto 0}
@media(max-width:959px){
  .skm-sidebar{width:min(92vw,340px);padding:14px 16px 18px}
  .skm-brand{padding-bottom:12px}.skm-brand img{width:46px;height:46px}.skm-brand strong{font-size:17px}
  .skm-nav{gap:4px;padding:12px 0}.skm-nav a{min-height:44px;padding:9px 10px}
  .skm-user-card{position:sticky;bottom:-18px;margin:8px -16px -18px;padding:14px 16px 18px;background:#111827;box-shadow:0 -10px 24px rgba(0,0,0,.18)}
  .skm-top-tabs{scroll-snap-type:x proximity}.skm-top-tabs a{scroll-snap-align:start}
  .skm-certificate-scan-panel{align-items:stretch;flex-direction:column}.skm-certificate-scan-panel .skm-btn{width:100%}
}
@media(min-width:960px){.skm-mobile-menu-head{display:none}}
@media(max-width:520px){
  .skm-mobile-topbar{grid-template-columns:42px 30px minmax(0,1fr);padding-inline:10px}.skm-mobile-topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .skm-smart-search__clear{bottom:6px}.skm-search-result-count{display:none}.skm-smart-search input[type=search]:not(:placeholder-shown){padding-right:42px!important}
}
@media(prefers-reduced-motion:reduce){.skm-sidebar,.skm-mobile-backdrop,.skm-btn,.skm-nav a,.skm-toast{transition:none!important;scroll-behavior:auto!important}}

/* v2.6.0 — mẫu thẻ Chứng nhận học viên, dựng hoàn toàn bằng CSS/vector để in sắc nét */
.skm-id-card--certificate{
  position:relative!important;
  width:85.6mm!important;
  height:54mm!important;
  padding:2.4mm!important;
  border:0!important;
  border-radius:5px!important;
  overflow:hidden!important;
  background:#fffdf8!important;
  box-shadow:0 12px 38px rgba(15,23,42,.18)!important;
  isolation:isolate
}
.skm-id-card--certificate:before{
  content:"";position:absolute;inset:1.25mm;border:.42mm solid #c6a15a;border-radius:2.4mm;pointer-events:none;z-index:2
}
.skm-id-card--certificate:after{
  content:"";position:absolute;inset:2.25mm;border:.15mm solid rgba(198,161,90,.75);border-radius:1.7mm;pointer-events:none;z-index:2
}
.skm-id-card__certificate-inner{
  position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:28mm minmax(0,1fr);gap:2.5mm;
  padding:2.3mm 2.5mm;box-sizing:border-box;overflow:hidden;background:
  radial-gradient(circle at 78% 62%,rgba(210,178,112,.11),transparent 24%),
  linear-gradient(135deg,rgba(255,255,255,.97),rgba(252,248,238,.97));
  border-radius:2mm
}
.skm-id-card__certificate-inner:after{
  content:"";position:absolute;right:-8mm;bottom:-10mm;width:45mm;height:36mm;border:1.2mm solid rgba(196,156,79,.06);border-radius:50%;transform:rotate(-16deg);pointer-events:none
}
.skm-id-card__brand-block{display:grid;grid-template-rows:12mm minmax(0,1fr);gap:2mm;min-width:0}
.skm-id-card__brand{display:grid;grid-template-columns:11mm minmax(0,1fr);align-items:center;gap:1.6mm;min-width:0}
.skm-id-card__brand img{width:11mm;height:11mm;object-fit:contain;display:block}
.skm-id-card__brand div{min-width:0;line-height:.9}
.skm-id-card__brand strong{display:block;color:#121212;font-family:Arial,sans-serif;font-size:4.5mm;letter-spacing:-.2mm;white-space:nowrap}
.skm-id-card__brand span{display:block;margin-top:1mm;color:#cf2028;font-family:Arial,sans-serif;font-size:4.2mm;font-weight:900;letter-spacing:.1mm}
.skm-id-card__photo-frame{position:relative;display:grid;place-items:center;width:23mm;height:32mm;margin:auto;border:.45mm solid #c6a15a;background:#fffdf8;padding:1.3mm;box-sizing:border-box}
.skm-id-card__photo-frame:before,.skm-id-card__photo-frame:after{content:"";position:absolute;width:4mm;height:4mm;border-color:#c6a15a;border-style:solid;pointer-events:none}
.skm-id-card__photo-frame:before{left:.7mm;top:.7mm;border-width:.45mm 0 0 .45mm}
.skm-id-card__photo-frame:after{right:.7mm;bottom:.7mm;border-width:0 .45mm .45mm 0}
.skm-id-card__photo-frame img{width:20mm;height:30mm;object-fit:cover;display:block;background:#f2eee6}
.skm-id-card__certificate-content{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) 13mm;min-width:0;padding:.3mm 0 .2mm}
.skm-id-card__national-title{text-align:center;color:#151515;font-family:Arial,sans-serif;line-height:1.05}
.skm-id-card__national-title strong{display:block;font-size:2.75mm;letter-spacing:.05mm}
.skm-id-card__national-title span{display:block;margin-top:.55mm;font-size:2.45mm;font-weight:700}
.skm-id-card__national-title i{display:block;width:28mm;height:.3mm;margin:1mm auto 0;background:linear-gradient(90deg,transparent,#c6a15a 18%,#c6a15a 82%,transparent);position:relative}
.skm-id-card__national-title i:after{content:"";position:absolute;left:50%;top:50%;width:1.7mm;height:1.7mm;background:#c6a15a;transform:translate(-50%,-50%) rotate(45deg)}
.skm-id-card--certificate h1{margin:1.1mm 0 .8mm!important;text-align:center;color:#bd151d!important;font-family:Arial,sans-serif!important;font-size:5.2mm!important;line-height:1!important;letter-spacing:.1mm!important;white-space:nowrap!important}
.skm-id-card__certificate-fields{display:grid;align-content:start;gap:.45mm;margin:0;padding:0;font-family:Arial,sans-serif;font-size:2.65mm;line-height:1.18}
.skm-id-card__certificate-fields>div{display:grid;grid-template-columns:17.5mm minmax(0,1fr);align-items:end;gap:1.4mm;min-width:0}
.skm-id-card__certificate-fields dt{color:#222;white-space:nowrap}
.skm-id-card__certificate-fields dd{position:relative;min-width:0;margin:0;padding:0 .7mm .45mm;font-weight:800;color:#111;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skm-id-card__certificate-fields dd:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:.18mm dotted #858585}
.skm-id-card__certificate-fields dd>*{position:relative;z-index:1}
.skm-id-card__certificate-bottom{display:grid;grid-template-columns:13mm minmax(0,1fr);align-items:end;gap:2mm;min-width:0}
.skm-id-card__verify-code{display:grid;justify-items:center;align-content:end;gap:.5mm;color:#686868;font-size:1.55mm;text-align:center}
.skm-id-card__verify-code [data-skm-qr]{width:8mm;height:8mm;background:#fff;padding:.45mm;box-sizing:border-box;border:.15mm solid #d8c497}
.skm-id-card__verify-code canvas,.skm-id-card__verify-code img,.skm-id-card__verify-code svg{width:100%!important;height:100%!important;display:block}
.skm-id-card__verify-code span{max-width:13mm;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skm-id-card__signature{display:grid;justify-items:center;align-content:end;min-width:0;text-align:center;color:#111;font-family:Arial,sans-serif}
.skm-id-card__signature img{width:25mm;height:8mm;object-fit:contain;display:block;margin:0 auto -1mm}
.skm-id-card__signature-space{width:25mm;height:7mm}
.skm-id-card__signature:after{content:"";width:30mm;border-top:.2mm solid #202020;margin-top:-.1mm}
.skm-id-card__signature strong{display:block;max-width:32mm;margin-top:.7mm;font-size:2.5mm;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skm-id-card__signature span{display:block;max-width:32mm;margin-top:.35mm;font-size:1.8mm;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skm-id-card__ornament{position:absolute;width:5.5mm;height:5.5mm;z-index:3;pointer-events:none}
.skm-id-card__ornament:before,.skm-id-card__ornament:after{content:"";position:absolute;border-color:#c6a15a;border-style:solid}
.skm-id-card__ornament--tl{left:1.25mm;top:1.25mm}.skm-id-card__ornament--tr{right:1.25mm;top:1.25mm;transform:rotate(90deg)}
.skm-id-card__ornament--br{right:1.25mm;bottom:1.25mm;transform:rotate(180deg)}.skm-id-card__ornament--bl{left:1.25mm;bottom:1.25mm;transform:rotate(270deg)}
.skm-id-card__ornament:before{left:0;top:0;width:4.4mm;height:4.4mm;border-width:.45mm 0 0 .45mm}
.skm-id-card__ornament:after{left:1.1mm;top:1.1mm;width:3.1mm;height:3.1mm;border-width:.25mm 0 0 .25mm}
@media(max-width:700px){
  .skm-id-card--certificate{transform-origin:center;transform:scale(.93)!important}
  .skm-student-card-print{overflow-x:auto;justify-content:start!important}
}
@media print{
  @page{size:85.6mm 54mm;margin:0}
  html,body.skm-card-page{width:85.6mm!important;height:54mm!important;margin:0!important;padding:0!important;background:#fff!important}
  .skm-student-card-print{display:block!important;width:85.6mm!important;height:54mm!important;margin:0!important;padding:0!important;min-height:0!important}
  .skm-id-card--certificate{transform:none!important;box-shadow:none!important;width:85.6mm!important;height:54mm!important;margin:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .skm-card-valid,.skm-card-download-actions{display:none!important}
}

/* Import / export võ sinh theo chi nhánh */
.skm-transfer-branch-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;margin-top:18px}
.skm-transfer-branch-grid .skm-import-box{margin:0;padding:18px;border:1px solid rgba(10,34,71,.1);border-radius:18px;background:#fbfcfe}
.skm-transfer-branch-grid .skm-import-box summary{cursor:pointer;font-weight:800;color:#081a32}
.skm-transfer-branch-grid form{display:grid;gap:14px;margin-top:14px}
.skm-transfer-branch-grid label{display:grid;gap:7px}
.skm-transfer-branch-grid label>span{font-weight:700;color:#20324a}
.skm-transfer-branch-grid label small{font-size:12px;line-height:1.45;color:#65748b}
.skm-export-branch-box h3{margin:0;color:#081a32;font-size:20px}
@media(max-width:900px){.skm-transfer-branch-grid{grid-template-columns:1fr}}

/* v2.6.3: cảnh báo số điện thoại tạm 0900000000 */
.skm-data-health-alert.is-critical{border-color:#f1a0a0;background:linear-gradient(135deg,#fff1f2,#fff)}
.skm-data-health-alert.is-critical span{color:#c81e1e}
.skm-data-health-alert.is-critical h2{color:#991b1b}
.skm-data-health-alert.is-critical p{color:#7f1d1d}
.skm-student-card.has-phone-placeholder{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.08),0 12px 28px rgba(127,29,29,.08)}
.skm-data-warning.is-critical{border-color:#ef4444;background:#fff1f2;color:#991b1b}
.skm-data-warning.is-critical strong{color:#b91c1c}
.skm-data-warning.is-critical a{color:#b91c1c}
.skm-phone-placeholder{color:#dc2626!important;font-weight:850!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}

/* v2.6.4: Cảnh báo dữ liệu hồ sơ không làm gián đoạn thu học phí */
.skm-fee-profile-policy{border-left:4px solid #f0a000}
.skm-fee-profile-warning{margin:10px 0 14px;padding:10px 12px;border:1px solid #ffd0d0;border-radius:12px;background:#fff7f7;color:#a02020;font-size:13px;line-height:1.45}
.skm-fee-profile-warning strong{font-weight:800}
.skm-fee-profile-warning span{color:#42526a;font-weight:600}

/* v2.6.5: Trạng thái ngày sinh cần bổ sung */
.skm-birth-date-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.skm-birth-date-field>label:first-child{font-weight:700;color:#14243b}
.skm-birth-date-field .skm-check--missing-birth{display:flex;align-items:flex-start;gap:8px;margin:2px 0 0;padding:9px 11px;border:1px solid rgba(10,34,71,.12);border-radius:10px;background:#f8fafc;color:#48576d;font-weight:650;line-height:1.35}
.skm-birth-date-field .skm-check--missing-birth input{flex:0 0 auto;margin-top:2px}
.skm-birth-date-field.is-missing .skm-check--missing-birth{border-color:#ef4444;background:#fff1f2;color:#b42318}
.skm-birth-date-field.is-missing input[type="date"]{background:#f3f4f6;color:#8a94a5;border-color:#d7dde6}
.skm-birth-date-field small{color:#68768c;line-height:1.45}

/* ===== Staff multi-role and public team directory v2.6.6 ===== */
.skm-staff-layout{align-items:start}.skm-staff-roles,.skm-staff-public-profile{border:1px solid rgba(8,26,50,.1);border-radius:18px;padding:16px;margin:0}.skm-staff-roles legend,.skm-staff-public-profile legend{padding:0 8px;font-weight:800;color:#081a32}.skm-field-help{margin:0 0 12px;color:#66758c;font-size:13px}.skm-role-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skm-role-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(8,26,50,.09);border-radius:14px;background:#f9fbfd}.skm-role-check input{margin-top:3px}.skm-role-check span{display:grid;gap:3px}.skm-role-check strong{color:#081a32}.skm-role-check small{color:#6c7890;line-height:1.35}.skm-staff-photo-field{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}.skm-staff-photo-field>img{width:88px;height:110px;object-fit:cover;border-radius:14px;border:1px solid rgba(8,26,50,.1)}.skm-role-badges{display:flex;flex-wrap:wrap;gap:6px}.skm-role-badges span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf1fb;color:#173a65;font-size:12px;font-weight:800}
.skm-team-page{width:min(1180px,calc(100% - 32px));margin:28px auto 56px;color:#14233a}.skm-team-hero{position:relative;overflow:hidden;border-radius:28px;padding:34px;background:linear-gradient(135deg,#06172e 0%,#0f315b 58%,#194a7d 100%);color:#fff;box-shadow:0 24px 70px rgba(7,24,47,.2)}.skm-team-hero:after{content:"";position:absolute;right:-90px;bottom:-120px;width:330px;height:330px;border:70px solid rgba(255,255,255,.05);border-radius:50%}.skm-team-hero__brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.skm-team-hero__brand img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}.skm-team-hero__brand span{display:block;color:#e9c777;font-size:12px;font-weight:900;letter-spacing:.13em}.skm-team-hero__brand strong{display:block;margin-top:4px;font-size:17px}.skm-team-hero__copy{position:relative;z-index:1;max-width:760px;margin-top:34px}.skm-team-hero__copy h1{margin:8px 0 12px!important;color:#fff!important;font-size:clamp(34px,5vw,62px)!important;line-height:1.04!important;letter-spacing:-.035em}.skm-team-hero__copy p{margin:0;color:rgba(255,255,255,.84);font-size:17px;line-height:1.65}.skm-team-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-24px 24px 0;position:relative;z-index:2}.skm-team-summary>div{padding:18px;border-radius:18px;background:#fff;box-shadow:0 16px 40px rgba(7,24,47,.11);text-align:center;border:1px solid rgba(8,26,50,.06)}.skm-team-summary strong{display:block;color:#0a2d55;font-size:28px}.skm-team-summary span{display:block;margin-top:3px;color:#68768b;font-weight:700}.skm-team-content{margin-top:34px}.skm-team-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.skm-team-toolbar span{display:block;color:#e2545a;font-weight:900;font-size:12px;letter-spacing:.14em}.skm-team-toolbar h2{margin:4px 0 0!important;color:#081a32!important;font-size:32px!important}.skm-team-toolbar label{width:min(390px,100%);font-weight:700;color:#354761}.skm-team-toolbar input{width:100%;margin-top:7px}.skm-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.skm-team-card{overflow:hidden;border:1px solid rgba(8,26,50,.08);border-radius:24px;background:#fff;box-shadow:0 15px 42px rgba(7,24,47,.08);transition:transform .2s ease,box-shadow .2s ease}.skm-team-card:hover{transform:translateY(-3px);box-shadow:0 20px 54px rgba(7,24,47,.13)}.skm-team-card__photo{aspect-ratio:4/4.8;background:linear-gradient(145deg,#dce8f5,#eef4fa);display:flex;align-items:center;justify-content:center;overflow:hidden}.skm-team-card__photo img{width:100%;height:100%;object-fit:cover}.skm-team-card__photo>span{display:flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:50%;background:#0b315d;color:#fff;font-size:40px;font-weight:900}.skm-team-card__body{padding:20px}.skm-team-card__roles{display:flex;flex-wrap:wrap;gap:6px}.skm-team-card__roles span{padding:6px 10px;border-radius:999px;background:#eef4fb;color:#0d3a69;font-size:12px;font-weight:900}.skm-team-card__body h3{margin:12px 0 10px!important;color:#081a32!important;font-size:24px!important;line-height:1.2!important}.skm-team-card__branches{margin:0 0 12px;color:#52617a;line-height:1.5}.skm-team-card__bio{color:#5f6e85;line-height:1.65;font-size:14px}.skm-team-card__bio p{margin:0}.skm-team-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:30px;padding:18px 22px;border-radius:18px;background:#f4f8fc;color:#60708a}.skm-team-footer p{margin:0}.skm-team-footer a{font-weight:800;color:#0c477e}.skm-search-empty-message{display:none;margin-top:16px;text-align:center}.skm-team-content.has-skm-search-no-results .skm-search-empty-message,.skm-team-page.has-skm-search-no-results .skm-search-empty-message{display:block}
@media(max-width:1000px){.skm-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-team-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.skm-role-check-grid{grid-template-columns:1fr}.skm-staff-photo-field{grid-template-columns:1fr}.skm-team-page{width:min(100% - 20px,1180px);margin-top:12px}.skm-team-hero{padding:22px;border-radius:22px}.skm-team-hero__brand img{width:58px;height:58px}.skm-team-hero__copy{margin-top:24px}.skm-team-hero__copy h1{font-size:36px!important}.skm-team-summary{margin:-14px 10px 0;gap:9px}.skm-team-summary>div{padding:14px 8px}.skm-team-summary strong{font-size:23px}.skm-team-toolbar{align-items:stretch;flex-direction:column}.skm-team-toolbar label{width:100%}.skm-team-grid{grid-template-columns:1fr}.skm-team-footer{align-items:flex-start;flex-direction:column}}
body.has-skm-search-no-results .skm-team-page .skm-search-empty-message{display:block}

/* ===== Exam history, finalization and public honors v2.6.7 ===== */
.skm-exam-fieldset{min-width:0;margin:0;padding:0;border:0}
.skm-exam-fieldset[disabled]{opacity:.72}
.skm-exam-fieldset[disabled] .skm-exam-card{background:#f8fafc}
.skm-exam-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 18px;border:1px solid #fde68a;border-radius:16px;background:#fffbeb}
.skm-exam-status.is-completed{border-color:#bbf7d0;background:#f0fdf4}
.skm-exam-status>div{display:grid;gap:3px}.skm-exam-status span{font-size:11px;font-weight:900;letter-spacing:.13em;color:#a16207}.skm-exam-status.is-completed span{color:#15803d}.skm-exam-status strong{font-size:18px;color:#0f172a}.skm-exam-status small{color:#64748b}
.skm-exam-finalize{display:grid;gap:18px;margin-top:20px}
.skm-exam-finalize__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.skm-exam-finalize__head>div{display:grid;gap:5px}.skm-exam-finalize__head span{font-size:11px;font-weight:900;letter-spacing:.13em;color:#d60718}.skm-exam-finalize__head h2{margin:0;font-size:24px;color:#0f172a}.skm-exam-finalize__head p{margin:0;color:#64748b}
.skm-exam-finalize__form{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dbeafe;border-radius:14px;background:#eff6ff}.skm-exam-finalize__form p{margin:0;max-width:760px;color:#334155}
.skm-exam-finalize__actions{display:flex;justify-content:flex-end}
.skm-exam-reopen{border:1px dashed #fca5a5;border-radius:14px;background:#fff7f7}.skm-exam-reopen summary{padding:13px 15px;cursor:pointer;color:#991b1b;font-weight:800}.skm-exam-reopen form{display:grid;gap:12px;padding:0 15px 15px}.skm-exam-reopen textarea{width:100%;min-height:72px;padding:10px;border:1px solid #fecaca;border-radius:10px;background:#fff}
.skm-exam-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.skm-exam-awards article{display:grid;grid-template-columns:auto 48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
.skm-exam-awards article>span{font-size:11px;font-weight:900;color:#7c3aed;text-transform:uppercase}.skm-exam-awards article.is-rank-1{border-color:#f6c453;background:linear-gradient(135deg,#fffbea,#fff)}
.skm-exam-awards img{width:48px;height:60px;object-fit:cover;border-radius:10px;background:#eef2f7}.skm-exam-awards div{display:grid;gap:2px;min-width:0}.skm-exam-awards strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f172a}.skm-exam-awards small{color:#64748b}.skm-exam-awards b{font-size:22px;color:#0f172a}
.skm-exam-history{display:grid;gap:15px;margin-top:20px}.skm-exam-history__list{display:grid;gap:10px}.skm-exam-history__list article{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #e2e8f0}.skm-exam-history__list article:last-child{border-bottom:0}.skm-exam-history time{font-weight:800;color:#334155}.skm-exam-history article>div:nth-child(2){display:grid;gap:3px}.skm-exam-history article span{font-size:11px;font-weight:900;color:#d60718}.skm-exam-history article strong{color:#0f172a}.skm-exam-history article small{color:#64748b}.skm-exam-history article em{font-style:normal;font-weight:700;color:#7c3aed}.skm-exam-history__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.skm-honors-page{--honor-navy:#061831;--honor-blue:#103967;--honor-gold:#e7b64a;max-width:1180px;margin:28px auto;padding:0 18px 30px;color:#15233a;font-family:Arial,sans-serif}
.skm-honors-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;padding:34px;border-radius:28px;background:linear-gradient(135deg,var(--honor-navy),var(--honor-blue));box-shadow:0 22px 60px rgba(6,24,49,.18);color:#fff}
.skm-honors-hero:after{content:"";position:absolute;right:-110px;bottom:-160px;width:360px;height:360px;border:58px solid rgba(231,182,74,.12);border-radius:50%}
.skm-honors-hero__brand,.skm-honors-hero__copy{position:relative;z-index:1}.skm-honors-hero__brand{display:flex;align-items:center;gap:15px}.skm-honors-hero__brand img{width:86px;height:86px;object-fit:contain;padding:5px;border-radius:50%;background:#fff}.skm-honors-hero__brand div{display:grid;gap:5px}.skm-honors-hero__brand span{font-size:12px;font-weight:900;letter-spacing:.14em;color:#f6d481}.skm-honors-hero__brand strong{font-size:24px;line-height:1.2}.skm-honors-hero__copy .skm-eyebrow{color:#f6d481}.skm-honors-hero__copy h1{margin:7px 0 10px;color:#fff;font-size:clamp(34px,5vw,58px);line-height:1.02}.skm-honors-hero__copy p{max-width:690px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.6}
.skm-honors-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:22px 0;padding:20px 22px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}.skm-honors-toolbar>div{display:grid;gap:5px}.skm-honors-toolbar>div>span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#d60718}.skm-honors-toolbar h2{margin:0;color:#0f172a;font-size:26px}.skm-honors-toolbar p{margin:0;color:#64748b}.skm-honors-toolbar form{min-width:310px}.skm-honors-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#334155}.skm-honors-toolbar select{width:100%;min-height:46px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a}
.skm-honors-content{margin-top:20px}.skm-honors-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}.skm-honor-card{position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:26px;background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.08)}.skm-honor-card.is-rank-1{order:2;transform:translateY(-20px);border-color:#f2cb68;box-shadow:0 24px 64px rgba(154,103,0,.18)}.skm-honor-card.is-rank-2{order:1}.skm-honor-card.is-rank-3{order:3}.skm-honor-card__rank{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;background:#f8fafc}.skm-honor-card.is-rank-1 .skm-honor-card__rank{background:linear-gradient(135deg,#fff4c7,#f6d67c)}.skm-honor-card__rank span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#0f172a;color:#fff;font-size:18px;font-weight:900}.skm-honor-card__rank strong{color:#6d4900;font-size:15px;text-transform:uppercase;letter-spacing:.08em}.skm-honor-card__photo{aspect-ratio:4/4.6;background:#e9eef5}.skm-honor-card__photo img{width:100%;height:100%;object-fit:cover}.skm-honor-card__body{padding:18px}.skm-honor-card__body h3{margin:5px 0 4px;color:#0f172a;font-size:25px;line-height:1.15}.skm-honor-card__body>p{margin:0 0 13px;color:#64748b}.skm-honor-card__belt{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px}.skm-honor-card__belt strong{color:#0f172a}.skm-honor-card__score{display:flex;align-items:baseline;justify-content:center;gap:5px;margin:16px 0;padding:14px;border-radius:16px;background:linear-gradient(135deg,#07182f,#174b7d);color:#fff}.skm-honor-card__score small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.skm-honor-card__score strong{font-size:35px}.skm-honor-card__score span{color:rgba(255,255,255,.7)}.skm-honor-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.skm-honor-card dl div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#f8fafc}.skm-honor-card dt{font-size:12px;color:#64748b}.skm-honor-card dd{margin:0;font-weight:900;color:#0f172a}.skm-honor-card dl div:last-child{grid-column:1/-1}
.skm-honors-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:18px 22px;border-radius:18px;background:#061831;color:#fff}.skm-honors-footer p{margin:0;color:rgba(255,255,255,.74)}.skm-honors-footer div{display:flex;gap:14px;flex-wrap:wrap}.skm-honors-footer a{color:#f6d481;font-weight:800;text-decoration:none}
@media(max-width:960px){.skm-honors-hero{grid-template-columns:1fr}.skm-honors-toolbar{align-items:stretch;flex-direction:column}.skm-honors-toolbar form{min-width:0;width:100%}.skm-honors-podium{grid-template-columns:1fr}.skm-honor-card.is-rank-1,.skm-honor-card.is-rank-2,.skm-honor-card.is-rank-3{order:initial;transform:none}.skm-exam-awards{grid-template-columns:1fr}.skm-exam-history__list article{grid-template-columns:1fr}.skm-exam-history__actions{justify-content:flex-start}}
@media(max-width:640px){.skm-exam-status,.skm-exam-finalize__head,.skm-exam-finalize__form,.skm-honors-footer{align-items:stretch;flex-direction:column}.skm-exam-finalize__form .skm-btn,.skm-exam-status .skm-btn{width:100%}.skm-exam-awards article{grid-template-columns:42px minmax(0,1fr) auto}.skm-exam-awards article>span{grid-column:1/-1}.skm-exam-awards img{width:42px;height:54px}.skm-honors-page{margin:12px auto;padding:0 10px 20px}.skm-honors-hero{padding:22px;border-radius:20px}.skm-honors-hero__brand img{width:66px;height:66px}.skm-honors-hero__brand strong{font-size:19px}.skm-honors-hero__copy h1{font-size:36px}.skm-honors-toolbar{padding:16px}.skm-honor-card__body h3{font-size:22px}}

/* ===== v2.6.8: Attendance UX, honors isolation, staff photos, modern student card ===== */
.skm-attendance-summary{grid-template-columns:repeat(6,minmax(0,1fr)) minmax(240px,1.8fr)!important;align-items:stretch}
.skm-attendance-summary>span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:11px 13px;border-radius:14px;background:#fff;border:1px solid #dfe7f0;font-size:12px;font-weight:700}
.skm-attendance-summary>span strong{font-size:20px;margin:0}.skm-attendance-summary .is-progress{color:#0b315d;background:#eef6ff;border-color:#bfd8f2}
.skm-attendance-smartbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:14px 16px}
.skm-attendance-smartbar>div:first-child{display:grid;gap:3px}.skm-attendance-smartbar small{color:#6b7a90}.skm-attendance-smartbar__actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.skm-attendance-smartbar__actions label{display:grid;gap:5px;min-width:165px;font-size:12px;font-weight:800;color:#475569}.skm-attendance-smartbar__actions select{min-height:42px}
.skm-btn--success{background:#15803d!important;border-color:#15803d!important;color:#fff!important}
.skm-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.skm-attendance-card{display:grid;gap:12px;padding:15px;border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.skm-attendance-card[hidden]{display:none!important}.skm-attendance-card .skm-person--large{min-height:88px}.skm-attendance-card .skm-person--large img{width:68px;height:88px;object-fit:cover;border-radius:12px}.skm-attendance-identity strong{font-size:18px;line-height:1.2}.skm-attendance-identity>span{display:inline-flex;margin-top:4px;padding:4px 8px;border-radius:999px;background:#eef4fb;color:#0b315d;font-size:11px;font-weight:800}
.skm-segmented{margin:0;gap:7px}.skm-segmented span{min-height:44px;font-size:12px}.skm-attendance-clear{justify-self:start}.skm-attendance-card .skm-note{min-height:42px}
.skm-class-off-panel{border-left:4px solid #f59e0b;background:#fffaf0}.skm-class-off-toggle span{font-size:16px;font-weight:900}.skm-makeup-attendance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.skm-sticky-actions{border:1px solid #dce6f1;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
@media(max-width:1100px){.skm-attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.skm-attendance-summary .skm-inline-search{grid-column:1/-1!important}.skm-attendance-smartbar{align-items:stretch;flex-direction:column}}
@media(max-width:760px){.skm-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.skm-attendance-grid{grid-template-columns:1fr!important}.skm-attendance-smartbar__actions{display:grid;grid-template-columns:1fr 1fr}.skm-attendance-smartbar__actions label{grid-column:1/-1}.skm-attendance-smartbar__actions .skm-btn{width:100%}.skm-makeup-attendance{grid-template-columns:1fr}.skm-segmented{grid-template-columns:1fr!important}}

/* Public honors page: isolate heading colors from theme builders. */
.skm-honors-page .skm-honors-hero,.skm-honors-page .skm-honors-hero *{box-sizing:border-box}
.skm-honors-page .skm-honors-hero h1,.skm-honors-page .skm-honors-hero h2,.skm-honors-page .skm-honors-hero strong{color:#fff!important;text-shadow:none!important}
.skm-honors-page .skm-honors-hero__copy h1{font-size:clamp(34px,4.5vw,56px)!important;line-height:1.04!important;margin:8px 0 12px!important;max-width:680px}
.skm-honors-page .skm-honors-hero__copy p{color:rgba(255,255,255,.9)!important}.skm-honors-page .skm-honors-hero__brand strong{font-size:25px!important}
.skm-honors-page .skm-empty{min-height:96px;display:flex;align-items:center;justify-content:center;color:#52617a!important;background:#fff!important;border:1px dashed #cbd5e1!important}

/* Staff directory: stable image slot and role-priority presentation. */
.skm-staff-photo-field{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:center}.skm-staff-photo-field>img{width:110px;height:138px;object-fit:cover;border-radius:16px;border:1px solid #dce5ef;background:#eef4f8}
.skm-team-card__photo{aspect-ratio:4/5!important;max-height:360px}.skm-team-card__photo img{object-position:center top}.skm-team-card__roles span:first-child{background:#0b315d;color:#fff}

/* Modern CR80 student card. CSS/vector elements remain sharp in print and PNG export. */
.skm-id-card--modern{position:relative;width:85.6mm!important;height:54mm!important;padding:5px!important;border:0!important;border-radius:5px!important;background:linear-gradient(135deg,#06182f 0%,#0d315c 55%,#13477d 100%)!important;box-shadow:0 18px 48px rgba(6,24,47,.24)!important;overflow:hidden!important}
.skm-id-card--modern:before{content:"";position:absolute;right:-18mm;bottom:-24mm;width:48mm;height:48mm;border:8mm solid rgba(226,185,88,.1);border-radius:50%}
.skm-id-card--modern:after{content:"";position:absolute;left:-18mm;top:-28mm;width:46mm;height:46mm;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.skm-id-card__safe{position:relative;z-index:1;width:100%;height:100%;padding:2.2mm 2.6mm;border:1px solid rgba(229,192,96,.75);border-radius:3px;box-sizing:border-box;display:grid;grid-template-rows:10.5mm minmax(0,1fr);gap:1.8mm;color:#fff}
.skm-id-card__modern-head{display:flex;align-items:center;justify-content:space-between;gap:2mm;padding-bottom:1.4mm;border-bottom:1px solid rgba(255,255,255,.18)}
.skm-id-card__modern-brand{display:grid;grid-template-columns:9mm minmax(0,1fr);gap:1.5mm;align-items:center;min-width:0}.skm-id-card__modern-brand>img{width:9mm;height:9mm;padding:.5mm;object-fit:contain;border-radius:50%;background:#fff}.skm-id-card__modern-brand div{min-width:0}.skm-id-card__modern-brand span{display:block;color:#f2d17c;font-size:1.8mm;font-weight:900;letter-spacing:.12em}.skm-id-card__modern-brand strong{display:block;margin-top:.3mm;color:#fff;font-size:4.2mm;line-height:.9;letter-spacing:.05em}.skm-id-card__modern-brand small{display:block;margin-top:.8mm;color:rgba(255,255,255,.72);font-size:1.45mm;letter-spacing:.05em;white-space:nowrap}
.skm-id-card__modern-title{text-align:right;min-width:24mm}.skm-id-card__modern-title span{display:block;color:#f2d17c;font-size:2.6mm;font-weight:900;letter-spacing:.16em}.skm-id-card__modern-title strong{display:block;margin-top:.8mm;color:#fff;font-size:1.7mm;letter-spacing:.06em}
.skm-id-card__modern-body{display:grid;grid-template-columns:22mm minmax(0,1fr);gap:2.5mm;min-height:0}.skm-id-card__modern-photo{position:relative;min-height:0;border-radius:2.3mm;overflow:hidden;background:#e7edf4;border:1px solid rgba(255,255,255,.35)}.skm-id-card__modern-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.skm-id-card__modern-photo span{position:absolute;left:1.2mm;right:1.2mm;bottom:1.2mm;padding:1.1mm;border-radius:1.5mm;background:rgba(6,24,47,.86);color:#fff;text-align:center;font-size:2mm;font-weight:900;backdrop-filter:blur(4px)}
.skm-id-card__modern-info{display:grid;grid-template-rows:auto auto 1fr;min-width:0}.skm-id-card__modern-info h1{margin:0 0 1.1mm!important;color:#fff!important;font-size:4.2mm!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skm-id-card__modern-info dl{display:grid;grid-template-columns:1fr 1fr;gap:.8mm 2mm;margin:0}.skm-id-card__modern-info dl div{display:grid;grid-template-columns:12mm minmax(0,1fr);gap:1mm;align-items:end;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:.55mm}.skm-id-card__modern-info dt{color:rgba(255,255,255,.66);font-size:1.75mm}.skm-id-card__modern-info dd{margin:0;color:#fff;font-size:2.05mm;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skm-id-card__modern-sign{align-self:end;display:flex;align-items:end;justify-content:space-between;gap:2mm;padding-top:1mm}.skm-id-card__modern-sign>div:first-child{display:grid;justify-items:center;min-width:29mm}.skm-id-card__modern-sign span{font-size:1.5mm;font-weight:900;letter-spacing:.12em;color:#f2d17c}.skm-id-card__modern-sign img{width:20mm;height:6.5mm;object-fit:contain;margin:-.5mm 0}.skm-id-card__modern-sign i{display:block;width:20mm;height:6mm}.skm-id-card__modern-sign strong{color:#fff;font-size:1.75mm;line-height:1}.skm-id-card__modern-qr{display:grid!important;justify-items:center!important;min-width:10mm!important}.skm-id-card__modern-qr>[data-skm-qr]{width:8.5mm;height:8.5mm;padding:.5mm;background:#fff;border-radius:1mm}.skm-id-card__modern-qr canvas,.skm-id-card__modern-qr img,.skm-id-card__modern-qr svg{width:7.5mm!important;height:7.5mm!important;display:block}.skm-id-card__modern-qr small{margin-top:.5mm;color:rgba(255,255,255,.7);font-size:1.25mm}
.skm-card-file-upload>summary,.skm-card-file-upload summary{cursor:pointer;color:#0b4b83;font-weight:800}.skm-card-file-upload[open]{min-width:min(360px,90vw)}.skm-card-file-upload .skm-mini-form{margin-top:8px;padding:10px;border:1px solid #dce5ef;border-radius:12px;background:#f8fbff}.skm-card-file-upload .skm-mini-form+form{margin-top:6px}
@media(max-width:700px){.skm-id-card--modern{transform:scale(.88)!important;transform-origin:center}.skm-card-download-actions{flex-wrap:wrap;justify-content:center}.skm-card-download-actions .skm-btn{min-width:140px}}
@media print{.skm-id-card--modern{transform:none!important;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.skm-card-download-actions,.skm-card-valid{display:none!important}}

/* ========================================================================== 
   v2.6.9 — Hệ thống thiết kế Shoraido Karatedo: vinh danh, đội ngũ, sinh nhật
   ========================================================================== */
:root{
  --skm-brand-navy:#06172f;
  --skm-brand-navy-2:#0b315d;
  --skm-brand-red:#d71920;
  --skm-brand-red-dark:#a90f17;
  --skm-brand-gold:#d5a43b;
  --skm-brand-cream:#fff9ed;
  --skm-brand-ink:#101828;
}

/* Public honors common */
.skm-public-honors{width:min(100% - 28px,1240px);margin:28px auto 44px;font-family:Arial,sans-serif;color:var(--skm-brand-ink)}
.skm-honors-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border:1px solid #dfe6ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(6,23,47,.06)}
.skm-honors-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0}.skm-honors-filters label{display:grid;gap:6px;min-width:220px}.skm-honors-filters label>span{font-size:12px;font-weight:800;color:#344054}.skm-honors-filters input,.skm-honors-filters select{min-height:44px;padding:8px 11px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#101828}
.skm-honors-board{position:relative;overflow:hidden;border:1px solid rgba(6,23,47,.1);border-radius:28px;background:#f7f9fc;box-shadow:0 28px 70px rgba(6,23,47,.13);isolation:isolate}
.skm-honors-premium-hero{position:relative;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:34px;align-items:center;min-height:310px;padding:38px 44px 42px;overflow:hidden;background:
  radial-gradient(circle at 82% 20%,rgba(215,25,32,.22),transparent 26%),
  linear-gradient(135deg,#031126 0%,#071f42 55%,#0e3b67 100%);color:#fff}
.skm-honors-premium-hero:before{content:"道";position:absolute;left:-12px;bottom:-55px;color:rgba(255,255,255,.045);font-family:Arial,sans-serif;font-size:230px;line-height:1}
.skm-honors-premium-hero:after{content:"";position:absolute;right:-75px;bottom:-95px;width:330px;height:330px;border:56px solid rgba(255,255,255,.06);border-radius:50%}
.skm-honors-premium-brand,.skm-honors-premium-copy{position:relative;z-index:1}.skm-honors-premium-brand{display:flex;align-items:center;gap:16px}.skm-honors-premium-brand img{width:88px;height:88px;object-fit:contain;padding:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(215,25,32,.28)}.skm-honors-premium-brand div{display:grid;gap:2px}.skm-honors-premium-brand span{color:#f4c35a;font-size:13px;font-weight:900;letter-spacing:.15em}.skm-honors-premium-brand strong{color:#fff!important;font-family:Arial,sans-serif;font-size:35px;line-height:1}.skm-honors-premium-brand small{margin-top:5px;color:rgba(255,255,255,.75);font-size:11px;letter-spacing:.09em}
.skm-honors-premium-copy{display:grid;justify-items:start}.skm-honors-kicker{display:inline-flex;align-items:center;gap:9px;color:#f4c35a;font-size:13px;font-weight:900;letter-spacing:.26em}.skm-honors-kicker:before,.skm-honors-kicker:after{content:"";width:28px;border-top:1px solid currentColor}.skm-honors-premium-copy h1{max-width:760px;margin:10px 0 9px!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:clamp(40px,5vw,66px)!important;line-height:1.02!important;text-shadow:none!important}.skm-honors-premium-copy>p{margin:0;color:#f2c866;font-size:18px;font-weight:700}.skm-honors-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.skm-honors-meta span{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(1,12,29,.36);color:#fff;font-size:13px;font-weight:700}
.skm-honors-empty{margin:24px;padding:28px;border:1px dashed #bdc8d7;border-radius:18px;background:#fff;color:#526175;text-align:center}
.skm-honors-list-panel{margin:22px 26px 28px;padding:22px 24px 18px;border:1px solid #dce4ef;border-radius:22px;background:#fff;box-shadow:0 15px 36px rgba(6,23,47,.06)}
.skm-honors-list-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.skm-honors-list-panel__head span{color:var(--skm-brand-red);font-size:11px;font-weight:900;letter-spacing:.15em}.skm-honors-list-panel__head h2{margin:4px 0 0!important;color:var(--skm-brand-navy)!important;font-family:Arial,sans-serif!important;font-size:26px!important}.skm-honors-list-panel__head>strong{padding:7px 11px;border-radius:999px;background:#eef3f8;color:#173b67;font-size:12px}
.skm-honors-table-wrap{overflow-x:auto}.skm-honors-table-wrap table{width:100%;border-collapse:collapse;color:#22314a;font-size:14px}.skm-honors-table-wrap th{padding:10px 12px;border-bottom:2px solid #dce4ef;color:#67768a;font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.skm-honors-table-wrap td{padding:11px 12px;border-bottom:1px solid #edf1f6;vertical-align:middle}.skm-honors-table-wrap tr:last-child td{border-bottom:0}.skm-honors-table-wrap td:last-child strong{color:var(--skm-brand-red)}.skm-honors-table-person{display:flex;align-items:center;gap:10px;min-width:210px}.skm-honors-table-person img{width:38px;height:48px;object-fit:cover;border-radius:9px;background:#edf1f5}.skm-honors-table-person span{display:grid;gap:2px}.skm-honors-table-person strong{color:#132a49}.skm-honors-table-person small{color:#7a8799}.skm-honors-note{margin:13px 0 0;color:#66758a;font-size:12px}
.skm-honors-board-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px 28px;background:var(--skm-brand-navy);color:#fff;border-top:3px solid var(--skm-brand-red)}.skm-honors-board-footer>div{display:flex;align-items:center;gap:10px}.skm-honors-board-footer img{width:38px;height:38px;object-fit:contain;border-radius:50%;background:#fff}.skm-honors-board-footer strong{font-size:13px}.skm-honors-board-footer p{margin:0;color:#e7c36a;font-weight:800;white-space:nowrap}.skm-honors-board-footer nav{display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap}.skm-honors-board-footer a{color:#fff;text-decoration:none;font-size:12px;font-weight:700}
.skm-honor-card-download{display:block;width:calc(100% - 28px);margin:0 14px 14px;padding:8px 10px;border:1px solid #dce4ee;border-radius:10px;background:#fff;color:#173b67;font-size:12px;font-weight:800;cursor:pointer}

/* Exam honors */
.skm-exam-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end;margin:-22px 26px 0;position:relative;z-index:2}
.skm-exam-honor-card{position:relative;overflow:hidden;border:1px solid #dce4ee;border-bottom:5px solid var(--skm-brand-navy);border-radius:23px;background:#fff;box-shadow:0 18px 42px rgba(6,23,47,.12)}.skm-exam-honor-card.is-rank-1{order:2;transform:translateY(-18px);border:2px solid var(--skm-brand-gold);border-bottom-width:5px}.skm-exam-honor-card.is-rank-2{order:1}.skm-exam-honor-card.is-rank-3{order:3}.skm-exam-honor-card__label{position:absolute;left:14px;top:0;z-index:2;padding:8px 14px;border-radius:0 0 10px 10px;background:var(--skm-brand-navy);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.skm-exam-honor-card.is-rank-1 .skm-exam-honor-card__label{background:var(--skm-brand-red)}.skm-exam-honor-card__crown{position:absolute;right:18px;top:10px;color:var(--skm-brand-gold);font-size:29px}.skm-exam-honor-card__main{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:54px 18px 16px}.skm-exam-honor-card__portrait{height:142px;overflow:hidden;border:1px solid #d7e0eb;border-radius:16px;background:#edf1f5}.skm-exam-honor-card__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.skm-exam-honor-card__identity>span{color:#8a98aa;font-size:11px;font-weight:800}.skm-exam-honor-card__identity h2{margin:4px 0 4px!important;color:#112a4a!important;font-family:Arial,sans-serif!important;font-size:24px!important;line-height:1.08!important}.skm-exam-honor-card__identity p{margin:0 0 12px;color:#66758a;font-size:13px}.skm-exam-honor-card__belts{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}.skm-exam-honor-card__belts div{padding:8px;border:1px solid #e1e7ef;border-radius:10px;background:#f8fafc;text-align:center}.skm-exam-honor-card__belts small{display:block;color:#8490a0;font-size:9px}.skm-exam-honor-card__belts strong{display:block;margin-top:2px;color:#142e50;font-size:11px}.skm-exam-honor-card__belts b{color:var(--skm-brand-red)}.skm-exam-honor-score{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:0 18px 12px;padding:11px;border-radius:14px;background:#f5f7fa;color:#172c4b}.skm-exam-honor-card.is-rank-1 .skm-exam-honor-score{background:#fff5dc}.skm-exam-honor-score small{margin-right:6px;color:#78869a;font-size:10px;text-transform:uppercase}.skm-exam-honor-score strong{color:var(--skm-brand-red);font-size:31px}.skm-exam-honor-score span{color:#6b7789}.skm-exam-honor-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 14px 14px}.skm-exam-honor-breakdown span{display:grid;gap:2px;padding:7px 4px;border-radius:8px;background:#f8fafc;color:#7a8798;font-size:9px;text-align:center}.skm-exam-honor-breakdown b{color:#152e4d;font-size:12px}

/* Attendance honors */
.skm-attendance-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end;margin:-22px 26px 0;position:relative;z-index:2}.skm-attendance-honor-card{position:relative;display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;overflow:hidden;padding:54px 16px 16px;border:1px solid #dce4ee;border-bottom:5px solid var(--skm-brand-navy);border-radius:23px;background:#fff;box-shadow:0 18px 42px rgba(6,23,47,.12)}.skm-attendance-honor-card.is-rank-1{order:2;transform:translateY(-18px);border:2px solid var(--skm-brand-gold);border-bottom-width:5px}.skm-attendance-honor-card.is-rank-2{order:1}.skm-attendance-honor-card.is-rank-3{order:3}.skm-attendance-honor-card__label{position:absolute;left:50%;top:0;transform:translateX(-50%);min-width:165px;padding:9px 13px;border-radius:0 0 12px 12px;background:var(--skm-brand-navy);color:#fff;font-size:12px;font-weight:900;text-align:center;text-transform:uppercase}.skm-attendance-honor-card.is-rank-1 .skm-attendance-honor-card__label{background:var(--skm-brand-red)}.skm-attendance-honor-card__portrait{height:184px;overflow:hidden;border:1px solid #d6dfe9;border-radius:16px;background:#eef2f6}.skm-attendance-honor-card__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.skm-attendance-honor-card__content>span{color:#8995a5;font-size:11px;font-weight:800}.skm-attendance-honor-card__content h2{margin:4px 0!important;color:#112a4a!important;font-family:Arial,sans-serif!important;font-size:23px!important;line-height:1.1!important}.skm-attendance-honor-card__content>p{margin:0 0 10px;color:#66758a;font-size:12px}.skm-attendance-honor-card__metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.skm-attendance-honor-card__metrics div{display:grid;gap:2px;padding:9px;border:1px solid #e0e6ee;border-radius:10px;background:#f8fafc;text-align:center}.skm-attendance-honor-card__metrics small{color:#7a8797;font-size:9px}.skm-attendance-honor-card__metrics strong{color:#122e51;font-size:20px}.skm-attendance-rate{display:grid;justify-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e5eaf0}.skm-attendance-rate small{color:#7b8797;font-size:10px}.skm-attendance-rate strong{color:var(--skm-brand-red);font-size:34px;line-height:1.1}.skm-attendance-honor-card .skm-honor-card-download{grid-column:1/-1;width:100%;margin:0}

/* Team directory */
.skm-team-page--premium{width:min(100% - 28px,1240px);margin:28px auto 48px;color:#17263d;font-family:Arial,sans-serif}.skm-team-premium-hero{position:relative;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:36px;align-items:center;min-height:290px;padding:36px 42px 58px;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#031126,#0b315d);color:#fff;box-shadow:0 24px 60px rgba(6,23,47,.18)}.skm-team-premium-hero:after{content:"道";position:absolute;right:18px;bottom:-78px;color:rgba(255,255,255,.04);font-family:Arial,sans-serif;font-size:250px}.skm-team-premium-brand,.skm-team-premium-copy{position:relative;z-index:1}.skm-team-premium-brand{display:flex;align-items:center;gap:15px}.skm-team-premium-brand img{width:86px;height:86px;object-fit:contain;padding:5px;border-radius:50%;background:#fff}.skm-team-premium-brand div{display:grid}.skm-team-premium-brand span{color:#efbd4f;font-size:12px;font-weight:900;letter-spacing:.14em}.skm-team-premium-brand strong{color:#fff!important;font-family:Arial,sans-serif;font-size:34px}.skm-team-premium-brand small{color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.08em}.skm-team-premium-copy>span{color:#efbd4f;font-size:11px;font-weight:900;letter-spacing:.14em}.skm-team-premium-copy h1{margin:9px 0!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:clamp(42px,5vw,64px)!important;line-height:1!important}.skm-team-premium-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.86);font-size:17px;line-height:1.6}
.skm-team-premium-summary{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-34px 48px 24px}.skm-team-premium-summary article{display:grid;grid-template-columns:48px auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:18px;border:1px solid #e0e6ed;border-radius:18px;background:#fff;box-shadow:0 14px 28px rgba(6,23,47,.1)}.skm-team-role-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff4f4;color:var(--skm-brand-red);font-size:23px}.skm-team-premium-summary strong{color:#102b4f;font-size:28px;line-height:1}.skm-team-premium-summary span{color:#5f6f84;font-size:13px}
.skm-team-premium-content{padding:0 18px}.skm-team-premium-toolbar{display:grid;grid-template-columns:190px 210px minmax(240px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #dfe6ef;border-radius:18px;background:#fff}.skm-team-premium-toolbar label{display:grid;gap:6px}.skm-team-premium-toolbar label>span{font-size:11px;font-weight:800;color:#536176}.skm-team-premium-toolbar select,.skm-team-premium-toolbar input{width:100%;min-height:44px;padding:8px 11px;border:1px solid #ccd6e2;border-radius:11px;background:#fff}.skm-team-result-count{display:grid;justify-items:center;min-width:84px;padding:8px 12px;border-radius:12px;background:#f3f6fa}.skm-team-result-count strong{color:#102d52;font-size:20px}.skm-team-result-count span{color:#7a8798;font-size:10px}.skm-team-premium-heading{margin:24px 3px 14px}.skm-team-premium-heading span{color:var(--skm-brand-red);font-size:11px;font-weight:900;letter-spacing:.14em}.skm-team-premium-heading h2{margin:4px 0 0!important;color:#0d294b!important;font-family:Arial,sans-serif!important;font-size:27px!important}
.skm-team-premium-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.skm-team-premium-card{overflow:hidden;border:1px solid #dfe6ee;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(6,23,47,.07);transition:transform .2s ease,box-shadow .2s ease}.skm-team-premium-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(6,23,47,.12)}.skm-team-premium-card__photo{display:grid;place-items:center;aspect-ratio:4/4.7;overflow:hidden;background:linear-gradient(145deg,#eff3f7,#dae3ec);color:#17385f;font-size:42px;font-weight:900}.skm-team-premium-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.skm-team-premium-card__body{padding:14px}.skm-team-premium-card__roles{display:flex;gap:5px;flex-wrap:wrap}.skm-team-premium-card__roles span{padding:4px 8px;border-radius:999px;background:#e8eff8;color:#173f70;font-size:9px;font-weight:900;text-transform:uppercase}.skm-team-premium-card__roles .is-chu-nhiem{background:#fff0d2;color:#8a5700}.skm-team-premium-card__roles .is-ke-toan{background:#f0eafa;color:#623a91}.skm-team-premium-card h3{margin:9px 0 7px!important;color:#0e2a4e!important;font-family:Arial,sans-serif!important;font-size:18px!important;line-height:1.15!important}.skm-team-premium-card__branches{display:flex;gap:5px;margin:0 0 9px;color:#657489;font-size:11px}.skm-team-premium-card__bio{color:#58677a;font-size:11px;line-height:1.5}.skm-team-premium-card__bio p{margin:0}.skm-team-no-result{margin:18px 0;padding:22px;border:1px dashed #c4ceda;border-radius:16px;color:#66758a;text-align:center}.skm-team-premium-footer{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;margin-top:26px;padding:18px 22px;border-radius:18px;background:var(--skm-brand-navy);color:#fff}.skm-team-premium-footer>div{display:flex;align-items:center;gap:9px}.skm-team-premium-footer img{width:38px;height:38px;border-radius:50%;background:#fff}.skm-team-premium-footer p{margin:0;color:rgba(255,255,255,.7);font-size:12px}.skm-team-premium-footer a{color:#f3c65c;font-weight:800;text-decoration:none}

/* Square birthday poster, 1:1 social image */
.skm-birthday-poster--square{position:relative;display:grid!important;grid-template-columns:.75fr 1.25fr;grid-template-rows:auto 1fr auto auto;width:min(100%,620px)!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;padding:26px!important;overflow:hidden!important;border-radius:24px!important;background:
 radial-gradient(circle at 78% 28%,rgba(215,25,32,.2),transparent 26%),
 linear-gradient(145deg,#031126 0%,#08264e 62%,#0c3764 100%)!important;color:#fff!important;box-shadow:0 20px 50px rgba(6,23,47,.2)!important}.skm-birthday-poster--square:before{content:"道";position:absolute;left:-24px;bottom:-76px;color:rgba(255,255,255,.045);font-family:Arial,sans-serif;font-size:210px}.skm-birthday-poster__glow{position:absolute;right:-90px;bottom:-110px;width:290px;height:290px;border:42px solid rgba(255,255,255,.05);border-radius:50%}.skm-birthday-poster__brand{grid-column:1/-1;position:relative;z-index:1;display:flex;align-items:center;gap:11px}.skm-birthday-poster__brand img{width:58px;height:58px;object-fit:contain;padding:3px;border-radius:50%;background:#fff}.skm-birthday-poster__brand div{display:grid}.skm-birthday-poster__brand span{color:#efbd4f;font-size:10px;font-weight:900;letter-spacing:.13em}.skm-birthday-poster__brand strong{font-family:Arial,sans-serif;font-size:24px}.skm-birthday-poster__brand small{color:rgba(255,255,255,.68);font-size:8px;letter-spacing:.07em}.skm-birthday-poster__headline{position:relative;z-index:1;display:grid;align-content:center;padding-right:18px}.skm-birthday-poster__headline em{color:#f3c259;font-family:Arial,sans-serif;font-size:34px}.skm-birthday-poster__headline>strong{font-family:Arial,sans-serif;font-size:46px;line-height:.95}.skm-birthday-poster__headline>span{display:inline-flex;justify-self:start;margin-top:13px;padding:8px 15px;border-radius:999px;background:var(--skm-brand-red);font-size:13px;font-weight:900}.skm-birthday-poster__portrait{position:relative;z-index:1;display:grid;place-items:center}.skm-birthday-poster__portrait>div{width:220px;height:220px;padding:9px;border-radius:50%;background:linear-gradient(135deg,#f8d875,#bd7818);box-shadow:0 0 0 5px rgba(255,255,255,.08)}.skm-birthday-poster__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;background:#fff}.skm-birthday-poster__identity{grid-column:1/-1;position:relative;z-index:1;display:grid;justify-items:center;margin-top:8px}.skm-birthday-poster__identity h4{margin:0!important;padding:10px 24px;border:1px solid rgba(241,194,89,.55);border-radius:12px;background:rgba(1,14,32,.6);color:#f6d681!important;font-family:Arial,sans-serif!important;font-size:28px!important;text-align:center}.skm-birthday-poster__identity>div{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:12px}.skm-birthday-poster__identity span{display:grid;gap:2px;color:rgba(255,255,255,.7);font-size:10px;text-align:center}.skm-birthday-poster__identity strong{color:#fff;font-size:13px}.skm-birthday-poster--square .skm-birthday-poster__message{grid-column:1/-1;position:relative;z-index:1;margin:13px 20px 0!important;padding:12px 18px!important;border:1px solid rgba(241,194,89,.42)!important;border-radius:14px!important;background:rgba(3,19,42,.64)!important;color:#fff4d4!important;font-size:13px!important;line-height:1.45!important;text-align:center}.skm-birthday-poster__values{grid-column:1/-1;position:relative;z-index:1;display:flex;justify-content:center;gap:18px;margin-top:13px;color:#efc45e;font-size:10px;font-weight:900;letter-spacing:.08em}.skm-birthday-poster__values span+span:before{content:"•";margin-right:18px;color:rgba(255,255,255,.35)}

/* Student ID card: permanent membership card, no belt level */
.skm-id-card--modern{background:linear-gradient(180deg,#04152d 0%,#0a315d 48%,#f8fafc 48.2%,#fff 100%)!important;border:1px solid #d6a33b!important;box-shadow:0 18px 48px rgba(6,24,47,.24)!important}.skm-id-card--modern:before{right:-12mm;bottom:-17mm;width:42mm;height:42mm;border:7mm solid rgba(6,23,47,.06)}.skm-id-card__modern-head{height:14mm;padding:1mm 1.2mm 1.2mm;border-bottom:1px solid rgba(255,255,255,.19)}.skm-id-card__modern-brand{grid-template-columns:10mm minmax(0,1fr)}.skm-id-card__modern-brand>img{width:10mm;height:10mm}.skm-id-card__modern-brand span{color:#efc25a}.skm-id-card__modern-title span{color:#efc25a}.skm-id-card__modern-body{grid-template-columns:23mm minmax(0,1fr);gap:2.8mm;padding:2.2mm 1.5mm 1.3mm}.skm-id-card__modern-photo{height:33mm;border:.35mm solid #d5a43b;border-radius:2.8mm;background:#fff}.skm-id-card__modern-photo img{object-position:center top}.skm-id-card__modern-info{grid-template-rows:8mm 17mm 1fr}.skm-id-card__modern-info h1{align-self:center;margin:0!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:4.4mm!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.04em}.skm-id-card__modern-info dl{grid-template-columns:1fr 1fr;gap:1mm 2mm;padding-top:1mm}.skm-id-card__modern-info dl div{grid-template-columns:12.5mm minmax(0,1fr);border-bottom:.18mm solid #d7dee7}.skm-id-card__modern-info dt{color:#516176;font-size:1.75mm;text-transform:uppercase}.skm-id-card__modern-info dd{color:#152b4b;font-size:2.15mm}.skm-id-card__modern-sign{padding-top:1.2mm}.skm-id-card__modern-sign span{color:#45566b}.skm-id-card__modern-sign strong{color:#132b4c}.skm-id-card__modern-qr small{color:#4e6076}.skm-id-card__modern-qr>[data-skm-qr]{border:.18mm solid #d7a33a}.skm-id-card__modern-photo span{display:none!important}

/* Compact, structured student management page */
.skm-content .skm-section-head:has(+ .skm-data-health-alert),.skm-content .skm-section-head:has(+ .skm-student-status-tabs){padding:4px 0 14px}.skm-content .skm-section-head h1{color:#102a4c!important}.skm-data-health-alert{padding:16px 18px!important}.skm-student-status-tabs{gap:8px;margin:12px 0}.skm-student-status-tabs a{min-height:42px;padding:9px 13px;border-radius:11px}.skm-transfer-card{padding:18px!important}.skm-transfer-card__head h2{font-size:22px!important}.skm-transfer-branch-grid{gap:12px!important}.skm-transfer-branch-grid .skm-import-box{padding:15px!important;border-radius:14px!important}.skm-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.skm-student-card{padding:15px!important;border-radius:16px!important;box-shadow:0 8px 20px rgba(6,23,47,.05)!important}.skm-student-card__head{grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important}.skm-student-card__head img{width:64px!important;height:80px!important;border-radius:11px!important}.skm-student-card__head h2{font-size:18px!important}.skm-meta-list--two-columns{gap:7px 11px!important}.skm-meta-list--two-columns>div{padding:7px 0!important}.skm-student-card .skm-card-actions{gap:7px}.skm-student-card .skm-btn--small{padding:7px 10px!important;font-size:12px!important}

@media(max-width:1100px){
 .skm-team-premium-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .skm-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:960px){
 .skm-honors-premium-hero,.skm-team-premium-hero{grid-template-columns:1fr;padding:28px}
 .skm-exam-podium,.skm-attendance-podium{grid-template-columns:1fr;margin:18px}
 .skm-exam-honor-card.is-rank-1,.skm-exam-honor-card.is-rank-2,.skm-exam-honor-card.is-rank-3,.skm-attendance-honor-card.is-rank-1,.skm-attendance-honor-card.is-rank-2,.skm-attendance-honor-card.is-rank-3{order:initial;transform:none}
 .skm-team-premium-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:-28px 22px 20px}
 .skm-team-premium-toolbar{grid-template-columns:1fr 1fr}.skm-team-search{grid-column:1/-1}.skm-team-result-count{grid-column:1/-1}
 .skm-team-premium-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .skm-honors-board-footer{grid-template-columns:1fr}.skm-honors-board-footer nav{justify-content:flex-start}
}
@media(max-width:700px){
 .skm-public-honors,.skm-team-page--premium{width:min(100% - 16px,1240px);margin-top:10px}.skm-honors-actions{align-items:stretch;flex-direction:column}.skm-honors-filters{display:grid;grid-template-columns:1fr}.skm-honors-filters label{min-width:0}.skm-honors-premium-hero,.skm-team-premium-hero{padding:22px;border-radius:20px}.skm-honors-premium-brand img,.skm-team-premium-brand img{width:64px;height:64px}.skm-honors-premium-brand strong,.skm-team-premium-brand strong{font-size:26px}.skm-honors-premium-copy h1,.skm-team-premium-copy h1{font-size:36px!important}.skm-honors-premium-copy>p{font-size:15px}.skm-exam-honor-card__main{grid-template-columns:92px minmax(0,1fr)}.skm-exam-honor-card__portrait{height:118px}.skm-exam-honor-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}.skm-attendance-honor-card{grid-template-columns:100px minmax(0,1fr)}.skm-attendance-honor-card__portrait{height:145px}.skm-honors-list-panel{margin:14px 10px 18px;padding:16px}.skm-honors-list-panel__head{align-items:flex-start;flex-direction:column}.skm-team-premium-summary{grid-template-columns:1fr 1fr;margin:-20px 10px 16px}.skm-team-premium-summary article{padding:13px}.skm-team-premium-content{padding:0 4px}.skm-team-premium-toolbar{grid-template-columns:1fr}.skm-team-search,.skm-team-result-count{grid-column:auto}.skm-team-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skm-team-premium-footer{grid-template-columns:1fr}.skm-birthday-poster--square{padding:18px!important}.skm-birthday-poster__brand img{width:46px;height:46px}.skm-birthday-poster__brand strong{font-size:19px}.skm-birthday-poster__headline em{font-size:26px}.skm-birthday-poster__headline>strong{font-size:34px}.skm-birthday-poster__portrait>div{width:160px;height:160px}.skm-birthday-poster__identity h4{font-size:21px!important}.skm-birthday-poster--square .skm-birthday-poster__message{margin:9px 0 0!important;font-size:11px!important}.skm-birthday-poster__values{gap:8px;font-size:8px}.skm-birthday-poster__values span+span:before{margin-right:8px}.skm-student-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
 .skm-team-premium-grid{grid-template-columns:1fr}
 .skm-team-premium-summary{grid-template-columns:1fr 1fr}.skm-team-role-icon{width:38px;height:38px}.skm-team-premium-summary article{grid-template-columns:38px auto}
 .skm-birthday-poster--square{grid-template-columns:.85fr 1.15fr;padding:13px!important;border-radius:16px!important}.skm-birthday-poster__brand img{width:38px;height:38px}.skm-birthday-poster__brand strong{font-size:16px}.skm-birthday-poster__brand small{display:none}.skm-birthday-poster__headline em{font-size:20px}.skm-birthday-poster__headline>strong{font-size:27px}.skm-birthday-poster__headline>span{padding:5px 10px;font-size:9px}.skm-birthday-poster__portrait>div{width:125px;height:125px;padding:5px}.skm-birthday-poster__identity h4{padding:6px 12px;font-size:16px!important}.skm-birthday-poster__identity>div{gap:9px;margin-top:7px}.skm-birthday-poster__identity span{font-size:7px}.skm-birthday-poster__identity strong{font-size:9px}.skm-birthday-poster--square .skm-birthday-poster__message{padding:8px!important;font-size:8px!important}.skm-birthday-poster__values{margin-top:7px;font-size:6px}
}
@media print{
 .skm-honors-actions,.skm-honor-card-download{display:none!important}.skm-honors-board{box-shadow:none!important;border:0!important}.skm-public-honors{width:100%!important;margin:0!important}
}


/* v2.7.0 — Approved Shoraido card and square birthday artwork */
.skm-id-card--shoraido{position:relative;width:85.6mm!important;height:54mm!important;border-radius:4mm!important;overflow:hidden!important;background:linear-gradient(160deg,#06172d 0%,#0a3158 43%,#f8fafc 43.2%,#fff 100%)!important;border:.28mm solid #d7aa45!important;box-shadow:0 7mm 16mm rgba(5,18,36,.22)!important;font-family:Arial,sans-serif!important;color:#07182f!important;isolation:isolate}
.skm-id-card--shoraido:after{content:"道";position:absolute;right:14mm;top:8mm;z-index:0;color:rgba(255,255,255,.045);font-family:Arial,sans-serif;font-size:29mm;font-weight:900;line-height:1;pointer-events:none}
.skm-id-card--shoraido .skm-id-card__safe{position:relative;z-index:1;width:100%;height:100%;padding:2.2mm!important;box-sizing:border-box}
.skm-id-card--shoraido .skm-id-card__safe:before{content:"";position:absolute;inset:1.3mm;border:.22mm solid rgba(221,174,73,.86);border-radius:2.8mm;pointer-events:none}
.skm-id-card--shoraido .skm-id-card__modern-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30mm;align-items:center;height:13.2mm!important;padding:1.1mm 2.1mm 1.5mm!important;border-bottom:.22mm solid rgba(255,255,255,.22)!important;box-sizing:border-box}
.skm-id-card--shoraido .skm-id-card__modern-brand{display:grid;grid-template-columns:10mm minmax(0,1fr);gap:2mm;align-items:center;min-width:0}
.skm-id-card--shoraido .skm-id-card__modern-brand>img{width:10mm!important;height:10mm!important;object-fit:contain;filter:drop-shadow(0 .4mm .5mm rgba(0,0,0,.18))}
.skm-id-card--shoraido .skm-id-card__modern-brand span{display:block;color:#f1c45d!important;font-family:Arial,sans-serif;font-size:2.25mm;font-weight:800;letter-spacing:.08em}
.skm-id-card--shoraido .skm-id-card__modern-brand strong{display:block;color:#fff;font-family:Arial,sans-serif;font-size:4.3mm;line-height:1;font-weight:900;letter-spacing:.035em}
.skm-id-card--shoraido .skm-id-card__modern-brand small{display:block;margin-top:.7mm;color:rgba(255,255,255,.78);font-size:1.35mm;letter-spacing:.11em;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-title{text-align:right;min-width:0}
.skm-id-card--shoraido .skm-id-card__modern-title span{display:block;color:#f1c45d!important;font-family:Arial,sans-serif;font-size:3.35mm;font-weight:900;letter-spacing:.13em}
.skm-id-card--shoraido .skm-id-card__modern-title strong{display:block;margin-top:.7mm;color:#fff;font-size:1.95mm;letter-spacing:.08em;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-title small{display:block;margin-top:.35mm;color:rgba(255,255,255,.64);font-size:1.05mm;letter-spacing:.05em;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-body{position:relative;display:grid!important;grid-template-columns:23.5mm minmax(0,1fr)!important;gap:3mm!important;height:36.3mm!important;padding:2.1mm 2.1mm 1.4mm!important;box-sizing:border-box}
.skm-id-card--shoraido .skm-id-card__modern-photo{position:relative;height:31.8mm!important;margin-top:.4mm;border:.38mm solid #d9aa43!important;border-radius:3mm!important;overflow:hidden;background:#fff;box-shadow:0 1mm 2.4mm rgba(5,24,48,.17)}
.skm-id-card--shoraido .skm-id-card__modern-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.skm-id-card--shoraido .skm-id-card__modern-photo small{display:block!important;position:absolute;left:1.2mm;right:1.2mm;bottom:1.1mm;padding:.75mm .5mm;border-radius:1.4mm;background:rgba(5,24,47,.88);color:#fff;font-size:1.25mm;font-weight:900;letter-spacing:.08em;text-align:center}
.skm-id-card--shoraido .skm-id-card__modern-info{display:grid!important;grid-template-rows:7.5mm 15.6mm minmax(0,1fr)!important;min-width:0}
.skm-id-card--shoraido .skm-id-card__modern-info h1{align-self:center;overflow:hidden;margin:0!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:4.15mm!important;font-weight:900!important;line-height:1.06!important;letter-spacing:.018em!important;text-overflow:ellipsis;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-info dl{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.65mm 2.1mm!important;margin:0;padding:1.2mm 0 0!important}
.skm-id-card--shoraido .skm-id-card__modern-info dl div{display:grid!important;grid-template-columns:11.7mm minmax(0,1fr)!important;align-items:center;min-width:0;border-bottom:.18mm solid #d8dee6!important}
.skm-id-card--shoraido .skm-id-card__modern-info dt{color:#526276!important;font-size:1.55mm!important;font-weight:700;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-info dd{overflow:hidden;margin:0!important;color:#102b4d!important;font-size:1.9mm!important;font-weight:900!important;text-align:left!important;text-overflow:ellipsis;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-sign{display:grid!important;grid-template-columns:minmax(0,1fr) 14mm!important;gap:1.8mm;align-items:end;padding-top:1mm!important}
.skm-id-card--shoraido .skm-id-card__modern-sign>div:first-child{display:grid;justify-items:center;align-content:end;min-width:0}
.skm-id-card--shoraido .skm-id-card__modern-sign span{color:#485c74!important;font-size:1.35mm!important;font-weight:800;letter-spacing:.055em}
.skm-id-card--shoraido .skm-id-card__modern-sign img{width:22mm!important;height:6.3mm!important;object-fit:contain;margin:-.5mm 0 -.3mm}
.skm-id-card--shoraido .skm-id-card__modern-sign i{display:block;width:22mm;height:4.5mm}
.skm-id-card--shoraido .skm-id-card__modern-sign strong{overflow:hidden;max-width:28mm;color:#112b4c!important;font-size:1.55mm!important;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.skm-id-card--shoraido .skm-id-card__modern-qr{display:grid!important;justify-items:center;align-content:end;gap:.4mm}
.skm-id-card--shoraido .skm-id-card__modern-qr>[data-skm-qr]{width:11.5mm!important;height:11.5mm!important;padding:.7mm;background:#fff;border:.22mm solid #d8aa43!important;border-radius:1.4mm;box-sizing:border-box}
.skm-id-card--shoraido .skm-id-card__modern-qr canvas,.skm-id-card--shoraido .skm-id-card__modern-qr img,.skm-id-card--shoraido .skm-id-card__modern-qr svg{width:100%!important;height:100%!important}
.skm-id-card--shoraido .skm-id-card__modern-qr small{color:#435a72!important;font-size:1.05mm!important;font-weight:800;white-space:nowrap}

.skm-birthday-poster--shoraido{position:relative!important;display:grid!important;grid-template-columns:38% 62%!important;grid-template-rows:auto auto 1fr auto auto!important;width:min(100%,720px)!important;aspect-ratio:1/1!important;min-height:0!important;padding:30px!important;overflow:hidden!important;border:0!important;border-radius:22px!important;background:radial-gradient(circle at 68% 30%,rgba(226,31,38,.16),transparent 31%),linear-gradient(145deg,#030a12 0%,#07172a 52%,#0d223b 100%)!important;color:#fff!important;font-family:Arial,sans-serif!important;box-shadow:0 20px 48px rgba(3,12,23,.2)!important;isolation:isolate}
.skm-birthday-poster--shoraido:before{content:"道";position:absolute;left:-4%;bottom:-8%;z-index:0;color:rgba(255,255,255,.035);font-family:Arial,sans-serif;font-size:235px;font-weight:900;line-height:1}
.skm-birthday-poster--shoraido:after{content:"";position:absolute;inset:14px;z-index:0;border:2px solid rgba(231,36,42,.68);border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.skm-birthday-poster--shoraido .skm-birthday-poster__glow{position:absolute!important;right:-18%;top:-10%;width:62%;height:62%;border:58px solid rgba(230,32,38,.08);border-radius:50%;filter:none!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__brand{grid-column:1/-1;position:relative;z-index:2;display:flex!important;align-items:center;gap:13px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.16)}
.skm-birthday-poster--shoraido .skm-birthday-poster__brand img{width:68px!important;height:68px!important;object-fit:contain;background:#fff;border-radius:50%;padding:3px;box-sizing:border-box}
.skm-birthday-poster--shoraido .skm-birthday-poster__brand span{display:block;color:#e62a31!important;font-family:Arial,sans-serif;font-size:14px!important;font-weight:900!important;letter-spacing:.12em}
.skm-birthday-poster--shoraido .skm-birthday-poster__brand strong{display:block;color:#fff!important;font-family:Arial,sans-serif!important;font-size:31px!important;line-height:1!important;letter-spacing:.035em}
.skm-birthday-poster--shoraido .skm-birthday-poster__brand small{display:block;margin-top:5px;color:rgba(255,255,255,.72)!important;font-size:10px!important;letter-spacing:.12em}
.skm-birthday-poster--shoraido .skm-birthday-poster__headline{position:relative;z-index:2;display:grid!important;align-content:center;justify-items:start;padding:18px 18px 8px 4px!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__headline em{color:#e62a31!important;font-family:Arial,sans-serif!important;font-size:35px!important;font-weight:700!important;line-height:1}
.skm-birthday-poster--shoraido .skm-birthday-poster__headline>strong{margin-top:8px;color:#fff!important;font-family:Arial,sans-serif!important;font-size:56px!important;font-weight:900!important;line-height:.9!important;letter-spacing:.025em}
.skm-birthday-poster--shoraido .skm-birthday-poster__headline>span{margin-top:18px!important;padding:9px 17px!important;border-radius:999px!important;background:#e3242b!important;color:#fff!important;font-size:13px!important;font-weight:900!important;letter-spacing:.08em}
.skm-birthday-poster--shoraido .skm-birthday-poster__portrait{position:relative;z-index:2;display:grid!important;place-items:center;padding:14px 0 4px}
.skm-birthday-poster--shoraido .skm-birthday-poster__portrait>div{width:250px!important;height:250px!important;padding:8px!important;border-radius:50%!important;background:linear-gradient(135deg,#fff 0%,#d8dde5 100%)!important;box-shadow:0 0 0 5px rgba(230,36,43,.82),0 0 0 9px rgba(255,255,255,.11)!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;background:#fff}
.skm-birthday-poster--shoraido .skm-birthday-poster__identity{grid-column:1/-1;position:relative;z-index:2;display:grid!important;justify-items:center;margin-top:12px!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__identity h4{max-width:92%;margin:0!important;padding:10px 26px!important;border:1px solid rgba(229,35,42,.75)!important;border-radius:12px!important;background:rgba(2,11,21,.74)!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:30px!important;font-weight:900!important;line-height:1.12!important;text-align:center!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__identity>div{display:flex!important;justify-content:center;gap:22px!important;flex-wrap:wrap;margin-top:13px!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__identity span{display:grid!important;gap:3px;color:rgba(255,255,255,.62)!important;font-size:10px!important;text-align:center}
.skm-birthday-poster--shoraido .skm-birthday-poster__identity strong{color:#fff!important;font-size:14px!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__message{grid-column:1/-1;position:relative;z-index:2;margin:14px 24px 0!important;padding:14px 19px!important;border:1px solid rgba(229,35,42,.45)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;color:#f7f8fa!important;font-size:14px!important;line-height:1.5!important;text-align:center!important}
.skm-birthday-poster--shoraido .skm-birthday-poster__message strong{color:#ef2a31!important;letter-spacing:.06em}
.skm-birthday-poster--shoraido .skm-birthday-poster__values{grid-column:1/-1;position:relative;z-index:2;display:flex!important;justify-content:center;gap:16px!important;margin-top:15px!important;color:#fff!important;font-size:10px!important;font-weight:900!important;letter-spacing:.1em}
.skm-birthday-poster--shoraido .skm-birthday-poster__values span{display:flex;align-items:center;gap:7px}
.skm-birthday-poster--shoraido .skm-birthday-poster__values span:before{content:"";width:7px;height:7px;border-radius:50%;background:#e5262d}
.skm-birthday-poster--shoraido .skm-birthday-poster__values span+span:before{margin-right:0!important;color:inherit!important}

@media(max-width:700px){
 .skm-birthday-poster--shoraido{padding:18px!important;border-radius:16px!important}
 .skm-birthday-poster--shoraido:after{inset:8px;border-radius:12px}
 .skm-birthday-poster--shoraido .skm-birthday-poster__brand img{width:48px!important;height:48px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__brand strong{font-size:20px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__brand small{font-size:7px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__headline{padding:10px 8px 3px 0!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__headline em{font-size:23px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__headline>strong{font-size:36px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__headline>span{margin-top:10px!important;padding:6px 10px!important;font-size:9px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__portrait>div{width:164px!important;height:164px!important;padding:5px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__identity{margin-top:7px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__identity h4{padding:7px 12px!important;font-size:19px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__identity>div{gap:9px!important;margin-top:8px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__identity span{font-size:7px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__identity strong{font-size:9px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__message{margin:8px 5px 0!important;padding:8px 10px!important;font-size:8px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__values{gap:7px!important;margin-top:8px!important;font-size:6px!important}
 .skm-birthday-poster--shoraido .skm-birthday-poster__values span{gap:3px}.skm-birthday-poster--shoraido .skm-birthday-poster__values span:before{width:4px;height:4px}
}
@media print{
 body.skm-card-page{background:#fff!important}
 .skm-student-card-print{min-height:0!important;padding:0!important}
 .skm-id-card--shoraido{box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .skm-card-valid,.skm-card-download-actions{display:none!important}
 @page{size:85.6mm 54mm;margin:0}
}

/* v2.8.9: Chấm thi tự động trên thang 50 điểm. */
.skm-score-grid label>span{display:flex;align-items:center;justify-content:space-between;gap:6px}
.skm-score-grid label>span small{color:#78869a;font-size:11px;font-weight:800}
.skm-score-grid input[data-skm-exam-score]{font-weight:800;text-align:center}
.skm-exam-auto-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:12px;border:1px solid #dbe3ed;border-radius:14px;background:#f7f9fc}
.skm-exam-auto-result>div{display:flex;align-items:baseline;gap:5px;padding:10px;border-radius:10px;background:#fff}
.skm-exam-auto-result>div span{color:#66758a;font-size:12px;font-weight:800}
.skm-exam-auto-result>div strong{margin-left:auto;color:#102a4c;font-size:22px;line-height:1}
.skm-exam-auto-result>div small{color:#66758a;font-size:12px;font-weight:800}
.skm-exam-auto-result>p{grid-column:1/-1;margin:0;color:#66758a;font-size:12px;line-height:1.45}
.skm-exam-auto-result.is-pass{border-color:#a9dfbd;background:#f0fbf4}
.skm-exam-auto-result.is-pass>div:last-of-type strong{color:#14833b}
.skm-exam-auto-result.is-fail{border-color:#f0c1bd;background:#fff6f5}
.skm-exam-auto-result.is-fail>div:last-of-type strong{color:#c92a22}
@media(max-width:640px){.skm-exam-auto-result{grid-template-columns:1fr}.skm-exam-auto-result>p{grid-column:auto}}

/* v2.9.0 - Tối ưu danh sách kỳ thi và tìm kiếm tức thì. */
.skm-exam-grid .skm-exam-card{
  content-visibility:auto;
  contain-intrinsic-size:620px;
  contain:layout paint style;
}
.skm-exam-grid .skm-exam-card[hidden]{display:none!important}
.skm-filter__search>small{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.skm-filter[data-skm-fast-filter] button[aria-busy="true"]{opacity:.72;cursor:wait}
