/* The Vatsalyam · Hospital Bag Checklist Phase 14
   All selectors scoped to this module; no network CSS dependency. */
.bag-shell{--rose:#b96d87;--rose-dark:#8b4863;--sage:#6e9987;--ink:#433944;--muted:#766b76;--border:#ecdce3;min-height:70vh;background:linear-gradient(180deg,#fff9f7 0,#fcfcfc 65%);color:var(--ink)}
.bag-shell *{box-sizing:border-box}
.bag-back{color:var(--rose-dark);text-decoration:none;font-weight:700}
.bag-hero{border-radius:24px;background:linear-gradient(112deg,#fbe5eb,#fff3ed 62%,#e8f3ed);border:1px solid #efd9df;padding:clamp(1.3rem,4vw,2.7rem)}
.bag-eyebrow{font-size:.73rem;letter-spacing:.13em;font-weight:800;color:var(--rose-dark)}
.bag-hero h1{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:800;margin:.5rem 0;line-height:1.15}
.bag-hero p{max-width:680px;color:#655761;margin:0;font-size:1.04rem}
.bag-symbol{font-size:4rem}
.bag-notice{padding:1rem 1.2rem;border:1px solid #e9d0b4;background:#fff7e8;border-radius:14px;line-height:1.55}
.bag-guest,.bag-panel{background:#fff;border:1px solid var(--border);border-radius:19px;padding:clamp(1rem,2.3vw,1.55rem);box-shadow:0 7px 27px rgba(92,52,71,.055)}
.bag-guest p{margin-bottom:.7rem}
.bag-panel h2{font-size:1.2rem;font-weight:800;margin:0 0 1.1rem;color:#52404c}
.bag-primary{background:var(--rose-dark);border:1px solid var(--rose-dark);color:white;font-weight:750;border-radius:11px;padding:.65rem 1.05rem}
.bag-primary:hover,.bag-primary:focus{background:#72364f;border-color:#72364f;color:#fff}
.bag-outline{color:#884e69;border:1px solid #d9b5c4;background:#fff;font-weight:700}
.bag-outline:hover{background:#faf0f4;color:#773a56}
.bag-progress-track{width:100%;height:15px;border-radius:99px;background:#f6e9ee;overflow:hidden}
.bag-progress-track>div{height:100%;background:linear-gradient(90deg,#b96d87,#76a68f);transition:width .25s}
.bag-total{font-size:.89rem;font-weight:750;color:#745665}
.bag-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.bag-quick-stats>div{padding:.75rem;border-radius:12px;background:#fbf7f8;display:flex;flex-direction:column;gap:.2rem}
.bag-quick-stats span{font-size:.78rem;color:var(--muted)}
.bag-quick-stats strong{font-size:1.05rem;font-variant-numeric:tabular-nums}
.bag-shell .form-label{font-weight:650;color:#584b55}
.bag-shell .form-control,.bag-shell .form-select{border:1px solid #dbcdd3;border-radius:10px;min-height:43px}
.bag-shell .form-control:focus,.bag-shell .form-select:focus{border-color:var(--rose);box-shadow:0 0 0 .17rem #b96d8729}
.bag-group{margin-bottom:1.4rem}
.bag-group h3{font-weight:800;font-size:1.05rem;border-bottom:1px solid #f0e6e9;padding:.6rem .3rem;color:#67465a}
.bag-entry{display:flex;align-items:center;gap:.8rem;padding:.75rem .5rem;border-bottom:1px solid #f1eaed;transition:background .15s}
.bag-entry.is-packed{background:#f6faf7}
.bag-entry-icon{flex:0 0 30px;height:30px;border:1px solid #d3bcc7;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--rose-dark);font-weight:900}
.bag-entry.is-packed .bag-entry-icon{background:#e0efe7;color:#2f7054;border-color:#b6d9c7}
.bag-entry-desc{flex:1;min-width:130px;overflow-wrap:anywhere;font-size:.91rem;font-weight:650;line-height:1.4}
.bag-entry-desc small{display:block;font-size:.73rem;font-weight:500;color:var(--muted);margin-top:.2rem}
.bag-entry.is-packed .bag-entry-desc>div{text-decoration:line-through;text-decoration-thickness:1px;color:#718477}
.bag-toggle{flex:0 0 auto}
.bag-toggle button{min-width:84px;font-size:.76rem}
.bag-delete button{font-size:1rem;font-weight:800;line-height:1}
.bag-entry[hidden],.bag-group[hidden],.bag-filter-empty[hidden]{display:none!important}
.bag-filter-empty{color:var(--muted);padding:1rem}
.bag-date{font-size:1.4rem;font-weight:850;color:#8c4c65;margin-bottom:.6rem}
.bag-tips{padding-left:1.15rem;margin:0}
.bag-tips li{line-height:1.56;margin-bottom:.75rem}
.bag-urgent{background:#fff6f0;border-color:#f0d9cb}
.bag-urgent h2{color:#8b3e37}
.bag-refs a{display:block;margin-bottom:.7rem;color:var(--rose-dark);overflow-wrap:anywhere}
.bag-refs p{color:var(--muted)}
.bag-shell :focus-visible{outline:3px solid #ad6a87;outline-offset:3px}
@media(max-width:800px){.bag-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bag-symbol{font-size:3rem}}
@media(max-width:440px){.bag-entry{gap:.35rem;padding:.65rem .1rem}.bag-entry-icon{flex-basis:24px;width:24px;height:24px;font-size:.8rem}.bag-entry-desc{min-width:0;font-size:.81rem}.bag-toggle button{min-width:69px;font-size:.69rem;padding:.3rem .35rem}.bag-delete button{padding:.25rem .45rem}}
@media print{.site-header,.announcement,footer,.bag-back,.bag-guest,.bag-primary,.bag-toggle,.bag-delete,.bag-shell form:not(.bag-toggle),.bag-shell select,.bag-urgent{display:none!important}.bag-shell{background:#fff}.bag-panel{box-shadow:none;break-inside:avoid}.bag-entry.is-packed{-webkit-print-color-adjust:exact;print-color-adjust:exact}.bag-hero{padding:1rem}.bag-entry{padding:.3rem}.bag-group h3{break-after:avoid}}
