.packs-page{padding:0;min-width:0}.packs-hero{padding:clamp(24px,5vw,52px);border-radius:26px;background:radial-gradient(circle at 90% 10%,#13a5bb 0,transparent 45%),linear-gradient(125deg,#102240,#00758d);color:white;margin-bottom:24px}.packs-hero h1{color:white;font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;max-width:900px}.packs-hero p,.packs-hero span{color:white}.packs-hero span{font-size:.78rem;letter-spacing:.12em;font-weight:800}.packs-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;background:#f1f8fb;border:1px solid #deeef5;padding:20px;border-radius:20px;align-items:end}.packs-filters label{display:grid;gap:7px;font-weight:700;color:#102240}.packs-filters input,.packs-filters select,[data-pack-assignment-controls] select{width:100%;min-width:0;padding:12px;border:1px solid #bcddec;border-radius:10px;background:white;font:inherit}.packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:18px}.packs-grid article,.packs-modules article{border:1px solid #ddedf5;border-radius:20px;background:white;padding:24px;box-shadow:0 8px 24px #10224008;min-width:0;overflow-wrap:anywhere}.packs-grid h3{font-size:1.22rem;line-height:1.35}.packs-grid a,.packs-modules a,.packs-pagination a{color:#00758d;font-weight:750}.packs-stage{display:inline-block;padding:6px 10px;background:#f1f8fb;color:#102240;border-radius:50px;font-size:.85rem}.packs-open{display:block;margin-top:18px}.packs-pagination{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:28px}.packs-modules{display:grid;gap:12px}.packs-modules article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px}.packs-modules label{display:flex;gap:12px;align-items:flex-start;font-weight:700}.packs-modules input{width:20px;height:20px;flex-shrink:0;accent-color:#00758d}.packs-note{color:#665679;font-size:.9rem;margin-top:26px}[data-pack-assignment-controls]{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}[data-pack-assignment-controls] label{display:grid;gap:8px;min-width:200px}[data-pack-assignment-status]{padding:12px 0;color:#102240}.packs-page :focus-visible{outline:3px solid #ffb33e;outline-offset:4px}@media(max-width:540px){.packs-modules article{align-items:start;flex-direction:column}.packs-filters{padding:16px}.packs-grid article{padding:20px}.packs-hero{border-radius:20px}}
