*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f7f7f8;color:#222}main{max-width:760px;margin:40px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08)}h1{margin-top:0;margin-bottom:0}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.auth-connect{display:flex;justify-content:center}@media (max-width:640px){main{width:calc(100% - 24px);margin:16px auto;padding:18px}.title-row h1{font-size:clamp(1.05rem,5vw,1.35rem)}.title-row button{font-size:clamp(.78rem,3.2vw,.92rem);padding:8px 12px;white-space:nowrap;flex-shrink:0}}button{border:0;border-radius:12px;padding:10px 16px;background:#ffffff;color:#111111;box-shadow:-16px 2px 10px rgba(255,255,255,2),3px 3px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.04);cursor:pointer;transition:box-shadow .2s ease,transform .15s ease,color .2s ease,background-color .2s ease}button:hover:not(:disabled){box-shadow:-1px -1px 6px rgba(255,255,255,.96),3px 3px 7px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05)}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset -1px -1px 4px rgba(255,255,255,.78),inset 2px 2px 6px rgba(0,0,0,.16)}button:focus-visible{outline:2px solid #1f2937;outline-offset:2px}button:disabled{color:#808080;background:#f3f3f3;box-shadow:inset -2px -2px 5px rgba(255,255,255,.8),inset 2px 2px 5px rgba(0,0,0,.08);cursor:not-allowed}form{display:grid;grid-gap:12px;gap:12px}form>button[type=submit]{margin-top:24px}label{display:grid;grid-gap:6px;gap:6px}input{border:1px solid #d4d4d8;border-radius:8px;padding:8px}.calendar-fieldset{border:1px solid #e5e7eb;border-radius:8px;padding:12px}.calendar-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.calendar-checkbox-label{display:flex;align-items:center;gap:8px;word-break:break-all}ul{padding-left:20px}.free-slot-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}.free-slot-date-list{display:grid;grid-gap:16px;gap:16px}.free-slot-date-section{display:grid;grid-gap:8px;gap:8px}.free-slot-date-heading{margin:0;font-size:16px}.free-slot-item{margin:0}.free-slot-chip{display:inline-block;padding:8px 14px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:14px;line-height:1.4;font-weight:500;white-space:nowrap}.error{color:#b91c1c}.notice{color:#1d4ed8}.calendar-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:12px}.calendar-errors p{margin:0 0 6px;color:#991b1b}.calendar-errors li{overflow-wrap:anywhere;word-break:break-word}.share-section{margin-top:20px;display:grid;grid-gap:10px;gap:10px}.share-url-box{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}