.package-card{margin-top:12px;border:1px solid #f3bfd2;background:linear-gradient(135deg,#fff3f7,#eefaff 48%,#fffbea);box-shadow:0 6px 16px rgba(242,111,143,.06)}
.package-heading{align-items:center}.package-heading h3{margin:0;color:#003c65}.package-list{display:grid;gap:6px}.package-row{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(145px,1fr) auto auto;gap:9px;align-items:center;padding:9px 12px;border:1px solid #efceda;border-radius:10px;background:rgba(255,255,255,.78)}
.package-row.package-expiring{border-left:5px solid #f27b93;background:linear-gradient(90deg,#fff0f5,#fffef0)}.package-main{display:grid;gap:1px}.package-main strong{font-size:.98rem;color:#003c65}.package-main span,.package-main small{color:#62788c;font-size:.9rem}.package-quota{display:flex;gap:9px;flex-wrap:wrap;color:#2d5875;font-size:.92rem}.package-quota b{color:#003c65}.package-status{white-space:nowrap;color:#d24e70;font-weight:700;font-size:.92rem}.package-row:not(.package-expiring) .package-status{color:#27806c}.package-actions{display:flex;gap:4px}.package-actions .btn{padding:6px 9px;font-size:.9rem}.package-notes{grid-column:1/-1;margin:0;color:#66788a;font-size:.86rem}.package-form-wrap{margin-top:10px;padding:12px;border-radius:10px;background:rgba(255,255,255,.86);border:1px solid #efceda}.package-form{display:grid;gap:10px}.package-form h4{margin:0;color:#003c65}.package-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.package-form label{display:grid;gap:4px;color:#234f6d;font-weight:600}.package-form input,.package-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8b6c8;border-radius:8px;padding:8px 9px;font:inherit;background:#fff}.package-form-actions{display:flex;justify-content:flex-end;gap:6px}.package-error{color:#c33b54}
@media(max-width:800px){.package-row{grid-template-columns:1fr 1fr}.package-actions{grid-column:2;justify-content:flex-end}.package-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.package-row.package-pending{border-left:5px solid #e3a23b;background:linear-gradient(90deg,#fff8e7,#eefaff)}
.package-row.package-overused{border-left:5px solid #e55353;background:linear-gradient(90deg,#fff0f0,#fffaf1)}.package-row.package-overused .package-status{color:#d43d3d!important}
.package-warning{grid-column:1/-1;margin:0;color:#c0392b;font-size:.84rem;font-weight:700}
.package-form-actions .danger{color:#c0392b;border-color:#edb1bb;background:#fff5f6}
.package-quick{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px 12px;border-radius:10px;background:linear-gradient(90deg,#fff0f5,#eefaff)}.package-quick .hint{grid-column:1/-1;margin:0;font-size:.86rem}.package-quick label{margin:0}.package-quick button{white-space:nowrap}

/* 课包仅用于提醒，采用高密度列表，减少多年度课包的纵向占用。 */
.package-card{padding:12px 14px!important}.package-card>.section-title{margin-bottom:8px}.package-heading h3{font-size:1.05rem}.package-heading .hint{font-size:.84rem;margin:.15rem 0 0}.package-heading>.btn{padding:6px 10px;font-size:.88rem}.package-row{grid-template-columns:minmax(250px,1.7fr) minmax(130px,.9fr) auto auto;padding:7px 10px;min-height:0}.package-main{display:flex;align-items:center;gap:7px;min-width:0}.package-main strong{font-size:.94rem;white-space:nowrap}.package-main span{font-size:.82rem;white-space:nowrap}.package-main small{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.package-quota{font-size:.86rem;gap:7px;white-space:nowrap}.package-status{font-size:.86rem}.package-actions .btn{padding:5px 9px;font-size:.84rem;border-radius:999px}.package-row.package-expiring,.package-row.package-pending{border-left-width:4px}
.package-quota em{font-style:normal;color:#b87316;font-size:.78rem;background:#fff3d4;border-radius:999px;padding:2px 5px}
.package-quota em.package-transfer-out{color:#7f4f9b;background:#f3e8ff}
.package-transfer-hint{margin:.55rem 0 0;color:#7a6c7c}
@media(max-width:800px){.package-card{padding:10px!important}.package-row{grid-template-columns:1fr auto;gap:5px;padding:8px}.package-main{grid-column:1/-1;flex-wrap:wrap}.package-quota{font-size:.84rem}.package-actions{grid-column:auto;justify-content:flex-end}}
