.bundle-workspace{font-size:16px}.bundle-workspace h3{font:28px Georgia,serif;margin:12px 0}.bundle-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bundle-tiers button{border:1px solid var(--line);padding:15px 8px;border-radius:8px}.bundle-tiers button[aria-pressed=true]{background:var(--green);color:var(--on-accent)}.bundle-tiers strong,.bundle-tiers span{display:block}.bundle-tiers strong{font:26px Georgia,serif}.bundle-tiers span{font-size:14px;margin-top:7px}.bundle-meter{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:24px}.bundle-meter progress{flex:1;min-width:100px;height:10px;accent-color:var(--green)}.bundle-meter small{display:block;font-size:12px;font-weight:400}.bundle-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:25px}.bundle-hint{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0}.bundle-tray{display:grid;gap:10px}.tray-item{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--sage)}.tray-item img{width:62px;height:72px;object-fit:contain}.tray-item>div{min-width:0;flex:1}.tray-item strong{font-size:14px;display:block;line-height:1.5}.tray-item label{display:block;font-size:12px;margin-top:8px}.tray-item select{display:block;width:100%;margin:5px 0;font-size:14px}.tray-item button{font-size:14px;text-decoration:underline;min-height:32px}.tray-empty{border:1px dashed var(--line);border-radius:8px;padding:16px;color:var(--muted);font-size:14px}.tray-empty span{display:inline-block;margin-right:15px}.bundle-controls{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.bundle-controls label{font-size:14px;flex:1;min-width:130px}.bundle-controls input,.bundle-controls select,.tray-item select{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:4px;padding:10px;min-height:44px}.bundle-controls input,.bundle-controls select{display:block;margin-top:7px;width:100%;font:16px Arial,sans-serif}.bundle-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bundle-choice{border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;padding:12px}.bundle-choice img{height:140px;object-fit:contain;width:100%;background:var(--sage)}.bundle-choice h4{font:20px Georgia,serif;margin:14px 0 8px;line-height:1.35}.bundle-choice p{font-size:14px;color:var(--muted);margin-bottom:10px}.bundle-choice button{margin-top:auto;padding:12px;border:1px solid var(--green);color:var(--green);border-radius:4px;font-size:14px;min-height:44px}.bundle-workspace button:disabled{opacity:.5;cursor:not-allowed}.bundle-workspace button:focus-visible,.bundle-workspace input:focus-visible,.bundle-workspace select:focus-visible{outline:3px solid var(--green);outline-offset:3px}.bundle-action-bar{position:sticky;bottom:-40px;background:var(--cream);border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.bundle-action-bar small{display:block;font-size:12px;margin-top:5px}.bundle-review-group{background:var(--sage);padding:20px;margin:18px 0;border-radius:8px}.bundle-review-group h4{font-size:18px}.bundle-review-group ul{padding-left:20px;font-size:16px;line-height:1.7;margin-top:10px}.bundle-comparison{line-height:1.8;margin:20px 0}.bundle-empty-results{grid-column:1/-1;padding:20px}dialog:has(.bundle-workspace){width:min(1120px,95vw);max-width:95vw}.bundle-workspace .status{font-size:14px;margin:15px 0}@media(max-width:700px){.bundle-layout{grid-template-columns:1fr}.bundle-tray{grid-template-columns:repeat(2,minmax(0,1fr))}.tray-item{display:block}.tray-item img{height:50px;width:50px}.bundle-tiers strong{font-size:23px}.bundle-tiers span{font-size:12px}.bundle-action-bar{bottom:-30px}.bundle-action-bar .button{padding:13px;font-size:14px}.bundle-choice h4{font-size:18px}.bundle-choice img{height:110px}.bundle-meter{font-size:14px}.bundle-workspace .modal-heading{font-size:34px}}@media(prefers-reduced-motion:no-preference){.tray-item{animation:tray-appear .2s ease-out}@keyframes tray-appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
