:root{color:#18211c;background:#f5f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;overflow-x:clip;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:clip}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.72}.app-shell{min-height:100vh;padding-bottom:96px;overflow-x:clip;background:#f5f2ea}.welcome-shell{min-height:100vh;display:grid;place-items:center;padding:18px;background-image:linear-gradient(180deg,#0d181414,#0d1814db),url(https://images.unsplash.com/photo-1522163182402-834f871fd851?auto=format&fit=crop&w=1800&q=80);background-position:center;background-size:cover}.welcome-card{width:min(100%,440px);display:grid;gap:24px;border-radius:8px;padding:22px;color:#fff;background:#0e1814bd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.welcome-card h1{margin:8px 0 0;font-size:clamp(2.1rem,10vw,3.2rem);line-height:.98;letter-spacing:0}.app-header{min-height:164px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:end;padding:22px 14px 18px;color:#fff;background-image:linear-gradient(180deg,#0d18142e,#0d1814db),url(https://images.unsplash.com/photo-1522163182402-834f871fd851?auto=format&fit=crop&w=1800&q=80);background-position:center;background-size:cover}.app-header h1{margin:4px 0 0;overflow-wrap:anywhere;font-size:clamp(2.7rem,14vw,4.4rem);line-height:.9;letter-spacing:0}.trip-kicker,.section-label{margin:0;color:#ffb37d;font-size:.74rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.text-button{max-width:132px;min-height:38px;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:0 13px;color:#fff;background:#0e181452;font-size:.86rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button:hover{background:#0e181480}.planner{width:min(100% - 20px,760px);margin:-10px auto 0}.availability-intro{display:grid;gap:12px;margin-bottom:12px;border:1px solid rgba(34,43,38,.12);border-radius:8px;padding:16px;background:#fffcf5fa;box-shadow:0 16px 42px #271f141a}.availability-intro h2{margin:0;font-size:1.55rem;line-height:1.1}.availability-intro ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#405044;font-size:.95rem;font-weight:750;line-height:1.35}.availability-intro li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px}.availability-intro li:before{width:10px;height:10px;margin-top:.35em;border-radius:999px;content:""}.availability-intro li.sure:before{background:#1f6f58}.availability-intro li.maybe:before{background:#d66f3f}.calendar-panel{border:1px solid rgba(34,43,38,.12);border-radius:8px;padding:14px;background:#fffcf5fa;box-shadow:0 16px 42px #271f141f}.calendar-panel h2{margin:4px 0 0;font-size:1.2rem;line-height:1.16}.name-form{display:grid;gap:10px}.name-form label{font-size:.9rem;font-weight:800}.name-form input{width:100%;min-height:50px;border:1px solid #d7cdbf;border-radius:6px;padding:0 12px;color:#18211c;background:#fff;font-size:16px}.name-form button,.save-button{min-height:50px;border:0;border-radius:6px;padding:0 16px;color:#fff;background:#1f6f58;font-weight:850}.name-form button:hover,.save-button:hover{background:#155743}.calendar-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:9px;align-items:center}.calendar-toolbar>div{text-align:center}.calendar-toolbar .section-label{color:#d66f3f}.icon-button{width:42px;height:42px;border:1px solid rgba(34,43,38,.14);border-radius:8px;color:#18211c;background:#fff8ec;font-size:1.6rem;line-height:1}.icon-button:hover{background:#f1e5d2}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{margin:14px 0 5px}.weekdays span{color:#6a746b;font-size:.68rem;font-weight:850;text-align:center;text-transform:uppercase}.date-cell{aspect-ratio:1;min-height:38px;display:grid;place-items:center;align-content:center;gap:1px;border:1px solid rgba(34,43,38,.12);border-radius:6px;color:#17211c;background:#fffaf1;font-size:.82rem;font-weight:850}.date-cell small{display:none;max-width:100%;overflow:hidden;font-size:.45rem;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.date-cell:hover{border-color:#1f6f58;background:#ecf6f1}.date-cell.weekend{background:#fff2e8}.date-cell.muted{color:#b4aa9b;background:#f3eee5}.date-cell.selected.sure{border-color:#1f6f58;color:#fff;background:#1f6f58}.date-cell.selected.maybe{border-color:#d66f3f;color:#fff;background:#d66f3f}.status-message{width:min(100% - 28px,720px);margin:14px auto 0;color:#5e695e;font-size:.9rem;font-weight:800;line-height:1.35;text-align:center}.welcome-card .status-message{width:auto;margin:0;color:#fff;text-align:left}.save-bar{position:fixed;right:0;bottom:0;left:0;z-index:10;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#f5f2eae6;box-shadow:0 -14px 34px #271f1424;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.save-bar .save-button{width:100%}.results-shell{width:min(100% - 20px,960px);display:grid;gap:14px;margin:-10px auto 0}.results-intro,.best-match{border:1px solid rgba(34,43,38,.12);border-radius:8px;padding:16px;background:#fffcf5fa;box-shadow:0 16px 42px #271f141a}.results-intro h2{margin:6px 0 0;font-size:1.65rem;line-height:1.08}.best-match{display:flex;gap:10px;align-items:center;justify-content:space-between;color:#fff;background:#1f6f58}.best-match span{font-size:.78rem;font-weight:850;text-transform:uppercase}.best-match strong{font-size:1.05rem;text-transform:capitalize}.results-table-wrap{overflow-x:auto;border:1px solid rgba(34,43,38,.12);border-radius:8px;background:#fffcf5fa;box-shadow:0 16px 42px #271f141a}.results-table{width:100%;min-width:520px;border-collapse:collapse}.results-table th,.results-table td{min-width:76px;border-bottom:1px solid rgba(34,43,38,.1);border-left:1px solid rgba(34,43,38,.08);padding:12px 10px;text-align:center}.results-table th:first-child,.results-table td:first-child{border-left:0}.results-table thead th{color:#405044;background:#f3eee5;font-size:.78rem;font-weight:900;text-transform:uppercase}.results-table tbody th{position:sticky;left:0;z-index:1;min-width:128px;color:#18211c;background:#fffaf1;font-size:.86rem;text-align:left;text-transform:capitalize}.results-table tbody th span,.results-table tbody th small{display:block}.results-table tbody th small{margin-top:3px;color:#1f6f58;font-size:.65rem;font-weight:900;text-transform:uppercase}.results-table .best-row th,.results-table .best-row td{background:#ecf6f1}.availability-dot{width:24px;height:24px;display:inline-block;border:1px solid rgba(34,43,38,.14);border-radius:999px;vertical-align:middle}.availability-dot.sure{border-color:#1f6f58;background:#1f6f58}.availability-dot.maybe{border-color:#d66f3f;background:#d66f3f}.availability-dot.empty{background:#f3eee5}.results-note{margin:0;color:#5e695e;font-size:.9rem;font-weight:750;line-height:1.35;text-align:center}@media(min-width:560px){.app-header{min-height:204px;padding:32px 28px 24px}.planner{width:min(100% - 32px,760px);margin-top:-18px}.calendar-panel{padding:18px}.availability-intro{margin-bottom:14px;padding:18px}.weekdays,.calendar-grid{gap:7px}.date-cell{min-height:50px;border-radius:8px;font-size:.95rem}.date-cell small{display:block;font-size:.56rem}.save-bar{right:50%;left:auto;width:min(420px,calc(100% - 32px));transform:translate(50%);border-radius:8px 8px 0 0}.results-shell{width:min(100% - 32px,960px);margin-top:-18px}}@media(min-width:900px){.app-shell{padding-bottom:112px}.app-header{min-height:240px;padding:44px}.app-header h1{font-size:5.4rem}.planner,.results-shell{margin-top:-24px}.calendar-panel{padding:22px}}
