.visit-plan{display:grid;gap:11px;margin:-7px 0 18px;padding:15px;color:var(--ink);background:linear-gradient(145deg,#f3f7fb,#fff);border:1px solid #cddde8;border-radius:16px;box-shadow:0 9px 22px rgba(24,50,74,.07)}
.visit-plan>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.visit-plan>header>div{display:grid;gap:4px}
.visit-plan>header span{color:#2f668c;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.visit-plan>header strong{font-size:15px;line-height:1.35}
.visit-plan>header p{margin:0;color:#536d7b;font-size:12px;font-weight:650;line-height:1.55}
.visit-plan>header>b{padding:6px 8px;color:#2f668c;background:#e6f1f8;border-radius:999px;font-size:10px;white-space:nowrap}
.visit-plan-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;color:#fff;background:linear-gradient(135deg,#79334d,#a34667);border-radius:12px}
.visit-plan-invite>div{display:grid;gap:3px}.visit-plan-invite span{color:#ffe871;font-size:10px;font-weight:950;letter-spacing:.1em}.visit-plan-invite strong{font-size:13px}.visit-plan-invite p{margin:0;color:#f6dfe8;font-size:11px;line-height:1.5}
.visit-plan-invite button{min-height:42px;padding:8px 11px;color:#17324a;background:#ffe871;border:1px solid #ffe871;border-radius:10px;cursor:pointer;font-size:11px;font-weight:950}
.visit-plan-timings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.visit-plan-timings button{min-height:42px;padding:8px;color:#2e5f7e;background:#fff;border:1px solid #b9d0df;border-radius:10px;cursor:pointer;font-size:11px;font-weight:950}
.visit-plan-timings button[aria-pressed=true]{color:#fff;background:#2f668c;border-color:#2f668c;box-shadow:0 0 0 2px #ffe871}
.visit-plan-ready{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;background:#eef7f3;border-left:3px solid #258469}
.visit-plan-ready>div:first-child{display:grid;gap:3px}.visit-plan-ready span{color:#28715e;font-size:10px;font-weight:950}.visit-plan-ready strong{font-size:13px}.visit-plan-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:7px 0 0;padding:0;list-style:none}.visit-plan-progress li{display:flex;gap:5px;align-items:center;min-width:0;padding:6px;color:#60756f;background:#fff;border:1px solid #cee3dc;border-radius:8px;font-size:9px;font-weight:850;line-height:1.3}.visit-plan-progress b{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:#fff;background:#258469;border-radius:50%;font-size:9px}.visit-plan-progress .next{color:#18324a;border-color:#ec783d}.visit-plan-progress .next b{background:#ec783d}.visit-plan-rule{display:grid;gap:3px;margin:3px 0 0;padding:9px 10px;color:#385f55;background:#fff;border:1px solid #cee3dc;border-radius:9px;font-size:11px;font-weight:750;line-height:1.55}.visit-plan-rule b{color:#28715e;font-size:10px;font-weight:950;letter-spacing:.06em}
.visit-plan-ready>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.visit-plan-ready a,.visit-plan-ready button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 9px;border-radius:9px;cursor:pointer;font-size:10px;font-weight:950;text-decoration:none}.visit-plan-ready a{color:#fff;background:var(--orange);border:1px solid var(--orange)}.visit-plan-ready a i{font-style:normal}.visit-plan-ready button{color:var(--ink);background:#fff;border:1px solid var(--ink)}.visit-plan-ready button:disabled{color:#777;background:#e7e9e8;border-color:#d4d8d6;cursor:wait}.visit-plan-ready button.remove{color:#776d68;border-color:#bbb4af}
.visit-plan button:focus-visible,.visit-plan a:focus-visible{outline:3px solid rgba(236,120,61,.3);outline-offset:2px}
.visit-plan-privacy{color:#6f7475;font-size:10px;font-weight:700;line-height:1.5}.visit-plan-status{min-height:1.4em;margin:-5px 0 0;color:#28715e;font-size:11px;font-weight:900}
@media(max-width:820px){.visit-plan{padding:14px}.visit-plan>header,.visit-plan-invite,.visit-plan-ready{grid-template-columns:1fr}.visit-plan-timings button,.visit-plan-invite button{min-height:44px;font-size:12px}.visit-plan-progress{grid-template-columns:1fr}.visit-plan-progress li{min-height:34px;font-size:11px}.visit-plan-ready>div:last-child{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.visit-plan-ready a,.visit-plan-ready button{min-height:44px;font-size:11px}.visit-plan-ready .remove{grid-column:1/-1}.visit-plan>header p,.visit-plan-ready strong{font-size:13px}.visit-plan-privacy,.visit-plan-status{font-size:12px}}
