.plan-grid,.plan-locations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:16px 0; }
.plan-card,.plan-location,.plan-schedule { margin:0; min-width:0; padding:20px; }
.plan-card { display:flex; flex-direction:column; }
.plan-card h2,.plan-location h2,.plan-schedule h2 { font-size:1.25rem; overflow-wrap:anywhere; }
.plan-price { font-size:2.5rem; line-height:1.2; font-weight:800; color:#0757bc; margin:10px 0; }
.plan-price span { font-size:1rem; font-weight:500; color:#47617c; }
.plan-card ul { padding-left:20px; margin:14px 0 20px; line-height:1.6; flex:1; }
.plan-card li { margin:6px 0; }
.plan-card .member-button { width:100%; }
.plan-label { font-size:.875rem; color:#456280; }
.plan-section-title { font-size:1.25rem; margin:20px 0 0; }
.plan-location { padding:14px; }
.plan-usage { display:flex; gap:20px; margin:12px 0; }
.plan-usage span { display:flex; flex-direction:column; font-size:.875rem; }
.plan-usage strong { font-size:1.375rem; color:#0757bc; }
.plan-inline-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:14px 0; }
.plan-inline-form[hidden] { display:none; }
.plan-inline-form label { flex:1; min-width:160px; }
.plan-inline-form label,.plan-schedule-form>label { display:flex; flex-direction:column; gap:6px; font-weight:650; }
.plan-inline-form input,.plan-inline-form select,.plan-schedule-form input:not([type=checkbox]),.plan-schedule-form select { width:100%; min-height:46px; padding:10px 12px; border:1px solid #a8c6e6; border-radius:9px; color:#173e68; background:#fff; font:inherit; }
.plan-addons summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#0757bc; font-weight:650; }
.plan-schedule-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.plan-schedule-form fieldset,.plan-schedule-form .member-checkbox,.plan-schedule-form>.member-help { grid-column:1/-1; }
.plan-schedule-form .member-checkbox { flex-direction:row; }
.plan-schedule-form fieldset { border:1px solid #c4dcf4; border-radius:10px; padding:12px; }
.plan-days { display:flex; flex-wrap:wrap; gap:8px; }
.plan-days label { min-height:44px; display:flex; align-items:center; gap:6px; padding:0 8px; }
.plan-days input { width:20px; height:20px; accent-color:#0963d6; }
.plan-schedule .member-actions { gap:8px; }
.plan-schedule .member-actions form { margin:0; }
@media(max-width:1100px){.plan-locations {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.plan-grid,.plan-locations,.plan-schedule-form {grid-template-columns:1fr;}.plan-inline-form {align-items:stretch;}.plan-inline-form .member-button {width:100%;}.plan-card {padding:18px;}}
