.market-hero{background:linear-gradient(125deg,#123d42,#1b5853);color:#fff;padding:clamp(1.5rem,5vw,4rem);border-radius:1.2rem;margin:1.5rem 0 2rem;max-width:100%}
.market-hero h1{max-width:19ch;color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.1;letter-spacing:-.03em}
.market-hero>p:not(.market-eyebrow){max-width:65ch;font-size:1.12rem;color:#e4f1ef}
.market-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.77rem;font-weight:700;margin:1.2rem 0 .7rem}
.market-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0}.market-pills span{border:1px solid currentColor;padding:.4rem .75rem;border-radius:2rem;font-size:.85rem}
.market-filters{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;padding:1.5rem;background:#f0f5f4;border:1px solid #d1ddda;border-radius:.7rem;margin:1.5rem 0}.market-filters>div:first-child{flex:1;min-width:12rem}.market-filters label{display:block;font-weight:650;margin-bottom:.35rem}
.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.25rem;margin:1.5rem 0}.market-card{display:flex;flex-direction:column;border:1px solid #cfdad7;border-radius:.85rem;padding:1.5rem;background:#fff;box-shadow:0 3px 12px #123d4209}.market-card h2{font-size:1.4rem}.market-description{color:#465a57;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.market-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid #dce4e2}.market-price{font-size:1.65rem;font-weight:700;letter-spacing:-.025em}
.market-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);gap:2.5rem;margin-top:1.5rem}.market-purchase-panel{align-self:start;background:#edf4f0;border:1px solid #b8cdc3;border-radius:1rem;padding:1.6rem}.market-purchase-panel h2{font-size:1.35rem}.market-preline{white-space:pre-line;overflow-wrap:anywhere}.market-note{padding:1.4rem;background:#f4f6f5;border-left:4px solid #657e71;margin:2rem 0;color:#344c44}.market-module{border:1px solid #d7e1de;border-radius:.6rem;padding:1.25rem;margin:1rem 0;background:#fff}.market-module h3{font-size:1.15rem}.market-module summary{font-size:1.05rem;font-weight:650;cursor:pointer;padding:.4rem}
.market-badge{display:inline-block;padding:.3rem .65rem;background:#dcefe4;color:#164733;border-radius:.3rem;font-size:.85rem;font-weight:600}.market-badge-locked{background:#edf0f2;color:#46515d}.market-resource-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #d7e1de;padding:1.3rem 0}.market-resource-row h2,.market-resource-row h3{font-size:1.1rem;overflow-wrap:anywhere}.market-resource-row p{margin:.3rem 0;overflow-wrap:anywhere}.market-resource-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.market-resource-group{margin:1.8rem 0}.market-resource-group>h2{font-size:1.3rem}.market-summary{max-width:48rem;padding:2rem;border:1px solid #c7d6cf;border-radius:1rem;background:#f5f8f6;margin:2rem 0}.market-summary form{margin:1rem 0}.market-empty{padding:3rem 1.5rem;border:1px dashed #9baca5;border-radius:.75rem;text-align:center;margin:2rem 0}.market-status{max-width:48rem;padding:3rem 0}.market-status form{margin:1.5rem 0}.market-receipt{max-width:70rem}.market-receipt td{white-space:nowrap}.market-receipt details{margin:1rem 0}.market-library-programme{margin:2rem 0}.market-admin-form{max-width:55rem}.market-admin-form>label,.market-account label{display:block;font-weight:600;margin:1.15rem 0 .35rem}.market-account{max-width:36rem;margin:2rem auto;padding:2rem;border:1px solid #cbd9d2;border-radius:.9rem}.market-account button{margin-top:1rem}
@media(max-width:760px){.market-product-layout{grid-template-columns:1fr}.market-purchase-panel{grid-row:1}.market-resource-row{align-items:flex-start;flex-direction:column;gap:.7rem}.market-resource-actions{justify-content:flex-start}.market-summary,.market-account{padding:1.2rem}.market-filters>div{width:100%}.market-card-footer{flex-wrap:wrap}}
@media print{.app-header,.app-sidebar,.app-footer,.market-receipt>p:last-child{display:none!important}.market-receipt details{display:block}.market-receipt details>*{display:block}.market-receipt{max-width:100%}.market-note{border:0}}
