.taxi-plan-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.taxi-plan-summary>div{display:grid;gap:2px;padding:17px 19px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.taxi-plan-summary span,.taxi-plan-summary small{color:var(--muted);font-size:12px}.taxi-plan-summary strong{font-size:23px;line-height:1.2;color:var(--green)}
.taxi-plan-calendar,.taxi-plan-sessions{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px;margin:16px 0}.taxi-plan-week-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px}.taxi-plan-week-head>button{width:42px;height:42px;padding:0;font-size:20px}.taxi-plan-week-head>div{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.taxi-plan-week-head>div strong{font-size:15px}.taxi-plan-week-head .text-button{font-size:12px}.taxi-plan-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px}.taxi-plan-day{display:grid;justify-items:center;gap:4px;min-height:84px;padding:9px 4px;border:1px solid transparent;border-radius:13px;background:#f5f7f1;color:var(--muted)}.taxi-plan-day span,.taxi-plan-day small{font-size:10px}.taxi-plan-day strong{font-size:20px;color:var(--ink)}.taxi-plan-day[aria-pressed="true"]{border-color:var(--green);background:#e7f0e7;color:var(--green)}.taxi-plan-day[aria-pressed="true"] strong{color:var(--green)}
.taxi-plan-session-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.taxi-plan-session-head .eyebrow{margin-bottom:5px}.taxi-plan-session-head h2{font-size:21px}.taxi-plan-session-head .primary{min-height:42px}.taxi-plan-form-wrap{margin:0 0 16px;padding:15px;background:#f3f6ef;border:1px solid var(--line);border-radius:14px}.taxi-plan-form{display:grid;gap:12px}.taxi-plan-form label{gap:5px}.taxi-plan-form input,.taxi-plan-form select{font-size:14px}.taxi-plan-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.taxi-plan-form-actions{display:flex;justify-content:flex-end;gap:8px}.taxi-plan-session-list{display:grid;gap:9px}.taxi-plan-session{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.taxi-plan-done{display:block!important;margin:0!important}.taxi-plan-done input{width:19px;height:19px;margin:0;accent-color:var(--green)}.taxi-plan-session-copy{min-width:0}.taxi-plan-session-copy>strong{font-size:14px}.taxi-plan-session-copy p{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:3px 0 0;color:var(--muted);font-size:12px}.taxi-plan-note{flex-basis:100%;color:var(--ink)}.taxi-plan-session.is-complete .taxi-plan-session-copy>strong{text-decoration:line-through;color:var(--muted)}.taxi-plan-session-actions{display:flex;align-items:center;gap:11px}.taxi-plan-delete{color:#a65e52}.taxi-plan-empty{display:grid;justify-items:center;gap:7px;padding:27px 18px;border:1px dashed #d5dfd0;border-radius:14px;background:#f8faf5;text-align:center}.taxi-plan-empty>span{font-size:24px;color:var(--green)}.taxi-plan-empty>strong{font-size:14px}.taxi-plan-empty>p,.taxi-plan-footnote{margin:0;color:var(--muted);font-size:12px}.taxi-plan-empty>.secondary{margin-top:6px}.taxi-plan-footnote{margin:15px 3px}.taxi-plan-status{min-height:18px;margin:4px 0;color:var(--green);font-size:12px}
@media(max-width:760px){.taxi-plan-summary{gap:8px}.taxi-plan-calendar,.taxi-plan-sessions{padding:13px;margin:12px 0}.taxi-plan-days{gap:3px}.taxi-plan-day{min-height:70px;padding:7px 2px;border-radius:10px}.taxi-plan-day span,.taxi-plan-day small{font-size:9px}.taxi-plan-day strong{font-size:17px}.taxi-plan-session-head{align-items:flex-start}.taxi-plan-session-head h2{font-size:18px}.taxi-plan-session-head .primary{padding:9px 11px;font-size:12px}.taxi-plan-form-row{gap:7px}.taxi-plan-session{grid-template-columns:22px minmax(0,1fr);gap:9px;padding:12px}.taxi-plan-session-actions{grid-column:2;justify-content:flex-end}.taxi-plan-session-copy p{font-size:11px}}
@media(max-width:420px){.taxi-plan-summary>div{padding:13px}.taxi-plan-summary strong{font-size:20px}.taxi-plan-day small{font-size:8px}.taxi-plan-form-row{grid-template-columns:1fr 1fr}.taxi-plan-form-row label:last-child{grid-column:1/-1}}
