:root{--collective-blue:#075fc6;--collective-navy:#0b2344;--collective-bg:#f4f8fd;--collective-border:#dbe7f5;--collective-soft:#eef5ff;--collective-green:#138a55;--collective-red:#c73535}
.collective-page{background:var(--collective-bg);color:#17253b}.collective-main{min-height:calc(100vh - 180px)}.collective-topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.collective-nav{min-height:70px}.collective-nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collective-hero{background:linear-gradient(135deg,#f7fbff 0,#eaf4ff 55%,#f6fbff 100%);border-bottom:1px solid var(--collective-border);padding:54px 0 44px}.collective-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:32px;align-items:center}.collective-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.45rem 0 1rem;color:var(--collective-navy);letter-spacing:-.035em}.collective-hero p{max-width:760px;margin:0;color:#52647c;font-size:1.04rem;line-height:1.7}.collective-hero-note{display:grid;gap:9px;padding:20px;border:1px solid #cfe0f4;background:rgba(255,255,255,.82);border-radius:18px;box-shadow:0 12px 35px rgba(15,65,120,.08)}.collective-hero-note b{color:var(--collective-navy);font-size:1rem}.collective-hero-note span{font-size:.9rem;color:#5d6f85;display:flex;gap:8px;align-items:center}.collective-hero-note span:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e5f7ed;color:var(--collective-green);font-weight:800}.collective-section{padding-top:34px}.collective-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.collective-form{display:grid;gap:18px}.collective-panel{border:1px solid var(--collective-border);box-shadow:0 10px 30px rgba(25,63,107,.055);background:#fff;border-radius:18px;padding:22px}.collective-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:19px}.collective-section-head h2{font-size:1.08rem;margin:0 0 4px;color:var(--collective-navy)}.collective-section-head p{font-size:.88rem;color:#667990;margin:0;line-height:1.55}.collective-step{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--collective-blue);color:#fff;font-weight:800;font-size:.87rem}.collective-form-grid{gap:14px}.collective-form-grid .field label{font-size:.84rem;font-weight:700;color:#34465d}.collective-readonly-value{min-height:44px;border:1px solid #e1e8f0;background:#f8fafc;border-radius:10px;padding:11px 12px;color:#40546b}.collective-school-search{position:relative}.collective-school-results{position:absolute;z-index:30;top:70px;left:0;right:0;background:#fff;border:1px solid #ccdced;border-radius:12px;box-shadow:0 18px 42px rgba(30,61,98,.18);max-height:320px;overflow:auto}.collective-school-option{width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;display:block;cursor:pointer;border-bottom:1px solid #edf2f7;color:#30435a}.collective-school-option:last-child{border-bottom:0}.collective-school-option:hover,.collective-school-option:focus{background:#f1f7ff}.collective-school-option b{display:block;font-size:.92rem;color:#183a65}.collective-school-option small{display:block;color:#718096;margin-top:3px}.collective-student-head{align-items:center;flex-wrap:wrap}.collective-student-head>div:nth-child(2){flex:1;min-width:220px}.collective-student-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}.collective-import-label{cursor:pointer}.collective-table-wrap{border:1px solid #e2eaf3;border-radius:14px;overflow:auto;max-width:100%}.collective-student-table{min-width:1160px;margin:0}.collective-student-table th{white-space:nowrap;background:#f7faff;font-size:.76rem;color:#5b6c80}.collective-student-table td{padding:8px 7px;vertical-align:top}.collective-student-table .input{min-width:92px;padding:9px 9px;font-size:.82rem;height:40px}.collective-student-table [data-col="studentCode"]{min-width:92px}.collective-student-table [data-col="fullName"]{min-width:180px}.collective-student-table [data-col="email"]{min-width:190px}.collective-student-table [data-col="phone"]{min-width:132px}.collective-student-table [data-col="grade"]{min-width:72px}.collective-student-table [data-col="subjectId"]{min-width:185px}.collective-student-table [data-col="packageId"]{min-width:175px}.collective-row-index{font-weight:800;color:#6a7d91;padding-top:10px;display:block}.collective-row-status{min-width:105px;font-size:.76rem;line-height:1.4;padding-top:8px}.collective-row-status.ok{color:var(--collective-green);font-weight:700}.collective-row-status.bad{color:var(--collective-red);font-weight:700}.collective-row-remove{width:36px;height:36px;padding:0;border-radius:9px}.collective-row-invalid{background:#fff8f8}.collective-row-help{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.collective-row-help span{font-size:.76rem;color:#6d7e91;background:#f5f8fb;padding:7px 9px;border-radius:9px}.collective-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.collective-summary-grid>div{background:#f7faff;border:1px solid #e3edf8;border-radius:13px;padding:12px}.collective-summary-grid span{display:block;font-size:.74rem;color:#73849a;margin-bottom:5px}.collective-summary-grid b{font-size:1rem;color:#173b65}.collective-summary-total{background:#edf6ff!important;border-color:#c8ddf4!important}.collective-confirm-check{display:flex;align-items:flex-start;gap:10px;margin-top:17px;padding:13px;border:1px solid #e0e8f1;border-radius:12px;background:#fbfcfe;font-size:.84rem;line-height:1.5;color:#52657b}.collective-confirm-check input{margin-top:3px;flex:0 0 auto}.collective-submit-row{display:flex;justify-content:flex-end;margin-top:14px}.collective-submit-row .btn{max-width:340px}.collective-side{position:sticky;top:92px;display:grid;gap:14px}.collective-side-card{border:1px solid var(--collective-border);box-shadow:none;border-radius:16px;padding:18px}.collective-side-card h3{font-size:1rem;color:var(--collective-navy);margin:.45rem 0 .5rem}.collective-side-card p{font-size:.84rem;color:#64778e;line-height:1.65;margin:0}.collective-payment-hero{padding:38px 0 32px}.collective-payment-hero h1{font-size:clamp(1.8rem,3vw,2.65rem)}.collective-payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.collective-payment-main{min-width:0;display:grid;gap:16px}.collective-loading-card{padding:32px;text-align:center;color:#667990}.collective-batch-header{display:flex;justify-content:space-between;gap:18px;align-items:start}.collective-batch-header h2{margin:3px 0 4px;color:var(--collective-navy);font-size:1.25rem}.collective-batch-meta{color:#6e8198;font-size:.82rem}.collective-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:800;background:#eef2f6;color:#5b697a;white-space:nowrap}.collective-status-pill.ok{background:#e6f7ee;color:#137b4e}.collective-status-pill.warn{background:#fff4dc;color:#9c6305}.collective-status-pill.bad{background:#fdecec;color:#b33434}.collective-batch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.collective-batch-grid>div{padding:12px;border:1px solid #e5edf5;border-radius:12px;background:#fbfdff}.collective-batch-grid span{display:block;font-size:.72rem;color:#7a899a}.collective-batch-grid b{display:block;margin-top:4px;color:#243d5a;font-size:.9rem;overflow-wrap:anywhere}.collective-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.collective-payment-summary>div{padding:13px;border-radius:12px;border:1px solid #dfeaf5;background:#f8fbff}.collective-payment-summary span{font-size:.72rem;color:#78899d;display:block}.collective-payment-summary b{margin-top:4px;display:block;color:#163c68}.collective-payment-summary .total{background:#eaf4ff;border-color:#bdd7f2}.collective-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.collective-method-card{border:1px solid #dfe8f2;background:#fff;border-radius:12px;padding:12px;text-align:left;cursor:pointer;min-height:72px}.collective-method-card:hover{border-color:#9ec1e9;background:#f8fbff}.collective-method-card.selected{border-color:#468bcf;background:#edf6ff;box-shadow:0 0 0 2px rgba(7,95,198,.08)}.collective-method-card b{display:block;color:#25496f}.collective-method-card small{display:block;color:#7b8b9c;margin-top:3px}.collective-order-panel{margin-top:14px;border:1px solid #dbe8f6;background:#f8fbff;border-radius:14px;padding:15px}.collective-instruction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.collective-instruction{padding:11px;border-radius:10px;background:#fff;border:1px solid #e4edf5;min-width:0}.collective-instruction span{display:block;font-size:.72rem;color:#7a8a9b}.collective-instruction b,.collective-instruction code{display:block;margin-top:4px;color:#173a63;font-size:.9rem;overflow-wrap:anywhere}.collective-qr-wrap{display:flex;justify-content:center;margin-top:12px}.collective-qr-wrap img{width:min(260px,70vw);height:auto;border:10px solid #fff;border-radius:12px;box-shadow:0 8px 24px rgba(20,60,100,.08)}.collective-order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.collective-manual-form{display:grid;gap:12px}.collective-bank-card{border:1px solid #d8e6f5;background:#f6faff;border-radius:14px;padding:15px;display:grid;gap:4px}.collective-bank-card strong{font-size:1.12rem;color:#133d6b}.collective-batch-items{min-width:760px}.collective-batch-items td,.collective-batch-items th{font-size:.8rem}.collective-credential-note{margin-top:10px;font-size:.76rem;color:#7a8998}.collective-success-banner{display:flex;gap:13px;align-items:flex-start;padding:16px;border-radius:14px;background:#e9f8f0;border:1px solid #bce6cf;color:#206143}.collective-success-banner strong{display:block;color:#126e43;margin-bottom:3px}.collective-success-icon{width:34px;height:34px;display:grid;place-items:center;background:#20a767;color:#fff;border-radius:50%;font-weight:900;flex:0 0 auto}.collective-error-list{margin:.5rem 0 0;padding-left:1.2rem}.collective-error-list li{margin:.25rem 0}.hidden{display:none!important}
@media(max-width:1040px){.collective-layout,.collective-payment-layout{grid-template-columns:1fr}.collective-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.collective-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collective-summary-total{grid-column:span 2}.collective-hero-grid{grid-template-columns:1fr}.collective-hero-note{grid-template-columns:repeat(2,minmax(0,1fr))}.collective-hero-note b{grid-column:1/-1}}
@media(max-width:720px){.collective-nav{gap:8px}.collective-nav .public-brand-v4 img{width:145px;height:auto}.collective-nav-actions .btn{font-size:.74rem;padding:8px 10px}.collective-hero{padding:32px 0 26px}.collective-section{padding-top:18px}.collective-panel{padding:16px;border-radius:14px}.collective-section-head{margin-bottom:14px}.collective-student-actions{width:100%;margin-left:43px}.collective-student-actions .btn{flex:1 1 auto;font-size:.77rem}.collective-summary-grid,.collective-payment-summary,.collective-batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collective-summary-total{grid-column:1/-1}.collective-side{grid-template-columns:1fr}.collective-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collective-instruction-grid{grid-template-columns:1fr}.collective-batch-header{flex-direction:column}.collective-submit-row .btn{max-width:none}.collective-hero-note{grid-template-columns:1fr}.collective-hero-note b{grid-column:auto}}
@media(max-width:480px){.collective-nav-actions .btn:first-child{display:none}.collective-hero h1{font-size:1.9rem}.collective-section-head{gap:9px}.collective-step{width:27px;height:27px;flex-basis:27px}.collective-summary-grid,.collective-payment-summary,.collective-batch-grid,.collective-method-grid{grid-template-columns:1fr}.collective-summary-total{grid-column:auto}.collective-student-actions{margin-left:0}.collective-student-actions .btn{width:100%}.collective-side-card{padding:15px}}


/* ===== v0.11.28 — collective mobile navigation drawer ===== */
.collective-mobile-menu{display:none}
.collective-desktop-actions{margin-left:auto}
@media(max-width:760px){
  .collective-topbar{min-height:68px!important}
  .collective-nav{height:68px!important;min-height:68px!important;gap:10px!important;flex-wrap:nowrap!important}
  .collective-nav .public-brand-v4{flex:0 0 auto!important}
  .collective-desktop-actions{display:none!important}
  .collective-nav .collective-mobile-menu-toggle{display:inline-flex!important;margin-left:auto!important;flex:0 0 44px!important;width:44px!important;min-height:42px!important;padding:9px!important}
  .collective-nav .collective-mobile-menu-toggle>span:last-child{display:none!important}
  .collective-mobile-menu{display:flex!important}
  .collective-mobile-menu>a{flex:0 0 auto!important}
  .collective-mobile-menu>a:nth-of-type(1) .drawer-action-dot{background:#0879ee!important;box-shadow:0 0 0 5px rgba(8,121,238,.09)!important}
  .collective-mobile-menu>a:nth-of-type(2) .drawer-action-dot{background:#7357d8!important;box-shadow:0 0 0 5px rgba(115,87,216,.10)!important}
  .collective-mobile-menu>a:nth-of-type(3) .drawer-action-dot{background:#12a9c6!important;box-shadow:0 0 0 5px rgba(18,169,198,.10)!important}
}
@media(max-width:430px){
  .collective-nav .public-brand-v4{width:128px!important;min-width:128px!important}
  .collective-nav .public-brand-v4 img{width:128px!important;max-height:40px!important}
  .collective-nav .collective-mobile-menu-toggle{width:42px!important;flex-basis:42px!important;min-height:40px!important}
}
@media(min-width:761px){
  .collective-mobile-menu,.collective-nav .collective-mobile-menu-toggle,.collective-nav .public-menu-backdrop{display:none!important}
  .collective-desktop-actions{display:flex!important}
}

/* ===== v0.11.30 — collective registration UX polish ===== */
.collective-page{padding-top:72px}
.collective-topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:1200!important}
.collective-student-head{align-items:flex-start!important}
.collective-student-head>.collective-step{margin-top:0!important;align-self:flex-start!important}
.collective-student-head>div:nth-child(2){min-width:0}
.collective-student-actions{align-self:flex-start}
.collective-add-row-below{display:flex;justify-content:flex-start;margin-top:10px}
.collective-add-row-below .btn{min-width:180px}

.collective-package-preview-field{gap:8px!important}
.collective-package-panel-toggle{width:100%;min-height:44px;border:1px solid #cfdceb;border-radius:12px;background:#f8fbff;color:#173b65;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-weight:800;cursor:pointer}
.collective-package-panel-toggle:hover{background:#f1f7ff;border-color:#a9c8e8}
.collective-package-panel-toggle>span:last-child{font-size:1rem;transition:transform .18s ease}
.collective-package-panel-toggle.open>span:last-child{transform:rotate(180deg)}
.collective-package-panel-body{border:1px solid #e0eaf4;border-radius:12px;background:#fbfdff;padding:11px;display:grid;gap:9px}
.collective-package-preview-intro{font-size:.77rem;line-height:1.5;color:#687b91;padding:1px 2px 4px}
.collective-package-preview{display:grid;gap:7px}
.collective-package-item{border:1px solid #dce7f2;border-radius:11px;background:#fff;overflow:hidden}
.collective-package-item.selected{border-color:#7aaee0;box-shadow:0 0 0 2px rgba(7,95,198,.07)}
.collective-package-item.unavailable{background:#fafafa}
.collective-package-name{width:100%;min-height:42px;border:0;background:transparent;padding:9px 11px;display:flex;align-items:center;gap:8px;text-align:left;color:#173b65;font-weight:800;cursor:pointer}
.collective-package-name>span{flex:1;min-width:0;overflow-wrap:anywhere}
.collective-package-name>b{font-size:.66rem;line-height:1;padding:5px 7px;border-radius:999px;background:#e9f4ff;color:#075fc6;text-transform:uppercase;letter-spacing:.03em}
.collective-package-name>i{font-style:normal;color:#71849a;transition:transform .16s ease}
.collective-package-name[aria-expanded="true"]>i{transform:rotate(180deg)}
.collective-package-name:hover{background:#f5f9fe}
.collective-package-detail{border-top:1px solid #e7eef6;padding:11px;display:grid;gap:9px;color:#53677e;font-size:.8rem}
.collective-package-detail p{margin:0;line-height:1.55}
.collective-package-detail ul{margin:0;padding-left:18px;display:grid;gap:4px}
.collective-package-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.collective-package-price s{color:#8a99a9;font-size:.76rem}
.collective-package-price strong{font-size:1rem;color:#143f6e}
.collective-package-meta{display:flex;flex-wrap:wrap;gap:6px}
.collective-package-meta span{font-size:.68rem;padding:5px 7px;border-radius:999px;background:#eef5fc;color:#47627e}
.collective-package-warning{font-size:.73rem;line-height:1.45;color:#a35300;background:#fff7e8;border:1px solid #f7dda7;border-radius:9px;padding:7px 8px}
.collective-package-select{justify-self:start;padding:8px 11px;font-size:.76rem}

.collective-school-search .input:disabled{background:#f5f7fa;color:#8a98a8;cursor:not-allowed}

@media(max-width:760px){
  .collective-page{padding-top:68px}
  .collective-topbar{min-height:68px!important}
  .collective-student-head{gap:9px!important}
  .collective-student-actions{width:100%!important;margin-left:36px!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .collective-student-actions .btn{width:100%!important;min-width:0!important}
  .collective-add-row-below{display:block;margin-top:9px}
  .collective-add-row-below .btn{width:100%;min-width:0}
  .collective-package-panel-body{padding:9px}
  .collective-package-name{min-height:40px;padding:8px 10px}
  .collective-package-detail{padding:10px}
}
@media(max-width:480px){
  .collective-student-actions{margin-left:36px!important;grid-template-columns:1fr!important}
  .collective-section-head.collective-student-head>.collective-step{width:27px!important;height:27px!important;flex-basis:27px!important}
  .collective-package-select{width:100%;justify-content:center}
}

/* ===== v0.11.31 — package header + full-width mobile import actions ===== */
.collective-package-header-image{width:100%;aspect-ratio:8/3;border-radius:10px;overflow:hidden;background:#eef5fb;border:1px solid #dce8f3}
.collective-package-header-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:760px){
  .collective-student-actions{width:100%!important;margin-left:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .collective-student-actions .btn,.collective-student-actions .collective-import-label{width:100%!important;min-width:0!important;max-width:none!important;justify-content:center!important;box-sizing:border-box!important}
}
@media(max-width:480px){
  .collective-student-actions{grid-template-columns:1fr!important;margin-left:0!important}
  .collective-student-actions .btn,.collective-student-actions .collective-import-label{display:flex!important;width:100%!important}
  .collective-package-header-image{aspect-ratio:16/6}
}

/* ===== v0.11.34 — school autocomplete overflow + exam-batch validation UX ===== */
.collective-school-panel{position:relative;overflow:visible!important;z-index:8}
.collective-school-panel .collective-form-grid{position:relative;z-index:2}
.collective-school-search{z-index:20}
.collective-school-results{z-index:150;max-height:min(420px,52vh);overscroll-behavior:contain;scrollbar-gutter:stable}
.collective-students-panel{position:relative;z-index:1}
.collective-school-option b,.collective-school-option small{white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){.collective-school-results{max-height:min(360px,48vh)}}
